Merge remote-tracking branch 'origin/master'
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java
index 44d6875..fc08214 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/BandwidthConstraint.java
@@ -43,6 +43,11 @@
this.bandwidth = checkNotNull(bandwidth, "Bandwidth cannot be null");
}
+ // Constructor for serialization
+ private BandwidthConstraint() {
+ this.bandwidth = null;
+ }
+
@Override
public boolean isValid(Link link, LinkResourceService resourceService) {
for (ResourceRequest request : resourceService.getAvailableResources(link)) {
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java
index d1d33d6..ab88c92 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LambdaConstraint.java
@@ -41,6 +41,11 @@
this.lambda = lambda;
}
+ // Constructor for serialization
+ private LambdaConstraint() {
+ this.lambda = null;
+ }
+
@Override
public boolean isValid(Link link, LinkResourceService resourceService) {
for (ResourceRequest request : resourceService.getAvailableResources(link)) {
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java
index 5640591..7d44b4d 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/LinkTypeConstraint.java
@@ -49,6 +49,12 @@
this.isInclusive = inclusive;
}
+ // Constructor for serialization
+ private LinkTypeConstraint() {
+ this.types = null;
+ this.isInclusive = false;
+ }
+
@Override
public boolean isValid(Link link, LinkResourceService resourceService) {
boolean contains = types.contains(link.type());
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/constraint/package-info.java b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/package-info.java
new file mode 100644
index 0000000..762d6d1
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/constraint/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Definitions of constraints used to refine intent specifications.
+ */
+package org.onlab.onos.net.intent.constraint;
diff --git a/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java b/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java
index 9dddb86..fcb3cd8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java
+++ b/core/api/src/main/java/org/onlab/onos/net/resource/Bandwidth.java
@@ -33,6 +33,11 @@
this.bandwidth = bandwidth;
}
+ // Constructor for serialization
+ private Bandwidth() {
+ this.bandwidth = 0;
+ }
+
/**
* Creates a new instance with given bandwidth.
*
diff --git a/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java b/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java
index e09d915..d179d64 100644
--- a/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java
+++ b/core/api/src/main/java/org/onlab/onos/net/resource/Lambda.java
@@ -33,6 +33,11 @@
this.lambda = lambda;
}
+ // Constructor for serialization
+ private Lambda() {
+ this.lambda = 0;
+ }
+
/**
* Creates a new instance with given lambda.
*
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoNamespaces.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoNamespaces.java
index 2a4c10c..80db22e 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoNamespaces.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoNamespaces.java
@@ -75,9 +75,15 @@
import org.onlab.onos.net.intent.OpticalPathIntent;
import org.onlab.onos.net.intent.PathIntent;
import org.onlab.onos.net.intent.PointToPointIntent;
+import org.onlab.onos.net.intent.constraint.BandwidthConstraint;
+import org.onlab.onos.net.intent.constraint.BooleanConstraint;
+import org.onlab.onos.net.intent.constraint.LambdaConstraint;
+import org.onlab.onos.net.intent.constraint.LinkTypeConstraint;
import org.onlab.onos.net.link.DefaultLinkDescription;
import org.onlab.onos.net.packet.DefaultOutboundPacket;
import org.onlab.onos.net.provider.ProviderId;
+import org.onlab.onos.net.resource.Bandwidth;
+import org.onlab.onos.net.resource.Lambda;
import org.onlab.onos.net.resource.LinkResourceRequest;
import org.onlab.onos.store.Timestamp;
import org.onlab.packet.ChassisId;
@@ -188,7 +194,13 @@
LinkCollectionIntent.class,
OpticalConnectivityIntent.class,
OpticalPathIntent.class,
- LinkResourceRequest.class
+ LinkResourceRequest.class,
+ Lambda.class,
+ Bandwidth.class,
+ LambdaConstraint.class,
+ BandwidthConstraint.class,
+ LinkTypeConstraint.class,
+ BooleanConstraint.class
)
.register(DefaultApplicationId.class, new DefaultApplicationIdSerializer())
.register(URI.class, new URISerializer())