Revision 44189 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/DefaultFeatureTypeDefinitionsManager.java

View differences:

DefaultFeatureTypeDefinitionsManager.java
18 18
import org.gvsig.andami.PluginsLocator;
19 19
import org.gvsig.andami.PluginsManager;
20 20
import org.gvsig.fmap.dal.DataServerExplorer;
21
import org.gvsig.fmap.dal.DataServerExplorer.DataResource;
21 22
import org.gvsig.fmap.dal.feature.AbstractFeatureTypeDefinitionsManager;
22 23
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
23 24
import org.gvsig.fmap.dal.feature.FeatureStore;
......
94 95
        } catch (IOException ex) {
95 96
            return null;
96 97
        }
97
        File f = new File(folder, key + ".xml");
98
        File f = new File(folder, key + ".ftd");
98 99
        if (f.exists()) {
99 100
            return f;
100 101
        }
......
135 136
            DataServerExplorer explorer = null;
136 137
            try {
137 138
                explorer = store.getExplorer();
138
                definitionFile = explorer.getResourcePath(store, key+".xml");
139
                DataResource resource = explorer.getResource(store, key+".ftd");
140
                if( resource !=null && resource.getURL()!=null ) {
141
                    // FIXME; use resource.asInputStream() instead resource.getURL()
142
                    definitionFile = new File(resource.getURL().toURI());
143
                }
139 144
            } catch(Exception ex) {
140 145
                // Do nothing, leave definitionFile to null
141 146
            } finally {
142 147
                DisposeUtils.disposeQuietly(explorer);
143 148
            }
144 149
            if( definitionFile == null || !definitionFile.exists()) {
145
                return featureType;
150
                return this.getDynClass(featureType);
146 151
            }
147 152
        }
148 153
        DynObjectManager dynObjectManager = ToolsLocator.getDynObjectManager();
......
164 169
        if (dynClass != null) {
165 170
            return dynClass;
166 171
        }
167
        return featureType;
172
        return this.getDynClass(featureType);
168 173
    }
169 174

  
170 175
    @Override
......
176 181
    @Override
177 182
    public void add(FeatureStore store, FeatureType featureType, DynClass dynClass) {
178 183
        try {
184
            if( dynClass instanceof FeatureType ) {
185
                dynClass = this.getDynClass((FeatureType) dynClass);
186
            }
179 187
            String key = this.getKey(store, featureType);
180
            File f = new File(getDefinitionsFolder(), key + ".xml");
188
            File f = new File(getDefinitionsFolder(), key + ".ftd");
181 189
            DynObjectManager dynObjectManager = ToolsLocator.getDynObjectManager();
182 190
            String xml = dynObjectManager.exportSimpleDynClassDefinitions(dynClass);
183 191
            FileUtils.write(f, xml);
......
234 242
          }
235 243
    }
236 244

  
245
    private DynClass getDynClass(FeatureType featureType) {
246
        return featureType;
247
//        DynObjectManager manager = ToolsLocator.getDynObjectManager();
248
//        DynClass x = manager.createCopy(featureType);
249
//        // FIXME: Aqui falta a?adir el arreglo del subtype
250
//        return x;
251
    }
237 252
}

Also available in: Unified diff