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

View differences:

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