Aggregate definition of annotation key for latency into a single file
Change-Id: Id0b9089ec60e6f144ff42c40d0e1b19b280c4271
Showing
3 changed files
with
37 additions
and
7 deletions
| 1 | +/* | ||
| 2 | + * Copyright 2014 Open Networking Laboratory | ||
| 3 | + * | ||
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 5 | + * you may not use this file except in compliance with the License. | ||
| 6 | + * You may obtain a copy of the License at | ||
| 7 | + * | ||
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 9 | + * | ||
| 10 | + * Unless required by applicable law or agreed to in writing, software | ||
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 13 | + * See the License for the specific language governing permissions and | ||
| 14 | + * limitations under the License. | ||
| 15 | + */ | ||
| 16 | +package org.onlab.onos.net; | ||
| 17 | + | ||
| 18 | +/** | ||
| 19 | + * Collection of keys for annotation. | ||
| 20 | + * Definitions of annotation keys needs to be here to avoid scattering. | ||
| 21 | + */ | ||
| 22 | +public final class AnnotationKeys { | ||
| 23 | + | ||
| 24 | + // Prohibit instantiation | ||
| 25 | + private AnnotationKeys() {} | ||
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * Annotation key for latency. | ||
| 29 | + */ | ||
| 30 | + public static final String LATENCY = "latency"; | ||
| 31 | +} |
| ... | @@ -25,14 +25,13 @@ import java.time.Duration; | ... | @@ -25,14 +25,13 @@ import java.time.Duration; |
| 25 | import java.time.temporal.ChronoUnit; | 25 | import java.time.temporal.ChronoUnit; |
| 26 | import java.util.Objects; | 26 | import java.util.Objects; |
| 27 | 27 | ||
| 28 | +import static org.onlab.onos.net.AnnotationKeys.LATENCY; | ||
| 29 | + | ||
| 28 | /** | 30 | /** |
| 29 | * Constraint that evaluates the latency through a path. | 31 | * Constraint that evaluates the latency through a path. |
| 30 | */ | 32 | */ |
| 31 | public class LatencyConstraint implements Constraint { | 33 | public class LatencyConstraint implements Constraint { |
| 32 | 34 | ||
| 33 | - // TODO: formalize the key for latency all over the codes. | ||
| 34 | - private static final String LATENCY_KEY = "latency"; | ||
| 35 | - | ||
| 36 | private final Duration latency; | 35 | private final Duration latency; |
| 37 | 36 | ||
| 38 | /** | 37 | /** |
| ... | @@ -49,7 +48,7 @@ public class LatencyConstraint implements Constraint { | ... | @@ -49,7 +48,7 @@ public class LatencyConstraint implements Constraint { |
| 49 | 48 | ||
| 50 | @Override | 49 | @Override |
| 51 | public double cost(Link link, LinkResourceService resourceService) { | 50 | public double cost(Link link, LinkResourceService resourceService) { |
| 52 | - String value = link.annotations().value(LATENCY_KEY); | 51 | + String value = link.annotations().value(LATENCY); |
| 53 | 52 | ||
| 54 | double latencyInMicroSec; | 53 | double latencyInMicroSec; |
| 55 | try { | 54 | try { | ... | ... |
| ... | @@ -37,6 +37,7 @@ import static org.easymock.EasyMock.createMock; | ... | @@ -37,6 +37,7 @@ import static org.easymock.EasyMock.createMock; |
| 37 | import static org.hamcrest.Matchers.closeTo; | 37 | import static org.hamcrest.Matchers.closeTo; |
| 38 | import static org.hamcrest.Matchers.is; | 38 | import static org.hamcrest.Matchers.is; |
| 39 | import static org.junit.Assert.assertThat; | 39 | import static org.junit.Assert.assertThat; |
| 40 | +import static org.onlab.onos.net.AnnotationKeys.LATENCY; | ||
| 40 | import static org.onlab.onos.net.DefaultLinkTest.cp; | 41 | import static org.onlab.onos.net.DefaultLinkTest.cp; |
| 41 | import static org.onlab.onos.net.DeviceId.deviceId; | 42 | import static org.onlab.onos.net.DeviceId.deviceId; |
| 42 | import static org.onlab.onos.net.Link.Type.DIRECT; | 43 | import static org.onlab.onos.net.Link.Type.DIRECT; |
| ... | @@ -51,7 +52,6 @@ public class LatencyConstraintTest { | ... | @@ -51,7 +52,6 @@ public class LatencyConstraintTest { |
| 51 | private static final PortNumber PN3 = PortNumber.portNumber(3); | 52 | private static final PortNumber PN3 = PortNumber.portNumber(3); |
| 52 | private static final PortNumber PN4 = PortNumber.portNumber(4); | 53 | private static final PortNumber PN4 = PortNumber.portNumber(4); |
| 53 | private static final ProviderId PROVIDER_ID = new ProviderId("of", "foo"); | 54 | private static final ProviderId PROVIDER_ID = new ProviderId("of", "foo"); |
| 54 | - private static final String LATENCY_KEY = "latency"; | ||
| 55 | private static final String LATENCY1 = "3.0"; | 55 | private static final String LATENCY1 = "3.0"; |
| 56 | private static final String LATENCY2 = "4.0"; | 56 | private static final String LATENCY2 = "4.0"; |
| 57 | 57 | ||
| ... | @@ -66,8 +66,8 @@ public class LatencyConstraintTest { | ... | @@ -66,8 +66,8 @@ public class LatencyConstraintTest { |
| 66 | public void setUp() { | 66 | public void setUp() { |
| 67 | linkResourceService = createMock(LinkResourceService.class); | 67 | linkResourceService = createMock(LinkResourceService.class); |
| 68 | 68 | ||
| 69 | - Annotations annotations1 = DefaultAnnotations.builder().set(LATENCY_KEY, LATENCY1).build(); | 69 | + Annotations annotations1 = DefaultAnnotations.builder().set(LATENCY, LATENCY1).build(); |
| 70 | - Annotations annotations2 = DefaultAnnotations.builder().set(LATENCY_KEY, LATENCY2).build(); | 70 | + Annotations annotations2 = DefaultAnnotations.builder().set(LATENCY, LATENCY2).build(); |
| 71 | 71 | ||
| 72 | link1 = new DefaultLink(PROVIDER_ID, cp(DID1, PN1), cp(DID2, PN2), DIRECT, annotations1); | 72 | link1 = new DefaultLink(PROVIDER_ID, cp(DID1, PN1), cp(DID2, PN2), DIRECT, annotations1); |
| 73 | link2 = new DefaultLink(PROVIDER_ID, cp(DID2, PN3), cp(DID3, PN4), DIRECT, annotations2); | 73 | link2 = new DefaultLink(PROVIDER_ID, cp(DID2, PN3), cp(DID3, PN4), DIRECT, annotations2); | ... | ... |
-
Please register or login to post a comment