Revision 42879 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 | ||
---|---|---|
16 | 16 |
import org.gvsig.andami.PluginServices; |
17 | 17 |
import org.gvsig.andami.PluginsLocator; |
18 | 18 |
import org.gvsig.andami.PluginsManager; |
19 |
import org.gvsig.fmap.dal.DataServerExplorer; |
|
19 | 20 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
20 | 21 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
21 | 22 |
import org.gvsig.fmap.dal.feature.FeatureType; |
22 | 23 |
import org.gvsig.fmap.dal.feature.FeatureTypeDefinitionsManager; |
23 | 24 |
import org.gvsig.tools.ToolsLocator; |
25 |
import org.gvsig.tools.dispose.DisposeUtils; |
|
24 | 26 |
import org.gvsig.tools.dynobject.DynClass; |
25 | 27 |
import org.gvsig.tools.dynobject.DynObjectManager; |
26 | 28 |
import org.slf4j.Logger; |
... | ... | |
114 | 116 |
} |
115 | 117 |
File definitionFile = getDefinitionFile(key); |
116 | 118 |
if (definitionFile == null) { |
117 |
return featureType; |
|
119 |
DataServerExplorer explorer = null; |
|
120 |
try { |
|
121 |
explorer = store.getExplorer(); |
|
122 |
definitionFile = explorer.getResourcePath(store, key); |
|
123 |
} catch(Exception ex) { |
|
124 |
// Do nothing, leave definitionFile to null |
|
125 |
} finally { |
|
126 |
DisposeUtils.disposeQuietly(explorer); |
|
127 |
} |
|
128 |
if( definitionFile == null ) { |
|
129 |
return featureType; |
|
130 |
} |
|
118 | 131 |
} |
119 | 132 |
DynObjectManager dynObjectManager = ToolsLocator.getDynObjectManager(); |
120 | 133 |
try { |
121 | 134 |
String xml = FileUtils.readFileToString(definitionFile); |
122 |
xml = xml.replaceAll("@@@",definitionFile.getParentFile().getAbsolutePath());
|
|
135 |
xml = xml.replaceAll("[$][{]CWD[}]",definitionFile.getParentFile().getAbsolutePath());
|
|
123 | 136 |
|
124 | 137 |
InputStream is = IOUtils.toInputStream(xml, Charset.forName("UTF-8")); |
125 | 138 |
Map<String, DynClass> dynClasses = dynObjectManager.importDynClassDefinitions(is, this.getClass().getClassLoader()); |
Also available in: Unified diff