Committed by
Gerrit Code Review
Misc device/optical config features:
o devices and optical ports are updated with network configs o refactored AllowedEntity checks in DeviceManager o "basic" -> "optical" for OpticalPort config key o Device and OpticalPort operators can create descriptions Change-Id: I59edc368f3a8ff931954b174d4a898f6b4add5d5
Showing
4 changed files
with
43 additions
and
1 deletions
... | @@ -84,7 +84,7 @@ public class BasicNetworkConfigs { | ... | @@ -84,7 +84,7 @@ public class BasicNetworkConfigs { |
84 | }, | 84 | }, |
85 | new ConfigFactory<ConnectPoint, OpticalPortConfig>(CONNECT_POINT_SUBJECT_FACTORY, | 85 | new ConfigFactory<ConnectPoint, OpticalPortConfig>(CONNECT_POINT_SUBJECT_FACTORY, |
86 | OpticalPortConfig.class, | 86 | OpticalPortConfig.class, |
87 | - "basic") { | 87 | + "optical") { |
88 | @Override | 88 | @Override |
89 | public OpticalPortConfig createConfig() { | 89 | public OpticalPortConfig createConfig() { |
90 | return new OpticalPortConfig(); | 90 | return new OpticalPortConfig(); | ... | ... |
... | @@ -16,6 +16,7 @@ | ... | @@ -16,6 +16,7 @@ |
16 | package org.onosproject.net.device.impl; | 16 | package org.onosproject.net.device.impl; |
17 | 17 | ||
18 | import static org.slf4j.LoggerFactory.getLogger; | 18 | import static org.slf4j.LoggerFactory.getLogger; |
19 | +import static com.google.common.base.Preconditions.checkNotNull; | ||
19 | 20 | ||
20 | import org.onosproject.net.config.ConfigOperator; | 21 | import org.onosproject.net.config.ConfigOperator; |
21 | import org.onosproject.net.config.basics.BasicDeviceConfig; | 22 | import org.onosproject.net.config.basics.BasicDeviceConfig; |
... | @@ -93,4 +94,12 @@ public final class BasicDeviceOperator implements ConfigOperator { | ... | @@ -93,4 +94,12 @@ public final class BasicDeviceOperator implements ConfigOperator { |
93 | DefaultAnnotations newAnnotations = newBuilder.build(); | 94 | DefaultAnnotations newAnnotations = newBuilder.build(); |
94 | return DefaultAnnotations.union(an, newAnnotations); | 95 | return DefaultAnnotations.union(an, newAnnotations); |
95 | } | 96 | } |
97 | + | ||
98 | + public static DeviceDescription descriptionOf(Device device) { | ||
99 | + checkNotNull(device, "Must supply non-null Device"); | ||
100 | + return new DefaultDeviceDescription(device.id().uri(), device.type(), | ||
101 | + device.manufacturer(), device.hwVersion(), | ||
102 | + device.swVersion(), device.serialNumber(), | ||
103 | + device.chassisId(), (SparseAnnotations) device.annotations()); | ||
104 | + } | ||
96 | } | 105 | } | ... | ... |
This diff is collapsed. Click to expand it.
... | @@ -16,11 +16,16 @@ | ... | @@ -16,11 +16,16 @@ |
16 | package org.onosproject.net.device.impl; | 16 | package org.onosproject.net.device.impl; |
17 | 17 | ||
18 | import static org.slf4j.LoggerFactory.getLogger; | 18 | import static org.slf4j.LoggerFactory.getLogger; |
19 | +import static com.google.common.base.Preconditions.checkNotNull; | ||
19 | 20 | ||
20 | import org.onosproject.net.config.ConfigOperator; | 21 | import org.onosproject.net.config.ConfigOperator; |
21 | import org.onosproject.net.config.basics.OpticalPortConfig; | 22 | import org.onosproject.net.config.basics.OpticalPortConfig; |
22 | import org.onosproject.net.AnnotationKeys; | 23 | import org.onosproject.net.AnnotationKeys; |
23 | import org.onosproject.net.DefaultAnnotations; | 24 | import org.onosproject.net.DefaultAnnotations; |
25 | +import org.onosproject.net.OchPort; | ||
26 | +import org.onosproject.net.OduCltPort; | ||
27 | +import org.onosproject.net.OmsPort; | ||
28 | +import org.onosproject.net.Port; | ||
24 | import org.onosproject.net.PortNumber; | 29 | import org.onosproject.net.PortNumber; |
25 | import org.onosproject.net.SparseAnnotations; | 30 | import org.onosproject.net.SparseAnnotations; |
26 | import org.onosproject.net.device.DefaultPortDescription; | 31 | import org.onosproject.net.device.DefaultPortDescription; |
... | @@ -137,4 +142,32 @@ public final class OpticalPortOperator implements ConfigOperator { | ... | @@ -137,4 +142,32 @@ public final class OpticalPortOperator implements ConfigOperator { |
137 | } | 142 | } |
138 | return DefaultAnnotations.union(an, b.build()); | 143 | return DefaultAnnotations.union(an, b.build()); |
139 | } | 144 | } |
145 | + | ||
146 | + /** | ||
147 | + * Returns a description built from an existing port. | ||
148 | + * | ||
149 | + * @param port the device port | ||
150 | + * @return a PortDescription based on the port | ||
151 | + */ | ||
152 | + public static PortDescription descriptionOf(Port port) { | ||
153 | + checkNotNull(port, "Must supply non-null Port"); | ||
154 | + final PortNumber ptn = port.number(); | ||
155 | + final boolean isup = port.isEnabled(); | ||
156 | + final SparseAnnotations an = (SparseAnnotations) port.annotations(); | ||
157 | + switch (port.type()) { | ||
158 | + case OMS: | ||
159 | + OmsPort oms = (OmsPort) port; | ||
160 | + return new OmsPortDescription(ptn, isup, oms.minFrequency(), | ||
161 | + oms.maxFrequency(), oms.grid(), an); | ||
162 | + case OCH: | ||
163 | + OchPort och = (OchPort) port; | ||
164 | + return new OchPortDescription(ptn, isup, och.signalType(), | ||
165 | + och.isTunable(), och.lambda(), an); | ||
166 | + case ODUCLT: | ||
167 | + OduCltPort odu = (OduCltPort) port; | ||
168 | + return new OduCltPortDescription(ptn, isup, odu.signalType(), an); | ||
169 | + default: | ||
170 | + return new DefaultPortDescription(ptn, isup, port.type(), port.portSpeed(), an); | ||
171 | + } | ||
172 | + } | ||
140 | } | 173 | } | ... | ... |
-
Please register or login to post a comment