Generic ROADM port models and descriptions
Change-Id: I053d61c7a057d6298b7990373448df28b3aaa5a5
diff --git a/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultPortSerializer.java b/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultPortSerializer.java
index 5d5a463..60d09fb 100644
--- a/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultPortSerializer.java
+++ b/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultPortSerializer.java
@@ -15,8 +15,10 @@
*/
package org.onosproject.store.serializers;
+import org.onosproject.net.Annotations;
import org.onosproject.net.DefaultPort;
import org.onosproject.net.Element;
+import org.onosproject.net.Port;
import org.onosproject.net.PortNumber;
import com.esotericsoftware.kryo.Kryo;
@@ -43,15 +45,21 @@
kryo.writeClassAndObject(output, object.element());
kryo.writeObject(output, object.number());
output.writeBoolean(object.isEnabled());
+ kryo.writeObject(output, object.type());
+ output.writeLong(object.portSpeed());
+ kryo.writeClassAndObject(output, object.annotations());
}
@Override
- public DefaultPort read(Kryo kryo, Input input,
- Class<DefaultPort> type) {
+ public DefaultPort read(Kryo kryo, Input input, Class<DefaultPort> aClass) {
Element element = (Element) kryo.readClassAndObject(input);
PortNumber number = kryo.readObject(input, PortNumber.class);
boolean isEnabled = input.readBoolean();
+ Port.Type type = kryo.readObject(input, Port.Type.class);
+ long portSpeed = input.readLong();
+ Annotations annotations = (Annotations) kryo.readClassAndObject(input);
- return new DefaultPort(element, number, isEnabled);
+ return new DefaultPort(element, number, isEnabled, type, portSpeed, annotations);
}
+
}
diff --git a/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java b/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
index 17eb374..a918e2d 100644
--- a/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
+++ b/core/store/serializers/src/main/java/org/onosproject/store/serializers/KryoNamespaces.java
@@ -28,6 +28,7 @@
import org.onlab.packet.IpPrefix;
import org.onlab.packet.MacAddress;
import org.onlab.packet.VlanId;
+import org.onlab.util.Frequency;
import org.onlab.util.KryoNamespace;
import org.onosproject.app.ApplicationState;
import org.onosproject.cluster.ControllerNode;
@@ -41,6 +42,7 @@
import org.onosproject.core.DefaultGroupId;
import org.onosproject.core.Version;
import org.onosproject.mastership.MastershipTerm;
+import org.onosproject.net.Annotations;
import org.onosproject.net.ConnectPoint;
import org.onosproject.net.DefaultAnnotations;
import org.onosproject.net.DefaultDevice;
@@ -55,6 +57,9 @@
import org.onosproject.net.HostLocation;
import org.onosproject.net.Link;
import org.onosproject.net.LinkKey;
+import org.onosproject.net.OchPort;
+import org.onosproject.net.OduCltPort;
+import org.onosproject.net.OmsPort;
import org.onosproject.net.Port;
import org.onosproject.net.PortNumber;
import org.onosproject.net.device.DefaultDeviceDescription;
@@ -348,8 +353,10 @@
AnnotationConstraint.class,
BooleanConstraint.class,
IntentOperation.class,
- FlowRuleExtPayLoad.class
- )
+ FlowRuleExtPayLoad.class,
+ Frequency.class,
+ DefaultAnnotations.class
+ )
.register(new DefaultApplicationIdSerializer(), DefaultApplicationId.class)
.register(new URISerializer(), URI.class)
.register(new NodeIdSerializer(), NodeId.class)
@@ -365,6 +372,14 @@
.register(new DefaultOutboundPacketSerializer(), DefaultOutboundPacket.class)
.register(Versioned.class)
.register(DefaultGroupId.class)
+ .register(Annotations.class)
+ .register(OmsPort.class)
+ .register(OchPort.class)
+ .register(OchPort.SignalType.class)
+ .register(OchPort.GridType.class)
+ .register(OchPort.ChannelSpacing.class)
+ .register(OduCltPort.class)
+ .register(OduCltPort.SignalType.class)
.register(
MplsIntent.class,
MplsPathIntent.class,
@@ -373,7 +388,7 @@
MplsLabel.class,
org.onlab.packet.MplsLabel.class,
org.onlab.packet.MPLS.class
- )
+ )
.build();