package org.argeo.geotools.jdbc; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.sql.DataSource; import org.argeo.ArgeoException; import org.geotools.data.DataStore; import org.geotools.data.postgis.PostgisNGDataStoreFactory; /** * Simplified data store to avoid issues with Spring and OSGi when Springs scans * for all available factory methods. */ public class PostgisDataStoreFactory { private PostgisNGDataStoreFactory wrappedFactory = new PostgisNGDataStoreFactory(); @SuppressWarnings({ "unchecked", "rawtypes" }) public DataStore createDataStore(DataSource dataSource) { try { Map params = new HashMap(); params.put(PostgisNGDataStoreFactory.DATASOURCE.key, dataSource); return wrappedFactory.createDataStore(params); } catch (IOException e) { throw new ArgeoException("Cannot create PostGIS data store", e); } } }