Revision 25789 branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/shp/SHPStoreParameters.java

View differences:

SHPStoreParameters.java
33 33
import org.gvsig.fmap.dal.store.dbf.DBFStoreParameters;
34 34
import org.gvsig.fmap.dal.store.shp.utils.SHP;
35 35
import org.gvsig.tools.ToolsLocator;
36
import org.gvsig.tools.dynobject.DelegatedDynObject;
36 37
import org.gvsig.tools.dynobject.DynClass;
37 38
import org.gvsig.tools.dynobject.DynField;
38 39
import org.gvsig.tools.dynobject.DynObjectManager;
......
42 43

  
43 44
public class SHPStoreParameters extends DBFStoreParameters {
44 45

  
45
    public static final String SHP_DYNCLASS_NAME = "SHPStoreParameters";
46
    public static final String DYNCLASS_NAME = "SHPStoreParameters";
46 47

  
47 48
	private static final String FIELD_SHXFILENAME = "shxfilename";
48 49
    private static final String FIELD_SHPFILENAME = "shpfilename";
49 50

  
51
    protected static DynClass DYNCLASS = null;
52

  
50 53
    protected void initialize() {
51
		this.delegatedDynObjet = ToolsLocator.getDynObjectManager()
52
				.createDynObject(registerDynClass());
54
		this.delegatedDynObjet = (DelegatedDynObject) ToolsLocator
55
				.getDynObjectManager()
56
				.createDynObject(DYNCLASS);
53 57
	}
54 58

  
55 59
	public String getDataStoreName() {
......
128 132
		throw new NotYetImplemented();
129 133
	}
130 134

  
131
    protected DynClass registerDynClass() {
132
    	DynClass dbfDynClass =super.registerDynClass();
135
    protected static void registerDynClass() {
133 136
        DynObjectManager dynman = ToolsLocator.getDynObjectManager();
134
        DynClass dynClass = dynman.get(SHP_DYNCLASS_NAME);
137
        DynClass dynClass;
135 138
        DynField field;
136
        if (dynClass == null) {
137
            dynClass = dynman.add(SHP_DYNCLASS_NAME);
139
        if (DYNCLASS == null) {
140
        	DynClass dbfDynClass = DBFStoreParameters.DYNCLASS;
141
			dynClass = dynman.add(DYNCLASS_NAME);
138 142

  
139 143
            field = dynClass.addDynField(FIELD_SHPFILENAME);
140
            field.setTheTypeOfAvailableValues(DataTypes.STRING);
141
            field.setDescription("The SHP file name");
142
            field.setType(DynField.SINGLE);
144
            field.setDescription("SHP file name");
145
            field.setType(DataTypes.STRING);
146
            field.setMandatory(true);
143 147

  
144 148
            field = dynClass.addDynField(FIELD_SHXFILENAME);
145
            field.setTheTypeOfAvailableValues(DataTypes.STRING);
146
            field.setDescription("The DXF file name");
147
            field.setType(DynField.SINGLE);
149
            field.setDescription("SHX file name");
150
            field.setType(DataTypes.STRING);
151
            field.setMandatory(true);
148 152

  
149 153
            // The SHP store parameters extend the DBF store parameters
150 154
            dynClass.extend(dbfDynClass);
155

  
156
            DYNCLASS = dynClass;
151 157
        }
152
        return dynClass;
153 158
    }
154 159
}

Also available in: Unified diff