X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=olm%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Folm%2FOlmPowerServiceRpcImpl.java;h=5fd005995ee26de1cfff0360faa6945496f683c2;hb=d9ef75efa4ff5164c84d1d1e62ac1d4a7e21ab6a;hp=c0dfb20549a013aac5bfe17e9a24214481f92fd8;hpb=4ef19c0a7cddd25efa5c74c402b5f6b46bb73739;p=transportpce.git diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImpl.java b/olm/src/main/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImpl.java index c0dfb2054..5fd005995 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImpl.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImpl.java @@ -5,144 +5,53 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ + package org.opendaylight.transportpce.olm; -import com.google.common.util.concurrent.ListenableFuture; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.transportpce.olm.rpc.impl.CalculateSpanlossBaseImpl; +import org.opendaylight.transportpce.olm.rpc.impl.CalculateSpanlossCurrentImpl; +import org.opendaylight.transportpce.olm.rpc.impl.GetPmImpl; +import org.opendaylight.transportpce.olm.rpc.impl.ServicePowerResetImpl; +import org.opendaylight.transportpce.olm.rpc.impl.ServicePowerSetupImpl; +import org.opendaylight.transportpce.olm.rpc.impl.ServicePowerTurndownImpl; import org.opendaylight.transportpce.olm.service.OlmPowerService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.CalculateSpanlossBaseInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.CalculateSpanlossBaseOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.CalculateSpanlossCurrentInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.CalculateSpanlossCurrentOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.GetPmInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.GetPmOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.OlmService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerResetInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerResetOutput; -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.ServicePowerTurndownInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerTurndownOutput; -import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.opendaylight.yangtools.concepts.Registration; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * The Class OlmPowerServiceRpcImpl. */ -public class OlmPowerServiceRpcImpl implements OlmService { - private final OlmPowerService olmPowerService; - - public OlmPowerServiceRpcImpl(OlmPowerService olmPowerService) { - this.olmPowerService = olmPowerService; - } - - /** - * This method is the implementation of the 'get-pm' RESTCONF service, which - * is one of the external APIs into the olm application. - * - *
- * 1. get-pm This operation traverse through current PM list and gets PM for - * given NodeId and Resource name - * - *
- * The signature for this method was generated by yang tools from the
- * olm API model.
- *
- * @param input
- * Input parameter from the olm yang model
- *
- * @return Result of the request
- */
- @Override
- public ListenableFuture
- * 1. service-power-setup: This operation performs following steps:
- * Step1: Calculate Spanloss on all links which are part of service.
- * TODO Step2: Calculate power levels for each Tp-Id
- * TODO Step3: Post power values on roadm connections
- *
- *
- * The signature for this method was generated by yang tools from the
- * olm 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 ListenableFuture
- * 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
- *
- *
- * The signature for this method was generated by yang tools from the
- * olm 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 ListenableFuture
- * 1. Calculate-Spanloss-Base: This operation performs following steps:
- * Step1: Read all Roadm-to-Roadm links from network model or get data for given linkID.
- * Step2: Retrieve PMs for each end point for OTS interface
- * Step3: Calculates Spanloss
- * Step4: Posts calculated spanloss in Device and in network model
- *
- *
- * 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 SourceType and linkId if srcType is Link
- *
- * @return Result of the request
- */
- @Override
- public ListenableFuture