From: Tomas Slusny Date: Thu, 27 Oct 2016 08:33:32 +0000 (+0200) Subject: Optimize port number lookups X-Git-Tag: release/carbon~126 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;ds=sidebyside;h=7acab16585770656cf65a826a4bbd9eee31a8822;p=openflowplugin.git Optimize port number lookups - 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 --- diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderFactoryImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderFactoryImpl.java index c9cb514b7e..cd7cde7b6f 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderFactoryImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderFactoryImpl.java @@ -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(), diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImplTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImplTest.java index 35cc8356db..c2271fceb9 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImplTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImplTest.java @@ -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.any(), Mockito.any(), any()); verify(deviceContextSpy).submitTransaction(); diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImplTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImplTest.java index 82ee4b0672..33e54b4d7c 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImplTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImplTest.java @@ -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 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); diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/PacketProcessingServiceImplTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/PacketProcessingServiceImplTest.java index 8438f00966..0168cda4f9 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/PacketProcessingServiceImplTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/PacketProcessingServiceImplTest.java @@ -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 diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java index 5ab810539e..b531cbd950 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java @@ -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 result = singlePurposeMultipartReplyTranslator.translate( mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getDatapathId(), mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getVersion(), diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtilsTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtilsTest.java index e5cfea5b89..2268326526 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtilsTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtilsTest.java @@ -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(); diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/AbstractStatsServiceTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/AbstractStatsServiceTest.java index 3a8f42c4f9..cb50942d19 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/AbstractStatsServiceTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/AbstractStatsServiceTest.java @@ -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); diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/direct/AbstractDirectStatisticsServiceTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/direct/AbstractDirectStatisticsServiceTest.java index bedc24e4be..16929cacb7 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/direct/AbstractDirectStatisticsServiceTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/services/direct/AbstractDirectStatisticsServiceTest.java @@ -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)); diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/translator/PacketReceivedTranslatorTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/translator/PacketReceivedTranslatorTest.java index 6a4ef2ebc2..809cfce7ab 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/translator/PacketReceivedTranslatorTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/translator/PacketReceivedTranslatorTest.java @@ -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 phyPorts = Arrays.asList(phyPort); diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/DeviceInitializationUtilsTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/DeviceInitializationUtilsTest.java index 86f74d39e8..cc6e509e51 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/DeviceInitializationUtilsTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/DeviceInitializationUtilsTest.java @@ -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 multipartReplyMessages = Collections.singleton(multipartReplyMessage); - OpenflowPortsUtil.init(); DeviceInitializationUtils.translateAndWriteReply(MultipartType.OFPMPPORTDESC, mockedDeviceContext, DUMMY_NODE_II, multipartReplyMessages, convertorManager); verify(mockedDeviceContext).writeToTransaction(eq(LogicalDatastoreType.OPERATIONAL), Matchers.> any(), any(NodeConnector.class)); diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/NodeConnectorRefToPortTranslatorTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/NodeConnectorRefToPortTranslatorTest.java index 1afa39cb75..0e59ae063b 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/NodeConnectorRefToPortTranslatorTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/NodeConnectorRefToPortTranslatorTest.java @@ -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); diff --git a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/MDController.java b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/MDController.java index d13362ec9b..95c3717a4f 100644 --- a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/MDController.java +++ b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/MDController.java @@ -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; } diff --git a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtil.java b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtil.java index fa2b8a8177..80556f37d7 100644 --- a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtil.java +++ b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtil.java @@ -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) { diff --git a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtil.java b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtil.java index 60f8f9ae86..d502c0d6fb 100644 --- a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtil.java +++ b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtil.java @@ -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> versionPortMap; + private static final ImmutableBiMap> versionInversePortMap; - static ImmutableBiMap> 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 OFv10 = new ImmutableBiMap.Builder() - .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 ofv10ports = new ImmutableBiMap.Builder() + .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 OFv13 = new ImmutableBiMap.Builder() + final ImmutableBiMap ofv13ports = new ImmutableBiMap.Builder() .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>() - .put(OpenflowVersion.OF10, OFv10) - .put(OpenflowVersion.OF13, OFv13) + versionPortMap = new ImmutableBiMap.Builder>() + .put(OFConstants.OFP_VERSION_1_0, ofv10ports) + .put(OFConstants.OFP_VERSION_1_3, ofv13ports) .build(); + versionInversePortMap = new ImmutableBiMap.Builder>() + .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; } } diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/ModelDrivenSwitchImplTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/ModelDrivenSwitchImplTest.java index 1d551876e7..36d2e38ad4 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/ModelDrivenSwitchImplTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/ModelDrivenSwitchImplTest.java @@ -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.any(), Matchers.>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); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupConvertorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupConvertorTest.java index 92acc97320..89fc1a2547 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupConvertorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupConvertorTest.java @@ -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)); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertorTest.java index ca5909d693..18862216f2 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertorTest.java @@ -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; import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.PacketOutConvertorData; import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil; -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.OutputActionCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.output.action._case.OutputActionBuilder; @@ -56,7 +55,6 @@ public class PacketOutConvertorTest { @Before public void setUp() { - OpenflowPortsUtil.init(); convertorManager = ConvertorManagerFactory.createDefaultManager(); } @@ -167,8 +165,6 @@ public class PacketOutConvertorTest { BigInteger datapathId = new BigInteger(1, datapathIdByte); Long xid = 0xfffffL; - OpenflowPortsUtil.init(); - PacketOutConvertorData data = new PacketOutConvertorData(version); data.setXid(xid); data.setDatapathId(datapathId); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorTest.java index 99a847487e..dace439016 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorTest.java @@ -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 actions = new ArrayList<>(); static Integer actionItem = 0; - /** - * prepare OpenflowPortsUtil util class - */ - @Before - public void setUp() { - OpenflowPortsUtil.init(); - } - @Test public void testActionConvertorwithallParameters() { OutputActionData(); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV10Test.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV10Test.java index f88207c7b2..aabb6f720a 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV10Test.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV10Test.java @@ -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; import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionResponseConvertorData; import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.flow.FlowConvertorUtil; -import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil; 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.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; @@ -294,12 +293,10 @@ public class ActionConvertorV10Test { */ @Test public void testToMDSalActions() { - OpenflowPortsUtil.init(); - List actions = new ArrayList<>(); org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder actionbuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder(); - + OutputActionCaseBuilder caseBuilder = new OutputActionCaseBuilder(); OutputActionBuilder outputBuilder = new OutputActionBuilder(); outputBuilder.setPort(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber(14L)); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV13Test.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV13Test.java index fc6839fbc8..f1df444145 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV13Test.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertorV13Test.java @@ -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; import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.data.ActionResponseConvertorData; import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.flow.FlowConvertorUtil; -import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; @@ -147,7 +146,6 @@ public class ActionConvertorV13Test { */ @Test public void testToMDSalActions2() { - OpenflowPortsUtil.init(); List actions = new ArrayList<>(); ActionBuilder actionBuilder = new ActionBuilder(); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorImpl2Test.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorImpl2Test.java index 184012c13c..34a5f6619d 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorImpl2Test.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorImpl2Test.java @@ -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.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; @@ -155,7 +154,6 @@ public class MatchConvertorImpl2Test { */ @Before public void startUp() { - OpenflowPortsUtil.init(); convertorManager = ConvertorManagerFactory.createDefaultManager(); } diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorV10ImplTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorV10ImplTest.java index 639d6f31c1..a042c35de6 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorV10ImplTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorV10ImplTest.java @@ -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(); } diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertor2Test.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertor2Test.java index e91667ca88..14f488c1c3 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertor2Test.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertor2Test.java @@ -169,7 +169,6 @@ public class MatchResponseConvertor2Test { */ @Before public void startUp() { - OpenflowPortsUtil.init(); convertorManager = ConvertorManagerFactory.createDefaultManager(); } diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertorTest.java index c945cd4c8a..d7ff04dda0 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchResponseConvertorTest.java @@ -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(); } diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchV10ResponseConvertorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchV10ResponseConvertorTest.java index ffdc503296..176fcd1b13 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchV10ResponseConvertorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchV10ResponseConvertorTest.java @@ -17,7 +17,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; @@ -45,7 +44,6 @@ public class MatchV10ResponseConvertorTest { */ @Before public void startUp() { - OpenflowPortsUtil.init(); convertorManager = ConvertorManagerFactory.createDefaultManager(); } diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FeaturesV10ToNodeConnectorUpdatedTranslatorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FeaturesV10ToNodeConnectorUpdatedTranslatorTest.java index a78d2a3fc0..c537a6b916 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FeaturesV10ToNodeConnectorUpdatedTranslatorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FeaturesV10ToNodeConnectorUpdatedTranslatorTest.java @@ -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)} diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FlowRemovedTranslatorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FlowRemovedTranslatorTest.java index 6294337349..56a8cbf54b 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FlowRemovedTranslatorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/FlowRemovedTranslatorTest.java @@ -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); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest.java index cdb3cdf8ba..8caa537167 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest.java @@ -13,7 +13,6 @@ import static org.mockito.Mockito.when; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; - import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -22,7 +21,6 @@ import org.mockito.MockitoAnnotations; import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; 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.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnectorUpdated; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorUpdated; @@ -63,7 +61,6 @@ public class MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest { MockitoAnnotations.initMocks(this); when(sc.getFeatures()).thenReturn(features); when(features.getDatapathId()).thenReturn(new BigInteger("42")); - OpenflowPortsUtil.init(); } /** @@ -207,4 +204,4 @@ public class MultiPartReplyPortToNodeConnectorUpdatedTranslatorTest { Assert.assertEquals("Wrong current speed", 120, flowCapable.getCurrentSpeed().intValue()); Assert.assertEquals("Wrong max speed", 130, flowCapable.getMaximumSpeed().intValue()); } -} +} diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultipartReplyTranslatorThirdTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultipartReplyTranslatorThirdTest.java index eec1af26c7..47628e7005 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultipartReplyTranslatorThirdTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultipartReplyTranslatorThirdTest.java @@ -26,7 +26,6 @@ import org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDist import org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext; 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.table.statistics.rev131215.FlowTableStatisticsUpdate; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.flow.table.and.statistics.map.FlowTableAndStatisticsMap; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartRequestFlags; @@ -79,7 +78,6 @@ public class MultipartReplyTranslatorThirdTest { when(conductor.getVersion()).thenReturn((short) EncodeConstants.OF13_VERSION_ID); when(sc.getFeatures()).thenReturn(features); when(features.getDatapathId()).thenReturn(new BigInteger("42")); - OpenflowPortsUtil.init(); } /** diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/PacketInV10TranslatorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/PacketInV10TranslatorTest.java index a31d89fd89..ee4216f69c 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/PacketInV10TranslatorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/translator/PacketInV10TranslatorTest.java @@ -32,7 +32,6 @@ import org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductorImpl; import org.opendaylight.openflowplugin.openflow.md.core.session.SessionContextOFImpl; import org.opendaylight.openflowplugin.openflow.md.core.session.SwitchConnectionCookieOFImpl; import org.opendaylight.openflowplugin.openflow.md.queue.QueueProcessorLightImpl; -import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutputBuilder; @@ -70,7 +69,6 @@ public class PacketInV10TranslatorTest { when(conductor.getVersion()).thenReturn((short) EncodeConstants.OF10_VERSION_ID); when(sc.getFeatures()).thenReturn(features); when(features.getDatapathId()).thenReturn(new BigInteger("42")); - OpenflowPortsUtil.init(); cookie = settingCookie(); data = messageData(); @@ -166,7 +164,6 @@ public class PacketInV10TranslatorTest { sessionContextOFImpl.setFeatures(featuresOutput); sessionContextOFImpl.setPrimaryConductor(conductor); PacketInV10Translator packetInV10Translator = new PacketInV10Translator(); - OpenflowPortsUtil.init(); List salPacketIn = packetInV10Translator.translate(cookie, sessionContextOFImpl, message); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtilTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtilTest.java index 24e3a829e8..fa4fa11baa 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtilTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtilTest.java @@ -66,7 +66,6 @@ public class InventoryDataServiceUtilTest { when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction); when(readOnlyTransaction.read(Mockito.any(LogicalDatastoreType.class), Mockito.>any())).thenReturn(Futures.immediateCheckedFuture(Optional.of(nodes))); - OpenflowPortsUtil.init(); OFSessionUtil.getSessionManager().setDataBroker(dataBroker); } diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtilTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtilTest.java index 6aff6c3f83..54e12ecdf3 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtilTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/OpenflowPortsUtilTest.java @@ -31,8 +31,6 @@ public class OpenflowPortsUtilTest { */ @BeforeClass public static void setupClass() { - OpenflowPortsUtil.init(); - mapOF10Ports = new HashMap(); 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(); diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/PortTranslatorUtilTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/PortTranslatorUtilTest.java index 56abed670c..b25d3160ec 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/PortTranslatorUtilTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/util/PortTranslatorUtilTest.java @@ -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)} */