Committed by
Gerrit Code Review
ONOS-4075 - Distributed virtual network store implementation,
and virtual network manager Junit tests. Change-Id: Ic1f82822c894e3c394aa95df1e76ae59fe218120
Showing
13 changed files
with
418 additions
and
15 deletions
... | @@ -64,7 +64,7 @@ public class DistributedSetTest { | ... | @@ -64,7 +64,7 @@ public class DistributedSetTest { |
64 | public void basicTests() { | 64 | public void basicTests() { |
65 | set1.add("item1"); | 65 | set1.add("item1"); |
66 | assertEquals("The set name should match.", SETNAME, set1.name()); | 66 | assertEquals("The set name should match.", SETNAME, set1.name()); |
67 | - assertEquals("The set name should match.", DistributedPrimitive.Type.SET, set1.primitiveType()); | 67 | + assertEquals("The set primitive type should match.", DistributedPrimitive.Type.SET, set1.primitiveType()); |
68 | 68 | ||
69 | set1.add("item2"); | 69 | set1.add("item2"); |
70 | set1.add("item3"); | 70 | set1.add("item3"); | ... | ... |
... | @@ -27,7 +27,7 @@ import static com.google.common.base.MoreObjects.*; | ... | @@ -27,7 +27,7 @@ import static com.google.common.base.MoreObjects.*; |
27 | /** | 27 | /** |
28 | * Default representation of a virtual device. | 28 | * Default representation of a virtual device. |
29 | */ | 29 | */ |
30 | -public class DefaultVirtualDevice extends DefaultDevice implements VirtualDevice { | 30 | +public final class DefaultVirtualDevice extends DefaultDevice implements VirtualDevice { |
31 | 31 | ||
32 | private static final String VIRTUAL = "virtual"; | 32 | private static final String VIRTUAL = "virtual"; |
33 | private static final ProviderId PID = new ProviderId(VIRTUAL, VIRTUAL); | 33 | private static final ProviderId PID = new ProviderId(VIRTUAL, VIRTUAL); |
... | @@ -53,7 +53,7 @@ public class DefaultVirtualDevice extends DefaultDevice implements VirtualDevice | ... | @@ -53,7 +53,7 @@ public class DefaultVirtualDevice extends DefaultDevice implements VirtualDevice |
53 | 53 | ||
54 | @Override | 54 | @Override |
55 | public int hashCode() { | 55 | public int hashCode() { |
56 | - return 31 * super.hashCode() + networkId.hashCode(); | 56 | + return Objects.hash(networkId); |
57 | } | 57 | } |
58 | 58 | ||
59 | @Override | 59 | @Override | ... | ... |
incubator/api/src/main/java/org/onosproject/incubator/net/virtual/DefaultVirtualLink.java
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016 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 | + | ||
17 | +package org.onosproject.incubator.net.virtual; | ||
18 | + | ||
19 | +import org.onosproject.incubator.net.tunnel.TunnelId; | ||
20 | +import org.onosproject.net.ConnectPoint; | ||
21 | +import org.onosproject.net.DefaultAnnotations; | ||
22 | +import org.onosproject.net.DefaultLink; | ||
23 | +import org.onosproject.net.provider.ProviderId; | ||
24 | + | ||
25 | +import java.util.Objects; | ||
26 | + | ||
27 | +import static com.google.common.base.MoreObjects.toStringHelper; | ||
28 | + | ||
29 | +/** | ||
30 | + * Default representation of a virtual link. | ||
31 | + */ | ||
32 | +public final class DefaultVirtualLink extends DefaultLink implements VirtualLink { | ||
33 | + | ||
34 | + private static final String VIRTUAL = "virtual"; | ||
35 | + private static final ProviderId PID = new ProviderId(VIRTUAL, VIRTUAL); | ||
36 | + | ||
37 | + private final NetworkId networkId; | ||
38 | + private final TunnelId tunnelId; | ||
39 | + | ||
40 | + /** | ||
41 | + * Constructor for a default virtual link. | ||
42 | + * | ||
43 | + * @param networkId network identifier | ||
44 | + * @param src source connection point | ||
45 | + * @param dst destination connection point | ||
46 | + * @param tunnelId tunnel identifier | ||
47 | + */ | ||
48 | + public DefaultVirtualLink(NetworkId networkId, ConnectPoint src, ConnectPoint dst, TunnelId tunnelId) { | ||
49 | + super(PID, src, dst, Type.VIRTUAL, DefaultAnnotations.builder().build()); | ||
50 | + this.networkId = networkId; | ||
51 | + this.tunnelId = tunnelId; | ||
52 | + } | ||
53 | + | ||
54 | + @Override | ||
55 | + public NetworkId networkId() { | ||
56 | + return networkId; | ||
57 | + } | ||
58 | + | ||
59 | + /** | ||
60 | + * Returns the tunnel identifier. | ||
61 | + * | ||
62 | + * @return tunnel identifier. | ||
63 | + */ | ||
64 | + public TunnelId tunnelId() { | ||
65 | + return tunnelId; | ||
66 | + } | ||
67 | + | ||
68 | + @Override | ||
69 | + public int hashCode() { | ||
70 | + return Objects.hash(networkId, tunnelId); | ||
71 | + } | ||
72 | + | ||
73 | + @Override | ||
74 | + public boolean equals(Object obj) { | ||
75 | + if (this == obj) { | ||
76 | + return true; | ||
77 | + } | ||
78 | + if (obj instanceof DefaultVirtualLink) { | ||
79 | + DefaultVirtualLink that = (DefaultVirtualLink) obj; | ||
80 | + return super.equals(that) && | ||
81 | + Objects.equals(this.networkId, that.networkId) && | ||
82 | + Objects.equals(this.tunnelId, that.tunnelId); | ||
83 | + } | ||
84 | + return false; | ||
85 | + } | ||
86 | + | ||
87 | + @Override | ||
88 | + public String toString() { | ||
89 | + return toStringHelper(this).add("networkId", networkId).add("tunnelId", tunnelId).toString(); | ||
90 | + } | ||
91 | +} |
... | @@ -22,7 +22,7 @@ import static com.google.common.base.MoreObjects.toStringHelper; | ... | @@ -22,7 +22,7 @@ import static com.google.common.base.MoreObjects.toStringHelper; |
22 | /** | 22 | /** |
23 | * Default implementation of the virtual network descriptor. | 23 | * Default implementation of the virtual network descriptor. |
24 | */ | 24 | */ |
25 | -public class DefaultVirtualNetwork implements VirtualNetwork { | 25 | +public final class DefaultVirtualNetwork implements VirtualNetwork { |
26 | 26 | ||
27 | private final NetworkId id; | 27 | private final NetworkId id; |
28 | private final TenantId tenantId; | 28 | private final TenantId tenantId; | ... | ... |
incubator/api/src/main/java/org/onosproject/incubator/net/virtual/DefaultVirtualPort.java
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016 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 | + | ||
17 | +package org.onosproject.incubator.net.virtual; | ||
18 | + | ||
19 | +import org.onosproject.net.DefaultAnnotations; | ||
20 | +import org.onosproject.net.DefaultPort; | ||
21 | +import org.onosproject.net.Device; | ||
22 | +import org.onosproject.net.Element; | ||
23 | +import org.onosproject.net.Port; | ||
24 | +import org.onosproject.net.PortNumber; | ||
25 | + | ||
26 | +import java.util.Objects; | ||
27 | + | ||
28 | +import static com.google.common.base.MoreObjects.toStringHelper; | ||
29 | + | ||
30 | +/** | ||
31 | + * Default representation of a virtual port. | ||
32 | + */ | ||
33 | +public final class DefaultVirtualPort extends DefaultPort implements VirtualPort { | ||
34 | + | ||
35 | + | ||
36 | + private final NetworkId networkId; | ||
37 | + private final Port realizedBy; | ||
38 | + | ||
39 | + public DefaultVirtualPort(NetworkId networkId, Device device, PortNumber portNumber, Port realizedBy) { | ||
40 | + super((Element) device, portNumber, false, DefaultAnnotations.builder().build()); | ||
41 | + this.networkId = networkId; | ||
42 | + this.realizedBy = realizedBy; | ||
43 | + } | ||
44 | + | ||
45 | + public NetworkId networkId() { | ||
46 | + return networkId; | ||
47 | + } | ||
48 | + | ||
49 | + @Override | ||
50 | + public Port realizedBy() { | ||
51 | + return realizedBy; | ||
52 | + } | ||
53 | + | ||
54 | + @Override | ||
55 | + public int hashCode() { | ||
56 | + return Objects.hash(networkId, realizedBy); | ||
57 | + } | ||
58 | + | ||
59 | + @Override | ||
60 | + public boolean equals(Object obj) { | ||
61 | + if (this == obj) { | ||
62 | + return true; | ||
63 | + } | ||
64 | + if (obj instanceof DefaultVirtualPort) { | ||
65 | + DefaultVirtualPort that = (DefaultVirtualPort) obj; | ||
66 | + return super.equals(that) && | ||
67 | + Objects.equals(this.networkId, that.networkId) && | ||
68 | + Objects.equals(this.realizedBy, that.realizedBy); | ||
69 | + } | ||
70 | + return false; | ||
71 | + } | ||
72 | + | ||
73 | + @Override | ||
74 | + public String toString() { | ||
75 | + return toStringHelper(this).add("networkId", networkId).add("realizedBy", realizedBy).toString(); | ||
76 | + } | ||
77 | + | ||
78 | +} |
... | @@ -27,6 +27,11 @@ import java.util.Set; | ... | @@ -27,6 +27,11 @@ import java.util.Set; |
27 | public interface VirtualNetworkService { | 27 | public interface VirtualNetworkService { |
28 | 28 | ||
29 | /** | 29 | /** |
30 | + * The topic used for obtaining globally unique ids. | ||
31 | + */ | ||
32 | + String VIRTUAL_NETWORK_TOPIC = "virtual-network-ids"; | ||
33 | + | ||
34 | + /** | ||
30 | * Returns a collection of all virtual networks created on behalf of the | 35 | * Returns a collection of all virtual networks created on behalf of the |
31 | * specified tenant. | 36 | * specified tenant. |
32 | * | 37 | * | ... | ... |
incubator/api/src/test/java/org/onosproject/incubator/net/virtual/DefaultVirtualDeviceTest.java
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016 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 | + | ||
17 | +package org.onosproject.incubator.net.virtual; | ||
18 | + | ||
19 | +import com.google.common.testing.EqualsTester; | ||
20 | +import org.junit.Test; | ||
21 | +import org.onosproject.net.DeviceId; | ||
22 | + | ||
23 | +import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; | ||
24 | + | ||
25 | +/** | ||
26 | + * Test of the default virtual device model entity. | ||
27 | + */ | ||
28 | +public class DefaultVirtualDeviceTest { | ||
29 | + final String deviceIdValue1 = "DEVICE_ID1"; | ||
30 | + final String deviceIdValue2 = "DEVICE_ID2"; | ||
31 | + | ||
32 | + /** | ||
33 | + * Checks that the DefaultVirtualDevice class is immutable. | ||
34 | + */ | ||
35 | + @Test | ||
36 | + public void testImmutability() { | ||
37 | + assertThatClassIsImmutable(DefaultVirtualDevice.class); | ||
38 | + } | ||
39 | + | ||
40 | + @Test | ||
41 | + public void testEquality() { | ||
42 | + DefaultVirtualDevice device1 = | ||
43 | + new DefaultVirtualDevice(NetworkId.networkId(0), DeviceId.deviceId(deviceIdValue1)); | ||
44 | + DefaultVirtualDevice device2 = | ||
45 | + new DefaultVirtualDevice(NetworkId.networkId(0), DeviceId.deviceId(deviceIdValue1)); | ||
46 | + DefaultVirtualDevice device3 = | ||
47 | + new DefaultVirtualDevice(NetworkId.networkId(0), DeviceId.deviceId(deviceIdValue2)); | ||
48 | + DefaultVirtualDevice device4 = | ||
49 | + new DefaultVirtualDevice(NetworkId.networkId(1), DeviceId.deviceId(deviceIdValue1)); | ||
50 | + | ||
51 | + new EqualsTester().addEqualityGroup(device1, device2).addEqualityGroup(device3) | ||
52 | + .addEqualityGroup(device4).testEquals(); | ||
53 | + } | ||
54 | +} |
incubator/api/src/test/java/org/onosproject/incubator/net/virtual/DefaultVirtualLinkTest.java
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016 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 | + | ||
17 | +package org.onosproject.incubator.net.virtual; | ||
18 | + | ||
19 | +import com.google.common.testing.EqualsTester; | ||
20 | +import org.junit.Test; | ||
21 | +import org.onosproject.incubator.net.tunnel.TunnelId; | ||
22 | +import org.onosproject.net.ConnectPoint; | ||
23 | +import org.onosproject.net.DeviceId; | ||
24 | +import org.onosproject.net.PortNumber; | ||
25 | + | ||
26 | +import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; | ||
27 | + | ||
28 | +/** | ||
29 | + * Test of the default virtual link model entity. | ||
30 | + */ | ||
31 | +public class DefaultVirtualLinkTest { | ||
32 | + final String deviceIdValue1 = "DEVICE_ID1"; | ||
33 | + final String deviceIdValue2 = "DEVICE_ID2"; | ||
34 | + | ||
35 | + /** | ||
36 | + * Checks that the DefaultVirtualLink class is immutable. | ||
37 | + */ | ||
38 | + @Test | ||
39 | + public void testImmutability() { | ||
40 | + assertThatClassIsImmutable(DefaultVirtualLink.class); | ||
41 | + } | ||
42 | + | ||
43 | + @Test | ||
44 | + public void testEquality() { | ||
45 | + DefaultVirtualDevice device1 = | ||
46 | + new DefaultVirtualDevice(NetworkId.networkId(0), DeviceId.deviceId(deviceIdValue1)); | ||
47 | + DefaultVirtualDevice device2 = | ||
48 | + new DefaultVirtualDevice(NetworkId.networkId(0), DeviceId.deviceId(deviceIdValue2)); | ||
49 | + ConnectPoint src = new ConnectPoint(device1.id(), PortNumber.portNumber(1)); | ||
50 | + ConnectPoint dst = new ConnectPoint(device2.id(), PortNumber.portNumber(2)); | ||
51 | + | ||
52 | + DefaultVirtualLink link1 = new DefaultVirtualLink(NetworkId.networkId(0), src, dst, TunnelId.valueOf(0)); | ||
53 | + DefaultVirtualLink link2 = new DefaultVirtualLink(NetworkId.networkId(0), src, dst, TunnelId.valueOf(0)); | ||
54 | + DefaultVirtualLink link3 = new DefaultVirtualLink(NetworkId.networkId(0), src, dst, TunnelId.valueOf(1)); | ||
55 | + DefaultVirtualLink link4 = new DefaultVirtualLink(NetworkId.networkId(1), src, dst, TunnelId.valueOf(0)); | ||
56 | + | ||
57 | + new EqualsTester().addEqualityGroup(link1, link2).addEqualityGroup(link3) | ||
58 | + .addEqualityGroup(link4).testEquals(); | ||
59 | + } | ||
60 | +} |
incubator/api/src/test/java/org/onosproject/incubator/net/virtual/DefaultVirtualNetworkTest.java
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016 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 | + | ||
17 | +package org.onosproject.incubator.net.virtual; | ||
18 | + | ||
19 | +import com.google.common.testing.EqualsTester; | ||
20 | +import org.junit.Test; | ||
21 | + | ||
22 | +import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; | ||
23 | + | ||
24 | +/** | ||
25 | + * Test of the default virtual network model entity. | ||
26 | + */ | ||
27 | +public class DefaultVirtualNetworkTest { | ||
28 | + final String tenantIdValue1 = "TENANT_ID1"; | ||
29 | + final String tenantIdValue2 = "TENANT_ID2"; | ||
30 | + | ||
31 | + /** | ||
32 | + * Checks that the DefaultVirtualNetwork class is immutable. | ||
33 | + */ | ||
34 | + @Test | ||
35 | + public void testImmutability() { | ||
36 | + assertThatClassIsImmutable(DefaultVirtualNetwork.class); | ||
37 | + } | ||
38 | + | ||
39 | + @Test | ||
40 | + public void testEquality() { | ||
41 | + DefaultVirtualNetwork network1 = | ||
42 | + new DefaultVirtualNetwork(NetworkId.networkId(0), TenantId.tenantId(tenantIdValue1)); | ||
43 | + DefaultVirtualNetwork network2 = | ||
44 | + new DefaultVirtualNetwork(NetworkId.networkId(0), TenantId.tenantId(tenantIdValue1)); | ||
45 | + DefaultVirtualNetwork network3 = | ||
46 | + new DefaultVirtualNetwork(NetworkId.networkId(0), TenantId.tenantId(tenantIdValue2)); | ||
47 | + DefaultVirtualNetwork network4 = | ||
48 | + new DefaultVirtualNetwork(NetworkId.networkId(1), TenantId.tenantId(tenantIdValue2)); | ||
49 | + | ||
50 | + new EqualsTester().addEqualityGroup(network1, network2).addEqualityGroup(network3) | ||
51 | + .addEqualityGroup(network4).testEquals(); | ||
52 | + } | ||
53 | +} |
incubator/api/src/test/java/org/onosproject/incubator/net/virtual/DefaultVirtualPortTest.java
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016 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 | + | ||
17 | +package org.onosproject.incubator.net.virtual; | ||
18 | + | ||
19 | +import com.google.common.testing.EqualsTester; | ||
20 | +import org.junit.Test; | ||
21 | +import org.onosproject.net.DefaultPort; | ||
22 | +import org.onosproject.net.DeviceId; | ||
23 | +import org.onosproject.net.Port; | ||
24 | +import org.onosproject.net.PortNumber; | ||
25 | + | ||
26 | +import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; | ||
27 | + | ||
28 | +/** | ||
29 | + * Test of the default virtual port model entity. | ||
30 | + */ | ||
31 | +public class DefaultVirtualPortTest { | ||
32 | + final String deviceIdValue1 = "DEVICE_ID1"; | ||
33 | + final String deviceIdValue2 = "DEVICE_ID2"; | ||
34 | + | ||
35 | + /** | ||
36 | + * Checks that the DefaultVirtualPort class is immutable. | ||
37 | + */ | ||
38 | + @Test | ||
39 | + public void testImmutability() { | ||
40 | + assertThatClassIsImmutable(DefaultVirtualPort.class); | ||
41 | + } | ||
42 | + | ||
43 | + @Test | ||
44 | + public void testEquality() { | ||
45 | + DefaultVirtualDevice device1 = | ||
46 | + new DefaultVirtualDevice(NetworkId.networkId(0), DeviceId.deviceId(deviceIdValue1)); | ||
47 | + DefaultVirtualDevice device2 = | ||
48 | + new DefaultVirtualDevice(NetworkId.networkId(0), DeviceId.deviceId(deviceIdValue2)); | ||
49 | + | ||
50 | + Port portA = new DefaultPort(device1, PortNumber.portNumber(1), true); | ||
51 | + Port portB = new DefaultPort(device1, PortNumber.portNumber(2), true); | ||
52 | + Port portC = new DefaultPort(device2, PortNumber.portNumber(2), true); | ||
53 | + | ||
54 | + DefaultVirtualPort port1 = | ||
55 | + new DefaultVirtualPort(NetworkId.networkId(0), device1, PortNumber.portNumber(1), portA); | ||
56 | + DefaultVirtualPort port2 = | ||
57 | + new DefaultVirtualPort(NetworkId.networkId(0), device1, PortNumber.portNumber(1), portA); | ||
58 | + DefaultVirtualPort port3 = | ||
59 | + new DefaultVirtualPort(NetworkId.networkId(0), device1, PortNumber.portNumber(2), portB); | ||
60 | + DefaultVirtualPort port4 = | ||
61 | + new DefaultVirtualPort(NetworkId.networkId(1), device2, PortNumber.portNumber(2), portC); | ||
62 | + | ||
63 | + | ||
64 | + new EqualsTester().addEqualityGroup(port1, port2).addEqualityGroup(port3) | ||
65 | + .addEqualityGroup(port4).testEquals(); | ||
66 | + } | ||
67 | +} |
1 | /* | 1 | /* |
2 | - * Copyright 2015 Open Networking Laboratory | 2 | + * Copyright 2016 Open Networking Laboratory |
3 | * | 3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
... | @@ -70,19 +70,23 @@ public class VirtualNetworkManager | ... | @@ -70,19 +70,23 @@ public class VirtualNetworkManager |
70 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) | 70 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) |
71 | protected VirtualNetworkStore store; | 71 | protected VirtualNetworkStore store; |
72 | 72 | ||
73 | - private VirtualNetworkStoreDelegate delegate = new InternalStoreDelegate(); | 73 | + private VirtualNetworkStoreDelegate delegate = this::post; |
74 | 74 | ||
75 | // TODO: figure out how to coordinate "implementation" of a virtual network in a cluster | 75 | // TODO: figure out how to coordinate "implementation" of a virtual network in a cluster |
76 | 76 | ||
77 | @Activate | 77 | @Activate |
78 | protected void activate() { | 78 | protected void activate() { |
79 | store.setDelegate(delegate); | 79 | store.setDelegate(delegate); |
80 | + eventDispatcher.addSink(VirtualNetworkEvent.class, listenerRegistry); | ||
81 | + | ||
80 | log.info("Started"); | 82 | log.info("Started"); |
81 | } | 83 | } |
82 | 84 | ||
83 | @Deactivate | 85 | @Deactivate |
84 | protected void deactivate() { | 86 | protected void deactivate() { |
85 | store.unsetDelegate(delegate); | 87 | store.unsetDelegate(delegate); |
88 | + eventDispatcher.removeSink(VirtualNetworkEvent.class); | ||
89 | + | ||
86 | log.info("Stopped"); | 90 | log.info("Stopped"); |
87 | } | 91 | } |
88 | 92 | ||
... | @@ -211,13 +215,4 @@ public class VirtualNetworkManager | ... | @@ -211,13 +215,4 @@ public class VirtualNetworkManager |
211 | } | 215 | } |
212 | } | 216 | } |
213 | 217 | ||
214 | - // Auxiliary store delegate to receive notification about changes in | ||
215 | - // the virtual network configuration store state - by the store itself. | ||
216 | - private class InternalStoreDelegate implements VirtualNetworkStoreDelegate { | ||
217 | - @Override | ||
218 | - public void notify(VirtualNetworkEvent event) { | ||
219 | - post(event); | ||
220 | - } | ||
221 | - } | ||
222 | - | ||
223 | } | 218 | } | ... | ... |
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
-
Please register or login to post a comment