Explicit Binding of implementeros

This commit is contained in:
FabioISTI 2020-04-09 12:11:09 +02:00
parent 648ef893d4
commit 8e5995b3c1
1 changed files with 36 additions and 1 deletions

View File

@ -3,6 +3,23 @@ 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.impl.AccountingManagerImpl;
import org.gcube.data.transfer.service.transfers.engine.impl.CapabilitiesProviderImpl;
import org.gcube.data.transfer.service.transfers.engine.impl.PersistenceProviderImpl;
import org.gcube.data.transfer.service.transfers.engine.impl.PluginManagerImpl;
import org.gcube.data.transfer.service.transfers.engine.impl.RequestManagerImpl;
import org.gcube.data.transfer.service.transfers.engine.impl.TransferTicketManagerImpl;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.server.ResourceConfig;
@ -11,7 +28,25 @@ public class DTService extends ResourceConfig{
public DTService() {
super();
packages("org.gcube.data.transfer.service.transfers");
AbstractBinder binder = new AbstractBinder() {
@Override
protected void configure() {
bind(AccountingManagerImpl.class).to(AccountingManager.class);
bind(CapabilitiesProviderImpl.class).to(CapabilitiesProvider.class);
bind(PersistenceProviderImpl.class).to(PersistenceProvider.class);
bind(PluginManagerImpl.class).to(PluginManager.class);
bind(RequestManagerImpl.class).to(RequestManager.class);
bind(TransferTicketManagerImpl.class).to(TicketManager.class);
}
};
register(binder);
register(Capabilities.class);
register(Requests.class);
register(REST.class);
register(TransferStatus.class);
// packages("org.gcube.data.transfer.service.transfers");
packages("org.glassfish.jersey.media.multipart");
packages("org.glassfish.jersey.media.multipart.internal");
// register(ProviderLoggingListener.class);