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
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