From f06e2ed014a4d1d1e1010db66a52972c0ce202d5 Mon Sep 17 00:00:00 2001 From: "fabio.sinibaldi" Date: Mon, 11 Dec 2017 14:38:51 +0000 Subject: [PATCH] git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/branches/data-transfer/data-transfer-service/2.0@160271 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../transfer/service/DTServiceAppManager.java | 4 ++- .../engine/impl/PluginManagerImpl.java | 26 ++++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/gcube/data/transfer/service/DTServiceAppManager.java b/src/main/java/org/gcube/data/transfer/service/DTServiceAppManager.java index f5bc0d7..8853709 100644 --- a/src/main/java/org/gcube/data/transfer/service/DTServiceAppManager.java +++ b/src/main/java/org/gcube/data/transfer/service/DTServiceAppManager.java @@ -5,6 +5,7 @@ import javax.inject.Inject; import org.gcube.data.transfer.service.transfers.engine.PluginManager; import org.gcube.data.transfer.service.transfers.engine.RequestManager; import org.gcube.data.transfer.service.transfers.engine.TicketManager; +import org.gcube.data.transfer.service.transfers.engine.impl.TokenUtils; import org.gcube.smartgears.ApplicationManager; import org.gcube.smartgears.ContextProvider; import org.gcube.smartgears.context.application.ApplicationContext; @@ -26,7 +27,8 @@ public class DTServiceAppManager implements ApplicationManager { @Override public void onInit() { - log.info("DT Application init"); + log.info("DT Application init on context : {} ",TokenUtils.getCurrentScope()); + plugins.initPlugins(); } @Override diff --git a/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/PluginManagerImpl.java b/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/PluginManagerImpl.java index f1f3aba..1d28de7 100644 --- a/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/PluginManagerImpl.java +++ b/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/PluginManagerImpl.java @@ -30,7 +30,7 @@ public class PluginManagerImpl implements PluginManager { private static Map installedPlugins=null; public PluginManagerImpl() { - init(); + load(); } @Override @@ -40,19 +40,13 @@ public class PluginManagerImpl implements PluginManager { @Synchronized - private static Map init() { + private static Map load() { if(installedPlugins==null){ Map toSet=new HashMap(); log.trace("Loading plugins descriptors.."); abstractFactoryLoader=ServiceLoader.load(AbstractPluginFactory.class); for(AbstractPluginFactory factory:abstractFactoryLoader){ - log.debug("Initializing {}, {} ",factory.getID(),factory.getDescription()); - try{ - factory.init(new DataTransferContext(ContextProvider.get())); - toSet.put(factory.getID(), new PluginDescription(factory.getID(), factory.getDescription(), factory.getParameters())); - }catch(Throwable e){ - log.warn("Unable to initialize plugin {} ",factory.getID(),e); - } + toSet.put(factory.getID(), new PluginDescription(factory.getID(), factory.getDescription(), factory.getParameters())); } installedPlugins=toSet; } @@ -60,6 +54,20 @@ public class PluginManagerImpl implements PluginManager { return installedPlugins; } + + @Override + public void initPlugins() { + for(AbstractPluginFactory factory:abstractFactoryLoader){ + log.debug("Initializing {}, under {} ",factory.getID(),TokenUtils.getCurrentScope()); + try{ + factory.init(new DataTransferContext(ContextProvider.get())); + }catch(Throwable e){ + log.warn("Unable to initialize plugin {} ",factory.getID(),e); + } + } + } + + @Override public ExecutionReport execute(PluginInvocation invocation,String transferredFile)throws PluginException, PluginNotFoundException { log.debug("Executing invocation {} ",invocation);