Add configuration for default vlan
Change-Id: I183def6d1de3d10b2f53895f7fb7723df315379f
diff --git a/apps/olt/src/main/java/org/onosproject/olt/AccessDeviceConfig.java b/apps/olt/src/main/java/org/onosproject/olt/AccessDeviceConfig.java
index 90ed740..07b73c8 100644
--- a/apps/olt/src/main/java/org/onosproject/olt/AccessDeviceConfig.java
+++ b/apps/olt/src/main/java/org/onosproject/olt/AccessDeviceConfig.java
@@ -16,11 +16,14 @@
package org.onosproject.olt;
+import com.fasterxml.jackson.databind.JsonNode;
import org.onlab.packet.VlanId;
import org.onosproject.net.DeviceId;
import org.onosproject.net.PortNumber;
import org.onosproject.net.config.Config;
+import java.util.Optional;
+
/**
* Config object for access device data.
*/
@@ -28,6 +31,7 @@
private static final String UPLINK = "uplink";
private static final String VLAN = "vlan";
+ private static final String DEFAULT_VLAN = "defaultVlan";
/**
* Gets the access device configuration for this device.
@@ -37,7 +41,15 @@
public AccessDeviceData getOlt() {
PortNumber uplink = PortNumber.portNumber(node.path(UPLINK).asText());
VlanId vlan = VlanId.vlanId(Short.parseShort(node.path(VLAN).asText()));
+ JsonNode defaultVlanNode = node.path(DEFAULT_VLAN);
- return new AccessDeviceData(subject(), uplink, vlan);
+ Optional<VlanId> defaultVlan;
+ if (defaultVlanNode.isMissingNode()) {
+ defaultVlan = Optional.empty();
+ } else {
+ defaultVlan = Optional.of(VlanId.vlanId(Short.parseShort(defaultVlanNode.asText())));
+ }
+
+ return new AccessDeviceData(subject(), uplink, vlan, defaultVlan);
}
}