package org.geotools.data.ogr.bridj; import static org.geotools.data.ogr.bridj.OgrLibrary.OGRGetDriverCount; import static org.geotools.data.ogr.bridj.OgrLibrary.OGRRegisterAll; import org.geotools.data.ogr.OGR; import org.geotools.data.ogr.OGRDataStoreFactory; public class BridjOGRDataStoreFactory extends OGRDataStoreFactory { private static Boolean INIT = false; public static void init() { try { if (!INIT) { GdalInit.init(); // perform OGR format registration once if (OGRGetDriverCount() == 0) { OGRRegisterAll(); } } } finally { INIT = true; } } protected boolean doIsAvailable() throws Exception { init(); return OGRGetDriverCount() > 0; } @Override protected OGR createOGR() { return new BridjOGR(); } }