Merge branch 'master' into #22686
# Conflicts: # geoportal-client/CHANGELOG.md # geoportal-client/pom.xml # geoportal-client/src/test/java/org/gcube/application/geoportal/clients/BasicVreTests.java # geoportal-service/CHANGELOG.md # geoportal-service/pom.xml # geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/postgis/PostgisDBManager.java # geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/postgis/PostgisIndex.java # geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/PostgisConnectionProvider.java
This commit is contained in:
commit
504311ae80
|
@ -207,6 +207,9 @@ public class DefaultMongoConcessioni implements MongoConcessioni{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected static<T> T check(Response resp, Class<T> clazz) throws IOException {
|
protected static<T> T check(Response resp, Class<T> clazz) throws IOException {
|
||||||
String resString=resp.readEntity(String.class);
|
String resString=resp.readEntity(String.class);
|
||||||
if(resp.getStatus()<200||resp.getStatus()>=300)
|
if(resp.getStatus()<200||resp.getStatus()>=300)
|
||||||
|
|
|
@ -0,0 +1,132 @@
|
||||||
|
package org.gcube.application.geoportal.client.utils;
|
||||||
|
|
||||||
|
import com.sun.corba.se.spi.orbutil.threadpool.Work;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.gcube.application.geoportal.common.model.legacy.*;
|
||||||
|
import org.gcube.application.geoportal.common.model.rest.AddSectionToConcessioneRequest;
|
||||||
|
import org.gcube.application.geoportal.common.rest.MongoConcessioni;
|
||||||
|
import org.gcube.application.geoportal.common.rest.TempFile;
|
||||||
|
import org.gcube.application.geoportal.common.utils.StorageUtils;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class ConcessioniUtils {
|
||||||
|
|
||||||
|
public static final Concessione clone(MongoConcessioni client,String toCloneId) throws Exception {
|
||||||
|
StorageUtils storage=new StorageUtils();
|
||||||
|
log.info("Cloning {}",toCloneId);
|
||||||
|
Concessione src = client.getById(toCloneId);
|
||||||
|
// copy
|
||||||
|
Concessione copied = Serialization.read(Serialization.write(src),Concessione.class);
|
||||||
|
// cleanup
|
||||||
|
copied.setMongo_id(null);
|
||||||
|
copied.setLastUpdateTime(null);
|
||||||
|
copied.setLastUpdateUser(null);
|
||||||
|
copied.setFolderId(null);
|
||||||
|
copied.setReport(null);
|
||||||
|
copied.setCreationTime(null);
|
||||||
|
copied.setCreationUser(null);
|
||||||
|
copied.setId(0);
|
||||||
|
copied.setVersion("1.0.0");
|
||||||
|
|
||||||
|
copied.setRelazioneScavo(null);
|
||||||
|
copied.setAbstractRelazione(null);
|
||||||
|
copied.setPosizionamentoScavo(null);
|
||||||
|
copied.setImmaginiRappresentative(null);
|
||||||
|
copied.setPianteFineScavo(null);
|
||||||
|
|
||||||
|
|
||||||
|
copied = client.createNew(copied);
|
||||||
|
|
||||||
|
|
||||||
|
//Handle Files
|
||||||
|
|
||||||
|
copied.setRelazioneScavo(clean(src.getRelazioneScavo()));
|
||||||
|
copied=client.replace(copied);
|
||||||
|
AddSectionToConcessioneRequest req=asCopyRequest(src.getRelazioneScavo(),storage);
|
||||||
|
if(req.getStreams()!=null&&!req.getStreams().isEmpty())
|
||||||
|
copied=client.registerFileSet(copied.getMongo_id(),req);
|
||||||
|
|
||||||
|
copied.setAbstractRelazione(clean(src.getAbstractRelazione()));
|
||||||
|
copied=client.replace(copied);
|
||||||
|
req=asCopyRequest(src.getAbstractRelazione(),storage);
|
||||||
|
if(req.getStreams()!=null&&!req.getStreams().isEmpty())
|
||||||
|
copied=client.registerFileSet(copied.getMongo_id(),req);
|
||||||
|
|
||||||
|
|
||||||
|
copied.setPosizionamentoScavo(clean(src.getPosizionamentoScavo()));
|
||||||
|
copied=client.replace(copied);
|
||||||
|
req=asCopyRequest(src.getPosizionamentoScavo(),storage);
|
||||||
|
if(req.getStreams()!=null&&!req.getStreams().isEmpty())
|
||||||
|
copied=client.registerFileSet(copied.getMongo_id(),req);
|
||||||
|
|
||||||
|
if(src.getImmaginiRappresentative()!=null&&src.getImmaginiRappresentative().size()>0) {
|
||||||
|
copied.setImmaginiRappresentative(new ArrayList<>());
|
||||||
|
for (int i = 0; i < src.getImmaginiRappresentative().size(); i++) {
|
||||||
|
copied.getImmaginiRappresentative().add(clean(src.getImmaginiRappresentative().get(i)));
|
||||||
|
copied=client.replace(copied);
|
||||||
|
req=asCopyRequest(src.getImmaginiRappresentative().get(i),storage);
|
||||||
|
req.setDestinationPath(Concessione.Paths.imgByIndex(i));
|
||||||
|
if(req.getStreams()!=null&&!req.getStreams().isEmpty())
|
||||||
|
copied=client.registerFileSet(copied.getMongo_id(),req);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(src.getPianteFineScavo()!=null&&src.getPianteFineScavo().size()>0) {
|
||||||
|
copied.setPianteFineScavo(new ArrayList<>());
|
||||||
|
for (int i = 0; i < src.getPianteFineScavo().size(); i++) {
|
||||||
|
copied.getPianteFineScavo().add(clean(src.getPianteFineScavo().get(i)));
|
||||||
|
copied=client.replace(copied);
|
||||||
|
req=asCopyRequest(src.getPianteFineScavo().get(i),storage);
|
||||||
|
req.setDestinationPath(Concessione.Paths.imgByIndex(i));
|
||||||
|
if(req.getStreams()!=null&&!req.getStreams().isEmpty())
|
||||||
|
copied=client.registerFileSet(copied.getMongo_id(),req);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("Cloned {} into {} ",src.getMongo_id(),copied.getMongo_id());
|
||||||
|
return copied;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T extends AssociatedContent> AddSectionToConcessioneRequest asCopyRequest(T content, StorageUtils storage) throws IOException {
|
||||||
|
AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest();
|
||||||
|
request.setStreams(new ArrayList<>());
|
||||||
|
if(content.getActualContent()!=null) {
|
||||||
|
for (PersistedContent persistedContent : content.getActualContent()) {
|
||||||
|
if (persistedContent instanceof WorkspaceContent) {
|
||||||
|
WorkspaceContent wc = (WorkspaceContent) persistedContent;
|
||||||
|
request.getStreams().add(storage.putOntoStorage(new URL(wc.getLink()).openStream(), wc.getName()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String path = null;
|
||||||
|
if(content instanceof LayerConcessione) path = Concessione.Paths.POSIZIONAMENTO;
|
||||||
|
else if (content instanceof RelazioneScavo) path = Concessione.Paths.RELAZIONE;
|
||||||
|
else if (content instanceof AbstractRelazione) path = Concessione.Paths.ABSTRACT_RELAZIONE;
|
||||||
|
request.setDestinationPath(path);
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T extends AssociatedContent> T clean(T content) throws IOException {
|
||||||
|
T toReturn = (T) Serialization.read(Serialization.write(content),content.getClass());
|
||||||
|
toReturn.setMongo_id(null);
|
||||||
|
toReturn.setCreationTime(null);
|
||||||
|
toReturn.setId(0);
|
||||||
|
toReturn.setActualContent(new ArrayList<>());
|
||||||
|
|
||||||
|
if(content instanceof LayerConcessione) {
|
||||||
|
((LayerConcessione)toReturn).setLayerName(null);
|
||||||
|
((LayerConcessione)toReturn).setLayerID(null);
|
||||||
|
((LayerConcessione)toReturn).setBbox(null);
|
||||||
|
((LayerConcessione)toReturn).setLayerUUID(null);
|
||||||
|
((LayerConcessione)toReturn).setWorkspace(null);
|
||||||
|
((LayerConcessione)toReturn).setWmsLink(null);
|
||||||
|
}
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package org.gcube.application.geoportal.clients.legacy;
|
||||||
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniFilters;
|
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniFilters;
|
||||||
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniModel;
|
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniModel;
|
||||||
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniQueries;
|
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniQueries;
|
||||||
|
import org.gcube.application.geoportal.client.utils.ConcessioniUtils;
|
||||||
import org.gcube.application.geoportal.client.utils.Queries;
|
import org.gcube.application.geoportal.client.utils.Queries;
|
||||||
import org.gcube.application.geoportal.client.utils.Serialization;
|
import org.gcube.application.geoportal.client.utils.Serialization;
|
||||||
import org.gcube.application.geoportal.clients.BasicVreTests;
|
import org.gcube.application.geoportal.clients.BasicVreTests;
|
||||||
|
@ -105,6 +106,20 @@ public class StatelessClientTests extends BasicVreTests {
|
||||||
assertNotNull(c.getMongo_id());
|
assertNotNull(c.getMongo_id());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testClone() throws Exception {
|
||||||
|
Concessione c= prepare();
|
||||||
|
Concessione copied = ConcessioniUtils.clone(client,c.getMongo_id());
|
||||||
|
assertEquals(copied.getNome(),c.getNome());
|
||||||
|
assertEquals(copied.getPianteFineScavo().size(),c.getPianteFineScavo().size());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testReplace() throws Exception {
|
public void testReplace() throws Exception {
|
||||||
assumeTrue(GCubeTest.isTestInfrastructureEnabled());
|
assumeTrue(GCubeTest.isTestInfrastructureEnabled());
|
||||||
|
|
|
@ -2,13 +2,13 @@ package org.gcube.application.geoportal.service.engine.postgis;
|
||||||
|
|
||||||
import lombok.Synchronized;
|
import lombok.Synchronized;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.gcube.application.cms.implementations.ISInterface;
|
|
||||||
import org.gcube.application.geoportal.common.model.legacy.BBOX;
|
import org.gcube.application.geoportal.common.model.legacy.BBOX;
|
||||||
import org.gcube.application.geoportal.common.model.rest.DatabaseConnection;
|
import org.gcube.application.geoportal.common.model.rest.DatabaseConnection;
|
||||||
import org.gcube.application.cms.implementations.ImplementationProvider;
|
import org.gcube.application.geoportal.service.engine.ImplementationProvider;
|
||||||
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable;
|
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable;
|
||||||
import org.gcube.application.geoportal.common.model.rest.ConfigurationException;
|
import org.gcube.application.geoportal.service.model.internal.faults.ConfigurationException;
|
||||||
import org.gcube.application.geoportal.service.model.internal.faults.DataParsingException;
|
import org.gcube.application.geoportal.service.model.internal.faults.DataParsingException;
|
||||||
|
import org.gcube.application.geoportal.service.utils.ISUtils;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
@ -17,50 +17,57 @@ import java.util.regex.Pattern;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class PostgisDBManager implements PostgisDBManagerI {
|
public class PostgisDBManager implements PostgisDBManagerI {
|
||||||
|
|
||||||
@Synchronized
|
// @Synchronized
|
||||||
public static PostgisDBManager get() throws SQLException, ConfigurationException {
|
// public static PostgisDBManager get() throws SQLException, ConfigurationException {
|
||||||
if(config==null) {
|
// if(config==null) {
|
||||||
log.debug("Looking for Default Configuration.. ");
|
// log.debug("Looking for Default Configuration.. ");
|
||||||
|
//
|
||||||
|
// // TODO GENERIC
|
||||||
|
// DatabaseConnection defaultConfiguration=
|
||||||
|
// ImplementationProvider.get().getIsProvider().getIS().queryForDB("postgis", "Concessioni");
|
||||||
|
//
|
||||||
|
// log.debug("Found configuration : "+defaultConfiguration);
|
||||||
|
// config=defaultConfiguration;
|
||||||
|
// }
|
||||||
|
// return new PostgisDBManager();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
// TODO GENERIC
|
|
||||||
DatabaseConnection defaultConfiguration=
|
|
||||||
ImplementationProvider.get().getProvidedObjectByClass(ISInterface.class)
|
|
||||||
.queryForDatabase("Database","postgis", "GNA_DB","Concessioni");
|
|
||||||
|
|
||||||
log.debug("Found configuration : "+defaultConfiguration);
|
public static PostgisDBManagerI get() throws SQLException, ConfigurationException {
|
||||||
config=defaultConfiguration;
|
return get(false);
|
||||||
}
|
}
|
||||||
return new PostgisDBManager();
|
|
||||||
}
|
private static PostgisDBManagerI get(boolean autocommit) throws SQLException, ConfigurationException {
|
||||||
public static PostgisDBManagerI get(boolean autocommit) throws SQLException, ConfigurationException {
|
DatabaseConnection config=
|
||||||
PostgisDBManager toReturn=get();
|
ImplementationProvider.get().getIsProvider().getIS().queryForDB("postgis", "Concessioni");
|
||||||
|
log.debug("Found configuration : "+config);
|
||||||
|
PostgisDBManager toReturn=new PostgisDBManager(config);
|
||||||
toReturn.conn.setAutoCommit(autocommit);
|
toReturn.conn.setAutoCommit(autocommit);
|
||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static DatabaseConnection config;
|
|
||||||
|
|
||||||
|
// private static DatabaseConnection config;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static Connection getConnection() throws SQLException {
|
|
||||||
|
|
||||||
Connection toReturn= DriverManager.getConnection(config.getUrl(),config.getUser(),config.getPwd());
|
|
||||||
|
|
||||||
//TODO configure behaviour
|
|
||||||
toReturn.setAutoCommit(false);
|
|
||||||
return toReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private Connection conn=null;
|
private Connection conn=null;
|
||||||
|
private DatabaseConnection config;
|
||||||
|
|
||||||
|
private PostgisDBManager(DatabaseConnection config) throws SQLException {
|
||||||
|
this.config=config;
|
||||||
|
log.info("Opening connection to {}",config);
|
||||||
|
conn= DriverManager.getConnection(config.getUrl(),config.getUser(),config.getPwd());
|
||||||
|
|
||||||
private PostgisDBManager() throws SQLException {
|
//TODO configure behaviour
|
||||||
conn=getConnection();
|
conn.setAutoCommit(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,16 +4,16 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
||||||
import org.gcube.application.geoportal.common.model.rest.DatabaseConnection;
|
import org.gcube.application.geoportal.common.model.rest.DatabaseConnection;
|
||||||
import org.gcube.application.geoportal.common.model.rest.PostgisIndexDescriptor;
|
import org.gcube.application.geoportal.common.model.rest.PostgisIndexDescriptor;
|
||||||
import org.gcube.application.cms.implementations.ImplementationProvider;
|
import org.gcube.application.geoportal.service.engine.ImplementationProvider;
|
||||||
import org.gcube.application.geoportal.service.engine.materialization.SDIManager;
|
import org.gcube.application.geoportal.service.engine.materialization.SDIManager;
|
||||||
import org.gcube.application.geoportal.service.model.internal.db.DBConstants;
|
import org.gcube.application.geoportal.service.model.internal.db.DBConstants;
|
||||||
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable;
|
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable;
|
||||||
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable.Field;
|
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable.Field;
|
||||||
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable.FieldType;
|
import org.gcube.application.geoportal.service.model.internal.db.PostgisTable.FieldType;
|
||||||
import org.gcube.application.geoportal.common.model.rest.ConfigurationException;
|
import org.gcube.application.geoportal.service.model.internal.faults.ConfigurationException;
|
||||||
import org.gcube.application.geoportal.service.model.internal.faults.PublishException;
|
import org.gcube.application.geoportal.service.model.internal.faults.PublishException;
|
||||||
import org.gcube.application.geoportal.service.model.internal.faults.SDIInteractionException;
|
import org.gcube.application.geoportal.service.model.internal.faults.SDIInteractionException;
|
||||||
import org.gcube.application.cms.serialization.Serialization;
|
import org.gcube.application.geoportal.service.utils.Serialization;
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
@ -38,8 +38,8 @@ public class PostgisIndex {
|
||||||
|
|
||||||
private SDIManager sdiManager;
|
private SDIManager sdiManager;
|
||||||
private String wmsLink=null;
|
private String wmsLink=null;
|
||||||
private static PostgisDBManager getDB() throws ConfigurationException {
|
private static PostgisDBManagerI getDB() throws ConfigurationException {
|
||||||
return ImplementationProvider.get().getProvidedObjectByClass(PostgisDBManager.class);
|
return ImplementationProvider.get().getDbProvider().getObject();
|
||||||
};
|
};
|
||||||
|
|
||||||
public PostgisIndex() throws SDIInteractionException, SQLException, ConfigurationException {
|
public PostgisIndex() throws SDIInteractionException, SQLException, ConfigurationException {
|
||||||
|
@ -60,7 +60,7 @@ public class PostgisIndex {
|
||||||
|
|
||||||
public String init() throws SQLException, ConfigurationException, SDIInteractionException {
|
public String init() throws SQLException, ConfigurationException, SDIInteractionException {
|
||||||
log.debug("Contacting postgis DB .. ");
|
log.debug("Contacting postgis DB .. ");
|
||||||
PostgisDBManagerI db=getDB();
|
PostgisDBManagerI db=ImplementationProvider.get().getDbProvider().getObject();
|
||||||
log.debug("Checking if centroids table exists..");
|
log.debug("Checking if centroids table exists..");
|
||||||
PostgisTable table=getCentroidsTable();
|
PostgisTable table=getCentroidsTable();
|
||||||
db.create(table);
|
db.create(table);
|
||||||
|
@ -77,7 +77,7 @@ public class PostgisIndex {
|
||||||
Map<String,String> centroidRow=evaluateCentroid(record);
|
Map<String,String> centroidRow=evaluateCentroid(record);
|
||||||
|
|
||||||
log.debug("Contacting postgis DB .. ");
|
log.debug("Contacting postgis DB .. ");
|
||||||
PostgisDBManagerI db=getDB();
|
PostgisDBManagerI db=ImplementationProvider.get().getDbProvider().getObject();
|
||||||
|
|
||||||
PostgisTable centroidsTable=getCentroidsTable();
|
PostgisTable centroidsTable=getCentroidsTable();
|
||||||
log.debug("Inserting / updated centroid Row {} ",centroidRow);
|
log.debug("Inserting / updated centroid Row {} ",centroidRow);
|
||||||
|
@ -107,7 +107,7 @@ public class PostgisIndex {
|
||||||
|
|
||||||
public void removeCentroid(Concessione record) {
|
public void removeCentroid(Concessione record) {
|
||||||
try {
|
try {
|
||||||
PostgisDBManagerI db=getDB();
|
PostgisDBManagerI db=ImplementationProvider.get().getDbProvider().getObject();
|
||||||
PostgisTable centroidsTable=getCentroidsTable();
|
PostgisTable centroidsTable=getCentroidsTable();
|
||||||
log.debug("Deleting centroid if present. ID is "+record.getMongo_id());
|
log.debug("Deleting centroid if present. ID is "+record.getMongo_id());
|
||||||
int result= db.deleteByFieldValue(centroidsTable, new Field(DBConstants.Concessioni.PRODUCT_ID,FieldType.TEXT), record.getMongo_id());
|
int result= db.deleteByFieldValue(centroidsTable, new Field(DBConstants.Concessioni.PRODUCT_ID,FieldType.TEXT), record.getMongo_id());
|
||||||
|
|
|
@ -1,20 +1,23 @@
|
||||||
package org.gcube.application.geoportal.service.engine.providers;
|
package org.gcube.application.geoportal.service.engine.providers;
|
||||||
|
|
||||||
import org.gcube.application.cms.caches.AbstractScopedMap;
|
|
||||||
import org.gcube.application.geoportal.service.engine.postgis.PostgisDBManager;
|
import org.gcube.application.geoportal.service.engine.postgis.PostgisDBManager;
|
||||||
import org.gcube.application.geoportal.common.model.rest.ConfigurationException;
|
import org.gcube.application.geoportal.service.engine.postgis.PostgisDBManagerI;
|
||||||
|
import org.gcube.application.geoportal.service.model.internal.faults.ConfigurationException;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
|
|
||||||
public class PostgisConnectionProvider extends AbstractScopedMap<PostgisDBManager> {
|
public class PostgisConnectionProvider extends AbstractScopedMap<PostgisDBManagerI>{
|
||||||
|
|
||||||
|
|
||||||
public PostgisConnectionProvider() {
|
public PostgisConnectionProvider() {
|
||||||
super("Postgis connection descriptor cache");
|
super("Postgis connection descriptor cache");
|
||||||
|
setTTL(Duration.of(30, ChronoUnit.SECONDS));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PostgisDBManager retrieveObject(String context) throws ConfigurationException {
|
protected PostgisDBManagerI retrieveObject() throws ConfigurationException {
|
||||||
try {
|
try {
|
||||||
return PostgisDBManager.get();
|
return PostgisDBManager.get();
|
||||||
} catch (SQLException throwables) {
|
} catch (SQLException throwables) {
|
||||||
|
@ -23,7 +26,7 @@ public class PostgisConnectionProvider extends AbstractScopedMap<PostgisDBManage
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void dispose(PostgisDBManager toDispose) {
|
protected void dispose(PostgisDBManagerI toDispose) {
|
||||||
// toDispose.close();
|
// toDispose.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue