From 9120c2cf7c530f566d8af94d4f9dc2cb2d3351f7 Mon Sep 17 00:00:00 2001 From: Gary Wu Date: Thu, 19 Nov 2015 15:38:55 -0800 Subject: [PATCH] Fix warnings on unparameterized generic types Fix warnings on unparameterized generic types in and around BucketStore and Messages. Change-Id: I867e5f030f88b56c837780e2bae2e1de54266b26 Signed-off-by: Gary Wu --- .../rpc/registry/gossip/BucketStore.java | 24 +++++----- .../remote/rpc/registry/gossip/Messages.java | 28 ++++++------ .../remote/rpc/registry/RpcRegistryTest.java | 22 +++++----- .../rpc/registry/gossip/BucketStoreTest.java | 44 ++++++++++++------- 4 files changed, 65 insertions(+), 53 deletions(-) diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java index d349035b3c..39235bd978 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java @@ -102,7 +102,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe } else if (message instanceof GetBucketVersions) { receiveGetBucketVersions(); } else if (message instanceof UpdateRemoteBuckets) { - receiveUpdateRemoteBuckets(((UpdateRemoteBuckets) message).getBuckets()); + receiveUpdateRemoteBuckets(((UpdateRemoteBuckets) message).getBuckets()); } else { if(log.isDebugEnabled()) { log.debug("Unhandled message [{}]", message); @@ -116,7 +116,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe */ void receiveGetAllBuckets(){ final ActorRef sender = getSender(); - sender.tell(new GetAllBucketsReply(getAllBuckets()), getSelf()); + sender.tell(new GetAllBucketsReply(getAllBuckets()), getSelf()); } /** @@ -124,9 +124,8 @@ public class BucketStore> extends AbstractUntypedActorWithMe * * @return self owned + remote buckets */ - @SuppressWarnings("rawtypes") - Map getAllBuckets(){ - Map all = new HashMap<>(remoteBuckets.size() + 1); + Map> getAllBuckets(){ + Map> all = new HashMap<>(remoteBuckets.size() + 1); //first add the local bucket all.put(selfAddress, new BucketImpl<>(localBucket)); @@ -142,11 +141,10 @@ public class BucketStore> extends AbstractUntypedActorWithMe * * @param members requested members */ - @SuppressWarnings("rawtypes") void receiveGetBucketsByMembers(Set
members){ final ActorRef sender = getSender(); - Map buckets = getBucketsByMembers(members); - sender.tell(new GetBucketsByMembersReply(buckets), getSelf()); + Map> buckets = getBucketsByMembers(members); + sender.tell(new GetBucketsByMembersReply(buckets), getSelf()); } /** @@ -155,9 +153,8 @@ public class BucketStore> extends AbstractUntypedActorWithMe * @param members requested members * @return buckets for requested memebers */ - @SuppressWarnings("rawtypes") - Map getBucketsByMembers(Set
members) { - Map buckets = new HashMap<>(); + Map> getBucketsByMembers(Set
members) { + Map> buckets = new HashMap<>(); //first add the local bucket if asked if (members.contains(selfAddress)) { @@ -189,8 +186,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe * @param receivedBuckets buckets sent by remote * {@link org.opendaylight.controller.remote.rpc.registry.gossip.Gossiper} */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - void receiveUpdateRemoteBuckets(Map receivedBuckets){ + void receiveUpdateRemoteBuckets(Map> receivedBuckets){ log.debug("{}: receiveUpdateRemoteBuckets: {}", selfAddress, receivedBuckets); if (receivedBuckets == null || receivedBuckets.isEmpty()) { @@ -200,7 +196,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe //Remote cant update self's bucket receivedBuckets.remove(selfAddress); - for (Map.Entry entry : receivedBuckets.entrySet()){ + for (Map.Entry> entry : receivedBuckets.entrySet()){ Long localVersion = versions.get(entry.getKey()); if (localVersion == null) { diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java index 00437e7e56..4034d7f853 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java @@ -45,20 +45,20 @@ public class Messages { } } - public static class ContainsBuckets implements Serializable{ + public static class ContainsBuckets> implements Serializable{ private static final long serialVersionUID = -4940160367495308286L; - private final Map buckets; + private final Map> buckets; - public ContainsBuckets(Map buckets){ + public ContainsBuckets(Map> buckets){ Preconditions.checkArgument(buckets != null, "buckets can not be null"); this.buckets = buckets; } - public Map getBuckets() { - Map copy = new HashMap<>(buckets.size()); + public Map> getBuckets() { + Map> copy = new HashMap<>(buckets.size()); - for (Map.Entry entry : buckets.entrySet()){ + for (Map.Entry> entry : buckets.entrySet()){ //ignore null entries if ( (entry.getKey() == null) || (entry.getValue() == null) ) { continue; @@ -69,16 +69,16 @@ public class Messages { } } - public static class GetAllBucketsReply extends ContainsBuckets implements Serializable{ + public static class GetAllBucketsReply> extends ContainsBuckets implements Serializable{ private static final long serialVersionUID = 1L; - public GetAllBucketsReply(Map buckets) { + public GetAllBucketsReply(Map> buckets) { super(buckets); } } - public static class GetBucketsByMembersReply extends ContainsBuckets implements Serializable{ + public static class GetBucketsByMembersReply> extends ContainsBuckets implements Serializable{ private static final long serialVersionUID = 1L; - public GetBucketsByMembersReply(Map buckets) { + public GetBucketsByMembersReply(Map> buckets) { super(buckets); } } @@ -111,9 +111,9 @@ public class Messages { } } - public static class UpdateRemoteBuckets extends ContainsBuckets implements Serializable{ + public static class UpdateRemoteBuckets> extends ContainsBuckets implements Serializable{ private static final long serialVersionUID = 1L; - public UpdateRemoteBuckets(Map buckets) { + public UpdateRemoteBuckets(Map> buckets) { super(buckets); } } @@ -143,13 +143,13 @@ public class Messages { } } - public static final class GossipEnvelope extends ContainsBuckets implements Serializable { + public static final class GossipEnvelope> extends ContainsBuckets implements Serializable { private static final long serialVersionUID = 8346634072582438818L; private final Address from; private final Address to; - public GossipEnvelope(Address from, Address to, Map buckets) { + public GossipEnvelope(Address from, Address to, Map> buckets) { super(buckets); Preconditions.checkArgument(to != null, "Recipient of message must not be null"); this.to = to; diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java index 8700334b22..fd1e6f1db4 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java @@ -135,7 +135,7 @@ public class RpcRegistryTest { // Bucket store should get an update bucket message. Updated bucket contains added rpc. - Map buckets = retrieveBuckets(registry1, mockBroker, nodeAddress); + Map> buckets = retrieveBuckets(registry1, mockBroker, nodeAddress); verifyBucket(buckets.get(nodeAddress), addedRouteIds); Map versions = retrieveVersions(registry1, mockBroker); @@ -178,7 +178,7 @@ public class RpcRegistryTest { // Bucket store on node2 should get a message to update its local copy of remote buckets - Map buckets = retrieveBuckets(registry2, mockBroker2, node1Address); + Map> buckets = retrieveBuckets(registry2, mockBroker2, node1Address); verifyBucket(buckets.get(node1Address), addedRouteIds); // Now remove @@ -194,7 +194,7 @@ public class RpcRegistryTest { private void verifyEmptyBucket(JavaTestKit testKit, ActorRef registry, Address address) throws AssertionError { - Map buckets; + Map> buckets; int nTries = 0; while(true) { buckets = retrieveBuckets(registry1, testKit, address); @@ -239,7 +239,7 @@ public class RpcRegistryTest { Address node1Address = node1.provider().getDefaultAddress(); Address node2Address = node2.provider().getDefaultAddress(); - Map buckets = retrieveBuckets(registry3, mockBroker3, node1Address, + Map> buckets = retrieveBuckets(registry3, mockBroker3, node1Address, node2Address); verifyBucket(buckets.get(node1Address), addedRouteIds1); @@ -283,18 +283,19 @@ public class RpcRegistryTest { Assert.assertEquals("RoutingTable size", expRouteIds.size(), table.size()); } - private Map retrieveBuckets(ActorRef bucketStore, JavaTestKit testKit, + private Map> retrieveBuckets(ActorRef bucketStore, JavaTestKit testKit, Address... addresses) { int nTries = 0; while(true) { bucketStore.tell(new GetAllBuckets(), testKit.getRef()); - GetAllBucketsReply reply = testKit.expectMsgClass(Duration.create(3, TimeUnit.SECONDS), + @SuppressWarnings("unchecked") + GetAllBucketsReply reply = testKit.expectMsgClass(Duration.create(3, TimeUnit.SECONDS), GetAllBucketsReply.class); - Map buckets = reply.getBuckets(); + Map> buckets = reply.getBuckets(); boolean foundAll = true; for(Address addr: addresses) { - Bucket bucket = buckets.get(addr); + Bucket bucket = buckets.get(addr); if(bucket == null) { foundAll = false; break; @@ -314,7 +315,6 @@ public class RpcRegistryTest { } } - @SuppressWarnings("unchecked") @Test public void testAddRoutesConcurrency() throws Exception { final JavaTestKit testKit = new JavaTestKit(node1); @@ -338,7 +338,8 @@ public class RpcRegistryTest { int nTries = 0; while(true) { registry1.tell(getAllBuckets, testKit.getRef()); - GetAllBucketsReply reply = testKit.expectMsgClass(duration, GetAllBucketsReply.class); + @SuppressWarnings("unchecked") + GetAllBucketsReply reply = testKit.expectMsgClass(duration, GetAllBucketsReply.class); Bucket localBucket = reply.getBuckets().values().iterator().next(); RoutingTable table = localBucket.getData(); @@ -364,4 +365,5 @@ public class RpcRegistryTest { routeIds.add(new RouteIdentifierImpl(null, type, null)); return routeIds; } + } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java index 667a1156f2..c2c158bd37 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java @@ -23,6 +23,19 @@ import org.opendaylight.controller.remote.rpc.TerminationMonitor; public class BucketStoreTest { + /** + * Dummy class to eliminate rawtype warnings. + * + * @author gwu + * + */ + private static class T implements Copier { + @Override + public T copy() { + return new T(); + } + } + private static ActorSystem system; @BeforeClass @@ -44,20 +57,20 @@ public class BucketStoreTest { @Test public void testReceiveUpdateRemoteBuckets(){ - BucketStore store = createStore(); + BucketStore store = createStore(); Address localAddress = system.provider().getDefaultAddress(); - Bucket localBucket = new BucketImpl(); + Bucket localBucket = new BucketImpl<>(); Address a1 = new Address("tcp", "system1"); Address a2 = new Address("tcp", "system2"); Address a3 = new Address("tcp", "system3"); - Bucket b1 = new BucketImpl(); - Bucket b2 = new BucketImpl(); - Bucket b3 = new BucketImpl(); + Bucket b1 = new BucketImpl<>(); + Bucket b2 = new BucketImpl<>(); + Bucket b3 = new BucketImpl<>(); - Map remoteBuckets = new HashMap<>(3); + Map> remoteBuckets = new HashMap<>(3); remoteBuckets.put(a1, b1); remoteBuckets.put(a2, b2); remoteBuckets.put(a3, b3); @@ -68,13 +81,13 @@ public class BucketStoreTest { //Should NOT contain local bucket //Should contain ONLY 3 entries i.e a1, a2, a3 - Map> remoteBucketsInStore = store.getRemoteBuckets(); + Map> remoteBucketsInStore = store.getRemoteBuckets(); Assert.assertFalse("remote buckets contains local bucket", remoteBucketsInStore.containsKey(localAddress)); Assert.assertTrue(remoteBucketsInStore.size() == 3); //Add a new remote bucket Address a4 = new Address("tcp", "system4"); - Bucket b4 = new BucketImpl(); + Bucket b4 = new BucketImpl(); remoteBuckets.clear(); remoteBuckets.put(a4, b4); store.receiveUpdateRemoteBuckets(remoteBuckets); @@ -86,7 +99,7 @@ public class BucketStoreTest { Assert.assertTrue(remoteBucketsInStore.size() == 4); //Update a bucket - Bucket b3_new = new BucketImpl(); + Bucket b3_new = new BucketImpl(); remoteBuckets.clear(); remoteBuckets.put(a3, b3_new); remoteBuckets.put(a1, null); @@ -95,12 +108,12 @@ public class BucketStoreTest { //Should only update a3 remoteBucketsInStore = store.getRemoteBuckets(); - Bucket b3_inStore = remoteBucketsInStore.get(a3); + Bucket b3_inStore = remoteBucketsInStore.get(a3); Assert.assertEquals(b3_new.getVersion(), b3_inStore.getVersion()); //Should NOT update a1 and a2 - Bucket b1_inStore = remoteBucketsInStore.get(a1); - Bucket b2_inStore = remoteBucketsInStore.get(a2); + Bucket b1_inStore = remoteBucketsInStore.get(a1); + Bucket b2_inStore = remoteBucketsInStore.get(a2); Assert.assertEquals(b1.getVersion(), b1_inStore.getVersion()); Assert.assertEquals(b2.getVersion(), b2_inStore.getVersion()); Assert.assertTrue(remoteBucketsInStore.size() == 4); @@ -131,9 +144,10 @@ public class BucketStoreTest { * * @return instance of BucketStore class */ - private static BucketStore createStore(){ + private static BucketStore createStore(){ final Props props = Props.create(BucketStore.class, new RemoteRpcProviderConfig(system.settings().config())); - final TestActorRef testRef = TestActorRef.create(system, props, "testStore"); + final TestActorRef> testRef = TestActorRef.create(system, props, "testStore"); return testRef.underlyingActor(); } -} \ No newline at end of file + +} -- 2.36.6