Cleanup AbstractStreamWriterGenerator 59/71859/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 8 May 2018 19:51:42 +0000 (21:51 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 9 May 2018 09:31:11 +0000 (11:31 +0200)
ClassLoaderUtils is providing a lambda-friendly API, take advantage
of that. Also also runs .toString() outside of the class loader,
minimizing the code being run there.

Change-Id: I9ecf5c12a957c508ad5d4d27117d9099ce1f789b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/gen/impl/AbstractStreamWriterGenerator.java

index 1b1be4125e065798b6da45a7f8b310cda245e7dc..c76bb43de5d4f05804c73efabc6f020b78544b21 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.mdsal.binding.dom.codec.gen.impl;
 
 import com.google.common.base.Preconditions;
-import com.google.common.base.Supplier;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
@@ -73,7 +72,7 @@ abstract class AbstractStreamWriterGenerator extends AbstractGenerator implement
     }
 
     protected AbstractStreamWriterGenerator(final JavassistUtils utils) {
-        this.javassist = Preconditions.checkNotNull(utils,"JavassistUtils instance is required.");
+        this.javassist = Preconditions.checkNotNull(utils, "JavassistUtils instance is required.");
         this.serializeArguments = new CtClass[] {
                 javassist.asCtClass(DataObjectSerializerRegistry.class),
                 javassist.asCtClass(DataObject.class),
@@ -202,8 +201,8 @@ abstract class AbstractStreamWriterGenerator extends AbstractGenerator implement
          * care of this before calling instantiatePrototype(), as that will call our customizer with the lock held,
          * hence any code generation will end up being blocked on the javassist lock.
          */
-        final String body = ClassLoaderUtils.withClassLoader(type.getClassLoader(),
-            (Supplier<String>) () -> source.getSerializerBody().toString());
+        final String body = ClassLoaderUtils.getWithClassLoader(type.getClassLoader(), source::getSerializerBody)
+                .toString();
 
         try {
             product = javassist.instantiatePrototype(DataObjectSerializerPrototype.class.getName(), serializerName,