context-manager/src/main/java/org/gcube/vremanagement/contextmanager/handlers/impl/StaticResourceHandler.java

67 lines
1.7 KiB
Java

package org.gcube.vremanagement.contextmanager.handlers.impl;
import java.util.Arrays;
import java.util.List;
import javax.enterprise.inject.Any;
import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.gcube.common.resources.gcore.Resource;
import org.gcube.common.resources.gcore.Resource.Type;
import org.gcube.vremanagement.contextmanager.handlers.ResourceHandler;
import org.gcube.vremanagement.contextmanager.model.collectors.CollectorsBackend;
import org.gcube.vremanagement.contextmanager.model.types.Context;
import org.slf4j.Logger;
@Singleton
public class StaticResourceHandler implements ResourceHandler {
@Inject
Logger log;
@Inject
@Any
Instance<CollectorsBackend> connectors;
@Override
public List<Type> getManagedResources() {
return Arrays.asList(Type.GENERIC, Type.ENDPOINT);
}
@Override
public void addResource(Context context, Resource resource) {
for (CollectorsBackend connector : connectors)
try {
connector.addResourceToContext(context, resource);
}catch (Exception e) {
log.warn("error adding context {} in resource with id {} ",context.getName() ,resource.id() ,e);
}
}
@Override
public void removeResource(Context context, Resource resource) {
for (CollectorsBackend connector : connectors)
try {
connector.removeResourceFromContext(context, resource);
}catch (Exception e) {
log.warn("error removing context {} in resource with id {} ",context.getName() ,resource.id(), e);
}
}
@Override
public void createResourceNotified(Context context, Resource resource) {
// TODO Auto-generated method stub
}
@Override
public void removeResourceNotified(Context context, Resource resource) {
// TODO Auto-generated method stub
}
}