diff --git a/src/main/java/org/gcube/application/geoportal/service/GeoportalService.java b/src/main/java/org/gcube/application/geoportal/service/GeoportalService.java index ccd766a..bd53349 100644 --- a/src/main/java/org/gcube/application/geoportal/service/GeoportalService.java +++ b/src/main/java/org/gcube/application/geoportal/service/GeoportalService.java @@ -21,6 +21,8 @@ public class GeoportalService extends ResourceConfig{ registerClasses(Projects.class); registerClasses(Sections.class); registerClasses(Profiles.class); + + } diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/AbstractScopedMap.java b/src/main/java/org/gcube/application/geoportal/service/engine/AbstractScopedMap.java new file mode 100644 index 0000000..c56d391 --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/AbstractScopedMap.java @@ -0,0 +1,58 @@ +package org.gcube.application.geoportal.service.engine; + +import java.time.LocalDateTime; +import java.time.temporal.TemporalAmount; +import java.util.concurrent.ConcurrentHashMap; + +import org.gcube.application.geoportal.model.fault.ConfigurationException; +import org.gcube.application.geoportal.service.utils.ContextUtils; + +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.Synchronized; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@RequiredArgsConstructor +public abstract class AbstractScopedMap implements Engine{ + + // scope-> object + private ConcurrentHashMap> scopeMap=new ConcurrentHashMap>(); + + @Setter + private TemporalAmount TTL=null; + + @NonNull + private String name; + + + @Synchronized + public T getObject() throws ConfigurationException { + String currentScope=ContextUtils.getCurrentScope(); + log.debug(name+" : obtaining object for context "+currentScope); + TTLObject found=scopeMap.putIfAbsent(currentScope, new TTLObject(LocalDateTime.now(),retrieveObject())); + + if(TTL!=null) { + if(!found.getCreationTime().plus(TTL).isBefore(LocalDateTime.now())) { + log.debug(name+" : elapsed TTL, disposing.."); + dispose(found.getTheObject()); + found=scopeMap.put(currentScope, new TTLObject(LocalDateTime.now(),retrieveObject())); + } + } + return found.getTheObject(); + } + + + @Override + public void shustdown() { + log.warn(name + ": shutting down"); + scopeMap.forEach((String s,TTLObject o)->{ + dispose(o.getTheObject()); + }); + } + + protected abstract T retrieveObject() throws ConfigurationException; + + protected abstract void dispose(T toDispose); +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/Engine.java b/src/main/java/org/gcube/application/geoportal/service/engine/Engine.java index 5156932..5ead44e 100644 --- a/src/main/java/org/gcube/application/geoportal/service/engine/Engine.java +++ b/src/main/java/org/gcube/application/geoportal/service/engine/Engine.java @@ -1,7 +1,11 @@ package org.gcube.application.geoportal.service.engine; -public interface Engine { +import org.gcube.application.geoportal.model.fault.ConfigurationException; + +public interface Engine { public void init(); public void shustdown(); + + public T getObject() throws ConfigurationException; } diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/ImplementationProvider.java b/src/main/java/org/gcube/application/geoportal/service/engine/ImplementationProvider.java index 9a34f1a..404d700 100644 --- a/src/main/java/org/gcube/application/geoportal/service/engine/ImplementationProvider.java +++ b/src/main/java/org/gcube/application/geoportal/service/engine/ImplementationProvider.java @@ -1,7 +1,8 @@ package org.gcube.application.geoportal.service.engine; import org.gcube.application.geoportal.managers.AbstractRecordManager; -import org.gcube.application.geoportal.service.engine.mongo.MongoClientProvider; +import org.gcube.application.geoportal.service.engine.cache.MongoClientProvider; +import org.gcube.application.geoportal.service.engine.cache.MongoConnectionProvider; import lombok.Getter; import lombok.Setter; @@ -22,15 +23,26 @@ public class ImplementationProvider { @Getter @Setter - private MongoClientProvider mongoClientProvider=null; + private MongoConnectionProvider mongoConnectionProvider=new MongoConnectionProvider(); + + @Getter + @Setter + private MongoClientProvider mongoClientProvider=new MongoClientProvider(); + + + @Getter + @Setter + private StorageClientProvider storageProvider=new StorageClientProvider(); public void shutdown() { // Stop JPA AbstractRecordManager.shutdown(); + mongoConnectionProvider.shustdown(); mongoClientProvider.shustdown(); } public void startup() { + mongoConnectionProvider.init(); mongoClientProvider.init(); } } diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/ProfileMapCache.java b/src/main/java/org/gcube/application/geoportal/service/engine/ProfileMapCache.java new file mode 100644 index 0000000..550d313 --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/ProfileMapCache.java @@ -0,0 +1,36 @@ +package org.gcube.application.geoportal.service.engine; + +import java.util.Collections; +import java.util.Map; + +import org.gcube.application.geoportal.common.model.profile.Profile; +import org.gcube.application.geoportal.model.fault.ConfigurationException; + +public class ProfileMapCache extends AbstractScopedMap> { + + public ProfileMapCache(String name) { + super(name); + // TODO Auto-generated constructor stub + } + + @Override + public void init() { + // TODO Auto-generated method stub + + } + + @Override + protected void dispose(Map toDispose) { + // TODO Auto-generated method stub + + } + + @Override + protected Map retrieveObject() throws ConfigurationException { + //TODO load from IS +// Profile fakeProfile=new Profile(); + + return Collections.singletonMap(null, null); + } + +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/StorageClientProvider.java b/src/main/java/org/gcube/application/geoportal/service/engine/StorageClientProvider.java new file mode 100644 index 0000000..ebf0e33 --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/StorageClientProvider.java @@ -0,0 +1,43 @@ +package org.gcube.application.geoportal.service.engine; + +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; + +import org.gcube.application.geoportal.common.rest.InterfaceConstants; +import org.gcube.application.geoportal.model.fault.ConfigurationException; +import org.gcube.application.geoportal.service.utils.ContextUtils; +import org.gcube.contentmanagement.blobstorage.service.IClient; +import org.gcube.contentmanagement.blobstorage.transport.backend.RemoteBackendException; +import org.gcube.contentmanager.storageclient.wrapper.AccessType; +import org.gcube.contentmanager.storageclient.wrapper.MemoryType; +import org.gcube.contentmanager.storageclient.wrapper.StorageClient; + +public class StorageClientProvider implements Engine{ + + + @Override + public IClient getObject() throws ConfigurationException { + return new StorageClient(InterfaceConstants.SERVICE_CLASS, InterfaceConstants.SERVICE_NAME, ContextUtils.getCurrentCaller(), AccessType.SHARED, MemoryType.VOLATILE).getClient(); + } + + @Override + public void shustdown() { + // TODO Auto-generated method stub + + } + @Override + public void init() { + // TODO Auto-generated method stub + + } + + + //wrapping methods + + public InputStream open(String id) throws MalformedURLException, RemoteBackendException, IOException, ConfigurationException { + return new URL(getObject().getHttpsUrl().RFileById(id)).openConnection().getInputStream(); + } + +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/TTLObject.java b/src/main/java/org/gcube/application/geoportal/service/engine/TTLObject.java new file mode 100644 index 0000000..bd86e88 --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/TTLObject.java @@ -0,0 +1,17 @@ +package org.gcube.application.geoportal.service.engine; + +import java.time.LocalDateTime; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.ToString; + +@Getter +@ToString +@AllArgsConstructor +public class TTLObject { + + private LocalDateTime creationTime; + private T theObject; + +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/cache/Cache.java b/src/main/java/org/gcube/application/geoportal/service/engine/cache/Cache.java new file mode 100644 index 0000000..158c59a --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/cache/Cache.java @@ -0,0 +1,9 @@ +package org.gcube.application.geoportal.service.engine.cache; + +public class Cache { + + public Cache() { + // TODO Auto-generated constructor stub + } + +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoClientProvider.java b/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoClientProvider.java new file mode 100644 index 0000000..9cb751a --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoClientProvider.java @@ -0,0 +1,43 @@ +package org.gcube.application.geoportal.service.engine.cache; + +import org.gcube.application.geoportal.model.fault.ConfigurationException; +import org.gcube.application.geoportal.service.engine.AbstractScopedMap; +import org.gcube.application.geoportal.service.engine.ImplementationProvider; +import org.gcube.application.geoportal.service.model.internal.db.MongoConnection; + +import com.mongodb.MongoClient; +import com.mongodb.MongoClientOptions; +import com.mongodb.MongoCredential; +import com.mongodb.ServerAddress; + +public class MongoClientProvider extends AbstractScopedMap{ + + public MongoClientProvider() { + super("MongoClient cache"); + +// setTTL(Duration.of(10,ChronoUnit.MINUTES)); + } + + @Override + protected MongoClient retrieveObject() throws ConfigurationException { + MongoConnection conn=ImplementationProvider.get().getMongoConnectionProvider().getObject(); + MongoCredential credential = MongoCredential.createCredential(conn.getUser(), conn.getDatabase(), + conn.getPassword().toCharArray()); + + MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build(); + + return new MongoClient(new ServerAddress(conn.getHosts().get(0),conn.getPort()), + credential, + options); + } + + @Override + protected void dispose(MongoClient toDispose) { + toDispose.close(); + } + + @Override + public void init() { + // TODO Auto-generated method stub + } +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoConnectionProvider.java b/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoConnectionProvider.java new file mode 100644 index 0000000..9e665d1 --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoConnectionProvider.java @@ -0,0 +1,33 @@ +package org.gcube.application.geoportal.service.engine.cache; + +import java.time.Duration; +import java.time.temporal.ChronoUnit; + +import org.gcube.application.geoportal.model.fault.ConfigurationException; +import org.gcube.application.geoportal.service.ServiceConstants; +import org.gcube.application.geoportal.service.engine.AbstractScopedMap; +import org.gcube.application.geoportal.service.model.internal.db.MongoConnection; +import org.gcube.application.geoportal.service.utils.ISUtils; + +public class MongoConnectionProvider extends AbstractScopedMap{ + + public MongoConnectionProvider() { + super("MongoDBInfo Cache"); + setTTL(Duration.of(2,ChronoUnit.MINUTES)); + } + + @Override + protected MongoConnection retrieveObject() throws ConfigurationException { + return ISUtils.queryForMongoDB(ServiceConstants.MONGO_SE_PLATFORM, ServiceConstants.MONGO_SE_GNA_FLAG); + } + + @Override + protected void dispose(MongoConnection toDispose) { + + } + + @Override + public void init() { + // TODO Auto-generated method stub + } +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/DefaultMongoProvider.java b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/DefaultMongoProvider.java deleted file mode 100644 index 65705a4..0000000 --- a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/DefaultMongoProvider.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.gcube.application.geoportal.service.engine.mongo; - -import java.util.Arrays; - -import org.gcube.application.geoportal.model.fault.ConfigurationException; -import org.gcube.application.geoportal.service.ServiceConstants; -import org.gcube.application.geoportal.service.model.internal.db.MongoConnection; -import org.gcube.application.geoportal.service.utils.ISUtils; - -import com.mongodb.MongoClient; -import com.mongodb.MongoClientOptions; -import com.mongodb.MongoCredential; -import com.mongodb.ServerAddress; - -import lombok.Synchronized; - -public class DefaultMongoProvider implements MongoClientProvider { - - public DefaultMongoProvider() { - // TODO Auto-generated constructor stub - } - - @Override - public void init() { - - } - - @Override - public void shustdown() { - // TODO Auto-generated method stub - - } - - - private static MongoClient instance=null; - @Override - @Synchronized - public MongoClient getClient() throws ConfigurationException{ - if(instance==null) { - MongoConnection conn= ISUtils.queryForMongoDB(ServiceConstants.MONGO_SE_PLATFORM, ServiceConstants.MONGO_SE_GNA_FLAG); - - - MongoCredential credential = MongoCredential.createCredential(conn.getUser(), conn.getDatabase(), - conn.getPassword().toCharArray()); - - MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build(); - - instance = new MongoClient(new ServerAddress(conn.getHosts().get(0),conn.getPort()), - credential, - options); - } - - return instance; - } - -} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoClientProvider.java b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoClientProvider.java deleted file mode 100644 index bdd236b..0000000 --- a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoClientProvider.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.gcube.application.geoportal.service.engine.mongo; - -import org.gcube.application.geoportal.model.fault.ConfigurationException; -import org.gcube.application.geoportal.service.engine.Engine; - -import com.mongodb.MongoClient; - -public interface MongoClientProvider extends Engine{ - - - public MongoClient getClient() throws ConfigurationException; - - -} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java index a9b61b5..b373b86 100644 --- a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java +++ b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java @@ -15,8 +15,11 @@ public class MongoManager { private MongoClient client=null; + + + public MongoManager() throws ConfigurationException { - client=ImplementationProvider.get().getMongoClientProvider().getClient(); + client=ImplementationProvider.get().getMongoClientProvider().getObject(); // init profile } diff --git a/src/main/java/org/gcube/application/geoportal/service/model/internal/rest/AddSectionToConcessioneRequest.java b/src/main/java/org/gcube/application/geoportal/service/model/internal/rest/AddSectionToConcessioneRequest.java new file mode 100644 index 0000000..291a538 --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/model/internal/rest/AddSectionToConcessioneRequest.java @@ -0,0 +1,32 @@ +package org.gcube.application.geoportal.service.model.internal.rest; + +import java.util.List; + +import javax.xml.bind.annotation.XmlRootElement; + +import org.gcube.application.geoportal.model.content.AssociatedContent; + +import lombok.Data; + +@XmlRootElement +@Data +public class AddSectionToConcessioneRequest { + + public static enum Section{ + RELAZIONE,UPLOADED_IMG,PIANTA,POSIZIONAMENTO,OTHER + } + + @XmlRootElement + @Data + public static class SHUBFileDescriptor { + private String filename; + private String shubID; + } + + + private Section section; + private String concessioneID; + private AssociatedContent toRegister; + private List streams; + +} diff --git a/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java b/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java index 96bf169..e655fb3 100644 --- a/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java +++ b/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java @@ -14,11 +14,18 @@ import javax.ws.rs.core.MediaType; import org.gcube.application.geoportal.common.rest.InterfaceConstants; import org.gcube.application.geoportal.managers.ConcessioneManager; import org.gcube.application.geoportal.managers.ManagerFactory; +import org.gcube.application.geoportal.model.InputStreamDescriptor; import org.gcube.application.geoportal.model.concessioni.Concessione; +import org.gcube.application.geoportal.model.concessioni.LayerConcessione; +import org.gcube.application.geoportal.model.concessioni.RelazioneScavo; +import org.gcube.application.geoportal.model.content.UploadedImage; import org.gcube.application.geoportal.model.report.PublicationReport; -import org.gcube.application.geoportal.utils.Serialization; +import org.gcube.application.geoportal.service.engine.ImplementationProvider; +import org.gcube.application.geoportal.service.engine.StorageClientProvider; +import org.gcube.application.geoportal.service.model.internal.rest.AddSectionToConcessioneRequest; +import org.gcube.application.geoportal.service.model.internal.rest.AddSectionToConcessioneRequest.SHUBFileDescriptor; +import org.gcube.application.geoportal.service.utils.Serialization; import org.json.JSONArray; -import org.json.JSONObject; import lombok.extern.slf4j.Slf4j; @@ -26,13 +33,14 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class Concessioni { + @GET @Produces(MediaType.APPLICATION_JSON) @Path("{"+InterfaceConstants.Parameters.PROJECT_ID+"}") public String getById(@PathParam(InterfaceConstants.Parameters.PROJECT_ID) String id) { try { log.info("Loading Concessione by id {} ",id); - Concessione toReturn=(Concessione) ManagerFactory.getByRecordID(Long.parseLong(id)).getRecord(); + Concessione toReturn=(Concessione) ConcessioneManager.getByID(Long.parseLong(id)); log.debug("Loaded object {} ",toReturn); return toReturn.asJson(); }catch(WebApplicationException e){ @@ -43,14 +51,61 @@ public class Concessioni { throw new WebApplicationException("Unable to serve request", e); } } - + @PUT @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) - public String registerNew(Concessione toRegister) { + public String registerNew(String toRegister) { try { log.info("Registering new Concessione "+toRegister); - ConcessioneManager manager=ManagerFactory.registerNew(toRegister); + Concessione conc=Serialization.read(toRegister, Concessione.class); + ConcessioneManager manager=ManagerFactory.registerNew(conc); + manager.commitSafely(false); + return manager.getRecord().asJson(); + }catch(WebApplicationException e){ + log.warn("Unable to serve request",e); + throw e; + }catch(Throwable e){ + log.warn("Unable to serve request",e); + throw new WebApplicationException("Unable to serve request", e); + } + } + + @PUT + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) + @Path("{"+InterfaceConstants.Parameters.PROJECT_ID+"}") + public String modify(@PathParam(InterfaceConstants.Parameters.PROJECT_ID) String id, + AddSectionToConcessioneRequest request) { + try { + log.info("Adding section to Concessione {} ",id); + Concessione toReturn=(Concessione) ConcessioneManager.getByID(Long.parseLong(id)); + ConcessioneManager manager=ManagerFactory.getByRecord(toReturn); + log.debug("Loaded object {} ",toReturn); + + + InputStreamDescriptor[] streams=new InputStreamDescriptor[request.getStreams().size()]; + + StorageClientProvider storage=ImplementationProvider.get().getStorageProvider(); + + for(int i=0;i T read(String jsonString,Class clazz) throws JsonProcessingException, IOException { return mapper.readerFor(clazz).readValue(jsonString); } - + public static String write(Object toWrite) throws JsonProcessingException { + return mapper.writeValueAsString(toWrite); + } } diff --git a/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java b/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java index facc442..0a5205f 100644 --- a/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java +++ b/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java @@ -16,17 +16,23 @@ import javax.persistence.spi.ClassTransformer; import javax.persistence.spi.PersistenceUnitInfo; import javax.persistence.spi.PersistenceUnitTransactionType; import javax.sql.DataSource; +import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Application; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; import org.gcube.application.geoportal.common.rest.InterfaceConstants; import org.gcube.application.geoportal.managers.AbstractRecordManager; import org.gcube.application.geoportal.managers.DefatulEMFProvider; import org.gcube.application.geoportal.model.concessioni.Concessione; +import org.gcube.application.geoportal.model.fault.ConfigurationException; import org.gcube.application.geoportal.service.GeoportalService; -import org.gcube.application.geoportal.utils.Serialization; +import org.gcube.application.geoportal.service.engine.ImplementationProvider; +import org.gcube.application.geoportal.service.engine.StorageClientProvider; +import org.gcube.application.geoportal.service.utils.Serialization; import org.gcube.com.fasterxml.jackson.core.JsonProcessingException; +import org.gcube.contentmanagement.blobstorage.service.IClient; import org.glassfish.jersey.test.JerseyTest; import org.junit.BeforeClass; import org.junit.Test; @@ -44,15 +50,25 @@ public class Concessioni extends JerseyTest { @BeforeClass public static void init() { + String scope="/gcube/devNext/NextNext"; AbstractRecordManager.setDefaultProvider(new DefatulEMFProvider(){ @Override public EntityManagerFactory getFactory() { - System.err.println("***********************SETTING DEBUG CONTEXT******************"); - TokenSetter.set("/gcube/devNext/NextNext"); +// System.err.println("***********************SETTING DEBUG CONTEXT******************"); + TokenSetter.set(scope); return super.getFactory(); } - }); + }); + + ImplementationProvider.get().setStorageProvider(new StorageClientProvider() { + @Override + public IClient getObject() throws ConfigurationException { + TokenSetter.set(scope); + return super.getObject(); + } + }); + } @@ -67,7 +83,7 @@ public class Concessioni extends JerseyTest { System.out.println("Iterating through objects.. "); for(Object o:coll) { System.out.println("Object class is "+o.getClass()); - Concessione c=Serialization.readObject(o.toString(), Concessione.class); + Concessione c=Serialization.read(o.toString(), Concessione.class); System.out.println("Concessione is : "+c.asJson()); } @@ -75,11 +91,29 @@ public class Concessioni extends JerseyTest { @Test - public void createNew() { + public void createNew() throws IOException { + Concessione toCreate=TestModel.prepareEmptyConcessione(); WebTarget target=target(InterfaceConstants.Methods.CONCESSIONI); -// target. + Response resp=target.request(MediaType.APPLICATION_JSON).put(Entity.entity(toCreate.asJson(), MediaType.APPLICATION_JSON)); + String resString=resp.readEntity(String.class); + System.out.println("Resp String is "+resString); + Concessione registered=Serialization.read(resString, Concessione.class); + System.out.println("Registered concessione at : "+registered); + + + } + @Test + public void publishNew() throws IOException { + Concessione toCreate=TestModel.prepareEmptyConcessione(); + WebTarget target=target(InterfaceConstants.Methods.CONCESSIONI); + Response resp=target.request(MediaType.APPLICATION_JSON).put(Entity.entity(toCreate.asJson(), MediaType.APPLICATION_JSON)); + String resString=resp.readEntity(String.class); + System.out.println("Resp String is "+resString); + Concessione registered=Serialization.read(resString, Concessione.class); + System.out.println("Registered concessione at : "+registered); + + } - diff --git a/src/test/java/org/gcube/application/geoportal/service/legacy/MongoTests.java b/src/test/java/org/gcube/application/geoportal/service/legacy/MongoTests.java index 1c8199e..25b5ae4 100644 --- a/src/test/java/org/gcube/application/geoportal/service/legacy/MongoTests.java +++ b/src/test/java/org/gcube/application/geoportal/service/legacy/MongoTests.java @@ -3,12 +3,11 @@ package org.gcube.application.geoportal.service.legacy; import java.io.IOException; import org.bson.Document; -import org.gcube.application.geoportal.common.model.legacy.Concessione; import org.gcube.application.geoportal.common.model.profile.Profile; import org.gcube.application.geoportal.common.utils.Files; import org.gcube.application.geoportal.model.fault.ConfigurationException; import org.gcube.application.geoportal.service.engine.ImplementationProvider; -import org.gcube.application.geoportal.service.engine.mongo.DefaultMongoProvider; +import org.gcube.application.geoportal.service.engine.cache.MongoClientProvider; import org.gcube.application.geoportal.service.engine.mongo.MongoManager; import org.gcube.application.geoportal.service.utils.Serialization; import org.junit.BeforeClass; @@ -22,11 +21,11 @@ public class MongoTests { @BeforeClass public static final void init() { - ImplementationProvider.get().setMongoClientProvider(new DefaultMongoProvider() { + ImplementationProvider.get().setMongoClientProvider(new MongoClientProvider() { @Override - public MongoClient getClient() throws ConfigurationException { + public MongoClient getObject() throws ConfigurationException { TokenSetter.set("/gcube/devNext/NextNext"); - return super.getClient(); + return super.getObject(); } }); }