Fabio Sinibaldi 2017-12-11 14:38:51 +00:00
parent a338f37573
commit f06e2ed014
2 changed files with 20 additions and 10 deletions

View File

@ -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.PluginManager;
import org.gcube.data.transfer.service.transfers.engine.RequestManager; 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.TicketManager;
import org.gcube.data.transfer.service.transfers.engine.impl.TokenUtils;
import org.gcube.smartgears.ApplicationManager; import org.gcube.smartgears.ApplicationManager;
import org.gcube.smartgears.ContextProvider; import org.gcube.smartgears.ContextProvider;
import org.gcube.smartgears.context.application.ApplicationContext; import org.gcube.smartgears.context.application.ApplicationContext;
@ -26,7 +27,8 @@ public class DTServiceAppManager implements ApplicationManager {
@Override @Override
public void onInit() { public void onInit() {
log.info("DT Application init"); log.info("DT Application init on context : {} ",TokenUtils.getCurrentScope());
plugins.initPlugins();
} }
@Override @Override

View File

@ -30,7 +30,7 @@ public class PluginManagerImpl implements PluginManager {
private static Map<String,PluginDescription> installedPlugins=null; private static Map<String,PluginDescription> installedPlugins=null;
public PluginManagerImpl() { public PluginManagerImpl() {
init(); load();
} }
@Override @Override
@ -40,19 +40,13 @@ public class PluginManagerImpl implements PluginManager {
@Synchronized @Synchronized
private static Map<String, PluginDescription> init() { private static Map<String, PluginDescription> load() {
if(installedPlugins==null){ if(installedPlugins==null){
Map<String,PluginDescription> toSet=new HashMap<String,PluginDescription>(); Map<String,PluginDescription> toSet=new HashMap<String,PluginDescription>();
log.trace("Loading plugins descriptors.."); log.trace("Loading plugins descriptors..");
abstractFactoryLoader=ServiceLoader.load(AbstractPluginFactory.class); abstractFactoryLoader=ServiceLoader.load(AbstractPluginFactory.class);
for(AbstractPluginFactory factory:abstractFactoryLoader){ for(AbstractPluginFactory factory:abstractFactoryLoader){
log.debug("Initializing {}, {} ",factory.getID(),factory.getDescription()); toSet.put(factory.getID(), new PluginDescription(factory.getID(), factory.getDescription(), factory.getParameters()));
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);
}
} }
installedPlugins=toSet; installedPlugins=toSet;
} }
@ -60,6 +54,20 @@ public class PluginManagerImpl implements PluginManager {
return installedPlugins; 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 @Override
public ExecutionReport execute(PluginInvocation invocation,String transferredFile)throws PluginException, PluginNotFoundException { public ExecutionReport execute(PluginInvocation invocation,String transferredFile)throws PluginException, PluginNotFoundException {
log.debug("Executing invocation {} ",invocation); log.debug("Executing invocation {} ",invocation);