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.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

View File

@ -30,7 +30,7 @@ public class PluginManagerImpl implements PluginManager {
private static Map<String,PluginDescription> installedPlugins=null;
public PluginManagerImpl() {
init();
load();
}
@Override
@ -40,19 +40,13 @@ public class PluginManagerImpl implements PluginManager {
@Synchronized
private static Map<String, PluginDescription> init() {
private static Map<String, PluginDescription> load() {
if(installedPlugins==null){
Map<String,PluginDescription> toSet=new HashMap<String,PluginDescription>();
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);