From 7c912dbbd4fefc97229bd0bdbb9d46391507ec9c Mon Sep 17 00:00:00 2001 From: Michael Vorburger Date: Sat, 18 Jun 2016 20:02:19 +0200 Subject: [PATCH] Gen. Abstract*ModuleFactory handleChangedClass() with DependencyResolver Bug: 2855 Change-Id: Ieb010d67983a4807bd1e5b55886ba0c4c3f13385 Signed-off-by: Michael Vorburger --- .../gofactory/AbsFactoryGeneratedObjectFactory.java | 9 +++++++-- .../yangjmxgenerator/plugin/JMXGeneratorTest.java | 12 +++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/AbsFactoryGeneratedObjectFactory.java b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/AbsFactoryGeneratedObjectFactory.java index 25314cb5f5..b37d9186d0 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/AbsFactoryGeneratedObjectFactory.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/gofactory/AbsFactoryGeneratedObjectFactory.java @@ -110,6 +110,11 @@ public class AbsFactoryGeneratedObjectFactory { )); b.addToBody(format("\n"+ + "public %s handleChangedClass(%s dependencyResolver, %s old, %s bundleContext) throws Exception {\n"+ + "return handleChangedClass(old);\n"+ + "}\n", moduleFQN, DependencyResolver.class.getCanonicalName(), DynamicMBeanWithInstance.class.getCanonicalName(), BUNDLE_CONTEXT)); + + b.addToBody(format("\n@Deprecated\n"+ "public %s handleChangedClass(%s old) throws Exception {\n"+ "throw new UnsupportedOperationException(\"Class reloading is not supported\");\n"+ "}\n", moduleFQN, DynamicMBeanWithInstance.class.getCanonicalName())); @@ -132,9 +137,9 @@ public class AbsFactoryGeneratedObjectFactory { DynamicMBeanWithInstance.class.getCanonicalName(), BUNDLE_CONTEXT)+ format("%s oldModule;\n",moduleFQN)+ "try {\n"+ - format("oldModule = (%s) old.getModule();\n",moduleFQN)+ + format("oldModule = (%s) old.getModule();\n", moduleFQN)+ "} catch(Exception e) {\n"+ - "return handleChangedClass(old);\n"+ + "return handleChangedClass(dependencyResolver, old, bundleContext);\n"+ "}\n"+ format("%s module = instantiateModule(instanceName, dependencyResolver, oldModule, old.getInstance(), bundleContext);\n", moduleFQN); diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGeneratorTest.java b/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGeneratorTest.java index 2fe0871308..583d297f5e 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGeneratorTest.java +++ b/opendaylight/config/yang-jmx-generator-plugin/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/plugin/JMXGeneratorTest.java @@ -20,7 +20,6 @@ import static org.opendaylight.controller.config.yangjmxgenerator.PackageTransla import com.github.javaparser.JavaParser; import com.github.javaparser.ParseException; import com.github.javaparser.ast.CompilationUnit; -import com.google.common.base.Predicate; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableSet; import com.google.common.io.Files; @@ -262,12 +261,7 @@ public class JMXGeneratorTest extends AbstractGeneratorTest { } } - verifyXmlFiles(Collections2.filter(files, new Predicate() { - @Override - public boolean apply(final File input) { - return input.getName().endsWith("xml"); - } - })); + verifyXmlFiles(Collections2.filter(files, input -> input.getName().endsWith("xml"))); // verify ModuleFactory file File moduleFactoryFile = JMXGenerator.concatFolders(generatedResourcesDir, "META-INF", "services", @@ -324,7 +318,7 @@ public class JMXGeneratorTest extends AbstractGeneratorTest { visitor.assertField( "private static final java.util.Set> serviceIfcs"); - assertFactoryMethods(visitor.methods, 9); + assertFactoryMethods(visitor.methods, 10); visitor.assertMethodDescriptions(0); visitor.assertMethodJavadocs(0); } @@ -371,7 +365,7 @@ public class JMXGeneratorTest extends AbstractGeneratorTest { args.add(new ArgumentAssertion("Class", "serviceInterface")); assertMethodPresent(methods, new MethodAssertion("boolean", "isModuleImplementingServiceInterface", args)); - assertEquals(methods.size(), expectedSize); + assertEquals(expectedSize, methods.size()); } private static void assertMethodPresent(final Set methods, final MethodAssertion methodAssertion) { -- 2.36.6