import org.opendaylight.controller.md.sal.binding.api.MountPointService;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.transportpce.olm.power.PowerMgmt;
import org.opendaylight.transportpce.olm.spanloss.RoadmLinks;
import org.opendaylight.transportpce.olm.spanloss.SpanLoss;
import org.opendaylight.transportpce.renderer.mapping.PortMapping;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerSetupInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerSetupOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerSetupOutputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerTurndownInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerTurndownOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerTurndownOutputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.get.pm.output.MeasurementsBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
roadmLinks.add(rdmLink);
}
}
- boolean successVal = new SpanLoss(db, mps).getLinkSpanloss(roadmLinks);
+ boolean successValSpanCalculation = new SpanLoss(db, mps).getLinkSpanloss(roadmLinks);
+ boolean successValPowerCalculation = new PowerMgmt(db,mps).setPower(input);
- if (successVal) {
+ if (successValSpanCalculation && successValPowerCalculation) {
output.setResult("Success");
} else {
output.setResult("Failed");
}
return RpcResultBuilder.success(output).buildFuture();
-
}
+
+ /**
+ * This method is the implementation of the 'service-power-trundown' RESTCONF service, which
+ * is one of the external APIs into the olm application.
+ *
+ * <p>
+ * 1. service-power-turndown: This operation performs following steps:
+ * Step1: For each TP within Node sets interface outofservice .
+ * Step2: For each roam-connection sets power to -60dbm
+ * Step3: Turns power mode off
+ *
+ * <p>
+ * The signature for this method was generated by yang tools from the
+ * renderer API model.
+ *
+ * @param input
+ * Input parameter from the olm yang model
+ * Input will contain nodeId and termination point
+ *
+ * @return Result of the request
+ */
+ @Override
+ public Future<RpcResult<ServicePowerTurndownOutput>> servicePowerTurndown(ServicePowerTurndownInput input) {
+ ServicePowerTurndownOutputBuilder output = new ServicePowerTurndownOutputBuilder();
+ if (new PowerMgmt(db,mps).powerTurnDown(input)) {
+ output.setResult("Success");
+ } else {
+ output.setResult("Failed");
+ }
+ return RpcResultBuilder.success(output).buildFuture();
+ }
}
\ No newline at end of file