Added response data to operational datastore, refactored data validation
[packetcable.git] / packetcable-policy-server / src / main / java / org / opendaylight / controller / packetcable / provider / PCMMGateReqBuilder.java
index 79523aba7c62f38f578ef80399bd67dbfdc7bdfb..83a0380d707ece7b4fe17ac65f28500403e1d680 100644 (file)
@@ -1,37 +1,47 @@
-/**
- * Build PCMM gate requests from API QoS Gate objects
+/*
+ * Copyright (c) 2015 CableLabs and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * 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.controller.packetcable.provider;
 
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.ServiceFlowDirection;
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.TosByte;
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.ccap.attributes.AmId;
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.pcmm.qos.classifier.Classifier;
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.pcmm.qos.ext.classifier.ExtClassifier;
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.pcmm.qos.gate.spec.GateSpec;
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.pcmm.qos.ipv6.classifier.Ipv6Classifier;
-import org.opendaylight.yang.gen.v1.urn.packetcable.rev150327.pcmm.qos.traffic.profile.TrafficProfile;
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.ServiceFlowDirection;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.TosByte;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.ccap.attributes.AmId;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.pcmm.qos.classifier.Classifier;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.pcmm.qos.ext.classifier.ExtClassifier;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.pcmm.qos.gate.spec.GateSpec;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.pcmm.qos.ipv6.classifier.Ipv6Classifier;
+import org.opendaylight.yang.gen.v1.urn.packetcable.rev151026.pcmm.qos.traffic.profile.TrafficProfile;
 import org.pcmm.gates.IClassifier;
 import org.pcmm.gates.IClassifier.Protocol;
 import org.pcmm.gates.IExtendedClassifier.ActivationState;
 import org.pcmm.gates.IGateSpec.Direction;
 import org.pcmm.gates.IIPv6Classifier.FlowLabel;
 import org.pcmm.gates.ITrafficProfile;
-import org.pcmm.gates.impl.*;
+import org.pcmm.gates.impl.AMID;
+import org.pcmm.gates.impl.DOCSISServiceClassNameTrafficProfile;
+import org.pcmm.gates.impl.GateID;
+import org.pcmm.gates.impl.PCMMError;
+import org.pcmm.gates.impl.PCMMGateReq;
+import org.pcmm.gates.impl.SubscriberID;
+import org.pcmm.gates.impl.TransactionID;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.net.Inet4Address;
-import java.net.Inet6Address;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
 /**
- * PacketCable data processor
+ * Build PCMM gate requests from API QoS Gate objects
  */
 public class PCMMGateReqBuilder {
 
-    private Logger logger = LoggerFactory.getLogger(PCMMGateReqBuilder.class);
+    private final Logger logger = LoggerFactory.getLogger(PCMMGateReqBuilder.class);
 
     private GateID gateID = null;
     private AMID amid = null;
@@ -42,19 +52,19 @@ public class PCMMGateReqBuilder {
     private IClassifier classifier = null;
     private PCMMError error = null;
 
-    public PCMMGateReq getGateReq() {
+    public PCMMGateReq build() {
         return new PCMMGateReq(amid, subscriberID, transactionID, gateSpec, trafficProfile, classifier, gateID, error);
     }
 
-    public void build(final AmId qosAmId) {
+    public void setAmId(final AmId qosAmId) {
         amid = new AMID(qosAmId.getAmType().shortValue(), qosAmId.getAmTag().shortValue());
     }
 
-    public void build(final InetAddress qosSubId) {
+    public void setSubscriberId(final InetAddress qosSubId) {
         subscriberID = new SubscriberID(qosSubId);
     }
 
-    public void build(final GateSpec qosGateSpec, final ServiceFlowDirection scnDirection) {
+    public void setGateSpec(final GateSpec qosGateSpec, final ServiceFlowDirection scnDirection) {
 
         final ServiceFlowDirection qosDir;
         if (scnDirection != null) {
@@ -96,7 +106,7 @@ public class PCMMGateReqBuilder {
         gateSpec = new org.pcmm.gates.impl.GateSpec(gateDir, dscptos, gateTosMask);
     }
 
-    public void build(final TrafficProfile qosTrafficProfile) {
+    public void setTrafficProfile(final TrafficProfile qosTrafficProfile) {
         if (qosTrafficProfile.getServiceClassName() != null) {
             trafficProfile =
                     new DOCSISServiceClassNameTrafficProfile(qosTrafficProfile.getServiceClassName().getValue());
@@ -112,7 +122,7 @@ public class PCMMGateReqBuilder {
         return null;
     }
 
-    public void build(final Classifier qosClassifier) {
+    public void setClassifier(final Classifier qosClassifier) {
         // TODO - try and make these variables immutable
         Protocol protocol = null;
         byte tosOverwrite = 0;
@@ -160,7 +170,7 @@ public class PCMMGateReqBuilder {
                         dstPort, priority);
     }
 
-    public void build(final ExtClassifier qosExtClassifier) {
+    public void setExtClassifier(final ExtClassifier qosExtClassifier) {
         // Extended classifier
         final byte priority = (byte) 64;
         final ActivationState activationState = ActivationState.ACTIVE;
@@ -247,7 +257,7 @@ public class PCMMGateReqBuilder {
         return null;
     }
 
-    public void build(final Ipv6Classifier qosIpv6Classifier) {
+    public void setIpv6Classifier(final Ipv6Classifier qosIpv6Classifier) {
         // Next Header
         final short nextHdr;
         if (qosIpv6Classifier.getNextHdr() != null) {