use of org.geotools.geopkg.GeoPkgDataStoreFactory in project sldeditor by robward-scisys.
the class DatabaseConnectionFactory method createGeoPackage.
/**
* Creates a new DatabaseConnection object for a GeoPackage.
*
* @return the database connection
*/
public static DatabaseConnection createGeoPackage() {
List<DatabaseConnectionField> list = new ArrayList<DatabaseConnectionField>();
FileNameExtensionFilter filter = new FileNameExtensionFilter(Localisation.getString(DatabaseConnector.class, "DatabaseConnectorGeoPkg.fileExtension") + " (*." + GEOPACKAGE_FILE_EXTENSION + ")", GEOPACKAGE_FILE_EXTENSION);
list.add(new DatabaseConnectionField(GeoPkgDataStoreFactory.DATABASE, filter));
list.add(new DatabaseConnectionField(GeoPkgDataStoreFactory.USER));
GeoPkgDataStoreFactory factory = new GeoPkgDataStoreFactory();
DatabaseConnection databaseConnection = new DatabaseConnection(GeoPkgDataStoreFactory.DBTYPE, factory.getDisplayName(), false, list, new DatabaseConnectionName() {
@Override
public String getConnectionName(String duplicatePrefix, int noOfTimesDuplicated, Map<String, String> properties) {
String connectionName = Localisation.getString(DatabaseConnectionFactory.class, "common.notSet");
String databaseName = properties.get(JDBCDataStoreFactory.DATABASE.key);
if (databaseName != null) {
File f = new File(databaseName);
if (f.isFile()) {
connectionName = f.getName();
}
}
for (int i = 0; i < noOfTimesDuplicated; i++) {
connectionName = duplicatePrefix + connectionName;
}
return connectionName;
}
});
return databaseConnection;
}
Aggregations