Remove ServiceLoaderRSVPExtensionProviderContext 28/96728/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Jun 2021 10:49:35 +0000 (12:49 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Jun 2021 11:17:01 +0000 (13:17 +0200)
Carrying global static state is ill-advised, remove
ServiceLoaderRSVPExtensionProviderContext as it is superseded
through normal injection mechanisms.

Change-Id: I0996b3fb5dc69153def89fd4e57beea4c9e4054b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/ActivatorTest.java
bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/LinkstateNlriParserTest.java
bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/SrAttributeParserTest.java
rsvp/spi/src/main/java/org/opendaylight/protocol/rsvp/parser/spi/pojo/ServiceLoaderRSVPExtensionProviderContext.java [deleted file]
rsvp/spi/src/main/java/org/opendaylight/protocol/rsvp/parser/spi/pojo/SimpleRSVPExtensionProviderContext.java
rsvp/spi/src/test/java/org/opendaylight/protocol/rsvp/parser/spi/pojo/SimpleRSVPExtensionProviderContextTest.java [moved from rsvp/spi/src/test/java/org/opendaylight/protocol/rsvp/parser/spi/pojo/ServiceLoaderRSVPExtensionProviderContextTest.java with 97% similarity]

index c64e6e2a89cb3a03fd81f09d1b468cf78f098176..c23797af3b9ec04729452b996d18f7c6b7f90e4b 100644 (file)
@@ -19,14 +19,14 @@ import org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleBGPExtensionProviderC
 import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBActivatorTest;
 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderContext;
 import org.opendaylight.protocol.bgp.rib.spi.SimpleRIBExtensionProviderContext;
-import org.opendaylight.protocol.rsvp.parser.spi.pojo.ServiceLoaderRSVPExtensionProviderContext;
+import org.opendaylight.protocol.rsvp.parser.spi.pojo.SimpleRSVPExtensionProviderContext;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.LinkstateAddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.LinkstateSubsequentAddressFamily;
 
 public class ActivatorTest extends AbstractRIBActivatorTest {
     @Test
     public void testActivator() {
-        final BGPActivator act = new BGPActivator(ServiceLoaderRSVPExtensionProviderContext.getSingletonInstance());
+        final BGPActivator act = new BGPActivator(new SimpleRSVPExtensionProviderContext());
         final BGPExtensionProviderContext context = new SimpleBGPExtensionProviderContext();
         assertNull(context.getAddressFamilyRegistry().classForFamily(16388));
         assertNull(context.getSubsequentAddressFamilyRegistry().classForFamily(71));
index 8dac9906deb848642743dff65186fb93c757b687..fe66d34c0c2eed766be430825563c0f8a91d5051 100644 (file)
@@ -28,7 +28,7 @@ import org.opendaylight.protocol.bgp.linkstate.spi.pojo.SimpleNlriTypeRegistry;
 import org.opendaylight.protocol.bgp.parser.BGPParsingException;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
 import org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleBGPExtensionProviderContext;
-import org.opendaylight.protocol.rsvp.parser.spi.pojo.ServiceLoaderRSVPExtensionProviderContext;
+import org.opendaylight.protocol.rsvp.parser.spi.pojo.SimpleRSVPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
@@ -160,7 +160,7 @@ public class LinkstateNlriParserTest {
         final LinkstateNlriParser parser = new LinkstateNlriParser();
         final MpReachNlriBuilder builder = new MpReachNlriBuilder();
         this.registry = SimpleNlriTypeRegistry.getInstance();
-        final BGPActivator act = new BGPActivator(ServiceLoaderRSVPExtensionProviderContext.getSingletonInstance());
+        final BGPActivator act = new BGPActivator(new SimpleRSVPExtensionProviderContext());
         final BGPExtensionProviderContext context = new SimpleBGPExtensionProviderContext();
         act.start(context);
 
index 6cce22521256202f706c81bab13738c845eb806b..7d05d9338fd20852b79a2719499abd2ded42be38 100644 (file)
@@ -27,7 +27,7 @@ import org.opendaylight.protocol.bgp.linkstate.impl.attribute.sr.SrNodeAttribute
 import org.opendaylight.protocol.bgp.linkstate.impl.attribute.sr.SrPrefixAttributesParser;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
 import org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleBGPExtensionProviderContext;
-import org.opendaylight.protocol.rsvp.parser.spi.pojo.ServiceLoaderRSVPExtensionProviderContext;
+import org.opendaylight.protocol.rsvp.parser.spi.pojo.SimpleRSVPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.protocol.util.Ipv6Util;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
@@ -152,7 +152,7 @@ public class SrAttributeParserTest {
 
     @Before
     public void setUp() throws Exception {
-        final BGPActivator act = new BGPActivator(ServiceLoaderRSVPExtensionProviderContext.getSingletonInstance());
+        final BGPActivator act = new BGPActivator(new SimpleRSVPExtensionProviderContext());
         final BGPExtensionProviderContext context = new SimpleBGPExtensionProviderContext();
         act.start(context);
     }
diff --git a/rsvp/spi/src/main/java/org/opendaylight/protocol/rsvp/parser/spi/pojo/ServiceLoaderRSVPExtensionProviderContext.java b/rsvp/spi/src/main/java/org/opendaylight/protocol/rsvp/parser/spi/pojo/ServiceLoaderRSVPExtensionProviderContext.java
deleted file mode 100644 (file)
index 2477bb2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.protocol.rsvp.parser.spi.pojo;
-
-import java.util.ServiceLoader;
-import org.opendaylight.protocol.rsvp.parser.spi.RSVPExtensionProviderActivator;
-import org.opendaylight.protocol.rsvp.parser.spi.RSVPExtensionProviderContext;
-
-public final class ServiceLoaderRSVPExtensionProviderContext {
-    private ServiceLoaderRSVPExtensionProviderContext() {
-        // Hidden on purpose
-    }
-
-    public static RSVPExtensionProviderContext create() {
-        final RSVPExtensionProviderContext ctx = new SimpleRSVPExtensionProviderContext();
-
-        final ServiceLoader<RSVPExtensionProviderActivator> loader = ServiceLoader
-            .load(RSVPExtensionProviderActivator.class);
-        for (final RSVPExtensionProviderActivator a : loader) {
-            a.start(ctx);
-        }
-
-        return ctx;
-    }
-
-    public static RSVPExtensionProviderContext getSingletonInstance() {
-        return Holder.INSTANCE;
-    }
-
-    private static final class Holder {
-        private static final RSVPExtensionProviderContext INSTANCE;
-
-        static {
-            INSTANCE = create();
-        }
-
-        private Holder() {
-        }
-    }
-}
index 1261925f7db6e7d9fc81060d81801d7dd255ec1d..b278488b992f69282110b266cbea1ce862cacd17 100644 (file)
@@ -27,9 +27,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.LabelType;
 import org.opendaylight.yangtools.concepts.Registration;
 
-public class SimpleRSVPExtensionProviderContext extends SimpleRSVPExtensionConsumerContext implements
-    RSVPExtensionProviderContext {
-
+public final class SimpleRSVPExtensionProviderContext extends SimpleRSVPExtensionConsumerContext
+        implements RSVPExtensionProviderContext {
     private static final int DEFAULT_MAXIMUM_CACHED_OBJECTS = 100000;
 
     private final AtomicReference<Cache<Object, Object>> cacheRef;
@@ -31,10 +31,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.exclude.route.object.exclude.route.object.SubobjectContainer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.LabelType;
 
-public class ServiceLoaderRSVPExtensionProviderContextTest {
+public class SimpleRSVPExtensionProviderContextTest {
 
-    private final SimpleRSVPExtensionProviderContext context = (SimpleRSVPExtensionProviderContext)
-        ServiceLoaderRSVPExtensionProviderContext.getSingletonInstance();
+    private final SimpleRSVPExtensionProviderContext context = new SimpleRSVPExtensionProviderContext();
 
     private final RSVPTeObjectParser rsvpTeParser = Mockito.mock(RSVPTeObjectParser.class);
     private final RSVPTeObjectSerializer rsvpTeSerializer = Mockito.mock(RSVPTeObjectSerializer.class);