Optimize port number lookups 57/47657/4
authorTomas Slusny <tomas.slusny@pantheon.tech>
Thu, 27 Oct 2016 08:33:32 +0000 (10:33 +0200)
committerTomas Slusny <tomas.slusny@pantheon.tech>
Thu, 27 Oct 2016 14:51:02 +0000 (14:51 +0000)
- Remove unnecessary OpenflowPortsUtil#init() and
  OpenflowPortsUtil#close() methods and add static constructors
  instead, so BiMaps will be initialized only when really needed,
  and we do not need to call OpenflowPortsUtil#init() method
  everywhere
- Cache inverse port BiMaps in OpenflowPortsUtil to greatly reduce
  lookup time in these BiMaps in some methods
- Try to use more short version instead of deprecated
  OpenflowVersion to reduce deprecation and to reduce
  memory use (less conversions from OpenflowVersion to short)
- Use proper MAX port constant when finding max port number
- Simplify some conditions in OpenflowPortsUtil
- Use proper OF_URI_PREFIX contant in InventoryDataServiceUtil

Resolves: bug 7046

Change-Id: I1ea033963fb48416d004398e2ee72909231aaea6
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
33 files changed:
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderFactoryImpl.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/PacketProcessingServiceImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtilsTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/AbstractStatsServiceTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/direct/AbstractDirectStatisticsServiceTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/translator/PacketReceivedTranslatorTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/DeviceInitializationUtilsTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/NodeConnectorRefToPortTranslatorTest.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/MDController.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtil.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtil.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/ModelDrivenSwitchImplTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV10Test.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV13Test.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorImpl2Test.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorV10ImplTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertor2Test.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchV10ResponseConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FeaturesV10ToNodeConnectorUpdatedTranslatorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FlowRemovedTranslatorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultipartReplyTranslatorThirdTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/PacketInV10TranslatorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtilTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtilTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/PortTranslatorUtilTest.java

index c9cb514b7e081c6ca848731f01a078d87561b745..cd7cde7b6f8118d4276b36f057afae977605e443 100644 (file)
@@ -17,7 +17,6 @@ import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvid
 import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
 import org.opendaylight.openflowplugin.api.openflow.OpenFlowPluginProvider;
 import org.opendaylight.openflowplugin.api.openflow.OpenFlowPluginProviderFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.OpenflowProviderConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,7 +41,6 @@ public class OpenFlowPluginProviderFactoryImpl implements OpenFlowPluginProvider
 
         LOG.info("Initializing new OFP southbound.");
 
-        OpenflowPortsUtil.init();
         OpenFlowPluginProvider openflowPluginProvider = new OpenFlowPluginProviderImpl(
                 providerConfig.getRpcRequestsQuota(),
                 providerConfig.getGlobalNotificationQuota(),
index 35cc8356db5d030945caf3f975e45be2da011629..c2271fceb9d7a10b88ef09076d0ac5738fa6bf44 100644 (file)
@@ -29,7 +29,6 @@ import io.netty.util.Timeout;
 import java.math.BigInteger;
 import java.net.InetSocketAddress;
 import java.util.concurrent.atomic.AtomicLong;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -76,7 +75,6 @@ import org.opendaylight.openflowplugin.impl.registry.flow.FlowDescriptorFactory;
 import org.opendaylight.openflowplugin.impl.registry.flow.FlowRegistryKeyFactory;
 import org.opendaylight.openflowplugin.impl.util.DeviceStateUtil;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorExecutor;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.experimenter.message.service.rev151020.ExperimenterMessageFromDev;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector;
@@ -459,7 +457,6 @@ public class DeviceContextImplTest {
         when(mockedPortStatusMessage.getReason()).thenReturn(PortReason.OFPPRADD);
         when(mockedPortStatusMessage.getPortNo()).thenReturn(42L);
 
-        OpenflowPortsUtil.init();
         deviceContextSpy.processPortStatusMessage(mockedPortStatusMessage);
         verify(deviceContextSpy).writeToTransaction(Mockito.<LogicalDatastoreType>any(), Mockito.<InstanceIdentifier>any(), any());
         verify(deviceContextSpy).submitTransaction();
index 82ee4b06720638465882f5da060dbbd5cc172461..33e54b4d7c313e1bab26b678954fc151a8c95a3c 100644 (file)
@@ -31,7 +31,6 @@ import org.mockito.InOrder;
 import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.Spy;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
@@ -51,7 +50,6 @@ import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext
 import org.opendaylight.openflowplugin.api.openflow.connection.OutboundQueueProvider;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
-import org.opendaylight.openflowplugin.api.openflow.device.DeviceManager;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceState;
 import org.opendaylight.openflowplugin.api.openflow.device.MessageTranslator;
 import org.opendaylight.openflowplugin.api.openflow.device.TranslatorLibrary;
@@ -61,9 +59,6 @@ import org.opendaylight.openflowplugin.api.openflow.lifecycle.LifecycleService;
 import org.opendaylight.openflowplugin.api.openflow.md.core.TranslatorKey;
 import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageIntelligenceAgency;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorExecutor;
-import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
-import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
@@ -117,8 +112,6 @@ public class DeviceManagerImplTest {
     private KeyedInstanceIdentifier<Node, NodeKey> key;
     @Before
     public void setUp() throws Exception {
-        OpenflowPortsUtil.init();
-
         when(mockConnectionContext.getNodeId()).thenReturn(DUMMY_NODE_ID);
         when(mockConnectionContext.getFeatures()).thenReturn(mockFeatures);
         when(mockConnectionContext.getConnectionAdapter()).thenReturn(mockedConnectionAdapter);
index 8438f009669999a14c185f9a37766842379e8e33..0168cda4f927ee52394c7db13e5ea49238716800 100644 (file)
@@ -17,7 +17,6 @@ import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.device.Xid;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
@@ -52,7 +51,6 @@ public class PacketProcessingServiceImplTest extends ServiceMocking {
         pathToNodeconnector = KeyedInstanceIdentifier.create(Nodes.class)
                 .child(Node.class, new NodeKey(new NodeId("ofp-ut:123")))
                 .child(NodeConnector.class, new NodeConnectorKey(new NodeConnectorId("ofp-ut:123:1")));
-        OpenflowPortsUtil.init();
     }
 
     @Test
index 5ab810539ebbfdc55b2129595d0743495a88cc85..b531cbd950f567657a185bd1e270d13bae7d6aa6 100644 (file)
@@ -23,7 +23,6 @@ import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.AggregateFlowStatisticsUpdate;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.FlowsStatisticsUpdate;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionAware;
@@ -133,7 +132,6 @@ public class SinglePurposeMultipartReplyTranslatorTest {
 
         MultipartReplyMessage multipartReplyMessage = prepareMocks(mockedDeviceContext, prepareMultipartReplyPortStats(), MultipartType.OFPMPPORTSTATS);
 
-        OpenflowPortsUtil.init();
         List<DataObject> result = singlePurposeMultipartReplyTranslator.translate(
                 mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getDatapathId(),
                 mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getVersion(),
index e5cfea5b897874ee3a06a206397638f05d08e2db..2268326526c4cbb1161f66c09805ecb64595720a 100644 (file)
@@ -51,7 +51,6 @@ import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.Stati
 import org.opendaylight.openflowplugin.impl.registry.flow.FlowRegistryKeyFactory;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector;
@@ -173,10 +172,6 @@ public class StatisticsGatheringUtilsTest {
 
     private SinglePurposeMultipartReplyTranslator singlePurposeMultipartReplyTranslator;
 
-    public StatisticsGatheringUtilsTest() {
-        OpenflowPortsUtil.init();
-    }
-
     @Before
     public void setUp() throws Exception {
         final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager();
index 3a8f42c4f91bfdeb58d37ae9373a86f91ce470da..cb50942d19d2bff4a5f6f0b64c71fa5eecd157d3 100644 (file)
@@ -29,7 +29,6 @@ import org.opendaylight.openflowplugin.api.openflow.device.RequestContextStack;
 import org.opendaylight.openflowplugin.api.openflow.device.TranslatorLibrary;
 import org.opendaylight.openflowplugin.api.openflow.device.handlers.MultiMsgCollector;
 import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageSpy;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
@@ -80,13 +79,6 @@ public abstract class AbstractStatsServiceTest {
         }
     };
 
-    /**
-     * default ctor
-     */
-    public AbstractStatsServiceTest() {
-        OpenflowPortsUtil.init();
-    }
-
     @Before
     public void init() throws Exception {
         Mockito.when(deviceContext.getPrimaryConnectionContext()).thenReturn(connectionContext);
index bedc24e4be18badd9bfc8e8b7bd077044537fcfc..16929cacb75a60c1866bbdfb04c2bfb48280420a 100644 (file)
@@ -31,7 +31,6 @@ import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.Messa
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
 import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
@@ -86,8 +85,6 @@ public abstract class AbstractDirectStatisticsServiceTest {
 
     @Before
     public void init() throws Exception {
-        OpenflowPortsUtil.init();
-
         nodeConnectorId = InventoryDataServiceUtil.nodeConnectorIdfromDatapathPortNo(
                 DATAPATH_ID, PORT_NO, OpenflowVersion.get(OF_VERSION));
 
index 6a4ef2ebc23f8f8e48a5347aa7d5b832bdc21c51..809cfce7ab136ada550a7f823a9b07824950b25d 100644 (file)
@@ -26,7 +26,6 @@ import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceState;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
@@ -85,10 +84,6 @@ public class PacketReceivedTranslatorTest {
     static final String DATA = "Test_Data";
     static final Long PORT_NUM_VALUE = 11l;
 
-    public PacketReceivedTranslatorTest() {
-        OpenflowPortsUtil.init();
-    }
-
     @Before
     public void setUp() throws Exception {
         final List<PhyPort> phyPorts = Arrays.asList(phyPort);
index 86f74d39e8ccecc63cc902ca2bbcabc788195ada..cc6e509e518b6a026a1c6961277724eceb47916b 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.openflowplugin.impl.util;
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -56,7 +55,6 @@ import org.opendaylight.openflowplugin.api.openflow.md.core.TranslatorKey;
 import org.opendaylight.openflowplugin.impl.device.DeviceContextImpl;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.TableKey;
@@ -143,7 +141,6 @@ public class DeviceInitializationUtilsTest {
 
     @Before
     public void setUp() throws Exception {
-        OpenflowPortsUtil.init();
         convertorManager = ConvertorManagerFactory.createDefaultManager();
 
         when(mockConnectionContext.getNodeId()).thenReturn(NODE_ID);
@@ -307,7 +304,6 @@ public class DeviceInitializationUtilsTest {
         final MultipartReplyMessage multipartReplyMessage = new MultipartReplyMessageBuilder().setMultipartReplyBody(multipartReplyPortDescCaseBuilder.build()).build();
         final Set<MultipartReply> multipartReplyMessages = Collections.<MultipartReply>singleton(multipartReplyMessage);
 
-        OpenflowPortsUtil.init();
         DeviceInitializationUtils.translateAndWriteReply(MultipartType.OFPMPPORTDESC, mockedDeviceContext, DUMMY_NODE_II, multipartReplyMessages, convertorManager);
         verify(mockedDeviceContext).writeToTransaction(eq(LogicalDatastoreType.OPERATIONAL),
                 Matchers.<InstanceIdentifier<NodeConnector>> any(), any(NodeConnector.class));
index 1afa39cb759e69f5958a44532e6207e30ac2d871..0e59ae063b5ebd9c659d3de2a0a48cdc9f1fc00b 100644 (file)
@@ -10,12 +10,10 @@ package org.opendaylight.openflowplugin.impl.util;
 import com.google.common.collect.Lists;
 import java.math.BigInteger;
 import junit.framework.TestCase;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.opendaylight.openflowplugin.api.OFConstants;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber;
@@ -70,12 +68,6 @@ public class NodeConnectorRefToPortTranslatorTest extends TestCase {
                 .build();
     }
 
-    @Before
-    public void setUp() throws Exception {
-        // Initialize the OpenFlow version/port map
-        OpenflowPortsUtil.init();
-    }
-
     @Test(expected = NullPointerException.class)
     public void testForNotNullablePacketInInGetPortNo() throws Exception {
         NodeConnectorRefToPortTranslator.getPortNoFromPacketIn(null);
index d13362ec9b53d00d6ab71798f93f236298dc2a1a..95c3717a4f9845c9f43cd03bccf8a77a78e95955 100644 (file)
@@ -52,7 +52,6 @@ import org.opendaylight.openflowplugin.openflow.md.core.translator.NotificationP
 import org.opendaylight.openflowplugin.openflow.md.core.translator.PacketInTranslator;
 import org.opendaylight.openflowplugin.openflow.md.core.translator.PacketInV10Translator;
 import org.opendaylight.openflowplugin.openflow.md.core.translator.PortStatusMessageToNodeConnectorUpdatedTranslator;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.NodeErrorNotification;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SwitchFlowRemoved;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.AggregateFlowStatisticsUpdate;
@@ -139,8 +138,6 @@ public class MDController implements IMDController, AutoCloseable {
     public void init() {
         LOG.debug("init");
 
-        OpenflowPortsUtil.init();
-
         messageTranslators = new ConcurrentHashMap<>();
         popListeners = new ConcurrentHashMap<>();
         //TODO: move registration to factory
@@ -406,7 +403,6 @@ public class MDController implements IMDController, AutoCloseable {
             switchConnectionPrv.setSwitchConnectionHandler(null);
         }
         switchConnectionProviders = null;
-        OpenflowPortsUtil.close();
         OFSessionUtil.releaseSessionManager();
         errorHandler = null;
     }
index fa2b8a8177827c6b6f8f089e15bda6cb957cfeb7..80556f37d7b81489b3dc1fbe1c1f02f9fb1b9b49 100644 (file)
@@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.opendaylight.controller.md.sal.binding.api.ReadTransaction;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
 import org.opendaylight.openflowplugin.openflow.md.core.session.OFSessionUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
@@ -38,7 +39,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public abstract class InventoryDataServiceUtil {
-    public static final  String OF_URI_PREFIX = "openflow:";
     private static final Splitter COLON_SPLITTER = Splitter.on(":");
     private static final Logger LOG = LoggerFactory.getLogger(InventoryDataServiceUtil.class);
 
@@ -106,11 +106,11 @@ public abstract class InventoryDataServiceUtil {
     public static NodeId nodeIdFromDatapathId(final BigInteger datapathId) {
         // FIXME: Convert to textual representation of datapathID
         String current = datapathId.toString();
-        return new NodeId(OF_URI_PREFIX + current);
+        return new NodeId(OFConstants.OF_URI_PREFIX + current);
     }
 
     public static BigInteger dataPathIdFromNodeId(final NodeId nodeId) {
-        String dpids = nodeId.getValue().replace(OF_URI_PREFIX, "");
+        String dpids = nodeId.getValue().replace(OFConstants.OF_URI_PREFIX, "");
         BigInteger dpid = new BigInteger(dpids);
         return dpid;
     }
@@ -127,7 +127,7 @@ public abstract class InventoryDataServiceUtil {
     public static NodeConnectorId nodeConnectorIdfromDatapathPortNo(final BigInteger datapathid, final Long portNo,
                                                                     final OpenflowVersion ofVersion) {
         String logicalName = OpenflowPortsUtil.getPortLogicalName(ofVersion, portNo);
-        return new NodeConnectorId(OF_URI_PREFIX + datapathid + ":" + (logicalName == null ? portNo : logicalName));
+        return new NodeConnectorId(OFConstants.OF_URI_PREFIX + datapathid + ":" + (logicalName == null ? portNo : logicalName));
     }
 
     public static Long portNumberfromNodeConnectorId(final OpenflowVersion ofVersion, final NodeConnectorId ncId) {
index 60f8f9ae8626c7ab2f5732577cc2e6fff8c38b6c..d502c0d6fb7dd0c00600e115541c27473cf11dc0 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.openflowplugin.openflow.md.util;
 
 import com.google.common.collect.ImmutableBiMap;
 import org.opendaylight.openflowjava.protocol.api.util.BinContent;
+import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.PortNumberUni;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.OutputPortValues;
@@ -24,31 +25,27 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
  * @author Kamal Rameshan on 5/2/14.
  */
 public class OpenflowPortsUtil {
+    private static final ImmutableBiMap<Short, ImmutableBiMap<String, Long>> versionPortMap;
+    private static final ImmutableBiMap<Short, ImmutableBiMap<Long, String>> versionInversePortMap;
 
-    static ImmutableBiMap<OpenflowVersion, ImmutableBiMap<String, Long>> versionPortMap;
-
-    static final String MAX = "MAX";
-
-    // the init gets called from MDController at the start
-    public static void init() {
-
+    static {
         // v1.0 ports
-        final ImmutableBiMap<String, Long> OFv10 = new ImmutableBiMap.Builder<String, Long>()
-                .put(OutputPortValues.MAX.toString(), Long.valueOf(PortNumberValuesV10.MAX.getIntValue())) //0xff00
-                .put(OutputPortValues.INPORT.toString(), Long.valueOf(PortNumberValuesV10.INPORT.getIntValue())) //0xfff8
-                .put(OutputPortValues.TABLE.toString(), Long.valueOf(PortNumberValuesV10.TABLE.getIntValue())) //0xfff9
-                .put(OutputPortValues.NORMAL.toString(), Long.valueOf(PortNumberValuesV10.NORMAL.getIntValue())) //0xfffa
-                .put(OutputPortValues.FLOOD.toString(), Long.valueOf(PortNumberValuesV10.FLOOD.getIntValue())) //0xfffb
-                .put(OutputPortValues.ALL.toString(), Long.valueOf(PortNumberValuesV10.ALL.getIntValue())) //0xfffc
-                .put(OutputPortValues.CONTROLLER.toString(), Long.valueOf(PortNumberValuesV10.CONTROLLER.getIntValue())) //0xfffd
-                .put(OutputPortValues.LOCAL.toString(), Long.valueOf(PortNumberValuesV10.LOCAL.getIntValue())) //0xfffe
-                .put(OutputPortValues.NONE.toString(), Long.valueOf(PortNumberValuesV10.NONE.getIntValue())) //0xffff
+        final ImmutableBiMap<String, Long> ofv10ports = new ImmutableBiMap.Builder<String, Long>()
+                .put(OutputPortValues.MAX.toString(), (long) PortNumberValuesV10.MAX.getIntValue()) //0xff00
+                .put(OutputPortValues.INPORT.toString(), (long) PortNumberValuesV10.INPORT.getIntValue()) //0xfff8
+                .put(OutputPortValues.TABLE.toString(), (long) PortNumberValuesV10.TABLE.getIntValue()) //0xfff9
+                .put(OutputPortValues.NORMAL.toString(), (long) PortNumberValuesV10.NORMAL.getIntValue()) //0xfffa
+                .put(OutputPortValues.FLOOD.toString(), (long) PortNumberValuesV10.FLOOD.getIntValue()) //0xfffb
+                .put(OutputPortValues.ALL.toString(), (long) PortNumberValuesV10.ALL.getIntValue()) //0xfffc
+                .put(OutputPortValues.CONTROLLER.toString(), (long) PortNumberValuesV10.CONTROLLER.getIntValue()) //0xfffd
+                .put(OutputPortValues.LOCAL.toString(), (long) PortNumberValuesV10.LOCAL.getIntValue()) //0xfffe
+                .put(OutputPortValues.NONE.toString(), (long) PortNumberValuesV10.NONE.getIntValue()) //0xffff
                 .build();
 
         // openflow 1.3 reserved ports.
         // PortNumberValues are defined in OFJava yang. And yang maps an int to all enums. Hence we need to create longs from (-ve) ints
         // TODO: do we need to define these ports in yang?
-        final ImmutableBiMap<String, Long> OFv13 = new ImmutableBiMap.Builder<String, Long>()
+        final ImmutableBiMap<String, Long> ofv13ports = new ImmutableBiMap.Builder<String, Long>()
                 .put(OutputPortValues.MAX.toString(), BinContent.intToUnsignedLong(PortNumberValues.MAX.getIntValue())) //0xffffff00
                 .put(OutputPortValues.INPORT.toString(), BinContent.intToUnsignedLong(PortNumberValues.INPORT.getIntValue())) //0xfffffff8
                 .put(OutputPortValues.TABLE.toString(), BinContent.intToUnsignedLong(PortNumberValues.TABLE.getIntValue())) //0xfffffff9
@@ -60,30 +57,29 @@ public class OpenflowPortsUtil {
                 .put(OutputPortValues.ANY.toString(), BinContent.intToUnsignedLong(PortNumberValues.ANY.getIntValue())) //0xffffffff
                 .build();
 
-        versionPortMap = new ImmutableBiMap.Builder<OpenflowVersion, ImmutableBiMap<String, Long>>()
-                .put(OpenflowVersion.OF10, OFv10)
-                .put(OpenflowVersion.OF13, OFv13)
+        versionPortMap = new ImmutableBiMap.Builder<Short, ImmutableBiMap<String, Long>>()
+                .put(OFConstants.OFP_VERSION_1_0, ofv10ports)
+                .put(OFConstants.OFP_VERSION_1_3, ofv13ports)
                 .build();
 
+        versionInversePortMap = new ImmutableBiMap.Builder<Short, ImmutableBiMap<Long, String>>()
+                .put(OFConstants.OFP_VERSION_1_0, ofv10ports.inverse())
+                .put(OFConstants.OFP_VERSION_1_3, ofv13ports.inverse())
+                .build();
     }
 
-    public static void close() {
-        versionPortMap = null;
-    }
-
-    public static String getPortLogicalName(final short ofVersion, final long portNumber) {
-        return versionPortMap.get(OpenflowVersion.get(ofVersion)).inverse().get(portNumber);
+    public static String getPortLogicalName(final short ofVersion, final Long portNumber) {
+        return versionInversePortMap.get(ofVersion).get(portNumber);
     }
 
     public static String getPortLogicalName(final OpenflowVersion ofVersion, final Long portNumber) {
-        if (ofVersion.equals(OpenflowVersion.UNSUPPORTED)) {
-            return null;
-        }
-        return versionPortMap.get(ofVersion).inverse().get(portNumber);
+        return ofVersion.equals(OpenflowVersion.UNSUPPORTED)
+                ? null
+                : getPortLogicalName(ofVersion.getVersion(), portNumber);
     }
 
     public static Long getPortFromLogicalName(final OpenflowVersion ofVersion, final String logicalNameOrPort) {
-        Long port = versionPortMap.get(ofVersion).get(logicalNameOrPort);
+        Long port = versionPortMap.get(ofVersion.getVersion()).get(logicalNameOrPort);
         if (port == null) {
             try {
                 port = Long.decode(logicalNameOrPort);
@@ -99,26 +95,26 @@ public class OpenflowPortsUtil {
 
     public static PortNumberUni getProtocolAgnosticPort(final OpenflowVersion ofVersion, final Long portNumber) {
         final String reservedPortLogicalName = getPortLogicalName(ofVersion, portNumber);
-        return (reservedPortLogicalName == null ? new PortNumberUni(portNumber) :
-                new PortNumberUni(reservedPortLogicalName));
+
+        return reservedPortLogicalName == null
+                ? new PortNumberUni(portNumber)
+                : new PortNumberUni(reservedPortLogicalName);
     }
 
     public static Long getProtocolPortNumber(final OpenflowVersion ofVersion, final PortNumberUni port) {
         final String portLogicalName = port.getString();
 
-        if (portLogicalName != null) {
-            return versionPortMap.get(ofVersion).get(portLogicalName);
-        } else {
-            return port.getUint32();
-        }
+        return portLogicalName != null
+                ? versionPortMap.get(ofVersion.getVersion()).get(portLogicalName)
+                : port.getUint32();
     }
 
     public static Long getMaxPortForVersion(final OpenflowVersion ofVersion) {
-        return getPortFromLogicalName(ofVersion, MAX);
+        return getPortFromLogicalName(ofVersion, OutputPortValues.MAX.getName());
     }
 
     public static boolean isPortReserved(final OpenflowVersion ofVersion, final Long portNumber) {
-        return versionPortMap.get(ofVersion).inverse().containsKey(portNumber);
+        return versionInversePortMap.get(ofVersion.getVersion()).containsKey(portNumber);
     }
 
     /**
@@ -132,8 +128,8 @@ public class OpenflowPortsUtil {
             portIsValid = false;
         } else if (portNumber < 0) {
             portIsValid = false;
-        } else if (portNumber > OpenflowPortsUtil.getMaxPortForVersion(ofVersion)) {
-            if (!OpenflowPortsUtil.isPortReserved(ofVersion, portNumber)) {
+        } else if (portNumber > getMaxPortForVersion(ofVersion)) {
+            if (!isPortReserved(ofVersion, portNumber)) {
                 portIsValid = false;
             }
         }
index 1d551876e736d50a9330c9c81d9303a20bcc637c..36d2e38ad4f856e87613701688a2c8043634ff6c 100644 (file)
@@ -38,7 +38,6 @@ import org.opendaylight.openflowplugin.api.openflow.statistics.MessageSpy;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
 import org.opendaylight.openflowplugin.openflow.md.core.session.OFSessionUtil;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowHashIdMapping;
@@ -206,9 +205,6 @@ public class ModelDrivenSwitchImplTest {
         Mockito.when(rwTx.read(Matchers.<LogicalDatastoreType>any(), Matchers.<InstanceIdentifier<FlowHashIdMapping>>any())).thenReturn(dummyReadFuture);
         Mockito.when(dataBroker.newReadWriteTransaction()).thenReturn(rwTx);
 
-
-        OpenflowPortsUtil.init();
-
         final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager();
         mdSwitchOF10 = new ModelDrivenSwitchImpl(null, null, context, convertorManager);
         mdSwitchOF13 = new ModelDrivenSwitchImpl(null, null, context, convertorManager);
index 92acc97320cbba66dcf4f66b28928d1c012668c7..89fc1a2547321a81047b2f899cfa5ee9eab29962 100644 (file)
@@ -16,7 +16,6 @@ import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlInCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.GroupActionCase;
@@ -367,8 +366,6 @@ public class GroupConvertorTest {
                         .build())
                 .build();
 
-        OpenflowPortsUtil.init();
-
         VersionDatapathIdConvertorData data = new VersionDatapathIdConvertorData((short) 0X4);
         data.setDatapathId(BigInteger.valueOf(1));
 
index ca5909d6935bb6eb6a74c8a965bd0190a23f7a1c..18862216f215b76552e4793a95dd47042b7d21aa 100644 (file)
@@ -22,7 +22,6 @@ import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionConvertorData;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.PacketOutConvertorData;\r
 import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.OutputActionCaseBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.output.action._case.OutputActionBuilder;\r
@@ -56,7 +55,6 @@ public class PacketOutConvertorTest {
 \r
     @Before\r
     public void setUp() {\r
-        OpenflowPortsUtil.init();\r
         convertorManager = ConvertorManagerFactory.createDefaultManager();\r
     }\r
 \r
@@ -167,8 +165,6 @@ public class PacketOutConvertorTest {
         BigInteger datapathId = new BigInteger(1, datapathIdByte);\r
         Long xid = 0xfffffL;\r
 \r
-        OpenflowPortsUtil.init();\r
-\r
         PacketOutConvertorData data = new PacketOutConvertorData(version);\r
         data.setXid(xid);\r
         data.setDatapathId(datapathId);\r
index 99a847487e386e56c62eeeed32cf4e65fd757415..dace439016dc008210e585a9f9a341732a1eb19a 100644 (file)
@@ -13,12 +13,10 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 import org.junit.Assert;
-import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionConvertorData;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlInCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlOutCaseBuilder;
@@ -83,14 +81,6 @@ public class ActionConvertorTest {
     List<Action> actions = new ArrayList<>();
     static Integer actionItem = 0;
 
-    /**
-     * prepare OpenflowPortsUtil util class
-     */
-    @Before
-    public void setUp() {
-        OpenflowPortsUtil.init();
-    }
-
     @Test
     public void testActionConvertorwithallParameters() {
         OutputActionData();
index f88207c7b2d78cda2b4e3b3c3c7aa56b6f3de8f3..aabb6f720a9b0b2e7be6a065df7d27a2cb401673 100644 (file)
@@ -23,7 +23,6 @@ import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorM
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionConvertorData;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionResponseConvertorData;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.flow.FlowConvertorUtil;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpVersion;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;\r
@@ -294,12 +293,10 @@ public class ActionConvertorV10Test {
      */\r
     @Test\r
     public void testToMDSalActions() {\r
-        OpenflowPortsUtil.init();\r
-\r
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action> actions = new ArrayList<>();\r
         org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder actionbuilder = \r
                 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder();\r
-        \r
+\r
         OutputActionCaseBuilder caseBuilder = new OutputActionCaseBuilder();\r
         OutputActionBuilder outputBuilder = new OutputActionBuilder();\r
         outputBuilder.setPort(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber(14L));\r
index fc6839fbc8aa1f3afacd1c0df6652af44227cf14..f1df444145dbff900f85e25cb4de6c222aa86051 100644 (file)
@@ -23,7 +23,6 @@ import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorM
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionConvertorData;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionResponseConvertorData;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.flow.FlowConvertorUtil;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;\r
@@ -147,7 +146,6 @@ public class ActionConvertorV13Test {
      */\r
     @Test\r
     public void testToMDSalActions2() {\r
-        OpenflowPortsUtil.init();\r
         List<Action> actions = new ArrayList<>();\r
 \r
         ActionBuilder actionBuilder = new ActionBuilder();\r
index 184012c13c3fb8101630afc0b069cf1a85248d2f..34a5f6619d182a2d209c8be613a10bc38ffd4804 100644 (file)
@@ -15,7 +15,6 @@ import org.junit.Before;
 import org.junit.Test;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;\r
@@ -155,7 +154,6 @@ public class MatchConvertorImpl2Test {
      */\r
     @Before\r
     public void startUp() {\r
-        OpenflowPortsUtil.init();\r
         convertorManager = ConvertorManagerFactory.createDefaultManager();\r
     }\r
 \r
index 639d6f31c11c51fb725b95da7307f3f483e13339..a042c35de642c1b6beba65ab89e7ed7483ba3b34 100644 (file)
@@ -15,7 +15,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpVersion;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
@@ -64,7 +63,6 @@ public class MatchConvertorV10ImplTest {
 
     @Before
     public void setup() {
-        OpenflowPortsUtil.init();
         convertorManager = ConvertorManagerFactory.createDefaultManager();
     }
 
index e91667ca88f3679d2f11add55fbe9870b7eba922..14f488c1c31f03fb2c46baa88459d7262faf9e84 100644 (file)
@@ -169,7 +169,6 @@ public class MatchResponseConvertor2Test {
      */\r
     @Before\r
     public void startUp() {\r
-        OpenflowPortsUtil.init();\r
         convertorManager = ConvertorManagerFactory.createDefaultManager();\r
     }\r
 \r
index c945cd4c8ad97b0d3dfcca06e27feb419301c4ef..d7ff04dda0bedfde50a8f38aebbd00d0c902f7be 100644 (file)
@@ -21,7 +21,6 @@ import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;
@@ -81,7 +80,6 @@ public class MatchResponseConvertorTest {
 
     @Before
     public void setUp() {
-        OpenflowPortsUtil.init();
         convertorManager = ConvertorManagerFactory.createDefaultManager();
     }
 
index ffdc5032966a8daad1cb4b437f7db2df4da977f9..176fcd1b133dc96bdae930ed0b6a29ab8b93f63c 100644 (file)
@@ -17,7 +17,6 @@ import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;\r
@@ -45,7 +44,6 @@ public class MatchV10ResponseConvertorTest {
      */\r
     @Before\r
     public void startUp() {\r
-        OpenflowPortsUtil.init();\r
         convertorManager = ConvertorManagerFactory.createDefaultManager();\r
     }\r
 \r
index a78d2a3fc07e35ada1c87869bcc85c63e582a6d3..c537a6b916faf5416f2e41dc954f9cf9bf1a18bd 100644 (file)
@@ -9,11 +9,11 @@
 package org.opendaylight.openflowplugin.openflow.md.core.translator;
 
 import static org.mockito.Mockito.when;
+
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
 import junit.framework.TestCase;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -21,7 +21,6 @@ import org.mockito.runners.MockitoJUnitRunner;
 import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDistinguisher;
 import org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ActionTypeV10;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.Capabilities;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.CapabilitiesV10;
@@ -50,11 +49,6 @@ public class FeaturesV10ToNodeConnectorUpdatedTranslatorTest extends TestCase {
     @Mock
     GetFeaturesOutput featuresOutput;
 
-    @Before
-    public void setup() {
-        OpenflowPortsUtil.init();
-    }
-
     @Test
     /**
      * Test method for basic functionality of {@link FeaturesV10ToNodeConnectorUpdatedTranslator#translate(org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDistinguisher, org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader)}
index 629433734987280424e678f31e7d0c10ce8c1844..56a8cbf54bf6ede0a642ac9a2dd43504524b40ab 100644 (file)
@@ -29,7 +29,6 @@ import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorM
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
 import org.opendaylight.openflowplugin.openflow.md.core.session.SessionManagerOFImpl;
 import org.opendaylight.openflowplugin.openflow.md.util.ByteUtil;
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
@@ -546,7 +545,6 @@ public class FlowRemovedTranslatorTest {
         when(connectionConductor.getVersion()).thenReturn(OFConstants.OFP_VERSION_1_3);
         when(sessionContext.getFeatures()).thenReturn(featuresOutput);
         when(featuresOutput.getDatapathId()).thenReturn(DATA_PATH_ID);
-        OpenflowPortsUtil.init();
         ExtensionConverterManagerImpl extensionConverterProvider = new ExtensionConverterManagerImpl();
         //extensionConverterProvider.registerMatchConvertor()
         SessionManagerOFImpl.getInstance().setExtensionConverterProvider(extensionConverterProvider);
index cdb3cdf8bace9a9e5364d080219212820f7fa301..8caa53716762305ee04ecedfd978d580cbb23dbc 100644 (file)
@@ -13,7 +13,6 @@ import static org.mockito.Mockito.when;
 import java.math.BigInteger;\r
 import java.util.ArrayList;\r
 import java.util.List;\r
-\r
 import org.junit.Assert;\r
 import org.junit.Before;\r
 import org.junit.Test;\r
@@ -22,7 +21,6 @@ import org.mockito.MockitoAnnotations;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;\r
 import org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDistinguisher;\r
 import org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnectorUpdated;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorUpdated;\r
@@ -63,7 +61,6 @@ public class MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest {
         MockitoAnnotations.initMocks(this);\r
         when(sc.getFeatures()).thenReturn(features);\r
         when(features.getDatapathId()).thenReturn(new BigInteger("42"));\r
-        OpenflowPortsUtil.init();\r
     }\r
 \r
     /**\r
@@ -207,4 +204,4 @@ public class MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest {
         Assert.assertEquals("Wrong current speed", 120, flowCapable.getCurrentSpeed().intValue());\r
         Assert.assertEquals("Wrong max speed", 130, flowCapable.getMaximumSpeed().intValue());\r
     }\r
-}
+}\r
index eec1af26c7379f50bfe76db201c147e2e223fbdd..47628e7005eabb6cf1bae22b793983963207bb93 100644 (file)
@@ -26,7 +26,6 @@ import org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDist
 import org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;\r
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.FlowTableStatisticsUpdate;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.flow.table.and.statistics.map.FlowTableAndStatisticsMap;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartRequestFlags;\r
@@ -79,7 +78,6 @@ public class MultipartReplyTranslatorThirdTest {
         when(conductor.getVersion()).thenReturn((short) EncodeConstants.OF13_VERSION_ID);\r
         when(sc.getFeatures()).thenReturn(features);\r
         when(features.getDatapathId()).thenReturn(new BigInteger("42"));\r
-        OpenflowPortsUtil.init();\r
     }\r
 \r
     /**\r
index a31d89fd89b51cd0027b82705381602ab08e265f..ee4216f69c7364911f296211a33f2ff0c4dfb5c8 100644 (file)
@@ -32,7 +32,6 @@ import org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductorImpl;
 import org.opendaylight.openflowplugin.openflow.md.core.session.SessionContextOFImpl;\r
 import org.opendaylight.openflowplugin.openflow.md.core.session.SwitchConnectionCookieOFImpl;\r
 import org.opendaylight.openflowplugin.openflow.md.queue.QueueProcessorLightImpl;\r
-import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutputBuilder;\r
@@ -70,7 +69,6 @@ public class PacketInV10TranslatorTest {
         when(conductor.getVersion()).thenReturn((short) EncodeConstants.OF10_VERSION_ID);\r
         when(sc.getFeatures()).thenReturn(features);\r
         when(features.getDatapathId()).thenReturn(new BigInteger("42"));\r
-        OpenflowPortsUtil.init();\r
 \r
         cookie = settingCookie();\r
         data = messageData();\r
@@ -166,7 +164,6 @@ public class PacketInV10TranslatorTest {
         sessionContextOFImpl.setFeatures(featuresOutput);\r
         sessionContextOFImpl.setPrimaryConductor(conductor);\r
         PacketInV10Translator packetInV10Translator = new PacketInV10Translator();\r
-        OpenflowPortsUtil.init();\r
         List<DataObject> salPacketIn = packetInV10Translator.translate(cookie,\r
                 sessionContextOFImpl, message);\r
 \r
index 24e3a829e8d847bbc4aa2f20086316c40144d060..fa4fa11baacb739fbfa89b13d36495ecfd3d4046 100644 (file)
@@ -66,7 +66,6 @@ public class InventoryDataServiceUtilTest {
         when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);
         when(readOnlyTransaction.read(Mockito.any(LogicalDatastoreType.class), Mockito.<InstanceIdentifier<Nodes>>any())).thenReturn(Futures.immediateCheckedFuture(Optional.of(nodes)));
 
-        OpenflowPortsUtil.init();
         OFSessionUtil.getSessionManager().setDataBroker(dataBroker);
 
     }
index 6aff6c3f8324332ce145024bd9145b1a68a0e3b4..54e12ecdf39274c1c52cb3876e22c84ba4f106ac 100644 (file)
@@ -31,8 +31,6 @@ public class OpenflowPortsUtilTest {
      */
     @BeforeClass
     public static void setupClass() {
-        OpenflowPortsUtil.init();
-
         mapOF10Ports = new HashMap<String, Long>();
         mapOF10Ports.put(OutputPortValues.MAX.toString(), 65280L);
         mapOF10Ports.put(OutputPortValues.INPORT.toString(), 65528L);
@@ -66,7 +64,6 @@ public class OpenflowPortsUtilTest {
      */
     @AfterClass
     public static void tearDownClass() {
-        OpenflowPortsUtil.close();
         mapOF10Ports.clear();
         mapOF13Ports.clear();
         mapVersionToPorts.clear();
index 56abed670c25fd27b2b5016a7bee47857dc22b48..b25d3160ec9b77ce5649446b07be01221a394b57 100644 (file)
@@ -11,8 +11,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
+
 import java.math.BigInteger;
-import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
@@ -39,11 +39,6 @@ public class PortTranslatorUtilTest {
     private final Long currentSpeed = Long.decode("4294967295");
     private static final Long maxSpeed = Long.decode("4294967295");
 
-    @Before
-    public void setupEnvironment(){
-        OpenflowPortsUtil.init();
-    }
-
     /**
      * Test  method for {@link PortTranslatorUtil#translatePortFeatures(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortFeatures)}
      */