]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/data/DataStoreNode.java
First working GIS
[lgpl/argeo-commons.git] / gis / plugins / org.argeo.gis.ui / src / main / java / org / argeo / gis / ui / data / DataStoreNode.java
diff --git a/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/data/DataStoreNode.java b/gis/plugins/org.argeo.gis.ui/src/main/java/org/argeo/gis/ui/data/DataStoreNode.java
new file mode 100644 (file)
index 0000000..92851d7
--- /dev/null
@@ -0,0 +1,30 @@
+package org.argeo.gis.ui.data;
+
+import java.io.IOException;
+
+import org.argeo.ArgeoException;
+import org.argeo.eclipse.ui.TreeParent;
+import org.geotools.data.DataStore;
+import org.opengis.feature.type.Name;
+
+public class DataStoreNode extends TreeParent {
+       private DataStore dataStore;
+
+       public DataStoreNode(DataStore dataStore) {
+               super(dataStore.getInfo().getTitle() != null ? dataStore.getInfo()
+                               .getTitle() : dataStore.toString());
+               this.dataStore = dataStore;
+               try {
+                       for (Name name : dataStore.getNames()) {
+                               addChild(new FeatureNode(dataStore, name));
+                       }
+               } catch (IOException e) {
+                       throw new ArgeoException("Cannot scan data store", e);
+               }
+       }
+
+       public DataStore getDataStore() {
+               return dataStore;
+       }
+
+}
\ No newline at end of file