Various small fixes
Change-Id: I83802169d0d968f7b88d4be2cedba74b15fdd7da
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/UnresolvedExtensionSelector.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/UnresolvedExtensionSelector.java
index 17f527b..22bf95c 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/UnresolvedExtensionSelector.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/UnresolvedExtensionSelector.java
@@ -17,7 +17,6 @@
import org.onosproject.net.flow.AbstractExtension;
import java.util.Arrays;
-import java.util.Objects;
import static com.google.common.base.MoreObjects.toStringHelper;
@@ -57,7 +56,7 @@
@Override
public int hashCode() {
- return Objects.hash(bytes);
+ return Arrays.hashCode(bytes);
}
@Override
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
index 460976a..95ee08d 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/Instructions.java
@@ -97,7 +97,6 @@
* @return set-queue instruction
*/
public static SetQueueInstruction setQueue(final long queueId, final PortNumber port) {
- checkNotNull(queueId, "queue ID cannot be null");
return new SetQueueInstruction(queueId, port);
}
@@ -324,7 +323,6 @@
* @return a l3 modification
*/
public static L3ModificationInstruction modL3ArpOp(short op) {
- checkNotNull(op, "Arp operation cannot be null");
return new ModArpOpInstruction(L3SubType.ARP_OP, op);
}
@@ -424,7 +422,6 @@
* @return a L2 modification
*/
public static L2ModificationInstruction modTunnelId(long tunnelId) {
- checkNotNull(tunnelId, "Tunnel id cannot be null");
return new L2ModificationInstruction.ModTunnelIdInstruction(tunnelId);
}
diff --git a/core/api/src/main/java/org/onosproject/net/flow/instructions/UnresolvedExtensionTreatment.java b/core/api/src/main/java/org/onosproject/net/flow/instructions/UnresolvedExtensionTreatment.java
index bbe1d33..6c4a8c2 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/instructions/UnresolvedExtensionTreatment.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/instructions/UnresolvedExtensionTreatment.java
@@ -19,7 +19,6 @@
import com.google.common.base.MoreObjects;
import org.onosproject.net.flow.AbstractExtension;
import java.util.Arrays;
-import java.util.Objects;
/**
* Unresolved extension treatment.
@@ -57,7 +56,7 @@
@Override
public int hashCode() {
- return Objects.hash(bytes);
+ return Arrays.hashCode(bytes);
}
@Override
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentOperationContext.java b/core/api/src/main/java/org/onosproject/net/intent/IntentOperationContext.java
index 6fc3f2e..528f4ba 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentOperationContext.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentOperationContext.java
@@ -103,7 +103,7 @@
IntentOperationContext that = (IntentOperationContext) obj;
return Objects.equals(intentsToInstall, that.intentsToInstall) &&
Objects.equals(intentsToUninstall, that.intentsToUninstall) &&
- Objects.equals(intentInstallationContext, intentInstallationContext);
+ Objects.equals(intentInstallationContext, that.intentInstallationContext);
}
@Override
diff --git a/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java b/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java
index 4c03699..5327d48 100644
--- a/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java
+++ b/core/api/src/main/java/org/onosproject/store/cluster/messaging/ClusterMessage.java
@@ -155,6 +155,6 @@
@Override
public int hashCode() {
- return Objects.hash(sender, subject, payload);
+ return Objects.hash(sender, subject, Arrays.hashCode(payload));
}
}
diff --git a/core/api/src/test/java/org/onosproject/net/link/LinkProviderRegistryAdapter.java b/core/api/src/test/java/org/onosproject/net/link/LinkProviderRegistryAdapter.java
index d2cfec2..c0ee902 100644
--- a/core/api/src/test/java/org/onosproject/net/link/LinkProviderRegistryAdapter.java
+++ b/core/api/src/test/java/org/onosproject/net/link/LinkProviderRegistryAdapter.java
@@ -36,11 +36,18 @@
@Override
public void unregister(LinkProvider provider) {
+ if (providerService != null && provider.id().equals(providerService.provider().id())) {
+ providerService = null;
+ }
}
@Override
public Set<ProviderId> getProviders() {
- return ImmutableSet.of(providerService.provider().id());
+ if (providerService != null) {
+ return ImmutableSet.of(providerService.provider().id());
+ } else {
+ return ImmutableSet.of();
+ }
}
public LinkProviderServiceAdapter registeredProvider() {
diff --git a/core/api/src/test/java/org/onosproject/security/PermissionTest.java b/core/api/src/test/java/org/onosproject/security/PermissionTest.java
index 191d868..bdab240 100644
--- a/core/api/src/test/java/org/onosproject/security/PermissionTest.java
+++ b/core/api/src/test/java/org/onosproject/security/PermissionTest.java
@@ -17,8 +17,6 @@
package org.onosproject.security;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
import org.junit.Test;
/**
@@ -70,7 +68,7 @@
public void testEqualsObject() {
Permission permissionA = new Permission("classname", "name", "actions");
Permission permissionB = new Permission("classname", "name", "actions");
- assertSame(permissionA, permissionA);
+ assertEquals(permissionA, permissionB);
assertEquals(permissionA.getClassName(), permissionB.getClassName());
assertEquals(permissionA.getName(), permissionB.getName());
assertEquals(permissionA.getActions(), permissionB.getActions());
diff --git a/core/api/src/test/java/org/onosproject/store/service/DocumentPathTest.java b/core/api/src/test/java/org/onosproject/store/service/DocumentPathTest.java
index 6e69eb6..80f411f 100644
--- a/core/api/src/test/java/org/onosproject/store/service/DocumentPathTest.java
+++ b/core/api/src/test/java/org/onosproject/store/service/DocumentPathTest.java
@@ -68,6 +68,7 @@
DocumentPath path1 = exceptions("node|name", parentPath);
}
+ @SuppressWarnings("SelfComparison")
@Test
public void comparePaths() {
DocumentPath one = path("root");
diff --git a/core/api/src/test/java/org/onosproject/store/service/TestEventuallyConsistentMap.java b/core/api/src/test/java/org/onosproject/store/service/TestEventuallyConsistentMap.java
index b28356d..352210d 100644
--- a/core/api/src/test/java/org/onosproject/store/service/TestEventuallyConsistentMap.java
+++ b/core/api/src/test/java/org/onosproject/store/service/TestEventuallyConsistentMap.java
@@ -86,6 +86,7 @@
return map.get(key);
}
+ @SuppressWarnings("ReturnValueIgnored")
@Override
public void put(K key, V value) {
map.put(key, value);
diff --git a/core/api/src/test/java/org/onosproject/store/service/WallClockTimestampTest.java b/core/api/src/test/java/org/onosproject/store/service/WallClockTimestampTest.java
index 3f02fef..8ea04fd 100644
--- a/core/api/src/test/java/org/onosproject/store/service/WallClockTimestampTest.java
+++ b/core/api/src/test/java/org/onosproject/store/service/WallClockTimestampTest.java
@@ -30,6 +30,7 @@
*/
public class WallClockTimestampTest {
+ @SuppressWarnings("SelfComparison")
@Test
public final void testBasic() throws InterruptedException {
WallClockTimestamp ts1 = new WallClockTimestamp();
diff --git a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java
index 09d3a24..c623bf2 100644
--- a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java
+++ b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/FlowObjectiveManager.java
@@ -208,7 +208,7 @@
public ObjectiveInstaller(DeviceId deviceId, Objective objective, int attemps) {
this.deviceId = checkNotNull(deviceId);
this.objective = checkNotNull(objective);
- this.numAttempts = checkNotNull(attemps);
+ this.numAttempts = attemps;
}
@Override
diff --git a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java
index be90cb5..a765648 100644
--- a/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java
+++ b/core/net/src/main/java/org/onosproject/net/flowobjective/impl/composition/FlowObjectiveCompositionManager.java
@@ -177,7 +177,7 @@
public ObjectiveInstaller(DeviceId deviceId, Objective objective, int attemps) {
this.deviceId = checkNotNull(deviceId);
this.objective = checkNotNull(objective);
- this.numAttempts = checkNotNull(attemps);
+ this.numAttempts = attemps;
}
@Override
diff --git a/core/net/src/test/java/org/onosproject/net/config/basics/PortAnnotationConfigTest.java b/core/net/src/test/java/org/onosproject/net/config/basics/PortAnnotationConfigTest.java
index dd3211c..df6ce7b 100644
--- a/core/net/src/test/java/org/onosproject/net/config/basics/PortAnnotationConfigTest.java
+++ b/core/net/src/test/java/org/onosproject/net/config/basics/PortAnnotationConfigTest.java
@@ -126,6 +126,7 @@
assertThat(annotations.get(key), is(value));
}
+ @Test
public void writeEntryTest() throws JsonProcessingException, IOException {
PortAnnotationConfig w = new PortAnnotationConfig();
@@ -146,6 +147,7 @@
assertThat(annotations.get(key), is(value));
}
+ @Test
public void writeMapTest() throws JsonProcessingException, IOException {
PortAnnotationConfig w = new PortAnnotationConfig();
diff --git a/core/net/src/test/java/org/onosproject/net/pi/impl/PiPipeconfManagerTest.java b/core/net/src/test/java/org/onosproject/net/pi/impl/PiPipeconfManagerTest.java
index 1982d7f..d818b3d 100644
--- a/core/net/src/test/java/org/onosproject/net/pi/impl/PiPipeconfManagerTest.java
+++ b/core/net/src/test/java/org/onosproject/net/pi/impl/PiPipeconfManagerTest.java
@@ -148,7 +148,7 @@
@Test
public void register() {
piPipeconfService.register(piPipeconf);
- assertTrue("PiPipeconf should be registered", piPipeconfService.piPipeconfs.contains(piPipeconf));
+ assertTrue("PiPipeconf should be registered", piPipeconfService.piPipeconfs.containsValue(piPipeconf));
}
@Test
diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
index 03bfc55..67066fd 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
@@ -318,7 +318,7 @@
? deviceClockService.getTimestamp(deviceId)
: removalRequest.getOrDefault(deviceId, DEFAULT_TIMESTAMP);
} catch (IllegalStateException e) {
- newTimestamp = removalRequest.getOrDefault(deviceDescription, DEFAULT_TIMESTAMP);
+ newTimestamp = removalRequest.getOrDefault(deviceId, DEFAULT_TIMESTAMP);
isMaster = false;
}
final Timestamped<DeviceDescription> deltaDesc = new Timestamped<>(deviceDescription, newTimestamp);
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java
index 14ed0ed..e5ed75b 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ConsistentResourceStore.java
@@ -63,6 +63,7 @@
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.stream.Collectors.groupingBy;
import static org.onosproject.net.resource.ResourceEvent.Type.RESOURCE_ADDED;
import static org.onosproject.net.resource.ResourceEvent.Type.RESOURCE_REMOVED;
@@ -132,7 +133,7 @@
// the order is preserved by LinkedHashMap
Map<DiscreteResource, List<Resource>> resourceMap = resources.stream()
.filter(x -> x.parent().isPresent())
- .collect(Collectors.groupingBy(x -> x.parent().get(), LinkedHashMap::new, Collectors.toList()));
+ .collect(groupingBy(x -> x.parent().get(), LinkedHashMap::new, Collectors.<Resource>toList()));
TransactionalDiscreteResourceSubStore discreteTxStore = discreteStore.transactional(tx);
TransactionalContinuousResourceSubStore continuousTxStore = continuousStore.transactional(tx);
diff --git a/core/store/dist/src/test/java/org/onosproject/store/impl/MastershipBasedTimestampTest.java b/core/store/dist/src/test/java/org/onosproject/store/impl/MastershipBasedTimestampTest.java
index 605de95..bbbc616 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/impl/MastershipBasedTimestampTest.java
+++ b/core/store/dist/src/test/java/org/onosproject/store/impl/MastershipBasedTimestampTest.java
@@ -47,6 +47,7 @@
assertEquals(sequenceNumber, ts.sequenceNumber());
}
+ @SuppressWarnings("SelfComparison")
@Test
public final void testCompareTo() {
assertTrue(TS_1_1.compareTo(TS_1_1) == 0);
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTree.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTree.java
index 31bd20c..4c1ff6a 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTree.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTree.java
@@ -19,6 +19,7 @@
import java.util.Iterator;
import java.util.Map;
import java.util.Objects;
+import java.util.Optional;
import java.util.concurrent.atomic.AtomicLong;
import org.onosproject.store.service.DocumentPath;
@@ -147,13 +148,17 @@
}
@Override
- public boolean replace(DocumentPath path, V newValue, V currentValue) {
+ public boolean replace(DocumentPath path, V newValue, V expectedValue) {
checkRootModification(path);
- if (Objects.equals(newValue, currentValue)) {
+ if (Objects.equals(newValue, expectedValue)) {
return false;
}
DocumentTreeNode<V> node = getNode(path);
- if (node != null && Objects.equals(Versioned.valueOrNull(node.value()), currentValue)) {
+ V prevValue = Optional.ofNullable(node)
+ .map(DocumentTreeNode::value)
+ .map(Versioned::valueOrNull)
+ .orElse(null);
+ if (Objects.equals(prevValue, expectedValue)) {
set(path, newValue);
return true;
}
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/MapValueTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/MapValueTest.java
index 70c33e1..cfad4e4 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/MapValueTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/MapValueTest.java
@@ -48,6 +48,7 @@
assertEquals(actual, expected);
}
+ @SuppressWarnings("SelfComparison")
@Test
public void testComparison() {
Timestamp ts1 = new LogicalTimestamp(9);
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/TranscodingAsyncConsistentMapTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/TranscodingAsyncConsistentMapTest.java
index 2cc9631..6466c12 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/TranscodingAsyncConsistentMapTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/TranscodingAsyncConsistentMapTest.java
@@ -115,6 +115,7 @@
assertFalse(transcodingMap.containsValue(DEV1).join());
}
+ @Test
public void testGet() throws Exception {
assertNull(transcodingMap.get(KEY1).join().value());
transcodingMap.put(KEY2, DEV1).join();
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapServiceTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapServiceTest.java
index c05ebcb..66173d0 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapServiceTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapServiceTest.java
@@ -15,8 +15,8 @@
*/
package org.onosproject.store.primitives.resources.impl;
-import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import io.atomix.protocols.raft.service.ServiceId;
import io.atomix.protocols.raft.service.impl.DefaultCommit;
@@ -57,7 +57,7 @@
2,
PUT,
new AtomixConsistentSetMultimapOperations.Put(
- "foo", Arrays.asList("Hello world!".getBytes()), Match.ANY),
+ "foo", Collections.singletonList("Hello world!".getBytes()), Match.ANY),
mock(RaftSessionContext.class),
System.currentTimeMillis()));
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixDocumentTreeTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixDocumentTreeTest.java
index 18746a7..7a41395 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixDocumentTreeTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixDocumentTreeTest.java
@@ -27,6 +27,7 @@
import com.google.common.base.Throwables;
import io.atomix.protocols.raft.proxy.RaftProxy;
import io.atomix.protocols.raft.service.RaftService;
+
import org.junit.Test;
import org.onosproject.store.primitives.NodeUpdate;
import org.onosproject.store.primitives.TransactionId;
@@ -219,6 +220,9 @@
assertArrayEquals("newAB".getBytes(), tree.get(path("root.a.b")).join().value());
assertFalse(tree.replace(path("root.a.d"), "bar".getBytes(), "foo".getBytes()).join());
+
+ assertTrue(tree.replace(path("root.x"), "beta".getBytes(), null).join());
+
}
/**
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixWorkQueueServiceTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixWorkQueueServiceTest.java
index 919d3c9..2529523 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixWorkQueueServiceTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixWorkQueueServiceTest.java
@@ -15,8 +15,8 @@
*/
package org.onosproject.store.primitives.resources.impl;
-import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import io.atomix.protocols.raft.ReadConsistency;
import io.atomix.protocols.raft.cluster.MemberId;
@@ -93,7 +93,7 @@
service.add(new DefaultCommit<>(
2,
ADD,
- new AtomixWorkQueueOperations.Add(Arrays.asList("Hello world!".getBytes())),
+ new AtomixWorkQueueOperations.Add(Collections.singletonList("Hello world!".getBytes())),
session,
System.currentTimeMillis()));
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTreeTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTreeTest.java
index 5505e0d..1398300 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTreeTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/DefaultDocumentTreeTest.java
@@ -148,6 +148,7 @@
tree.set(path("root.a.b"), "alpha");
}
+ @Test
public void testReplaceWithVersion() {
DocumentTree<String> tree = new DefaultDocumentTree<>();
tree.create(path("root.a"), "bar");
@@ -158,6 +159,7 @@
Assert.assertFalse(tree.replace(path("root.x"), "beta", 1));
}
+ @Test
public void testReplaceWithValue() {
DocumentTree<String> tree = new DefaultDocumentTree<>();
tree.create(path("root.a"), "bar");
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/TestClusterCommunicationService.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/TestClusterCommunicationService.java
index a15bba4..791a488 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/TestClusterCommunicationService.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/TestClusterCommunicationService.java
@@ -72,9 +72,9 @@
@Override
public <M> void multicast(M message, MessageSubject subject, Function<M, byte[]> encoder, Set<NodeId> nodeIds) {
- nodes.values().stream()
- .filter(n -> nodeIds.contains(n))
- .forEach(n -> n.handle(subject, encoder.apply(message)));
+ nodes.entrySet().stream()
+ .filter(e -> nodeIds.contains(e.getKey()))
+ .forEach(e -> e.getValue().handle(subject, encoder.apply(message)));
}
@Override