package org.opennaas.extensions.pdu.capability;
import org.opennaas.extensions.gim.controller.APCPDUPowerControllerDriver;
import org.opennaas.extensions.gim.controller.BasicDeliveryController;
import org.opennaas.extensions.gim.controller.PDUController;
import org.opennaas.extensions.gim.controller.snmp.APCDriver_SNMP;
import org.opennaas.extensions.gim.model.core.entities.GIModel;
import org.opennaas.extensions.pdu.Activator;
public class PDUDriverInstantiator {
public static PDUController create(String resourceId, String powernetResourceName, String deliveryId, String pduIPAddress) throws Exception {
APCDriver_SNMP snmpDriver;
APCPDUPowerControllerDriver apcDriver;
BasicDeliveryController deliveryController;
PDUController pduController;
snmpDriver = new APCDriver_SNMP(pduIPAddress);
apcDriver = new APCPDUPowerControllerDriver();
apcDriver.setDriver(snmpDriver);
deliveryController = new BasicDeliveryController();
deliveryController.setModel(
(GIModel) Activator.getResourceManagerService().getResource(
Activator.getResourceManagerService().getIdentifierFromResourceName("powernet", powernetResourceName))
.getModel());
pduController = new PDUController();
pduController.setDeliveryController(deliveryController);
pduController.setDeliveryId(deliveryId);
pduController.setDriver(apcDriver);
return pduController;
}
}