X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=gis%2Fruntime%2Forg.argeo.gis.geotools%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fgeotools%2Fosgi%2FGisResourcesActivator.java;fp=gis%2Fruntime%2Forg.argeo.gis.geotools%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fgeotools%2Fosgi%2FGisResourcesActivator.java;h=0000000000000000000000000000000000000000;hb=93854671977f419c5a2c1f2d343fd063450168db;hp=e904df7e8426d4744b6a595fada4a781a90bd6f9;hpb=c3be9f8db8a79e159d6a057758dfc7f3580efc2d;p=lgpl%2Fargeo-commons.git diff --git a/gis/runtime/org.argeo.gis.geotools/src/main/java/org/argeo/geotools/osgi/GisResourcesActivator.java b/gis/runtime/org.argeo.gis.geotools/src/main/java/org/argeo/geotools/osgi/GisResourcesActivator.java deleted file mode 100644 index e904df7e8..000000000 --- a/gis/runtime/org.argeo.gis.geotools/src/main/java/org/argeo/geotools/osgi/GisResourcesActivator.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.argeo.geotools.osgi; - -import java.net.URL; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.geotools.GeoToolsConstants; -import org.geotools.data.DataStore; -import org.geotools.data.FileDataStoreFinder; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; - -/** - * Publishes as OSGi services (typically {@link DataStore}) resources contained - * or references within the bundle declaring this activator. - */ -public class GisResourcesActivator implements BundleActivator { - private final static Log log = LogFactory - .getLog(GisResourcesActivator.class); - - /** - * Keep track of the registered datastores in order to dispose them when the - * bundle is stopped. - */ - private Map registeredDataStores = new HashMap(); - - @SuppressWarnings("unchecked") - public void start(BundleContext context) throws Exception { - Bundle bundle = context.getBundle(); - - // TODO deal with other data types - // shapefiles - Enumeration resources = bundle.findEntries("/", "*.shp", true); - while (resources.hasMoreElements()) { - URL url = resources.nextElement(); - DataStore ds = FileDataStoreFinder.getDataStore(url); - Properties props = new Properties(); - String alias = url.getPath(); - props.setProperty(GeoToolsConstants.ALIAS_KEY, alias); - context.registerService(DataStore.class.getName(), ds, props); - registeredDataStores.put(alias, ds); - if (log.isDebugEnabled()) - log.debug("Registered data store " + alias + ": " + ds); - } - } - - public void stop(BundleContext context) throws Exception { - for (String alias : registeredDataStores.keySet()) { - DataStore ds = registeredDataStores.get(alias); - try { - ds.dispose(); - if (log.isDebugEnabled()) - log.debug("Disposed data store " + alias + ": " + ds); - } catch (Exception e) { - log.warn("Could not dispose data store " + ds + ": " - + e.getMessage()); - } - } - - } - -}