Merge "Added test suite for parser builder implementation"
[yangtools.git] / code-generator / binding-generator-impl / src / main / java / org / opendaylight / yangtools / sal / binding / generator / impl / AbstractTransformerGenerator.java
index 373ea7df71f52854129213b62b02f1f67101dbb8..58d38dacd5de6b0123b176223fde172f132780a8 100644 (file)
@@ -7,10 +7,11 @@
  */
 package org.opendaylight.yangtools.sal.binding.generator.impl;
 
+import com.google.common.base.Preconditions;
+
 import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.locks.Lock;
 
 import javassist.ClassPool;
 
@@ -24,8 +25,6 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 
-import com.google.common.base.Preconditions;
-
 /**
  * Abstract base class which defines the baseline for the real {@link TransformerGenerator}.
  * This class exists to expose the basic interface and common interactions with the rest
@@ -39,8 +38,7 @@ abstract class AbstractTransformerGenerator {
      * will VerificationErrors.
      */
     @Extension
-    protected static final ClassLoadingStrategy CLASS_LOADING_STRATEGY =
-            GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy();
+    protected static final ClassLoadingStrategy CLASS_LOADING_STRATEGY = GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy();
     @Extension
     protected final TypeResolver typeResolver;
     @Extension
@@ -74,14 +72,9 @@ abstract class AbstractTransformerGenerator {
     }
 
     protected final <V> V runOnClassLoader(final ClassLoader cls, final Callable<V> function) throws Exception {
-        final Lock lock = javAssist.getLock();
-
-        lock.lock();
-        try {
+        synchronized (javAssist) {
             javAssist.appendClassLoaderIfMissing(cls);
             return ClassLoaderUtils.withClassLoader(cls, function);
-        } finally {
-            lock.unlock();
         }
     }