BUG-1381: do not use JavassistUtils.getLock() 19/9319/2
authorRobert Varga <rovarga@cisco.com>
Fri, 25 Jul 2014 13:33:05 +0000 (15:33 +0200)
committerRobert Varga <rovarga@cisco.com>
Fri, 25 Jul 2014 13:40:15 +0000 (15:40 +0200)
We have it now synchronized through the instance, so there's no need for
getLock().

Change-Id: I3e962f284132b376f77e9e2665b3fbb47f246514
Signed-off-by: Robert Varga <rovarga@cisco.com>
opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/AbstractRuntimeCodeGenerator.java

index 86003b2aedc2344e86244134ea7870e83cfcd7c6..1fa54be2005b06d0be70226ac4abd30625f8a8bb 100644 (file)
@@ -136,22 +136,17 @@ abstract class AbstractRuntimeCodeGenerator implements org.opendaylight.controll
             return invoker;
         }
 
-        utils.getLock().lock();
-        try {
-            synchronized (utils) {
-                invoker = ClassLoaderUtils.withClassLoader(cls.getClassLoader(), new Supplier<RuntimeGeneratedInvokerPrototype>() {
-                    @Override
-                    public RuntimeGeneratedInvokerPrototype get() {
-                        return generateListenerInvoker(cls);
-                    }
-                });
-            }
-
-            invokerClasses.put(cls, invoker);
-            return invoker;
-        } finally {
-            utils.getLock().unlock();
+        synchronized (utils) {
+            invoker = ClassLoaderUtils.withClassLoader(cls.getClassLoader(), new Supplier<RuntimeGeneratedInvokerPrototype>() {
+                @Override
+                public RuntimeGeneratedInvokerPrototype get() {
+                    return generateListenerInvoker(cls);
+                }
+            });
         }
+
+        invokerClasses.put(cls, invoker);
+        return invoker;
     }
 
     @Override
@@ -161,13 +156,8 @@ abstract class AbstractRuntimeCodeGenerator implements org.opendaylight.controll
 
     @Override
     public final <T extends RpcService> T getDirectProxyFor(final Class<T> serviceType) {
-        utils.getLock().lock();
-        try {
-            synchronized (utils) {
-                return ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), directProxySupplier(serviceType));
-            }
-        } finally {
-            utils.getLock().unlock();
+        synchronized (utils) {
+            return ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), directProxySupplier(serviceType));
         }
     }
 
@@ -184,14 +174,9 @@ abstract class AbstractRuntimeCodeGenerator implements org.opendaylight.controll
             }
         });
 
-        utils.getLock().lock();
-        try {
-            synchronized (utils) {
-                final T instance = ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), routerSupplier(serviceType, metadata));
-                return new RpcRouterCodegenInstance<T>(name, serviceType, instance, metadata.getContexts());
-            }
-        } finally {
-            utils.getLock().unlock();
+        synchronized (utils) {
+            final T instance = ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), routerSupplier(serviceType, metadata));
+            return new RpcRouterCodegenInstance<T>(name, serviceType, instance, metadata.getContexts());
         }
     }