diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/WorkspaceManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/WorkspaceManager.java index f70041a..e4f20a8 100644 --- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/WorkspaceManager.java +++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/WorkspaceManager.java @@ -53,7 +53,7 @@ public class WorkspaceManager { public WorkspaceManager() throws ConfigurationException, StorageHubException { - sgClient= ImplementationProvider.get().getSHubProvider().getObject(); + sgClient= ImplementationProvider.get().getEngineByClass(StorageHubClient.class); appBase=getApplicationBaseFolder(sgClient); } diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ConcessioniMongoManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ConcessioniMongoManager.java index df70648..c83a961 100644 --- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ConcessioniMongoManager.java +++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ConcessioniMongoManager.java @@ -258,7 +258,7 @@ public class ConcessioniMongoManager extends MongoManager{ log.info("Persisting {} files for path {} in concessione ",files.size(),destinationPath,id); try{ Concessione c = getById(id); - StorageUtils storage=ImplementationProvider.get().getStorageProvider().getObject(); + StorageUtils storage=ImplementationProvider.get().getEngineByClass(StorageUtils.class); WorkspaceManager ws=new WorkspaceManager(); //Check Init Base folder FolderContainer baseFolder=null; diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java index f4da4bd..be3deb4 100644 --- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java +++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java @@ -34,7 +34,7 @@ public abstract class MongoManager { protected static final Document asDoc(String json) {return Document.parse(json);} public MongoManager() throws ConfigurationException { - client=ImplementationProvider.get().getMongoClientProvider().getObject(); + client=ImplementationProvider.get().getEngineByClass(Mongo.class); log.info("Got Mongo Client at "+client.getConnection()); log.debug("Mongo client is "+client); diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java index 78ac356..cae7f76 100644 --- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java +++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java @@ -38,6 +38,8 @@ import org.gcube.application.geoportal.common.utils.StorageUtils; import org.gcube.application.cms.implementations.ImplementationProvider; import org.gcube.application.geoportal.service.engine.WorkspaceManager; import org.gcube.application.geoportal.common.model.rest.ConfigurationException; +import org.gcube.application.geoportal.service.engine.providers.PluginManager; +import org.gcube.application.geoportal.service.engine.providers.ProfileMapCache; import org.gcube.application.geoportal.service.model.internal.faults.DeletionException; import org.gcube.application.cms.serialization.Serialization; import org.gcube.application.geoportal.service.utils.UserUtils; @@ -70,7 +72,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI< // Check Profile ID log.info("Loading profile ID {} ",profileId); if(profileId==null) throw new InvalidParameterException("Profile ID cannot be null"); - Map profiles=ImplementationProvider.get().getProfiles().getObject(); + Map profiles=ImplementationProvider.get().getEngineByClass(ProfileMapCache.ProfileMap.class); if(!profiles.containsKey(profileId)) { log.debug("Asked profile {} not found. Available ones are {} ",profileId,profiles.keySet()); throw new WebApplicationException("Profile " + profileId + " not registered", Response.Status.NOT_FOUND); @@ -102,7 +104,8 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI< // Loading Lifecycle Manager log.debug("Looking for handler {} ",lcHandlerDeclaration); - toReturn=(LifecycleManager) ImplementationProvider.get().getPluginManager().getObject().get(lcHandlerDeclaration.getId()); + toReturn=(LifecycleManager) ImplementationProvider.get(). + getEngineByClass(PluginManager.PluginMap.class).get(lcHandlerDeclaration.getId()); if(toReturn==null) throw new ConfigurationException("Unable to find Lifecycle Manager Plugin. ID "+lcHandlerDeclaration.getId()); return toReturn; @@ -296,7 +299,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI< doc.getLifecycleInformation().setLastOperationStatus(LifecycleInformation.Status.OK); WorkspaceManager ws=new WorkspaceManager(); - StorageUtils storage=ImplementationProvider.get().getStorageProvider().getObject(); + StorageUtils storage=ImplementationProvider.get().getEngineByClass(StorageUtils.class); log.debug("Checking field {} definition in {}",request.getFieldDefinitionPath(),profile.getId()); diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/PluginManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/PluginManager.java index 0a3137a..416952e 100644 --- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/PluginManager.java +++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/PluginManager.java @@ -120,7 +120,9 @@ public class PluginManager extends AbstractScopedMap im @Override public Plugin getById(String pluginID) throws ConfigurationException { - return getObject().get(pluginID); + Plugin toReturn = getObject().get(pluginID); + if(toReturn == null ) throw new ConfigurationException("Plugin "+pluginID+" not found "); + return toReturn; } private static final void logReport(Plugin p, InitializationReport report){ diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/ProfileMapCache.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/ProfileMapCache.java index 1e47b33..996ac3a 100644 --- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/ProfileMapCache.java +++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/ProfileMapCache.java @@ -19,9 +19,7 @@ import java.util.Map; public class ProfileMapCache extends AbstractScopedMap { @AllArgsConstructor - public static class ProfileMap { - @Getter - Map profileMap=new HashMap<>(); + public static class ProfileMap extends HashMap{ } public ProfileMapCache() { @@ -44,7 +42,7 @@ public class ProfileMapCache extends AbstractScopedMap toReturn=new HashMap<>(); + ProfileMap toReturn=new ProfileMap(); try { Profile p=Serialization.read(Files. @@ -58,7 +56,7 @@ public class ProfileMapCache extends AbstractScopedMap System.out.println(s)); + } + if(doc.getLifecycleInformation().getWarningMessages()!=null) { + System.out.println("WARNING MESSAGES"); + doc.getLifecycleInformation().getWarningMessages().forEach(s -> System.out.println(s)); + } + + assertTrue(doc.getLifecycleInformation().getLastOperationStatus().equals(LifecycleInformation.Status.OK)); + } } diff --git a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/MongoTests.java b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/MongoTests.java index fbdc59c..e7e47c5 100644 --- a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/MongoTests.java +++ b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/MongoTests.java @@ -35,13 +35,13 @@ public class MongoTests { @BeforeClass public static final void init() { - ImplementationProvider.get().setMongoClientProvider(new MongoClientProvider() { + ImplementationProvider.get().setEngine(new MongoClientProvider() { @Override public Mongo getObject() throws ConfigurationException { TokenSetter.set("/gcube/devsec/devVRE"); return super.getObject(); } - }); + },Mongo.class); } diff --git a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/StorageTests.java b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/StorageTests.java index 08c081e..4b1cd62 100644 --- a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/StorageTests.java +++ b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/StorageTests.java @@ -12,7 +12,7 @@ public class StorageTests { public static void main(String[] args) throws ConfigurationException, IOException { TokenSetter.set("/gcube/devsec/devVRE"); - StorageClientProvider storage= ImplementationProvider.get().getStorageProvider(); + StorageClientProvider storage= ImplementationProvider.get().getEngineByClass(StorageClientProvider.class); String id="614de23b647cef06aecdfb28"; System.out.println("FROM PROVIDER " + storage.getObject().getURL(id)); diff --git a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/engine/caches/Caches.java b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/engine/caches/Caches.java index 3e66a22..a45de54 100644 --- a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/engine/caches/Caches.java +++ b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/engine/caches/Caches.java @@ -109,7 +109,7 @@ public class Caches extends BasicServiceTestUnit { AtomicLong executed = new AtomicLong(0); AtomicLong launched = new AtomicLong(0); - final StorageUtils storage=ImplementationProvider.get().getStorageProvider().getObject(); + final StorageUtils storage=ImplementationProvider.get().getEngineByClass(StorageUtils.class); String id =storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"))[0].getId(); @@ -121,10 +121,8 @@ public class Caches extends BasicServiceTestUnit { public void run() { try { try {Thread.sleep(1000);} catch (InterruptedException i) {} - System.out.println(ImplementationProvider.get().getStorageProvider().getObject().getURL(id)); + System.out.println(storage.getURL(id)); // storage.getURL(id); - } catch (ConfigurationException e) { - e.printStackTrace(); } catch (MongoWaitQueueFullException e) { log.info("Too many connections... "); }finally{