From 44a2159ca3fb6385f49e7dc49805e9b255c61552 Mon Sep 17 00:00:00 2001 From: Tom Pantelis Date: Mon, 6 Aug 2018 08:56:43 -0400 Subject: [PATCH] Remove RoutingLogic interface This is no longer used... Change-Id: I167eed99d7e457a7d6b1d53f39c07a1dfc6c5bf3 Signed-off-by: Tom Pantelis --- .../rpc/utils/LatestEntryRoutingLogic.java | 66 ------------------- .../remote/rpc/utils/RoutingLogic.java | 21 ------ .../utils/LatestEntryRoutingLogicTest.java | 54 --------------- 3 files changed, 141 deletions(-) delete mode 100644 opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogic.java delete mode 100644 opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/RoutingLogic.java delete mode 100644 opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogicTest.java diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogic.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogic.java deleted file mode 100644 index f7b36a776e..0000000000 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogic.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.controller.remote.rpc.utils; - -import akka.actor.ActorRef; -import akka.japi.Pair; -import com.google.common.base.Preconditions; -import java.io.Serializable; -import java.util.Collection; -import java.util.Comparator; -import java.util.SortedSet; -import java.util.TreeSet; - -/** - * This class will return First Entry. - */ -public class LatestEntryRoutingLogic implements RoutingLogic { - - private final SortedSet> actorRefSet; - - public LatestEntryRoutingLogic(Collection> entries) { - Preconditions.checkNotNull(entries, "Entries should not be null"); - Preconditions.checkArgument(!entries.isEmpty(), "Entries collection should not be empty"); - - actorRefSet = new TreeSet<>(new LatestEntryComparator()); - actorRefSet.addAll(entries); - } - - @Override - public ActorRef select() { - return actorRefSet.last().first(); - } - - private static class LatestEntryComparator implements Comparator>, Serializable { - private static final long serialVersionUID = 1L; - - @Override - public int compare(Pair o1, Pair o2) { - if (o1 == null && o2 == null) { - return 0; - } - - if (o1 != null && o2 != null && o1.second() == null && o2.second() == null) { - return 0; - } - - if ((o1 == null || o1.second() == null) && o2 != null) { - return -1; - } - - if (o2 == null || o2.second() == null) { - return 1; - } - - return o1.second().compareTo(o2.second()); - } - } -} - - diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/RoutingLogic.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/RoutingLogic.java deleted file mode 100644 index c7096f5280..0000000000 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/utils/RoutingLogic.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.controller.remote.rpc.utils; - -import akka.actor.ActorRef; - -/** - * This Interface is added to abstract out the way rpc execution could be - * routed, if more than one node in cluster is capable of executing the rpc. - * We can pick node randomly, round robin manner or based on last updated time etc. - */ - -public interface RoutingLogic { - ActorRef select(); -} diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogicTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogicTest.java deleted file mode 100644 index b8ddc3711e..0000000000 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/utils/LatestEntryRoutingLogicTest.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.controller.remote.rpc.utils; - -import static org.junit.Assert.assertTrue; - -import akka.actor.ActorRef; -import akka.actor.ActorSystem; -import akka.japi.Pair; -import akka.testkit.TestProbe; -import akka.testkit.javadsl.TestKit; -import com.typesafe.config.ConfigFactory; -import java.util.ArrayList; -import java.util.List; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class LatestEntryRoutingLogicTest { - static ActorSystem system; - - @BeforeClass - public static void setup() { - system = ActorSystem.create("opendaylight-rpc", ConfigFactory.load().getConfig("odl-cluster-rpc")); - } - - @AfterClass - public static void teardown() { - TestKit.shutdownActorSystem(system); - system = null; - } - - @Test - public void testRoutingLogic() { - List> pairList = new ArrayList<>(); - TestProbe probe1 = new TestProbe(system); - TestProbe probe2 = new TestProbe(system); - TestProbe probe3 = new TestProbe(system); - ActorRef actor1 = probe1.ref(); - ActorRef actor2 = probe2.ref(); - ActorRef actor3 = probe3.ref(); - pairList.add(new Pair<>(actor1, 1000L)); - pairList.add(new Pair<>(actor2, 3000L)); - pairList.add(new Pair<>(actor3, 2000L)); - RoutingLogic logic = new LatestEntryRoutingLogic(pairList); - assertTrue(logic.select().equals(actor2)); - } -} -- 2.36.6