Remove yang-test
[controller.git] / opendaylight / config / yang-jmx-generator-plugin / src / main / java / org / opendaylight / controller / config / yangjmxgenerator / plugin / ftl / RuntimeRegistratorFtlTemplate.java
index aa696450a94e8a5971fd96c58bcbb6e17edfaab9..47a1dfcfb1c19341dcc0f11540ec4d9507941a67 100644 (file)
@@ -11,9 +11,11 @@ import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
 import static java.lang.String.format;
 
+import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Optional;
+import com.google.common.collect.Lists;
 import java.io.Closeable;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -24,26 +26,22 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
-
+import javax.lang.model.element.Modifier;
 import org.opendaylight.controller.config.api.runtime.HierarchicalRuntimeBeanRegistration;
 import org.opendaylight.controller.config.api.runtime.RootRuntimeBeanRegistrator;
 import org.opendaylight.controller.config.yangjmxgenerator.RuntimeBeanEntry;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Annotation;
-import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Annotation.Parameter;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Field;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.MethodDefinition;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.FullyQualifiedNameHelper;
 
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.Lists;
-
 public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
 
     private RuntimeRegistratorFtlTemplate(RuntimeBeanEntry runtimeBeanEntry,
             String name, List<Field> fields, List<MethodDefinition> methods) {
         // TODO header
         super(null, runtimeBeanEntry.getPackageName(), name, Collections
-                .<String> emptyList(), Arrays.asList(Closeable.class
+                .emptyList(), Collections.singletonList(Closeable.class
                 .getCanonicalName()), fields, methods);
     }
 
@@ -67,7 +65,7 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
 
     private static String constructConstructorBody(
             List<Field> constructorParameters) {
-        StringBuffer constructorBody = new StringBuffer();
+        StringBuilder constructorBody = new StringBuilder();
         for (Field field : constructorParameters) {
             constructorBody.append("this.");
             constructorBody.append(field.getName());
@@ -88,7 +86,7 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
         String registratorName = getJavaNameOfRuntimeRegistrator(rootRB);
         List<MethodDefinition> methods = new ArrayList<>();
         Field rootRuntimeBeanRegistratorField = new Field(
-                Lists.newArrayList("final"),
+                Collections.singletonList(Modifier.FINAL),
                 RootRuntimeBeanRegistrator.class.getName(),
                 "rootRuntimeBeanRegistrator");
         List<Field> constructorParameters = Lists
@@ -98,8 +96,8 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
                 registratorName, constructorParameters, constructorBody);
         methods.add(constructor);
 
-        LinkedHashMap<String, RuntimeRegistratorFtlTemplate> RuntimeRegistratorFtlTemplates = createRegistrationHierarchy(
-                rootRB, Collections.<String> emptySet());
+        LinkedHashMap<String, RuntimeRegistratorFtlTemplate> RuntimeRegistratorFtlTemplates =
+                createRegistrationHierarchy(rootRB, Collections.emptySet());
         RuntimeRegistratorFtlTemplate rootFtlFile = RuntimeRegistratorFtlTemplates
                 .values().iterator().next();
 
@@ -108,19 +106,17 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
                     .getFullyQualifiedName(rootRB.getPackageName(), rootRB.getJavaNameOfRuntimeMXBean());
             String childRegistratorFQN = rootFtlFile.getFullyQualifiedName();
             Field rbParameter = new Field(fullyQualifiedNameOfMXBean, "rb");
-            StringBuilder registerBody = new StringBuilder();
-            registerBody.append(format("%s %s = this.%s.registerRoot(%s);\n",
-                    HierarchicalRuntimeBeanRegistration.class
-                            .getCanonicalName(), hierachchicalRegistration
-                            .getName(), rootRuntimeBeanRegistratorField
-                            .getName(), rbParameter.getName()));
-            registerBody.append(format("return new %s(%s);\n",
-                    rootFtlFile.getFullyQualifiedName(),
-                    hierachchicalRegistration.getName()));
+            String registerBody = format("%s %s = this.%s.registerRoot(%s);\n"
+                            + "return new %s(%2$s);\n",
+                    HierarchicalRuntimeBeanRegistration.class.getCanonicalName(),
+                    hierachicalRegistration.getName(),
+                    rootRuntimeBeanRegistratorField.getName(),
+                    rbParameter.getName(),
+                    rootFtlFile.getFullyQualifiedName());
 
             MethodDefinition registerMethod = new MethodDefinition(
                     childRegistratorFQN, "register",
-                    Arrays.asList(rbParameter), registerBody.toString());
+                    Collections.singletonList(rbParameter), registerBody);
             methods.add(registerMethod);
         }
 
@@ -130,11 +126,11 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
         // TODO add header
         GeneralClassTemplate registrator = new GeneralClassTemplate(null,
                 rootRB.getPackageName(), registratorName,
-                Collections.<String> emptyList(), Arrays.asList(Closeable.class
-                        .getCanonicalName()), constructorParameters, methods);
+                Collections.emptyList(), Collections.singletonList(Closeable.class
+                .getCanonicalName()), constructorParameters, methods);
 
-        checkState(RuntimeRegistratorFtlTemplates.containsKey(registrator
-                .getTypeDeclaration().getName()) == false, "Name conflict: "
+        checkState(!RuntimeRegistratorFtlTemplates.containsKey(registrator
+                .getTypeDeclaration().getName()), "Name conflict: "
                 + registrator.getTypeDeclaration().getName());
         Map<String, FtlTemplate> result = new HashMap<>();
         result.putAll(RuntimeRegistratorFtlTemplates);
@@ -142,8 +138,8 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
         return result;
     }
 
-    private static Field hierachchicalRegistration = new Field(
-            Lists.newArrayList("final"),
+    private static Field hierachicalRegistration = new Field(
+            Collections.singletonList(Modifier.FINAL),
             HierarchicalRuntimeBeanRegistration.class.getCanonicalName(),
             "registration");
 
@@ -175,7 +171,7 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
         Set<String> currentOccupiedKeys = new HashSet<>(occupiedKeys);
         currentOccupiedKeys.add(parent.getJavaNamePrefix());
 
-        Field registratorsMapField = new Field(Arrays.asList("final"),
+        Field registratorsMapField = new Field(Collections.singletonList(Modifier.FINAL),
                 TypeHelper.getGenericType(Map.class, String.class,
                         AtomicInteger.class), "unkeyedMap", "new "
                         + TypeHelper.getGenericType(HashMap.class,
@@ -212,8 +208,9 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
                         "String key = \"%s\"; //TODO: check for conflicts\n",
                         key));
 
-                if (child.getKeyJavaName().isPresent()) {
-                    value = "bean.get" + child.getKeyJavaName().get() + "()";
+                Optional<String> childKeyJavaName = child.getKeyJavaName();
+                if (childKeyJavaName.isPresent()) {
+                    value = "bean.get" + childKeyJavaName.get() + "()";
                     value = "String.valueOf(" + value + ")";
                 } else {
                     body.append("java.util.concurrent.atomic.AtomicInteger counter = unkeyedMap.get(key);\n"
@@ -225,18 +222,18 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
                 body.append(format("String value = %s;\n", value));
                 body.append(format("%s r = %s.register(key, value, bean);\n",
                         HierarchicalRuntimeBeanRegistration.class
-                                .getCanonicalName(), hierachchicalRegistration
+                                .getCanonicalName(), hierachicalRegistration
                                 .getName()));
                 body.append(format("return new %s(r);",
                         childRegistrator.getFullyQualifiedName()));
 
-                Field param = new Field(Lists.newArrayList("final"),
+                Field param = new Field(Collections.singletonList(Modifier.FINAL),
                         child.getJavaNameOfRuntimeMXBean(), "bean");
                 MethodDefinition register = new MethodDefinition(
-                        Arrays.asList("synchronized"),
+                        Collections.singletonList(Modifier.SYNCHRONIZED),
                         childRegistrator.getFullyQualifiedName(), "register",
-                        Arrays.asList(param), Collections.<String> emptyList(),
-                        Collections.<Annotation> emptyList(), body.toString());
+                        Collections.singletonList(param), Collections.emptyList(),
+                        Collections.emptyList(), body.toString());
                 methods.add(register);
 
             }
@@ -245,14 +242,13 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
         // create parent registration
         String createdName = getJavaNameOfRuntimeRegistration(parent.getJavaNamePrefix());
 
-        List<Field> constructorParameters = Arrays
-                .asList(hierachchicalRegistration);
+        List<Field> constructorParameters = Collections.singletonList(hierachicalRegistration);
         String constructorBody = constructConstructorBody(constructorParameters);
 
         MethodDefinition constructor = MethodDefinition.createConstructor(
                 createdName, constructorParameters, constructorBody);
 
-        MethodDefinition closeRegistrator = createCloseMethodToCloseField(hierachchicalRegistration);
+        MethodDefinition closeRegistrator = createCloseMethodToCloseField(hierachicalRegistration);
         methods.add(closeRegistrator);
         methods.add(constructor);
         List<Field> privateFields = Lists.newArrayList(registratorsMapField);
@@ -263,8 +259,8 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
 
         LinkedHashMap<String, RuntimeRegistratorFtlTemplate> result = new LinkedHashMap<>();
         result.put(created.getTypeDeclaration().getName(), created);
-        checkState(unorderedResult.containsKey(created.getTypeDeclaration()
-                .getName()) == false, "Naming conflict: "
+        checkState(!unorderedResult.containsKey(created.getTypeDeclaration()
+                .getName()), "Naming conflict: "
                 + created.getTypeDeclaration().getName());
         result.putAll(unorderedResult);
         return result;
@@ -278,10 +274,10 @@ public class RuntimeRegistratorFtlTemplate extends GeneralClassTemplate {
         // Arrays.asList(IOException.class.getCanonicalName()),
         // Collections.<Annotation> emptyList(), body);
         List<Annotation> annotations = Lists.newArrayList(new Annotation(
-                "Override", Collections.<Parameter> emptyList()));
-        return new MethodDefinition(Collections.<String> emptyList(), "void",
-                "close", Collections.<Field> emptyList(),
-                Collections.<String> emptyList(), annotations, body);
+                "Override", Collections.emptyList()));
+        return new MethodDefinition(Collections.emptyList(), "void",
+                "close", Collections.emptyList(),
+                Collections.emptyList(), annotations, body);
     }
 
     @VisibleForTesting