Avoid double wrap of Bandwidth class

Change-Id: I6bb95beafd55364499df64429c0788153a0b1624
diff --git a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
index fbce964..c811ac1 100644
--- a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
@@ -39,7 +39,6 @@
 import org.onosproject.net.intent.constraint.LambdaConstraint;
 import org.onosproject.net.intent.constraint.LinkTypeConstraint;
 import org.onosproject.net.intent.constraint.PartialFailureConstraint;
-import org.onosproject.net.resource.link.BandwidthResource;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -365,7 +364,7 @@
         // Check for a bandwidth specification
         if (!isNullOrEmpty(bandwidthString)) {
             final Bandwidth bandwidth = Bandwidth.bps(Double.parseDouble(bandwidthString));
-            constraints.add(new BandwidthConstraint(new BandwidthResource(bandwidth)));
+            constraints.add(new BandwidthConstraint(bandwidth));
         }
 
         // Check for a lambda specification
diff --git a/core/api/src/main/java/org/onosproject/net/intent/constraint/BandwidthConstraint.java b/core/api/src/main/java/org/onosproject/net/intent/constraint/BandwidthConstraint.java
index 444feee..1b4a260 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/constraint/BandwidthConstraint.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/constraint/BandwidthConstraint.java
@@ -17,9 +17,9 @@
 
 import com.google.common.annotations.Beta;
 
+import org.onlab.util.Bandwidth;
 import org.onlab.util.DataRateUnit;
 import org.onosproject.net.Link;
-import org.onosproject.net.resource.link.BandwidthResource;
 import org.onosproject.net.resource.link.BandwidthResourceRequest;
 import org.onosproject.net.resource.link.LinkResourceService;
 import org.onosproject.net.resource.ResourceRequest;
@@ -36,14 +36,14 @@
 @Beta
 public final class BandwidthConstraint extends BooleanConstraint {
 
-    private final BandwidthResource bandwidth;
+    private final Bandwidth bandwidth;
 
     /**
      * Creates a new bandwidth constraint.
      *
      * @param bandwidth required bandwidth
      */
-    public BandwidthConstraint(BandwidthResource bandwidth) {
+    public BandwidthConstraint(Bandwidth bandwidth) {
         this.bandwidth = checkNotNull(bandwidth, "Bandwidth cannot be null");
     }
 
@@ -55,7 +55,7 @@
      * @return  {@link BandwidthConstraint} instance with given bandwidth requirement
      */
     public static BandwidthConstraint of(double v, DataRateUnit unit) {
-        return new BandwidthConstraint(BandwidthResource.of(v, unit));
+        return new BandwidthConstraint(Bandwidth.of(v, unit));
     }
 
     // Constructor for serialization
@@ -68,7 +68,7 @@
         for (ResourceRequest request : resourceService.getAvailableResources(link)) {
             if (request.type() == ResourceType.BANDWIDTH) {
                 BandwidthResourceRequest brr = (BandwidthResourceRequest) request;
-                if (brr.bandwidth().toDouble() >= bandwidth.toDouble()) {
+                if (brr.bandwidth().toDouble() >= bandwidth.bps()) {
                     return true;
                 }
             }
@@ -81,7 +81,7 @@
      *
      * @return required bandwidth
      */
-    public BandwidthResource bandwidth() {
+    public Bandwidth bandwidth() {
         return bandwidth;
     }
 
diff --git a/core/api/src/main/java/org/onosproject/net/resource/link/DefaultLinkResourceRequest.java b/core/api/src/main/java/org/onosproject/net/resource/link/DefaultLinkResourceRequest.java
index b57465f..583570f 100644
--- a/core/api/src/main/java/org/onosproject/net/resource/link/DefaultLinkResourceRequest.java
+++ b/core/api/src/main/java/org/onosproject/net/resource/link/DefaultLinkResourceRequest.java
@@ -201,7 +201,7 @@
                 return addLambdaRequest();
             } else if (constraint instanceof BandwidthConstraint) {
                 BandwidthConstraint bw = (BandwidthConstraint) constraint;
-                return addBandwidthRequest(bw.bandwidth().toDouble());
+                return addBandwidthRequest(bw.bandwidth().bps());
             }
             return this;
         }
diff --git a/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java b/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java
index 743fc252..4f86add 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/constraint/ConstraintObjectsTest.java
@@ -18,7 +18,6 @@
 import org.junit.Test;
 import org.onlab.util.Bandwidth;
 import org.onosproject.net.Link;
-import org.onosproject.net.resource.link.BandwidthResource;
 import org.onosproject.net.resource.link.LambdaResource;
 
 import com.google.common.testing.EqualsTester;
@@ -39,21 +38,18 @@
     private final Bandwidth sameAsBandwidth1 = Bandwidth.bps(100.0);
     private final Bandwidth bandwidth2 = Bandwidth.bps(200.0);
 
-    final BandwidthConstraint bandwidthConstraint1 =
-            new BandwidthConstraint(new BandwidthResource(bandwidth1));
-    final BandwidthConstraint bandwidthConstraintSameAs1 =
-            new BandwidthConstraint(new BandwidthResource(sameAsBandwidth1));
-    final BandwidthConstraint bandwidthConstraint2 =
-            new BandwidthConstraint(new BandwidthResource(bandwidth2));
+    final BandwidthConstraint bandwidthConstraint1 = new BandwidthConstraint(bandwidth1);
+    final BandwidthConstraint bandwidthConstraintSameAs1 = new BandwidthConstraint(sameAsBandwidth1);
+    final BandwidthConstraint bandwidthConstraint2 = new BandwidthConstraint(bandwidth2);
 
     /**
      * Checks that the objects were created properly.
      */
     @Test
     public void testBandwidthConstraintCreation() {
-        assertThat(bandwidthConstraint1.bandwidth().toDouble(), is(equalTo(100.0)));
-        assertThat(bandwidthConstraintSameAs1.bandwidth().toDouble(), is(equalTo(100.0)));
-        assertThat(bandwidthConstraint2.bandwidth().toDouble(), is(equalTo(200.0)));
+        assertThat(bandwidthConstraint1.bandwidth().bps(), is(equalTo(100.0)));
+        assertThat(bandwidthConstraintSameAs1.bandwidth().bps(), is(equalTo(100.0)));
+        assertThat(bandwidthConstraint2.bandwidth().bps(), is(equalTo(200.0)));
     }
 
     /**
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java b/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
index 5746003..91a7576 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
@@ -32,7 +32,6 @@
 import org.onosproject.net.intent.constraint.LinkTypeConstraint;
 import org.onosproject.net.intent.constraint.ObstacleConstraint;
 import org.onosproject.net.intent.constraint.WaypointConstraint;
-import org.onosproject.net.resource.link.BandwidthResource;
 import org.onosproject.net.resource.link.LambdaResource;
 
 import com.fasterxml.jackson.databind.JsonNode;
@@ -185,7 +184,7 @@
                 ConstraintCodec.BANDWIDTH + ConstraintCodec.MISSING_MEMBER_MESSAGE)
                 .asDouble();
 
-        return new BandwidthConstraint(new BandwidthResource(Bandwidth.bps(bandwidth)));
+        return new BandwidthConstraint(Bandwidth.bps(bandwidth));
     }
 
     /**
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java b/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java
index 61f4dbf..bd6ab7d 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java
@@ -128,7 +128,7 @@
         final BandwidthConstraint bandwidthConstraint =
                 (BandwidthConstraint) constraint;
         return context.mapper().createObjectNode()
-                .put("bandwidth", bandwidthConstraint.bandwidth().toDouble());
+                .put("bandwidth", bandwidthConstraint.bandwidth().bps());
     }
 
     /**
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
index 2a47d11..48c4817 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
@@ -134,7 +134,7 @@
         assertThat(constraint, instanceOf(BandwidthConstraint.class));
 
         BandwidthConstraint bandwidthConstraint = (BandwidthConstraint) constraint;
-        assertThat(bandwidthConstraint.bandwidth().toDouble(), is(345.678D));
+        assertThat(bandwidthConstraint.bandwidth().bps(), is(345.678D));
     }
 
     /**
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java b/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java
index 2f93396..0c2f097 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/IntentCodecTest.java
@@ -63,7 +63,6 @@
 import org.onosproject.net.intent.constraint.LatencyConstraint;
 import org.onosproject.net.intent.constraint.ObstacleConstraint;
 import org.onosproject.net.intent.constraint.WaypointConstraint;
-import org.onosproject.net.resource.link.BandwidthResource;
 import org.onosproject.net.resource.link.LambdaResource;
 
 import com.fasterxml.jackson.databind.JsonNode;
@@ -181,7 +180,7 @@
 
         final List<Constraint> constraints =
                 ImmutableList.of(
-                        new BandwidthConstraint(new BandwidthResource(Bandwidth.bps(1.0))),
+                        new BandwidthConstraint(Bandwidth.bps(1.0)),
                         new LambdaConstraint(LambdaResource.valueOf(3)),
                         new AnnotationConstraint("key", 33.0),
                         new AsymmetricPathConstraint(),
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java b/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java
index e485a5f..3adfcff 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/IntentJsonMatcher.java
@@ -141,7 +141,7 @@
         final JsonNode bandwidthJson = constraintJson.get("bandwidth");
         return bandwidthJson != null
                 && constraintJson.get("bandwidth").asDouble()
-                == bandwidthConstraint.bandwidth().toDouble();
+                == bandwidthConstraint.bandwidth().bps();
     }
 
     /**
diff --git a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java
index e57d9db..8f12a1c 100644
--- a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java
+++ b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompilerTest.java
@@ -34,7 +34,6 @@
 import org.onosproject.net.intent.constraint.BandwidthConstraint;
 import org.onosproject.net.intent.constraint.LambdaConstraint;
 import org.onosproject.net.intent.impl.PathNotFoundException;
-import org.onosproject.net.resource.link.BandwidthResource;
 import org.onosproject.net.resource.link.LambdaResource;
 import org.onosproject.net.resource.link.LinkResourceService;
 
@@ -229,7 +228,7 @@
         final LinkResourceService resourceService =
                 IntentTestsMocks.MockResourceService.makeBandwidthResourceService(1000.0);
         final List<Constraint> constraints =
-                Collections.singletonList(new BandwidthConstraint(new BandwidthResource(Bandwidth.bps(100.0))));
+                Collections.singletonList(new BandwidthConstraint(Bandwidth.bps(100.0)));
 
         final PointToPointIntent intent = makeIntent("s1", "s3", constraints);
 
@@ -251,7 +250,7 @@
         final LinkResourceService resourceService =
                 IntentTestsMocks.MockResourceService.makeBandwidthResourceService(10.0);
         final List<Constraint> constraints =
-                Collections.singletonList(new BandwidthConstraint(new BandwidthResource(Bandwidth.bps(100.0))));
+                Collections.singletonList(new BandwidthConstraint(Bandwidth.bps(100.0)));
 
         try {
             final PointToPointIntent intent = makeIntent("s1", "s3", constraints);
diff --git a/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java b/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java
index 11a62d4..0961119 100644
--- a/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java
+++ b/core/store/serializers/src/test/java/org/onosproject/store/serializers/KryoSerializerTest.java
@@ -400,7 +400,7 @@
 
     @Test
     public void testBandwidthConstraint() {
-        testSerializable(new BandwidthConstraint(new BandwidthResource(Bandwidth.bps(1000.0))));
+        testSerializable(new BandwidthConstraint(Bandwidth.bps(1000.0)));
     }
 
     @Test