X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=gis%2Fplugins%2Forg.argeo.gis.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fgis%2Fui%2FAbstractMapViewer.java;h=eeb9a21830c9ad51b326485251e2b2c40064c98a;hb=7995d576fb88d56ad5965d36be3ec67ea9526fb9;hp=d767f22772fb1317431bebfce92696ea8390b3b0;hpb=7fe4a16dad045373bb014724733c1bbb175d44b5;p=lgpl%2Fargeo-commons.git diff --git a/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/AbstractMapViewer.java b/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/AbstractMapViewer.java index d767f2277..eeb9a2183 100644 --- a/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/AbstractMapViewer.java +++ b/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/AbstractMapViewer.java @@ -18,6 +18,7 @@ import org.argeo.jcr.CollectionNodeIterator; import org.argeo.jcr.gis.GisTypes; import org.eclipse.swt.widgets.Composite; import org.geotools.data.FeatureSource; +import org.geotools.geometry.jts.ReferencedEnvelope; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; @@ -35,8 +36,9 @@ public abstract class AbstractMapViewer implements MapViewer { private Set listeners = Collections .synchronizedSet(new HashSet()); - protected abstract void addFeatureSource(String path, - FeatureSource featureSource); + protected abstract void addFeatureSource(String layerId, + FeatureSource featureSource, + Object style); public AbstractMapViewer(Node context, GeoJcrMapper geoJcrMapper) { super(); @@ -44,11 +46,13 @@ public abstract class AbstractMapViewer implements MapViewer { this.geoJcrMapper = geoJcrMapper; } - public void addLayer(Node layer) { + public void addLayer(Node layer, Object style) { try { if (layer.isNodeType(GisTypes.GIS_FEATURE_SOURCE)) { addFeatureSource(layer.getPath(), - geoJcrMapper.getFeatureSource(layer)); + geoJcrMapper.getFeatureSource(layer), style); + } else { + throw new ArgeoException("Unsupported layer " + layer); } } catch (Exception e) { throw new ArgeoException("Cannot add layer " + layer, e); @@ -103,4 +107,8 @@ public abstract class AbstractMapViewer implements MapViewer { return control; } + public GeoJcrMapper getGeoJcrMapper() { + return geoJcrMapper; + } + }