From: Tom Pantelis Date: Fri, 11 Aug 2017 19:15:10 +0000 (-0400) Subject: Convert packetcable-policy-server to blueprint X-Git-Tag: release/oxygen~7 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=416ee383be2a3ec22b42053500ee34d7276c2398;p=packetcable.git Convert packetcable-policy-server to blueprint Converted the packetcable-policy-server to blueprint and removed the config subsystem artifacts as the CSS is deprecated in Nitrogen. This bundle isn't even installed by any feature so it appears not to be used but we need want to remove usage of CSS artifacts for eventual removal. Change-Id: I8112581833974bc0a1a1d5a0c0c7e56c849004fe Signed-off-by: Tom Pantelis --- diff --git a/packetcable-policy-server/pom.xml b/packetcable-policy-server/pom.xml index b17e518..aa3a60a 100644 --- a/packetcable-policy-server/pom.xml +++ b/packetcable-policy-server/pom.xml @@ -3,9 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.opendaylight.controller - config-parent - 0.8.0-SNAPSHOT + org.opendaylight.mdsal + binding-parent + 0.12.0-SNAPSHOT packetcable-policy-server @@ -16,6 +16,19 @@ 1.7.0-SNAPSHOT + + + + + org.opendaylight.controller + mdsal-artifacts + ${sal-binding-api.version} + pom + import + + + + ${project.groupId} @@ -27,17 +40,13 @@ packetcable-policy-model ${project.version} - - org.opendaylight.controller - config-api - org.opendaylight.controller sal-binding-api - org.opendaylight.controller - sal-binding-config + org.apache.commons + commons-lang3 junit diff --git a/packetcable-policy-server/src/main/config/default-config.xml b/packetcable-policy-server/src/main/config/default-config.xml deleted file mode 100644 index cea0b46..0000000 --- a/packetcable-policy-server/src/main/config/default-config.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - urn:opendaylight:params:xml:ns:yang:packetcable:packetcable-policy-server:impl?module=packetcable-policy-server-impl&revision=2014-01-31 - urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&revision=2013-10-28 - - - - - - - - prefix:packetcable-policy-server-impl - - packetcable-policy-server-default-impl - - binding:binding-broker-osgi-registry - binding-osgi-broker - - - binding:binding-rpc-registry - binding-rpc-broker - - - - - - diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java index 330a33e..6845b2f 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java @@ -11,11 +11,9 @@ package org.opendaylight.controller.packetcable.provider; import static com.google.common.base.Preconditions.checkNotNull; import com.google.common.base.Optional; -import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; - import java.net.InetAddress; import java.net.UnknownHostException; import java.text.DateFormat; @@ -32,10 +30,8 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.concurrent.Future; - import javax.annotation.Nonnull; import javax.annotation.concurrent.ThreadSafe; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener; import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier; @@ -45,18 +41,14 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.controller.packetcable.provider.validation.DataValidator; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; -import org.opendaylight.controller.packetcable.provider.validation.Validator; import org.opendaylight.controller.packetcable.provider.validation.impl.CcapsValidatorProviderFactory; import org.opendaylight.controller.packetcable.provider.validation.impl.QosValidatorProviderFactory; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration; -import org.opendaylight.controller.sal.binding.api.BindingAwareProvider; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfileBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.AppContext; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapContext; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapPollConnectionInput; @@ -66,20 +58,21 @@ import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapSetConnectionI import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapSetConnectionOutput; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapSetConnectionOutputBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Ccaps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.FailureType; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.PacketcableService; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Qos; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesInput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesOutput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateInput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateOutput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateOutputBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosDeleteGateInput; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosDeleteGateOutput; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosDeleteGateOutputBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosGateInfoInput; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosGateInfoOutput; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosGateInfoOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateOutputBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceClassName; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceFlowDirection; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.ConnectionBuilder; @@ -103,36 +96,27 @@ import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.app import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.GateKey; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfileBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.flow.spec.profile.FlowSpecProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.SetResponseType; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetSuccessful; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetSuccessfulBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetFailure; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetFailureBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteSuccessful; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteSuccessfulBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfileBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteFailure; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteFailureBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoSuccessful; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoSuccessfulBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteSuccessful; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteSuccessfulBuilder; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoFailure; import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoFailureBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.packetcable.packetcable.policy.server.impl.rev140131.PacketcableProviderModule; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.FailureType; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoSuccessful; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoSuccessfulBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetFailure; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetFailureBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetSuccessful; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetSuccessfulBuilder; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; -import org.pcmm.gates.IGateSpec.Direction; -import org.pcmm.gates.impl.DOCSISFlowSpecTrafficProfile; -import org.pcmm.gates.impl.DOCSISServiceClassNameTrafficProfile; import org.pcmm.rcd.IPCMMClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -145,7 +129,7 @@ import org.slf4j.LoggerFactory; * TODO Don't implement PacketcableService, move that into an inner class */ @ThreadSafe -public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, PacketcableService { +public class PacketcableProvider implements AutoCloseable, PacketcableService { private static final Logger logger = LoggerFactory.getLogger(PacketcableProvider.class); @@ -171,14 +155,14 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, /** * The ODL object used to broker messages throughout the framework */ - private DataBroker dataBroker; - private MdsalUtils mdsalUtils; + private final DataBroker dataBroker; + private final MdsalUtils mdsalUtils; //Routed RPC Registration private RoutedRpcRegistration routedRpcRegistration; // unrouted RPC Registration - private RpcRegistration rpcRegistration; + private RpcRegistration rpcRegistration; // Data change listeners/registrations private final CcapsDataTreeChangeListener ccapsDataTreeChangeListener = new CcapsDataTreeChangeListener(); @@ -187,23 +171,23 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, private ListenerRegistration ccapsDataTreeChangeListenerRegistration; private ListenerRegistration qosDataTreeChangeListenerRegistration; + private final RpcProviderRegistry rpcProviderRegistry; + /** * Constructor */ - public PacketcableProvider() { + public PacketcableProvider(final DataBroker dataBroker, final RpcProviderRegistry rpcProviderRegistry) { logger.info("Starting Packetcable Provider"); + this.dataBroker = dataBroker; + this.rpcProviderRegistry = rpcProviderRegistry; + mdsalUtils = new MdsalUtils(dataBroker); } - @Override - public void onSessionInitiated(ProviderContext session) { - logger.info("Packetcable Session Initiated"); + public void init() { logger.info("logging levels: error={}, warn={}, info={}, debug={}, trace={}", logger.isErrorEnabled(), logger.isWarnEnabled(), logger.isInfoEnabled(), logger.isDebugEnabled(), logger.isTraceEnabled()); - dataBroker = session.getSALService(DataBroker.class); - - mdsalUtils = new MdsalUtils(dataBroker); final DataTreeIdentifier ccapsDataTreeIid = new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, ccapsIID.child(Ccap.class)); @@ -216,11 +200,10 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, qosDataTreeChangeListenerRegistration = dataBroker.registerDataTreeChangeListener(appDataTreeIid, new QosDataTreeChangeListener()); - rpcRegistration = session.addRpcImplementation(PacketcableService.class, this); - logger.info("onSessionInitiated().rpcRegistration: {}", rpcRegistration); - routedRpcRegistration = session.addRoutedRpcImplementation(PacketcableService.class, this); - logger.info("onSessionInitiated().routedRpcRegistration: {}", routedRpcRegistration); + rpcRegistration = rpcProviderRegistry.addRpcImplementation(PacketcableService.class, this); + routedRpcRegistration = rpcProviderRegistry.addRoutedRpcImplementation(PacketcableService.class, this); + logger.info("Packetcable Session Initiated"); } /** @@ -235,10 +218,14 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, if (qosDataTreeChangeListenerRegistration != null) { qosDataTreeChangeListenerRegistration.close(); } - + if (rpcRegistration != null) { rpcRegistration.close(); } + + if (routedRpcRegistration != null) { + routedRpcRegistration.close(); + } } private void updateCcapMaps(final Ccap ccap) { @@ -735,8 +722,8 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, .setCopsGateUsageInfo(""); ServiceFlowDirection scnDirection = null; - - if (newGate.getTrafficProfile().getTrafficProfileChoice() instanceof ServiceClassNameChoice) { + + if (newGate.getTrafficProfile().getTrafficProfileChoice() instanceof ServiceClassNameChoice) { final ServiceClassName scn = ((ServiceClassNameChoice)newGate.getTrafficProfile() .getTrafficProfileChoice()) @@ -764,7 +751,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, else { gateBuilder.setTrafficProfile(newGate.getTrafficProfile()); } - + // // since we may be modifying the contents of the original request GateSpec // to update flow direction (based on the ccap SCN configuration) we need to @@ -916,7 +903,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, // TODO refactor this method into smaller parts InstanceIdentifier ccapIid = (InstanceIdentifier) input.getCcapId(); - List outputError = new ArrayList(); + List outputError = new ArrayList<>(); String rpcResponse = null; Boolean inputIsConnected = input.getConnection().isConnected(); Boolean effectiveIsConnected = null; @@ -998,7 +985,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, // TODO refactor this method into smaller parts InstanceIdentifier ccapIid = (InstanceIdentifier) input.getCcapId(); - List outputError = new ArrayList(); + List outputError = new ArrayList<>(); String ccapId = input.getCcapId().firstIdentifierOf(Ccap.class).firstKeyOf(Ccap.class).getCcapId(); PCMMService pcmmService = pcmmServiceMap.get(ccapId); @@ -1180,12 +1167,12 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, if (gate.get(0).getCopsGateId() != null) { retryOption = true; } - + PCMMService.GateSendStatus status = null; synchronized (pcmmService) { logger.info("Sending gate: Path {} inputSubscriberId {} cops-gate-id {}", newGatePathStr, inputSubscriberId, gate.get(0).getCopsGateId()); - + status = pcmmService.sendGateSet(newGatePathStr, subscriberAddr, newGate); } @@ -1312,7 +1299,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, if (newGate != null) { strGateId = newGate.getCopsGateId(); - if ((strGateId == null) || (strGateId.length() == 0) || (strGateId.equals("null"))){ + if (strGateId == null || strGateId.length() == 0 || strGateId.equals("null")){ final String msg = String.format("qosDeleteGate(): Unknown CopsGateId %s", newGatePathStr); logger.error(msg); @@ -1479,7 +1466,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, outputBuilder.setInfoResponseType(f); return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); } - + PCMMService.GateSendStatus status = null; synchronized (pcmmService) { @@ -1514,7 +1501,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.gates.Gate responseGate = responseGateBuilder.build(); List responseGateList = - new ArrayList(); + new ArrayList<>(); responseGateList.add(responseGate); org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.GatesBuilder responseGatesBuilder = new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.GatesBuilder(); @@ -1591,7 +1578,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, opsCopsGateId = opsGate.getCopsGateId(); gatePathStr = opsGate.getGatePath(); - if ((!Objects.equals(opsCopsGateId, "")) && (!Objects.equals(opsCopsGateId, null))) { + if (!Objects.equals(opsCopsGateId, "") && !Objects.equals(opsCopsGateId, null)) { ccapId = findCcapForSubscriberId(getInetAddress(inputSubscriberId)).getCcapId(); PCMMService pcmmService = pcmmServiceMap.get(ccapId); //is the CCAP socket open? @@ -1657,7 +1644,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, //generate active gatePathStr gatePathStr = appKey.getAppId() + "/" + subscriberId + "/" + gateId; - if ((!Objects.equals(opsCopsGateId, "")) && (!Objects.equals(opsCopsGateId, null))) { + if (!Objects.equals(opsCopsGateId, "") && !Objects.equals(opsCopsGateId, null)) { ccapId = findCcapForSubscriberId(getInetAddress(subscriberId)).getCcapId(); PCMMService pcmmService = pcmmServiceMap.get(ccapId); //is the CCAP socket open? @@ -1717,8 +1704,8 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, } private class PollAllGatesForApp implements Runnable { - private InstanceIdentifier appIid; - private App app; + private final InstanceIdentifier appIid; + private final App app; private PollAllGatesForApp (InstanceIdentifier appIid, App app) { this.app = app; @@ -1766,7 +1753,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, //generate active gatePathStr String gatePathStr = appKey.getAppId() + "/" + subscriberId + "/" + gateId; - if ((!Objects.equals(opsCopsGateId, "")) && (!Objects.equals(opsCopsGateId, null))) { + if (!Objects.equals(opsCopsGateId, "") && !Objects.equals(opsCopsGateId, null)) { String ccapId = findCcapForSubscriberId(getInetAddress(subscriberId)).getCcapId(); PCMMService pcmmService = pcmmServiceMap.get(ccapId); //is the CCAP socket open? diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/packetcable/packetcable/policy/server/impl/rev140131/PacketcableProviderModule.java b/packetcable-policy-server/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/packetcable/packetcable/policy/server/impl/rev140131/PacketcableProviderModule.java deleted file mode 100644 index 9351656..0000000 --- a/packetcable-policy-server/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/packetcable/packetcable/policy/server/impl/rev140131/PacketcableProviderModule.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.packetcable.packetcable.policy.server.impl.rev140131; - -import org.opendaylight.controller.packetcable.provider.PacketcableProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class PacketcableProviderModule extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.packetcable.packetcable.policy.server.impl.rev140131.AbstractPacketcableProviderModule { - private static final Logger logger = LoggerFactory.getLogger(PacketcableProviderModule.class); - - public PacketcableProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { - super(identifier, dependencyResolver); - } - - public PacketcableProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.packetcable.packetcable.policy.server.impl.rev140131.PacketcableProviderModule oldModule, java.lang.AutoCloseable oldInstance) { - super(identifier, dependencyResolver, oldModule, oldInstance); - } - - @Override - public void customValidation() { - // add custom validation form module attributes here. - } - - @Override - public java.lang.AutoCloseable createInstance() { - logger.info("Creating PacketcableProvider instance"); - final PacketcableProvider provider = new PacketcableProvider(); - getDataBrokerDependency().registerProvider(provider); - return provider; - } - -} diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/packetcable/packetcable/policy/server/impl/rev140131/PacketcableProviderModuleFactory.java b/packetcable-policy-server/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/packetcable/packetcable/policy/server/impl/rev140131/PacketcableProviderModuleFactory.java deleted file mode 100644 index cdd8faa..0000000 --- a/packetcable-policy-server/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/packetcable/packetcable/policy/server/impl/rev140131/PacketcableProviderModuleFactory.java +++ /dev/null @@ -1,13 +0,0 @@ -/* -* Generated file -* -* Generated from: yang module name: packetcable-policy-server-impl yang module local name: packetcable-policy-server-impl -* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator -* Generated at: Tue Apr 21 12:24:46 MDT 2015 -* -* Do not modify this file unless it is present under src/main directory -*/ -package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.packetcable.packetcable.policy.server.impl.rev140131; -public class PacketcableProviderModuleFactory extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.packetcable.packetcable.policy.server.impl.rev140131.AbstractPacketcableProviderModuleFactory { - -} diff --git a/packetcable-policy-server/src/main/resources/org/opendaylight/blueprint/packetcable-policy-server.xml b/packetcable-policy-server/src/main/resources/org/opendaylight/blueprint/packetcable-policy-server.xml new file mode 100644 index 0000000..1547d0d --- /dev/null +++ b/packetcable-policy-server/src/main/resources/org/opendaylight/blueprint/packetcable-policy-server.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/packetcable-policy-server/src/main/yang/packetcable-policy-server.yang b/packetcable-policy-server/src/main/yang/packetcable-policy-server.yang deleted file mode 100644 index c32490a..0000000 --- a/packetcable-policy-server/src/main/yang/packetcable-policy-server.yang +++ /dev/null @@ -1,51 +0,0 @@ -module packetcable-policy-server-impl { - - yang-version 1; - namespace "urn:opendaylight:params:xml:ns:yang:packetcable:packetcable-policy-server:impl"; - prefix "packetcable-policy-server-impl"; - - import config { prefix config; revision-date 2013-04-05; } - import rpc-context { prefix rpcx; revision-date 2013-06-17; } - import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; } - import ietf-inet-types {prefix inet;revision-date 2013-07-15;} - - description - "This module contains the base YANG definitions for - packetcable-policy-server impl implementation."; - - revision "2014-01-31" { - description - "Initial revision."; - } - - // This is the definition of the service implementation as a module identity. - identity packetcable-policy-server-impl { - base config:module-type; - config:java-name-prefix PacketcableProvider; - } - - // Augments the 'configuration' choice node under modules/module. - augment "/config:modules/config:module/config:configuration" { - case packetcable-policy-server-impl { - when "/config:modules/config:module/config:type = 'packetcable-policy-server-impl'"; - - //wires in the data-broker and rpc services - container data-broker { - uses config:service-ref { - refine type { - mandatory true; - config:required-identity mdsal:binding-broker-osgi-registry; - } - } - } - container rpc-registry { - uses config:service-ref { - refine type { - mandatory true; - config:required-identity mdsal:binding-rpc-registry; - } - } - } - } - } -}