Mercurial > mxd2map
diff src/java/de/intevation/mxd/reader/FeatureLayerReader.java @ 309:e8021f3e411a
Add support for FgdbFeatureClass
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 14 Sep 2012 11:48:52 +0200 |
parents | f9e53dcc7424 |
children | 5e3a40a84539 |
line wrap: on
line diff
--- a/src/java/de/intevation/mxd/reader/FeatureLayerReader.java Thu Sep 06 18:59:35 2012 +0200 +++ b/src/java/de/intevation/mxd/reader/FeatureLayerReader.java Fri Sep 14 11:48:52 2012 +0200 @@ -27,6 +27,7 @@ import com.esri.arcgis.carto.IAnnotateLayerProperties; import com.esri.arcgis.carto.LabelEngineLayerProperties; import com.esri.arcgis.geodatabase.FeatureClassName; +import com.esri.arcgis.datasourcesGDB.FgdbFeatureClassName; import com.esri.arcgis.system.IName; import com.esri.arcgis.system.IPropertySet; import com.esri.arcgis.geometry.Envelope; @@ -200,6 +201,9 @@ if(fcn instanceof FeatureClassName) { FeatureClassName name = (FeatureClassName)fcn; layerElement.setAttribute("data_source", name.getName()); + } else if (fcn instanceof FgdbFeatureClassName) { + FgdbFeatureClassName name = (FgdbFeatureClassName)fcn; + layerElement.setAttribute("data_source", name.getName()); } else { logger.debug ( @@ -269,8 +273,13 @@ } try { - String datatype = layer.getDataSourceType(); - if(layer.getWorkspace().getType() == 0) { + if (layer.getDataSourceName() instanceof FgdbFeatureClassName) { + FgdbFeatureClassName name = (FgdbFeatureClassName)layer.getDataSourceName(); + layerElement.setAttribute("connection_type", "ogr"); + layerElement.setAttribute("data", name.getName()); + layerElement.setAttribute("connection", name.getWorkspaceName().getPathName()); + } + else if(layer.getWorkspace().getType() == 0) { layerElement.setAttribute("connection_type", "local"); layerElement.setAttribute( "workspace", @@ -331,6 +340,7 @@ } } catch(Exception e) { + logger.debug(e); logger.error( "Could not read layer datasource." + " Stopped reading layer " + layer.getName() + ".");