74 lines
2.9 KiB
Java
74 lines
2.9 KiB
Java
package org.gcube.data.transfer.service;
|
|
|
|
import javax.ws.rs.ApplicationPath;
|
|
|
|
import org.gcube.data.transfer.model.ServiceConstants;
|
|
import org.gcube.data.transfer.service.transfers.Capabilities;
|
|
import org.gcube.data.transfer.service.transfers.REST;
|
|
import org.gcube.data.transfer.service.transfers.Requests;
|
|
import org.gcube.data.transfer.service.transfers.TransferStatus;
|
|
import org.gcube.data.transfer.service.transfers.engine.AccountingManager;
|
|
import org.gcube.data.transfer.service.transfers.engine.CapabilitiesProvider;
|
|
import org.gcube.data.transfer.service.transfers.engine.PersistenceProvider;
|
|
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.factories.AccountingManagerFactory;
|
|
import org.gcube.data.transfer.service.transfers.engine.factories.CapabilitiesProviderFactory;
|
|
import org.gcube.data.transfer.service.transfers.engine.factories.PersistenceProviderFactory;
|
|
import org.gcube.data.transfer.service.transfers.engine.factories.PluginManagerFactory;
|
|
import org.gcube.data.transfer.service.transfers.engine.factories.RequestManagerFactory;
|
|
import org.gcube.data.transfer.service.transfers.engine.factories.TicketManagerFactory;
|
|
import org.glassfish.hk2.utilities.binding.AbstractBinder;
|
|
import org.glassfish.jersey.media.multipart.MultiPartFeature;
|
|
import org.glassfish.jersey.server.ResourceConfig;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
@Slf4j
|
|
@ApplicationPath(ServiceConstants.APPLICATION_PATH)
|
|
public class DTService extends ResourceConfig{
|
|
|
|
public DTService() {
|
|
super();
|
|
log.warn("Going to define Binder ");
|
|
try {
|
|
AbstractBinder binder = new AbstractBinder() {
|
|
@Override
|
|
protected void configure() {
|
|
bindFactory(AccountingManagerFactory.class).to(AccountingManager.class);
|
|
bindFactory(CapabilitiesProviderFactory.class).to(CapabilitiesProvider.class);
|
|
bindFactory(PersistenceProviderFactory.class).to(PersistenceProvider.class);
|
|
bindFactory(PluginManagerFactory.class).to(PluginManager.class);
|
|
bindFactory(RequestManagerFactory.class).to(RequestManager.class);
|
|
bindFactory(TicketManagerFactory.class).to(TicketManager.class);
|
|
|
|
|
|
|
|
|
|
}
|
|
};
|
|
register(binder);
|
|
|
|
registerClasses(Capabilities.class);
|
|
registerClasses(Requests.class);
|
|
registerClasses(REST.class);
|
|
registerClasses(TransferStatus.class);
|
|
// ApplicationContext ctx = ContextProvider.get();
|
|
|
|
// ctx.application().addListener(Listener.class.getName());
|
|
|
|
|
|
packages("org.gcube.data.transfer.service.transfers");
|
|
packages("org.glassfish.jersey.media.multipart");
|
|
packages("org.glassfish.jersey.media.multipart.internal");
|
|
// register(ProviderLoggingListener.class);
|
|
register(MultiPartFeature.class);
|
|
}catch(Throwable t) {
|
|
log.error("Init error ",t );
|
|
throw t;
|
|
}
|
|
}
|
|
|
|
}
|