Fix checkstyle in mdsal-binding2-dom-codec 06/64506/1
authorJie Han <han.jie@zte.com.cn>
Thu, 19 Oct 2017 05:45:02 +0000 (13:45 +0800)
committerJie Han <han.jie@zte.com.cn>
Thu, 19 Oct 2017 05:45:08 +0000 (13:45 +0800)
 - Fix checkstyle issues and activate enforcement.
Change-Id: I9857df844aba6bee4ddc729fb8246a2d8a085ad5
Signed-off-by: Jie Han <han.jie@zte.com.cn>
36 files changed:
binding2/mdsal-binding2-dom-codec/pom.xml
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/api/AugmentationReader.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/api/BindingNormalizedNodeCachingCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/api/BindingTreeCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/api/BindingTreeNodeCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/api/factory/BindingNormalizedNodeWriterFactory.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/impl/StaticBindingProperty.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/impl/StreamWriterGenerator.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/impl/TreeNodeSerializerPrototype.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/spi/generator/AbstractGenerator.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/spi/generator/AbstractStreamWriterGenerator.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/spi/source/AbstractAugmentableDataNodeContainerEmitterSource.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/spi/source/AbstractDataNodeContainerSerializerSource.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/spi/source/AbstractSource.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/BindingNormalizedNodeCodecRegistry.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/BindingToNormalizedNodeCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/IdentifiableItemCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/MissingSchemaException.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/OperationInputCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/cache/BindingNormalizedNodeCache.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/ChoiceNodeCodecContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/SchemaRootCodecContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/UnionValueOptionContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/ValueContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/BindingCodecContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/DataContainerCodecContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/DataContainerCodecPrototype.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/LazyTreeNode.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/LeafNodeCodecContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/MissingSchemaForClassException.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/NodeCodecContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/context/base/TreeNodeCodecContext.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/serializer/CachingNormalizedNodeSerializer.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/value/BitsCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/value/EncapsulatedValueCodec.java
binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/impl/value/ValueTypeCodec.java

index ca019c88b301e145e8fabf107a1321d81d8a96c0..912fd54e622fafb91cba2b0c0b0da02e6858a42f 100644 (file)
                     </instructions>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <configuration>
+                    <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
index a5243a37773ec194da20b409af1c587a8f75544a..4fc0bd3562f8d9ed9e0f6e285410ca0fbb0bd89a 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.mdsal.binding.javav2.spec.structural.Augmentation;
  * obtain augmentations from proxy implementations of {@link Augmentable}
  * object.
  *
+ * <p>
  * If implemented proxy does not implement this interface, its augmentations are
  * not properly serialized / deserialized.
  */
index f3071d73c533dd774661bfa7647150db3f03a57a..60aa0dc1ccaebc9c042df0ca10fc2426ccbddb59 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.mdsal.binding.javav2.spec.base.TreeNode;
 /**
  * Caching variant of Binding to Normalized Node codec.
  *
+ * <p>
  * Caching may introduce performance penalty to serialization / deserialization
  * but may decrease use of heap for repetitive objects.
  *
@@ -27,6 +28,7 @@ public interface BindingNormalizedNodeCachingCodec<T extends TreeNode>
      * Invoking close will invalidate this codec and any of its child codecs and
      * will invalidate cache.
      *
+     * <p>
      * Any subsequent calls to this codec will fail with
      * {@link IllegalStateException} thrown.
      */
index 71f800ce71b4309d81740649be82afd46f13b8ff..226fec66a6ff1b46ef224f027ef04a10fd151ed2 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 /**
  * Navigable tree representing hierarchy of Binding to Normalized Node codecs.
  *
+ * <p>
  * This navigable tree is associated to concrete set of YANG models, represented
  * by SchemaContext and provides access to subtree specific serialization
  * context.
index e971bf2837abe65f33e254bff3f7a6086f301f39..e02c935314146c4afc546471d4d2868ee6bdc31a 100644 (file)
@@ -104,6 +104,7 @@ public interface BindingTreeNodeCodec<T extends TreeNode> extends BindingNormali
     /**
      * Returns codec which uses caches serialization / deserialization results.
      *
+     * <p>
      * Caching may introduce performance penalty to serialization /
      * deserialization but may decrease use of heap for repetitive objects.
      *
index 187e3a7f11f37ccfeabbe1fe5c231b1032747948..440750c2799efa4ed983bbcd542ee8f99a0027a0 100644 (file)
@@ -29,10 +29,12 @@ public interface BindingNormalizedNodeWriterFactory {
      * Creates a {@link BindingStreamEventWriter} for data tree path which will
      * translate to NormalizedNode model and invoke proper events on supplied
      * {@link NormalizedNodeStreamWriter}.
+     *
      * <p>
      * Also provides translation of supplied Instance Identifier to
      * {@link YangInstanceIdentifier} so client code, does not need to translate
      * that separately.
+     *
      * <p>
      * If {@link YangInstanceIdentifier} is not needed, please use
      * {@link #newWriter(InstanceIdentifier, NormalizedNodeStreamWriter)} method
@@ -56,8 +58,8 @@ public interface BindingNormalizedNodeWriterFactory {
      * Creates a {@link BindingStreamEventWriter} for data tree path which will
      * translate to NormalizedNode model and invoke proper events on supplied
      * {@link NormalizedNodeStreamWriter}.
-     * <p>
      *
+     * <p>
      * This variation does not provide YANG instance identifier and is useful
      * for use-cases, where {@link InstanceIdentifier} translation is done in
      * other way, or YANG instance identifier is unnecessary (e.g.
index ff0c0a9e5c163999e79daf0591c9796b45095e5d..94fef6b73b5ae5528d23f17e976c63960303def0 100644 (file)
@@ -11,7 +11,8 @@ import com.google.common.annotations.Beta;
 import com.google.common.base.Preconditions;
 
 /**
- * Definition of static property for Binding objects
+ * Definition of static property for Binding objects.
+ *
  * <p>
  * This definition consists of
  * <ul>
index cb372eb82f7c7fa1287910be382dbe3c72ea64ef..824badbe45239f537ab6729980929ddb35fdc19f 100644 (file)
@@ -32,6 +32,7 @@ import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
  * {@link TreeNodeSerializerImplementation} interface and are used to serialize
  * Binding {@link TreeNode}.
  *
+ * <p>
  * Actual implementation of codecs is done via static methods, which allows for
  * static wiring of codecs. Choice codec and Augmentable codecs are static
  * properties of parent codec and stateless implementations are used (
index b10819397dea008ac9be7ae575310bb6f65e8059..9c135d856039aed53d4a3e0de6bdb01cd4fd1335 100644 (file)
@@ -39,8 +39,8 @@ public final class TreeNodeSerializerPrototype implements TreeNodeSerializerImpl
     }
 
     @Override
-    public void serialize(final TreeNodeSerializerRegistry reg, final TreeNode obj, final BindingStreamEventWriter stream)
-            throws IOException {
+    public void serialize(final TreeNodeSerializerRegistry reg, final TreeNode obj,
+            final BindingStreamEventWriter stream) throws IOException {
         throw new UnsupportedOperationException("Prototype body, this code should never be invoked.");
     }
 
index 29799f9625e3c89357c745f188ee0d9965604bd2..34cb4d06fdeccef2970d9ba2e700b0cce0226ba8 100644 (file)
@@ -23,5 +23,5 @@ public abstract class AbstractGenerator {
      *            - data tree class
      * @return serializer class name
      */
-    public abstract String loadSerializerFor(final Class<?> cls);
+    public abstract String loadSerializerFor(Class<?> cls);
 }
index 6dde332ff56eb5dada84928b28e20d314022819a..6f86976442bd79fca7a09075e4fde5d38e1fda04 100644 (file)
@@ -68,15 +68,15 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
          * fix the static declared fields to final once we initialize them. If
          * we cannot get access, that's fine, too.
          */
-        Field f = null;
+        Field field = null;
         try {
-            f = Field.class.getDeclaredField("modifiers");
-            f.setAccessible(true);
+            field = Field.class.getDeclaredField("modifiers");
+            field.setAccessible(true);
         } catch (NoSuchFieldException | SecurityException e) {
             LOG.warn("Could not get Field modifiers field, serializers run at decreased efficiency", e);
         }
 
-        FIELD_MODIFIERS = f;
+        FIELD_MODIFIERS = field;
     }
 
     protected AbstractStreamWriterGenerator(final JavassistUtils utils) {
@@ -214,22 +214,22 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
 
         try {
             product = javassist.instantiatePrototype(TreeNodeSerializerPrototype.class.getName(), serializerName,
-                    cls -> {
-                        // Generate any static fields
-                        for (final StaticBindingProperty def : source.getStaticConstants()) {
-                            final CtField field = new CtField(javassist.asCtClass(def.getType()), def.getName(), cls);
-                            field.setModifiers(Modifier.PRIVATE + Modifier.STATIC);
-                            cls.addField(field);
-                        }
-
-                        // Replace serialize() -- may reference static fields
-                        final CtMethod serializeTo = cls.getDeclaredMethod(SERIALIZE_METHOD_NAME, serializeArguments);
-                        serializeTo.setBody(body);
-
-                        // The prototype is not visible, so we need to take care
-                        // of that
-                        cls.setModifiers(Modifier.setPublic(cls.getModifiers()));
-                    });
+                cls -> {
+                    // Generate any static fields
+                    for (final StaticBindingProperty def : source.getStaticConstants()) {
+                        final CtField field = new CtField(javassist.asCtClass(def.getType()), def.getName(), cls);
+                        field.setModifiers(Modifier.PRIVATE + Modifier.STATIC);
+                        cls.addField(field);
+                    }
+
+                    // Replace serialize() -- may reference static fields
+                    final CtMethod serializeTo = cls.getDeclaredMethod(SERIALIZE_METHOD_NAME, serializeArguments);
+                    serializeTo.setBody(body);
+
+                    // The prototype is not visible, so we need to take care
+                    // of that
+                    cls.setModifiers(Modifier.setPublic(cls.getModifiers()));
+                });
         } catch (final NotFoundException e) {
             LOG.error("Failed to instatiate serializer {}", source, e);
             throw new LinkageError("Unexpected instantation problem: serializer prototype not found", e);
@@ -241,6 +241,7 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
      * Generates serializer source code for supplied container node, which will
      * read supplied binding type and invoke proper methods on supplied
      * {@link BindingStreamEventWriter}.
+     *
      * <p>
      * Implementation is required to recursively invoke events for all reachable
      * binding objects.
@@ -256,6 +257,7 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
      * Generates serializer source for supplied case node, which will read
      * supplied binding type and invoke proper methods on supplied
      * {@link BindingStreamEventWriter}.
+     *
      * <p>
      * Implementation is required to recursively invoke events for all reachable
      * binding objects.
@@ -270,6 +272,7 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
      * Generates serializer source for supplied list node, which will read
      * supplied binding type and invoke proper methods on supplied
      * {@link BindingStreamEventWriter}.
+     *
      * <p>
      * Implementation is required to recursively invoke events for all reachable
      * binding objects.
@@ -278,12 +281,14 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
      * @param node - schema of list
      * @return source for list node writer
      */
-    protected abstract AbstractTreeNodeSerializerSource generateMapEntrySerializer(GeneratedType type, ListSchemaNode node);
+    protected abstract AbstractTreeNodeSerializerSource generateMapEntrySerializer(GeneratedType type,
+            ListSchemaNode node);
 
     /**
      * Generates serializer source for supplied list node, which will read
      * supplied binding type and invoke proper methods on supplied
      * {@link BindingStreamEventWriter}.
+     *
      * <p>
      * Implementation is required to recursively invoke events for all reachable
      * binding objects.
@@ -299,6 +304,7 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
      * Generates serializer source for supplied augmentation node, which will
      * read supplied binding type and invoke proper methods on supplied
      * {@link BindingStreamEventWriter}.
+     *
      * <p>
      * Implementation is required to recursively invoke events for all reachable
      * binding objects.
@@ -307,12 +313,14 @@ public abstract class AbstractStreamWriterGenerator extends AbstractGenerator im
      * @param schema - schema of augmentation
      * @return source for augmentation node writer
      */
-    protected abstract AbstractTreeNodeSerializerSource generateSerializer(GeneratedType type, AugmentationSchema schema);
+    protected abstract AbstractTreeNodeSerializerSource generateSerializer(GeneratedType type,
+            AugmentationSchema schema);
 
     /**
      * Generates serializer source for notification node, which will read
      * supplied binding type and invoke proper methods on supplied
      * {@link BindingStreamEventWriter}.
+     *
      * <p>
      * Implementation is required to recursively invoke events for all reachable
      * binding objects.
index 5ddd7ee425e9f5181239e1f6b58deaa0fae89ca3..d58725c9c979f8df3c50ed394254c160069a3adc 100644 (file)
@@ -34,7 +34,7 @@ public abstract class AbstractAugmentableDataNodeContainerEmitterSource
     }
 
     @Override
-    protected void emitAfterBody(final StringBuilder b) {
-        b.append(statement(invoke(AUGMENTABLE_SERIALIZER, "serialize", REGISTRY, INPUT, STREAM)));
+    protected void emitAfterBody(final StringBuilder builder) {
+        builder.append(statement(invoke(AUGMENTABLE_SERIALIZER, "serialize", REGISTRY, INPUT, STREAM)));
     }
 }
index a66cfa5acf14785f9e25fd8149f1705d899868bd..b6cbf4292050bb7a3ff0e8cb5cc68a58c4414c34 100644 (file)
@@ -67,35 +67,36 @@ public abstract class AbstractDataNodeContainerSerializerSource extends Abstract
 
     @Override
     public CharSequence getSerializerBody() {
-        final StringBuilder b = new StringBuilder();
-        b.append("{\n");
-        b.append(statement(assign(TreeNodeSerializerRegistry.class.getName(), REGISTRY, "$1")));
-        b.append(statement(assign(dtoType.getFullyQualifiedName(), INPUT,
+        final StringBuilder builder = new StringBuilder();
+        builder.append("{\n");
+        builder.append(statement(assign(TreeNodeSerializerRegistry.class.getName(), REGISTRY, "$1")));
+        builder.append(statement(assign(dtoType.getFullyQualifiedName(), INPUT,
                 cast(dtoType.getFullyQualifiedName(), "$2"))));
-        b.append(statement(assign(BindingStreamEventWriter.class.getName(), STREAM, cast(BindingStreamEventWriter.class.getName(), "$3"))));
-        b.append(statement(assign(BindingSerializer.class.getName(), SERIALIZER, null)));
-        b.append("if (");
-        b.append(STREAM);
-        b.append(" instanceof ");
-        b.append(BindingSerializer.class.getName());
-        b.append(") {");
-        b.append(statement(assign(SERIALIZER, cast(BindingSerializer.class.getName(), STREAM))));
-        b.append('}');
-        b.append(statement(emitStartEvent()));
-
-        emitBody(b);
-        emitAfterBody(b);
-        b.append(statement(endNode()));
-        b.append(statement("return null"));
-        b.append('}');
-        return b;
+        builder.append(statement(assign(BindingStreamEventWriter.class.getName(), STREAM,
+            cast(BindingStreamEventWriter.class.getName(), "$3"))));
+        builder.append(statement(assign(BindingSerializer.class.getName(), SERIALIZER, null)));
+        builder.append("if (");
+        builder.append(STREAM);
+        builder.append(" instanceof ");
+        builder.append(BindingSerializer.class.getName());
+        builder.append(") {");
+        builder.append(statement(assign(SERIALIZER, cast(BindingSerializer.class.getName(), STREAM))));
+        builder.append('}');
+        builder.append(statement(emitStartEvent()));
+
+        emitBody(builder);
+        emitAfterBody(builder);
+        builder.append(statement(endNode()));
+        builder.append(statement("return null"));
+        builder.append('}');
+        return builder;
     }
 
     /**
      * Allows for customization of emitting code, which is processed after
      * normal DataNodeContainer body. Ideal for augmentations or others.
      */
-    protected void emitAfterBody(final StringBuilder b) {
+    protected void emitAfterBody(final StringBuilder builder) {
     }
 
     private static Map<String, Type> collectAllProperties(final GeneratedType type, final Map<String, Type> hashMap) {
@@ -124,10 +125,11 @@ public abstract class AbstractDataNodeContainerSerializerSource extends Abstract
         } else {
             prefix = "get";
         }
-        return prefix + JavaIdentifierNormalizer.normalizeSpecificIdentifier(node.getQName().getLocalName(), JavaIdentifier.CLASS);
+        return prefix + JavaIdentifierNormalizer.normalizeSpecificIdentifier(node.getQName().getLocalName(),
+            JavaIdentifier.CLASS);
     }
 
-    private void emitBody(final StringBuilder b) {
+    private void emitBody(final StringBuilder builder) {
         final Map<String, Type> getterToType = collectAllProperties(dtoType, new HashMap<String, Type>());
         for (final DataSchemaNode schemaChild : schemaNode.getChildNodes()) {
             if (!schemaChild.isAugmenting()) {
@@ -137,8 +139,8 @@ public abstract class AbstractDataNodeContainerSerializerSource extends Abstract
                     // FIXME AnyXml nodes are ignored, since their type cannot be found in generated bindnig
                     // Bug-706 https://bugs.opendaylight.org/show_bug.cgi?id=706
                     if (schemaChild instanceof AnyXmlSchemaNode) {
-                        LOG.warn("Node {} will be ignored. AnyXml is not yet supported from binding aware code." +
-                                "Binding Independent code can be used to serialize anyXml nodes.", schemaChild.getPath());
+                        LOG.warn("Node {} will be ignored. AnyXml is not yet supported from binding aware code."
+                            + "Binding Independent code can be used to serialize anyXml nodes.", schemaChild.getPath());
                         continue;
                     }
 
@@ -146,47 +148,51 @@ public abstract class AbstractDataNodeContainerSerializerSource extends Abstract
                         String.format("Unable to find type for child node %s. Expected child nodes: %s",
                             schemaChild.getPath(), getterToType));
                 }
-                emitChild(b, getter, childType, schemaChild);
+                emitChild(builder, getter, childType, schemaChild);
             }
         }
     }
 
-    private void emitChild(final StringBuilder b, final String getterName, final Type childType,
+    private void emitChild(final StringBuilder builder, final String getterName, final Type childType,
             final DataSchemaNode schemaChild) {
-        b.append(statement(assign(childType, getterName, cast(childType, invoke(INPUT, getterName)))));
+        builder.append(statement(assign(childType, getterName, cast(childType, invoke(INPUT, getterName)))));
 
-        b.append("if (").append(getterName).append(" != null) {\n");
-        emitChildInner(b, getterName, childType, schemaChild);
-        b.append("}\n");
+        builder.append("if (").append(getterName).append(" != null) {\n");
+        emitChildInner(builder, getterName, childType, schemaChild);
+        builder.append("}\n");
     }
 
-    private void emitChildInner(final StringBuilder b, final String getterName, final Type childType,
+    private void emitChildInner(final StringBuilder builder, final String getterName, final Type childType,
             final DataSchemaNode child) {
         if (child instanceof LeafSchemaNode) {
-            b.append(statement(leafNode(child.getQName().getLocalName(), getterName)));
+            builder.append(statement(leafNode(child.getQName().getLocalName(), getterName)));
         } else if (child instanceof AnyXmlSchemaNode) {
-            b.append(statement(anyxmlNode(child.getQName().getLocalName(), getterName)));
+            builder.append(statement(anyxmlNode(child.getQName().getLocalName(), getterName)));
         } else if (child instanceof LeafListSchemaNode) {
             final CharSequence startEvent;
             if (((LeafListSchemaNode) child).isUserOrdered()) {
-                startEvent = startOrderedLeafSet(child.getQName().getLocalName(),invoke(getterName, "size"));
+                startEvent = startOrderedLeafSet(child.getQName().getLocalName(),
+                    invoke(getterName, "size"));
             } else {
                 startEvent = startLeafSet(child.getQName().getLocalName(),invoke(getterName, "size"));
             }
-            b.append(statement(startEvent));
+            builder.append(statement(startEvent));
             final Type valueType = ((ParameterizedType) childType).getActualTypeArguments()[0];
-            b.append(forEach(getterName, valueType, statement(leafSetEntryNode(CURRENT))));
-            b.append(statement(endNode()));
+            builder.append(forEach(getterName, valueType, statement(leafSetEntryNode(CURRENT))));
+            builder.append(statement(endNode()));
         } else if (child instanceof ListSchemaNode) {
             final Type valueType = ((ParameterizedType) childType).getActualTypeArguments()[0];
             final ListSchemaNode casted = (ListSchemaNode) child;
-            emitList(b, getterName, valueType, casted);
+            emitList(builder, getterName, valueType, casted);
         } else if (child instanceof ContainerSchemaNode) {
-            b.append(tryToUseCacheElse(getterName,statement(staticInvokeEmitter(childType, getterName))));
+            builder.append(tryToUseCacheElse(getterName,statement(staticInvokeEmitter(childType, getterName))));
         } else if (child instanceof ChoiceSchemaNode) {
             final String propertyName = CHOICE_PREFIX + childType.getName();
-            staticConstant(propertyName, TreeNodeSerializerImplementation.class, ChoiceDispatchSerializer.from(loadClass(childType)));
-            b.append(tryToUseCacheElse(getterName,statement(invoke(propertyName, StreamWriterGenerator.SERIALIZE_METHOD_NAME, REGISTRY, cast(TreeNode.class.getName(),getterName), STREAM))));
+            staticConstant(propertyName, TreeNodeSerializerImplementation.class,
+                ChoiceDispatchSerializer.from(loadClass(childType)));
+            builder.append(tryToUseCacheElse(getterName,statement(invoke(propertyName,
+                StreamWriterGenerator.SERIALIZE_METHOD_NAME, REGISTRY, cast(TreeNode.class.getName(),getterName),
+                STREAM))));
         }
     }
 
@@ -202,11 +208,11 @@ public abstract class AbstractDataNodeContainerSerializerSource extends Abstract
         return b;
     }
 
-    private void emitList(final StringBuilder b, final String getterName, final Type valueType,
+    private void emitList(final StringBuilder builer, final String getterName, final Type valueType,
             final ListSchemaNode child) {
         final CharSequence startEvent;
 
-        b.append(statement(assign("int", "_count", invoke(getterName, "size"))));
+        builer.append(statement(assign("int", "_count", invoke(getterName, "size"))));
         if (child.getKeyDefinition().isEmpty()) {
             startEvent = startUnkeyedList(classReference(valueType), "_count");
         } else if (child.isUserOrdered()) {
@@ -214,8 +220,9 @@ public abstract class AbstractDataNodeContainerSerializerSource extends Abstract
         } else {
             startEvent = startMapNode(classReference(valueType), "_count");
         }
-        b.append(statement(startEvent));
-        b.append(forEach(getterName, valueType, tryToUseCacheElse(CURRENT,statement(staticInvokeEmitter(valueType, CURRENT)))));
-        b.append(statement(endNode()));
+        builer.append(statement(startEvent));
+        builer.append(forEach(getterName, valueType, tryToUseCacheElse(CURRENT,
+            statement(staticInvokeEmitter(valueType, CURRENT)))));
+        builer.append(statement(endNode()));
     }
 }
index 97c6efbff363053b2609b528c6d012581e69b65e..f7ac8db011eb3ffd4c1c985ba41e19346232a7d3 100644 (file)
@@ -173,6 +173,19 @@ abstract class AbstractSource {
         return cast(type.getFullyQualifiedName(), value);
     }
 
+    /**
+     * Cast value to specific type.
+     *
+     * @param type
+     *            - specific type
+     * @param value
+     *            - value for cast
+     * @return casted value to specifc type as char sequence
+     */
+    static final CharSequence cast(final String type, final CharSequence value) {
+        return "((" + type + ") " + value + ')';
+    }
+
     /**
      * Create loop through iterable object with specific body.
      *
@@ -198,19 +211,6 @@ abstract class AbstractSource {
         return sb.append("\n}\n");
     }
 
-    /**
-     * Cast value to specific type.
-     *
-     * @param type
-     *            - specific type
-     * @param value
-     *            - value for cast
-     * @return casted value to specifc type as char sequence
-     */
-    static final CharSequence cast(final String type, final CharSequence value) {
-        return "((" + type + ") " + value + ')';
-    }
-
     /**
      * Create new Java statement.
      *
index 2ec3aac1e2ce542ae4c43519caad52a321cf6e2b..c5382a48f3ceb24d61af5deab8c36e8844ed0ad6 100644 (file)
@@ -61,7 +61,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Serializing and deserializing Binding and DOM data
+ * Serializing and deserializing Binding and DOM data.
  */
 @Beta
 public class BindingNormalizedNodeCodecRegistry implements TreeNodeSerializerRegistry, BindingTreeCodecFactory,
@@ -298,6 +298,7 @@ public class BindingNormalizedNodeCodecRegistry implements TreeNodeSerializerReg
     }
 
     @Override
+    @SuppressWarnings("checkstyle:illegalCatch")
     public BindingCodecContext create(final SchemaContext context, final Class<?>... bindingClasses) {
         final ModuleInfoBackedContext strategy = ModuleInfoBackedContext.create();
         for (final Class<?> bindingCls : bindingClasses) {
index 25035070964258467062668ffac6e60812a2c377..b051f871d21b1bb32ae0e1d5b2946e7bddecf65b 100644 (file)
@@ -123,7 +123,8 @@ public final class BindingToNormalizedNodeCodec
      *            - Binding Instance Identifier
      * @return DOM Instance Identifier
      */
-    public YangInstanceIdentifier toYangInstanceIdentifierBlocking(final InstanceIdentifier<? extends TreeNode> binding) {
+    public YangInstanceIdentifier toYangInstanceIdentifierBlocking(
+            final InstanceIdentifier<? extends TreeNode> binding) {
         try {
             return codecRegistry.toYangInstanceIdentifier(binding);
         } catch (final MissingSchemaException e) {
@@ -255,6 +256,7 @@ public final class BindingToNormalizedNodeCodec
      *            - DOM object
      * @return Binding object
      * @throws DeserializationException
+     *            If fail to deserialize
      */
     @SuppressWarnings("unchecked")
     public Optional<Entry<InstanceIdentifier<? extends TreeNode>, TreeNode>>
index adde743eefb51b56f094766fb42848ed0e4a507f..c6e502dd8ada98191ea5f69557296af09f90d26d 100644 (file)
@@ -101,6 +101,7 @@ public final class IdentifiableItemCodec implements Codec<NodeIdentifierWithPred
     }
 
     @Override
+    @SuppressWarnings("checkstyle:illegalCatch")
     public IdentifiableItem<?, ?> deserialize(final NodeIdentifierWithPredicates input) {
         final Object[] bindingValues = new Object[keysInBindingOrder.size()];
         int offset = 0;
@@ -135,8 +136,7 @@ public final class IdentifiableItemCodec implements Codec<NodeIdentifierWithPred
 
     @SuppressWarnings("unchecked")
     private static Constructor<? extends Identifier> getConstructor(final Class<? extends Identifier> clazz) {
-        for (@SuppressWarnings("rawtypes")
-        final Constructor constr : clazz.getConstructors()) {
+        for (@SuppressWarnings("rawtypes") final Constructor constr : clazz.getConstructors()) {
             final Class<?>[] parameters = constr.getParameterTypes();
             if (!clazz.equals(parameters[0])) {
                 // It is not copy constructor;
index 33e55c6db907ae31a9bb7deadec5244b0bc5fc4b..f0b510ef4a27e7ca49b34105aba204763d6668ca 100644 (file)
@@ -36,7 +36,7 @@ public class MissingSchemaException extends IllegalArgumentException {
     }
 
     public static void checkModulePresent(final SchemaContext schemaContext, final QName name) {
-        if(schemaContext.findModuleByNamespaceAndRevision(name.getNamespace(), name.getRevision()) == null) {
+        if (schemaContext.findModuleByNamespaceAndRevision(name.getNamespace(), name.getRevision()) == null) {
             throw MissingSchemaException.create("Module %s is not present in current schema context.",name.getModule());
         }
     }
@@ -47,7 +47,7 @@ public class MissingSchemaException extends IllegalArgumentException {
     }
 
     private static QName extractName(final PathArgument child) {
-        if(child instanceof YangInstanceIdentifier.AugmentationIdentifier) {
+        if (child instanceof YangInstanceIdentifier.AugmentationIdentifier) {
             final Set<QName> children = ((YangInstanceIdentifier.AugmentationIdentifier) child).getPossibleChildNames();
             Preconditions.checkArgument(!children.isEmpty(),"Augmentation without childs must not be used in data");
             return children.iterator().next();
index fa6eecbca273e4522d3ce54e9354100d4c109b4e..5e82aa5a751bfd2ba0bd1d5156603aba452fe22a 100644 (file)
@@ -16,6 +16,7 @@ import org.opendaylight.mdsal.binding.javav2.spec.base.TreeNode;
  * to mark both {@link UnmappedOperationInputCodec} and ContainerNodeCodecContext, which results in bimorphic
  * invocation in BindingNormalizedNodeCodecRegistry.
  *
+ * <p>
  * Without this interface we could end up with megamorphic invocation, as the two implementations cannot share
  * class hierarchy.
  *
index 50a6de4bc84e1df72d9fe10f30387ee7c988d7d1..cf9a69ff78a2c061b86928ccac2d28db6fd33ad3 100644 (file)
@@ -44,6 +44,7 @@ public class BindingNormalizedNodeCache extends CacheLoader<TreeNode, Normalized
     /**
      * Returns cached NormalizedNode representation of TreeNode.
      *
+     * <p>
      * If representation is not cached, serializes TreeNode and updates cache
      * with representation.
      *
index ea6cd4395f93b1c15403c5f6bb55af1242954890..5738d11f64c12a987d8df5ac9c7c76978380eab9 100644 (file)
@@ -126,19 +126,19 @@ public class ChoiceNodeCodecContext<D extends TreeNode> extends DataContainerCod
     @SuppressWarnings("unchecked")
     @Nonnull
     @Override
-    public <DV extends TreeNode> DataContainerCodecContext<DV, ?> streamChild(@Nonnull final Class<DV> childClass) {
+    public <C extends TreeNode> DataContainerCodecContext<C, ?> streamChild(@Nonnull final Class<C> childClass) {
         final DataContainerCodecPrototype<?> child = byClass.get(childClass);
-        return (DataContainerCodecContext<DV,
+        return (DataContainerCodecContext<C,
                 ?>) childNonNull(child, childClass, "Supplied class %s is not valid case", childClass).get();
     }
 
     @SuppressWarnings("unchecked")
     @Override
-    public <DV extends TreeNode> Optional<DataContainerCodecContext<DV, ?>>
-            possibleStreamChild(@Nonnull final Class<DV> childClass) {
+    public <C extends TreeNode> Optional<DataContainerCodecContext<C, ?>>
+            possibleStreamChild(@Nonnull final Class<C> childClass) {
         final DataContainerCodecPrototype<?> child = byClass.get(childClass);
         if (child != null) {
-            return Optional.of((DataContainerCodecContext<DV, ?>) child.get());
+            return Optional.of((DataContainerCodecContext<C, ?>) child.get());
         }
         return Optional.absent();
     }
index 9b25926e7c308c619ebca0883f77639ac8422eab..dd6cb50aad4e82200b19c13842d1ef35bd5af539 100644 (file)
@@ -150,6 +150,20 @@ public final class SchemaRootCodecContext<D extends TreeNode> extends DataContai
         return null;
     }
 
+    private ContainerSchemaNode getOperationDataSchema(final OperationDefinition operation, final QName qname) {
+        Preconditions.checkNotNull(operation, "Operation Schema must not be null.");
+        Preconditions.checkNotNull(qname, "QName must not be null.");
+        switch (qname.getLocalName()) {
+            case "input":
+                return operation.getInput();
+            case "output":
+                return operation.getOutput();
+            default:
+                throw new IllegalArgumentException(
+                    "Supplied qname " + qname + " does not represent operation input or output.");
+        }
+    }
+
     private final LoadingCache<SchemaPath, NotificationCodecContext<?>> notificationsByPath =
             CacheBuilder.newBuilder().build(new CacheLoader<SchemaPath, NotificationCodecContext<?>>() {
 
@@ -181,7 +195,7 @@ public final class SchemaRootCodecContext<D extends TreeNode> extends DataContai
     @SuppressWarnings({ "unchecked", "rawtypes" })
     @Nonnull
     @Override
-    public <DV extends TreeNode> DataContainerCodecContext<DV, ?> streamChild(@Nonnull final Class<DV> childClass)
+    public <C extends TreeNode> DataContainerCodecContext<C, ?> streamChild(@Nonnull final Class<C> childClass)
             throws IllegalArgumentException {
         /*
          * FIXME: This is still not solved for operations TODO: Probably performance wise operations, Data and
@@ -189,9 +203,9 @@ public final class SchemaRootCodecContext<D extends TreeNode> extends DataContai
          * determine which is faster (keeping them separate or in same cache).
          */
         if (Notification.class.isAssignableFrom(childClass)) {
-            return (DataContainerCodecContext<DV, ?>) getNotification((Class<? extends Notification>) childClass);
+            return (DataContainerCodecContext<C, ?>) getNotification((Class<? extends Notification>) childClass);
         }
-        return (DataContainerCodecContext<DV, ?>) getOrRethrow(childrenByClass, childClass);
+        return (DataContainerCodecContext<C, ?>) getOrRethrow(childrenByClass, childClass);
     }
 
     @Override
@@ -242,6 +256,17 @@ public final class SchemaRootCodecContext<D extends TreeNode> extends DataContai
         return getOrRethrow(operationDataByClass, operationInputOrOutput);
     }
 
+    /**
+     * Get operation input as binding object according to schema path of operation.
+     *
+     * @param operation
+     *            - schema path of operation
+     * @return operation input codec of operation
+     */
+    public OperationInputCodec<?> getOperation(final SchemaPath operation) {
+        return getOrRethrow(operationDataByPath, operation);
+    }
+
     /**
      * Get notification as binding object of binding class.
      *
@@ -265,16 +290,7 @@ public final class SchemaRootCodecContext<D extends TreeNode> extends DataContai
         return getOrRethrow(notificationsByPath, notification);
     }
 
-    /**
-     * Get operation input as binding object according to schema path of operation.
-     *
-     * @param operation
-     *            - schema path of operation
-     * @return operation input codec of operation
-     */
-    public OperationInputCodec<?> getOperation(final SchemaPath operation) {
-        return getOrRethrow(operationDataByPath, operation);
-    }
+
 
     private DataContainerCodecContext<?, ?> createDataTreeChildContext(final Class<?> key) {
         final QName qname = BindingReflections.findQName(key);
@@ -292,28 +308,15 @@ public final class SchemaRootCodecContext<D extends TreeNode> extends DataContai
         if ((operation = findPotentialOperation(schemaContext.getOperations(), module, key, qname)) == null) {
             operation = findPotentialOperation(schemaContext.getActions(), module, key, qname);
         }
-        Preconditions.checkArgument(operation != null, "Supplied class %s is not valid operation class.", key);
-        final ContainerSchemaNode schema = getOperationDataSchema(operation, qname);// SchemaNodeUtils.getRpcDataSchema(operation,
-                                                                           // qname);
+        Preconditions.checkArgument(operation != null,
+            "Supplied class %s is not valid operation class.", key);
+        final ContainerSchemaNode schema = getOperationDataSchema(operation, qname);// SchemaNodeUtils
+        // .getRpcDataSchema(operation, qname);
         Preconditions.checkArgument(schema != null, "Schema for %s does not define input / output.",
                 operation.getQName());
         return (ContainerNodeCodecContext<?>) DataContainerCodecPrototype.from(key, schema, factory()).get();
     }
 
-    private ContainerSchemaNode getOperationDataSchema(final OperationDefinition operation, final QName qname) {
-        Preconditions.checkNotNull(operation, "Operation Schema must not be null.");
-        Preconditions.checkNotNull(qname, "QName must not be null.");
-        switch (qname.getLocalName()) {
-            case "input":
-                return operation.getInput();
-            case "output":
-                return operation.getOutput();
-            default:
-                throw new IllegalArgumentException(
-                        "Supplied qname " + qname + " does not represent operation input or output.");
-        }
-    }
-
     private OperationDefinition findPotentialOperation(final Set<? extends OperationDefinition> set,
             final QNameModule module, final Class<?> key, final QName qname) {
         OperationDefinition operation = null;
index 9daf43edfa140068320930835189c248426ee93c..6b143066ccd1e559c607032bc14542efcd172084 100644 (file)
@@ -87,6 +87,7 @@ public class UnionValueOptionContext {
      *            - input object for deserializing
      * @return deserialized union binding type object
      */
+    @SuppressWarnings("checkstyle:illegalCatch")
     public Object deserializeUnion(final Object input) {
         // Side-step potential exceptions by checking the type if it is available
         if (codec instanceof EncapsulatedValueCodec && !((EncapsulatedValueCodec) codec).canAcceptObject(input)) {
@@ -112,6 +113,7 @@ public class UnionValueOptionContext {
         }
     }
 
+    @SuppressWarnings("checkstyle:illegalCatch")
     private Object getValueFrom(final Object input) {
         try {
             return getter.invokeExact(input);
index 1698867d0afff473ccd6df57717ed3c510abc606..1be20873673f81b30855f1b05c4d3e91c96c922e 100644 (file)
@@ -41,7 +41,8 @@ public final class ValueContext {
         try {
             getter = MethodHandles.publicLookup().unreflect(identifier.getMethod(getterName)).asType(OBJECT_METHOD);
         } catch (IllegalAccessException | NoSuchMethodException | SecurityException e) {
-            throw new IllegalStateException(String.format("Cannot find method %s in class %s", getterName, identifier), e);
+            throw new IllegalStateException(
+                String.format("Cannot find method %s in class %s", getterName, identifier), e);
         }
         this.identifier = identifier;
         codec = leaf.getValueCodec();
@@ -54,6 +55,7 @@ public final class ValueContext {
      *            - input object
      * @return serialized invoked object
      */
+    @SuppressWarnings("checkstyle:illegalCatch")
     public Object getAndSerialize(final Object obj) {
         final Object value;
         try {
index efdfb99a36df2d30bc7a009b3682a4a4e73f0969..24ea27d842e7743b3a31b81a0eb3cb026a985a87 100644 (file)
@@ -322,9 +322,9 @@ public final class BindingCodecContext implements CodecContextFactory, BindingTr
         return getLeafNodesUsingReflection(parentClass, getterToLeafSchema);
     }
 
-    private static String getGetterName(final QName qName, final TypeDefinition<?> typeDef) {
+    private static String getGetterName(final QName qname, final TypeDefinition<?> typeDef) {
         final String suffix =
-                JavaIdentifierNormalizer.normalizeSpecificIdentifier(qName.getLocalName(), JavaIdentifier.CLASS);
+                JavaIdentifierNormalizer.normalizeSpecificIdentifier(qname.getLocalName(), JavaIdentifier.CLASS);
         if (typeDef instanceof BooleanTypeDefinition || typeDef instanceof EmptyTypeDefinition) {
             return "is" + suffix;
         }
@@ -397,6 +397,7 @@ public final class BindingCodecContext implements CodecContextFactory, BindingTr
         return ValueTypeCodec.NOOP_CODEC;
     }
 
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private Codec<Object, Object> getCodecForBindingClass(final Class<?> valueType, final TypeDefinition<?> typeDef) {
         if (typeDef instanceof IdentityrefTypeDefinition) {
             return ValueTypeCodec.encapsulatedValueCodecFor(valueType, identityCodec);
index 88d0108a8b5beaab4f3d5640f4c5eb48eaa57d4f..01d4edaf536d33cb4f5a142232158577fbe71dbb 100644 (file)
@@ -64,7 +64,7 @@ public abstract class DataContainerCodecContext<D extends TreeNode, T> extends N
     }
 
     /**
-     * Returns nested node context using supplied YANG Instance Identifier
+     * Returns nested node context using supplied YANG Instance Identifier.
      *
      * @param arg Yang Instance Identifier Argument
      * @return Context of child
@@ -72,7 +72,7 @@ public abstract class DataContainerCodecContext<D extends TreeNode, T> extends N
      */
     @Nonnull
     @Override
-    public abstract NodeCodecContext<?> yangPathArgumentChild(final YangInstanceIdentifier.PathArgument arg);
+    public abstract NodeCodecContext<?> yangPathArgumentChild(YangInstanceIdentifier.PathArgument arg);
 
     /**
      * Returns nested node context using supplied Binding Instance Identifier
@@ -129,7 +129,8 @@ public abstract class DataContainerCodecContext<D extends TreeNode, T> extends N
      */
     @Nonnull
     @Override
-    public abstract <DV extends TreeNode> DataContainerCodecContext<DV,?> streamChild(@Nonnull final Class<DV> childClass) throws IllegalArgumentException;
+    public abstract <C extends TreeNode> DataContainerCodecContext<C,?> streamChild(@Nonnull Class<C> childClass)
+        throws IllegalArgumentException;
 
     /**
      * Returns child context as if it was walked by {@link BindingStreamEventWriter}. This means that to enter
@@ -139,8 +140,8 @@ public abstract class DataContainerCodecContext<D extends TreeNode, T> extends N
      * @return Context of child or Optional absent is supplied class is not applicable in context.
      */
     @Override
-    public abstract <DV extends TreeNode> Optional<DataContainerCodecContext<DV, ?>> possibleStreamChild(@Nonnull
-        final Class<DV> childClass);
+    public abstract <C extends TreeNode> Optional<DataContainerCodecContext<C, ?>> possibleStreamChild(@Nonnull
+        Class<C> childClass);
 
     @Override
     public String toString() {
@@ -193,7 +194,7 @@ public abstract class DataContainerCodecContext<D extends TreeNode, T> extends N
     }
 
     public TreeNodeSerializer eventStreamSerializer() {
-        if(eventStreamSerializer == null) {
+        if (eventStreamSerializer == null) {
             eventStreamSerializer = factory().getEventStreamSerializer(getBindingClass());
         }
         return eventStreamSerializer;
index ae0db15143eacb18b779681e0082785ef99af715..2efab64f2cf5f220817e979cb530ef64df512e38 100644 (file)
@@ -49,8 +49,8 @@ public final class DataContainerCodecPrototype<T> implements NodeContextSupplier
     private volatile DataContainerCodecContext<?,T> instance = null;
 
     @SuppressWarnings({"rawtypes", "unchecked"})
-    private DataContainerCodecPrototype(final Class<?> cls, final YangInstanceIdentifier.PathArgument arg, final T nodeSchema,
-            final CodecContextFactory factory) {
+    private DataContainerCodecPrototype(final Class<?> cls, final YangInstanceIdentifier.PathArgument arg,
+            final T nodeSchema, final CodecContextFactory factory) {
         this.bindingClass = Preconditions.checkNotNull(cls);
         this.yangArg = Preconditions.checkNotNull(arg);
         this.schema = Preconditions.checkNotNull(nodeSchema);
@@ -59,7 +59,8 @@ public final class DataContainerCodecPrototype<T> implements NodeContextSupplier
         this.bindingArg = new Item(bindingClass);
 
         if (arg instanceof AugmentationIdentifier) {
-            this.namespace = Iterables.getFirst(((AugmentationIdentifier) arg).getPossibleChildNames(), null).getModule();
+            this.namespace = Iterables.getFirst(
+                ((AugmentationIdentifier) arg).getPossibleChildNames(), null).getModule();
         } else {
             this.namespace = arg.getNodeType().getModule();
         }
@@ -71,24 +72,25 @@ public final class DataContainerCodecPrototype<T> implements NodeContextSupplier
         return new DataContainerCodecPrototype(cls, NodeIdentifier.create(schema.getQName()), schema, factory);
     }
 
-    public static DataContainerCodecPrototype<SchemaContext> rootPrototype(final CodecContextFactory factory) {
-        final SchemaContext schema = factory.getRuntimeContext().getSchemaContext();
-        final NodeIdentifier arg = NodeIdentifier.create(schema.getQName());
-        return new DataContainerCodecPrototype<>(TreeRoot.class, arg, schema, factory);
-    }
-
     @SuppressWarnings({ "rawtypes", "unchecked" })
     static DataContainerCodecPrototype<?> from(final Class<?> augClass, final AugmentationIdentifier arg,
                                                final AugmentationSchema schema, final CodecContextFactory factory) {
         return new DataContainerCodecPrototype(augClass, arg, schema, factory);
     }
 
+
     public static DataContainerCodecPrototype<NotificationDefinition> from(final Class<?> augClass,
             final NotificationDefinition schema, final CodecContextFactory factory) {
         final PathArgument arg = NodeIdentifier.create(schema.getQName());
         return new DataContainerCodecPrototype<>(augClass, arg, schema, factory);
     }
 
+    public static DataContainerCodecPrototype<SchemaContext> rootPrototype(final CodecContextFactory factory) {
+        final SchemaContext schema = factory.getRuntimeContext().getSchemaContext();
+        final NodeIdentifier arg = NodeIdentifier.create(schema.getQName());
+        return new DataContainerCodecPrototype<>(TreeRoot.class, arg, schema, factory);
+    }
+
     public T getSchema() {
         return schema;
     }
index 288622ebabc287555841d7b0268dac3f91d19621..dd007b94a230d30f269363fa559f83642ad2474f 100644 (file)
@@ -99,7 +99,7 @@ class LazyTreeNode<D extends TreeNode> implements InvocationHandler, Augmentatio
                     if (!Arrays.equals((byte[]) thisValue, (byte[]) otherValue)) {
                         return false;
                     }
-                } else if (!Objects.equals(thisValue, otherValue)){
+                } else if (!Objects.equals(thisValue, otherValue)) {
                     return false;
                 }
             }
@@ -119,7 +119,7 @@ class LazyTreeNode<D extends TreeNode> implements InvocationHandler, Augmentatio
     private static Map<Class<? extends Augmentation<?>>, Augmentation<?>> getAllAugmentations(final Object dataObject) {
         if (dataObject instanceof AugmentationReader) {
             return ((AugmentationReader) dataObject).getAugmentations(dataObject);
-        } else if (dataObject instanceof Augmentable<?>){
+        } else if (dataObject instanceof Augmentable<?>) {
             return BindingReflections.getAugmentations((Augmentable<?>) dataObject);
         }
 
@@ -191,8 +191,8 @@ class LazyTreeNode<D extends TreeNode> implements InvocationHandler, Augmentatio
         Preconditions.checkNotNull(cls,"Supplied augmentation must not be null.");
 
         @SuppressWarnings({"unchecked","rawtypes"})
-        final Optional<DataContainerCodecContext<?,?>> augCtx= context.possibleStreamChild((Class) cls);
-        if(augCtx.isPresent()) {
+        final Optional<DataContainerCodecContext<?,?>> augCtx = context.possibleStreamChild((Class) cls);
+        if (augCtx.isPresent()) {
             final Optional<NormalizedNode<?, ?>> augData = data.getChild(augCtx.get().getDomPathArgument());
             if (augData.isPresent()) {
                 return augCtx.get().deserialize(augData.get());
index 3645fbcb8886eb2ad71495ed5e30a73ac578a613..cfd8c073f0ca70f855ea47177198b4a36022e48b 100644 (file)
@@ -69,8 +69,7 @@ public final class LeafNodeCodecContext<D extends TreeNode> extends NodeCodecCon
                     return qnameDomValueFromString(codec, schema, (String) defaultValue, schemaContext);
                 }
                 return domValueFromString(codec, type, defaultValue);
-            }
-            else {
+            } else {
                 while (type.getBaseType() != null && type.getDefaultValue() == null) {
                     type = type.getBaseType();
                 }
@@ -149,7 +148,7 @@ public final class LeafNodeCodecContext<D extends TreeNode> extends NodeCodecCon
         return this;
     }
 
-    public final Method getGetter() {
+    public Method getGetter() {
         return getter;
     }
 
index e8131d282e03bb310dbf2a33a1d547d81dd87673..6e9dfd30cd180631ce51beb1fff306be999f3497 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.mdsal.binding.javav2.spec.structural.Augmentation;
  * Thrown when Java Binding class was used in data for which codec does not
  * have schema.
  *
+ * <p>
  * By serialization / deserialization of this exception {@link #getBindingClass()}
  * will return null.
  */
index 6820bc935573d34ebd59fd92a1d18a674ade5d3e..a73d225e7c83a1d9d7cfd244d952eab3c7e15b40 100644 (file)
@@ -25,11 +25,11 @@ import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
 /**
- *
  * Location specific context for schema nodes, which contains codec specific
  * information to properly serialize / deserialize from Java YANG Binding data
  * to NormalizedNode data.
  *
+ * <p>
  * Two core subtypes of codec context are available:
  * <ul>
  * <li>{@link LeafNodeCodecContext} - Context for nodes, which does not contain
@@ -43,16 +43,16 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 @Beta
 public abstract class NodeCodecContext<D extends TreeNode> implements BindingTreeNodeCodec<D> {
     /**
-     * Returns Yang Instance Identifier Path Argument of current node
+     * Returns Yang Instance Identifier Path Argument of current node.
      *
      * @return DOM Path Argument of node
      */
     public abstract YangInstanceIdentifier.PathArgument getDomPathArgument();
 
     /**
-     *
      * Immutable factory, which provides access to runtime context,
      * create leaf nodes and provides path argument codecs.
+     *
      * <p>
      * During lifetime of factory all calls for same arguments to method must return
      * equal result (not necessary same instance of result).
@@ -75,20 +75,19 @@ public abstract class NodeCodecContext<D extends TreeNode> implements BindingTre
         ImmutableMap<String, LeafNodeCodecContext<?>> getLeafNodes(Class<?> type, DataNodeContainer schema);
 
         /**
-         * Returns Path argument codec for list item
+         * Returns Path argument codec for list item.
          *
          * @param type Type of list item
          * @param schema Schema of list item
          * @return Path argument codec for supplied list item.
          */
         Codec<NodeIdentifierWithPredicates, IdentifiableItem<?, ?>> getPathArgumentCodec(Class<?> type,
-           ListSchemaNode schema);
+            ListSchemaNode schema);
 
         TreeNodeSerializer getEventStreamSerializer(Class<?> type);
     }
 
     /**
-     *
      * Serializes supplied Binding Path Argument
      * and adds all necessary YANG instance identifiers to supplied list.
      *
index 749a7c594d2de68042bb747f5cdb2f9204e8d424..69362d7e804ff956992b1f76552a1d2d90790754 100644 (file)
@@ -118,7 +118,8 @@ public abstract class TreeNodeCodecContext<D extends TreeNode, T extends DataNod
         }
         reloadAllAugmentations();
 
-        final Class<?> proxyClass = Proxy.getProxyClass(getBindingClass().getClassLoader(),  new Class[] { getBindingClass(), AugmentationHolder.class });
+        final Class<?> proxyClass = Proxy.getProxyClass(getBindingClass().getClassLoader(),
+            new Class[] { getBindingClass(), AugmentationHolder.class });
         try {
             proxyConstructor = MethodHandles.publicLookup().findConstructor(proxyClass, CONSTRUCTOR_TYPE)
                     .asType(TREENODE_TYPE);
@@ -140,13 +141,13 @@ public abstract class TreeNodeCodecContext<D extends TreeNode, T extends DataNod
     @Nonnull
     @SuppressWarnings("unchecked")
     @Override
-    public <DV extends TreeNode> DataContainerCodecContext<DV, ?> streamChild(@Nonnull final Class<DV> childClass) {
+    public <C extends TreeNode> DataContainerCodecContext<C, ?> streamChild(@Nonnull final Class<C> childClass) {
         final DataContainerCodecPrototype<?> childProto = streamChildPrototype(childClass);
-        return (DataContainerCodecContext<DV, ?>) childNonNull(childProto, childClass, " Child %s is not valid child.",
+        return (DataContainerCodecContext<C, ?>) childNonNull(childProto, childClass, " Child %s is not valid child.",
                 childClass).get();
     }
 
-    private final DataContainerCodecPrototype<?> streamChildPrototype(final Class<?> childClass) {
+    private DataContainerCodecPrototype<?> streamChildPrototype(final Class<?> childClass) {
         final DataContainerCodecPrototype<?> childProto = byStreamClass.get(childClass);
         if (childProto != null) {
             return childProto;
@@ -159,11 +160,11 @@ public abstract class TreeNodeCodecContext<D extends TreeNode, T extends DataNod
 
     @SuppressWarnings("unchecked")
     @Override
-    public <DV extends TreeNode> Optional<DataContainerCodecContext<DV, ?>> possibleStreamChild(
-            @Nonnull final Class<DV> childClass) {
+    public <C extends TreeNode> Optional<DataContainerCodecContext<C, ?>> possibleStreamChild(
+            @Nonnull final Class<C> childClass) {
         final DataContainerCodecPrototype<?> childProto = streamChildPrototype(childClass);
         if (childProto != null) {
-            return Optional.of((DataContainerCodecContext<DV,?>) childProto.get());
+            return Optional.of((DataContainerCodecContext<C,?>) childProto.get());
         }
         return Optional.absent();
     }
@@ -271,7 +272,7 @@ public abstract class TreeNodeCodecContext<D extends TreeNode, T extends DataNod
     }
 
     @Nullable
-    private final DataContainerCodecPrototype<?> augmentationByClassOrEquivalentClass(@Nonnull final Class<?> childClass) {
+    private DataContainerCodecPrototype<?> augmentationByClassOrEquivalentClass(@Nonnull final Class<?> childClass) {
         final DataContainerCodecPrototype<?> childProto = byStreamAugmented.get(childClass);
         if (childProto != null) {
             return childProto;
@@ -328,6 +329,7 @@ public abstract class TreeNodeCodecContext<D extends TreeNode, T extends DataNod
         }
     }
 
+    @SuppressWarnings("checkstyle:illegalCatch")
     protected final D createBindingProxy(final NormalizedNodeContainer<?, ?, ?> node) {
         try {
             return (D) proxyConstructor.invokeExact((InvocationHandler) new LazyTreeNode<>(this, node));
index 0f36bdacd2addef7888bb9b94c7a2bb2f7a64f43..0fd479c1baead23925055c75a9df6a78ceccbf90 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult;
  * Serializer of Binding objects to Normalized Node which uses
  * {@link BindingNormalizedNodeCache} to cache already serialized values.
  *
+ * <p>
  * This serializer implements {@link BindingStreamEventWriter} along with
  * {@link BindingSerializer}.
  *
@@ -60,12 +61,14 @@ public final class CachingNormalizedNodeSerializer extends ForwardingBindingStre
     /**
      * Serializes input if it is cached, returns null otherwise.
      *
+     * <p>
      * If input is cached it uses
      * {@link NormalizedNodeWithAddChildWriter#addChild(NormalizedNode)} to
      * provide already serialized value to underlying NormalizedNodeWriter in
      * order to reuse value instead of creating new one using Normalized Node
      * stream APIs.
      *
+     * <p>
      * Note that this optional is serialization of child node invoked from
      * {@link TreeNodeSerializer}, which may opt-out from streaming of data when
      * non-null result is returned.
@@ -81,18 +84,6 @@ public final class CachingNormalizedNodeSerializer extends ForwardingBindingStre
         return null;
     }
 
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    private BindingNormalizedNodeCache getCacheSerializer(final Class type) {
-        if (cacheHolder.isCached(type)) {
-            final DataContainerCodecContext<?, ?> currentCtx = (DataContainerCodecContext<?, ?>) delegate.current();
-            if (type.equals(currentCtx.getBindingClass())) {
-                return cacheHolder.getCachingSerializer(currentCtx);
-            }
-            return cacheHolder.getCachingSerializer(currentCtx.streamChild(type));
-        }
-        return null;
-    }
-
     /**
      * Serializes supplied data using stream writer with child cache enabled or
      * using cache directly if cache is avalaible also for supplied Codec node.
@@ -114,6 +105,18 @@ public final class CachingNormalizedNodeSerializer extends ForwardingBindingStre
         return serializeUsingStreamWriter(cacheHolder, subtreeRoot, data);
     }
 
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    private BindingNormalizedNodeCache getCacheSerializer(final Class type) {
+        if (cacheHolder.isCached(type)) {
+            final DataContainerCodecContext<?, ?> currentCtx = (DataContainerCodecContext<?, ?>) delegate.current();
+            if (type.equals(currentCtx.getBindingClass())) {
+                return cacheHolder.getCachingSerializer(currentCtx);
+            }
+            return cacheHolder.getCachingSerializer(currentCtx.streamChild(type));
+        }
+        return null;
+    }
+
     /**
      * Serializes supplied data using stream writer with child cache enabled.
      *
index e1dac7509379048cc1536c8b40097516438b78c3..c7fac4584f38384719021cf1820403cce190d50e 100644 (file)
@@ -76,6 +76,7 @@ final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec
     }
 
     @Override
+    @SuppressWarnings("checkstyle:illegalCatch")
     public Object deserialize(Object input) {
         Preconditions.checkArgument(input instanceof Set);
         @SuppressWarnings("unchecked")
@@ -88,7 +89,7 @@ final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec
          * This means we will construct correct array for construction
          * of bits object.
          */
-        final Boolean args[] = new Boolean[ctorArgs.size()];
+        final Boolean[] args = new Boolean[ctorArgs.size()];
         int currentArg = 0;
         for (String value : ctorArgs) {
             args[currentArg++] = casted.contains(value);
index 959fcb5f395b34244f97379930ca861553beb0bc..7a129ceb734c54bc45dd1bdfe2d03fbb2aba9465 100644 (file)
@@ -64,6 +64,7 @@ public final class EncapsulatedValueCodec extends ReflectionBasedCodec implement
     }
 
     @Override
+    @SuppressWarnings("checkstyle:illegalCatch")
     public Object deserialize(final Object input) {
         try {
             return constructor.invokeExact(input);
@@ -73,6 +74,7 @@ public final class EncapsulatedValueCodec extends ReflectionBasedCodec implement
     }
 
     @Override
+    @SuppressWarnings("checkstyle:illegalCatch")
     public Object serialize(final Object input) {
         try {
             return getter.invokeExact(input);
index bee0c655190b324288c0c0f3050a31fb80f6db66..c3ff4c21246c72a2094903ce7b3a8ac9c7970bf2 100644 (file)
@@ -26,7 +26,7 @@ import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
 @Beta
 public abstract class ValueTypeCodec implements Codec<Object, Object> {
 
-    private static final Cache<Class<?>, SchemaUnawareCodec> staticCodecs = CacheBuilder.newBuilder().weakKeys()
+    private static final Cache<Class<?>, SchemaUnawareCodec> STATIC_CODECS = CacheBuilder.newBuilder().weakKeys()
             .build();
 
     /**
@@ -39,7 +39,6 @@ public abstract class ValueTypeCodec implements Codec<Object, Object> {
     }
 
     /**
-     *
      * No-op Codec, Java YANG Binding uses same types as NormalizedNode model
      * for base YANG types, representing numbers, binary and strings.
      */
@@ -91,16 +90,17 @@ public abstract class ValueTypeCodec implements Codec<Object, Object> {
         return def instanceof EmptyTypeDefinition ? EMPTY_CODEC : NOOP_CODEC;
     }
 
-    private static SchemaUnawareCodec getCachedSchemaUnawareCodec(final Class<?> typeClz, final Callable<? extends SchemaUnawareCodec> loader) {
+    private static SchemaUnawareCodec getCachedSchemaUnawareCodec(final Class<?> typeClz,
+            final Callable<? extends SchemaUnawareCodec> loader) {
         try {
-            return staticCodecs.get(typeClz, loader);
+            return STATIC_CODECS.get(typeClz, loader);
         } catch (final ExecutionException e) {
             throw new IllegalStateException(e);
         }
     }
 
-    private static Callable<? extends SchemaUnawareCodec> getCodecLoader(final Class<?> typeClz, final TypeDefinition<?> def) {
-
+    private static Callable<? extends SchemaUnawareCodec> getCodecLoader(final Class<?> typeClz,
+            final TypeDefinition<?> def) {
         TypeDefinition<?> rootType = def;
         while (rootType.getBaseType() != null) {
             rootType = rootType.getBaseType();
@@ -117,7 +117,8 @@ public abstract class ValueTypeCodec implements Codec<Object, Object> {
 
     @SuppressWarnings("rawtypes")
     public static ValueTypeCodec encapsulatedValueCodecFor(final Class<?> typeClz, final Codec delegate) {
-        final SchemaUnawareCodec extractor = getCachedSchemaUnawareCodec(typeClz, EncapsulatedValueCodec.loader(typeClz));
+        final SchemaUnawareCodec extractor = getCachedSchemaUnawareCodec(typeClz,
+            EncapsulatedValueCodec.loader(typeClz));
         return new CompositeValueCodec(extractor, delegate);
     }
 }
\ No newline at end of file