From e104e4acbc93ca8fc3694ffc4ad794204339b4fe Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 5 Jun 2017 13:58:03 +0200 Subject: [PATCH] Enforce checkstyle in yang-data-util Fix up code formatting and activate enforcement. Change-Id: I92419f38833fea7b68fe13a20619b4d1641f68de Signed-off-by: Robert Varga --- yang/yang-data-util/pom.xml | 38 ++++++++++++------- .../AbstractModuleStringIdentityrefCodec.java | 2 +- ...ctModuleStringInstanceIdentifierCodec.java | 2 +- .../util/AbstractStringIdentityrefCodec.java | 3 +- ...AbstractStringInstanceIdentifierCodec.java | 8 ++-- .../data/util/AbstractStringUnionCodec.java | 2 + .../data/util/AugmentationContextNode.java | 4 +- .../data/util/ChoiceNodeDataWithSchema.java | 4 +- .../util/CompositeNodeDataWithSchema.java | 37 ++++++++++-------- .../data/util/DataContainerContextNode.java | 22 +++++------ .../yang/data/util/DataSchemaContextNode.java | 7 +--- .../yang/data/util/LeafInterner.java | 6 ++- .../data/util/LeafListEntryContextNode.java | 5 +-- .../yang/data/util/LeafsetEntryInterner.java | 6 ++- .../util/ListEntryNodeDataWithSchema.java | 15 ++++---- .../util/OrderedLeafListMixinContextNode.java | 5 +-- .../data/util/OrderedMapMixinContextNode.java | 6 +-- .../yang/data/util/ParserStreamUtils.java | 13 +++---- .../util/UnkeyedListMixinContextNode.java | 2 +- .../UnorderedLeafListMixinContextNode.java | 2 +- .../util/UnorderedMapMixinContextNode.java | 4 +- ...XpathStringParsingPathArgumentBuilder.java | 18 ++++----- .../YangModeledAnyXmlNodeDataWithSchema.java | 3 +- .../data/util/codec/AbstractCodecFactory.java | 12 ++++++ .../util/codec/PrecomputedCodecCache.java | 1 + 25 files changed, 123 insertions(+), 104 deletions(-) diff --git a/yang/yang-data-util/pom.xml b/yang/yang-data-util/pom.xml index d7c0f7508c..74a321a87a 100644 --- a/yang/yang-data-util/pom.xml +++ b/yang/yang-data-util/pom.xml @@ -51,19 +51,31 @@ - - ${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/ + + ${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/ + + + + opendaylight-site + ${nexus.site.url}/${project.artifactId}/ + + diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java index 293c839824..886b8438ef 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java @@ -20,7 +20,7 @@ public abstract class AbstractModuleStringIdentityrefCodec extends AbstractStrin /** * Resolve a string prefix into the corresponding module. * - * @param prefix + * @param prefix Prefix * @return module mapped to prefix, or null if the module cannot be resolved */ protected abstract Module moduleForPrefix(@Nonnull String prefix); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java index d23be76b3b..008befef32 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java @@ -25,7 +25,7 @@ public abstract class AbstractModuleStringInstanceIdentifierCodec extends Abstra /** * Resolve a string prefix into the corresponding module. * - * @param prefix + * @param prefix Prefix * @return module mapped to prefix, or null if the module cannot be resolved */ protected abstract Module moduleForPrefix(@Nonnull String prefix); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringIdentityrefCodec.java index 6e150676e0..3c58ffbb7c 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringIdentityrefCodec.java @@ -17,7 +17,8 @@ import org.opendaylight.yangtools.yang.data.api.codec.IdentityrefCodec; * prefix:name tuple. Typical uses are RESTCONF/JSON (module:name) and XML (prefix:name). */ @Beta -public abstract class AbstractStringIdentityrefCodec extends AbstractNamespaceCodec implements IdentityrefCodec { +public abstract class AbstractStringIdentityrefCodec extends AbstractNamespaceCodec + implements IdentityrefCodec { @Override public String serialize(final QName data) { return appendQName(new StringBuilder(), data).toString(); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java index 751a79984e..5f6c9d12e2 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java @@ -24,7 +24,8 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; * prefix:name tuple. Typical uses are RESTCONF/JSON (module:name) and XML (prefix:name). */ @Beta -public abstract class AbstractStringInstanceIdentifierCodec extends AbstractNamespaceCodec implements InstanceIdentifierCodec { +public abstract class AbstractStringInstanceIdentifierCodec extends AbstractNamespaceCodec + implements InstanceIdentifierCodec { @Override public final String serialize(final YangInstanceIdentifier data) { @@ -67,21 +68,22 @@ public abstract class AbstractStringInstanceIdentifierCodec extends AbstractName } /** - * * Returns DataSchemaContextTree associated with SchemaContext for which * serialization / deserialization occurs. * + *

* Implementations MUST provide non-null Data Tree context, in order * for correct serialization / deserialization of PathArguments, * since XML representation does not have Augmentation arguments * and does not provide path arguments for cases. * + *

* This effectively means same input XPath representation of Path Argument * may result in different YangInstanceIdentifiers if models are different * in uses of choices and cases. * * @return DataSchemaContextTree associated with SchemaContext for which - * serialization / deserialization occurs. + * serialization / deserialization occurs. */ protected abstract @Nonnull DataSchemaContextTree getDataContextTree(); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java index a1bf999ea1..945c2c51ea 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java @@ -30,6 +30,7 @@ public abstract class AbstractStringUnionCodec implements Codec protected abstract Codec codecFor(final TypeDefinition type); @Override + @SuppressWarnings("checkstyle:illegalCatch") public final String serialize(final Object data) { for (final TypeDefinition type : typeDefinition.getTypes()) { Codec codec = codecFor(type); @@ -48,6 +49,7 @@ public abstract class AbstractStringUnionCodec implements Codec } @Override + @SuppressWarnings("checkstyle:illegalCatch") public Object deserialize(final String stringRepresentation) { if (stringRepresentation == null) { return null; diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java index 8b682fde77..5c9e152a76 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java @@ -18,7 +18,7 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; final class AugmentationContextNode extends DataContainerContextNode { - public AugmentationContextNode(final AugmentationSchema augmentation, final DataNodeContainer schema) { + AugmentationContextNode(final AugmentationSchema augmentation, final DataNodeContainer schema) { super(augmentationIdentifierFrom(augmentation), augmentationProxy(augmentation, schema), null); } @@ -42,4 +42,4 @@ final class AugmentationContextNode extends return getIdentifier().getPossibleChildNames(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ChoiceNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ChoiceNodeDataWithSchema.java index 009481562e..5f183c127c 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ChoiceNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ChoiceNodeDataWithSchema.java @@ -14,9 +14,7 @@ import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; /** - * - * childs - empty augment - only one element can be - * + * childs - empty augment - only one element can be. */ class ChoiceNodeDataWithSchema extends CompositeNodeDataWithSchema { diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java index 45791b1eff..d7bd7939e6 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java @@ -39,9 +39,10 @@ import org.opendaylight.yangtools.yang.model.api.YangModeledAnyXmlSchemaNode; public class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { /** - * nodes which were added to schema via augmentation and are present in data input + * nodes which were added to schema via augmentation and are present in data input. */ - private final Multimap augmentationsToChild = ArrayListMultimap.create(); + private final Multimap augmentationsToChild = + ArrayListMultimap.create(); /** * remaining data nodes (which aren't added via augment). Every of one them should have the same QName. @@ -52,6 +53,15 @@ public class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { super(schema); } + private AbstractNodeDataWithSchema addChild(final DataSchemaNode schema) { + AbstractNodeDataWithSchema newChild = addSimpleChild(schema); + return newChild == null ? addCompositeChild(schema) : newChild; + } + + public void addChild(final AbstractNodeDataWithSchema newChild) { + children.add(newChild); + } + public AbstractNodeDataWithSchema addChild(final Deque schemas) { Preconditions.checkArgument(!schemas.isEmpty(), "Expecting at least one schema"); @@ -131,8 +141,9 @@ public class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { CaseNodeDataWithSchema casePrevious = ((ChoiceNodeDataWithSchema) nodeDataWithSchema).getCase(); Preconditions.checkArgument(casePrevious.getSchema().getQName().equals(caseCandidate.getQName()), - "Data from case %s are specified but other data from case %s were specified earlier. Data aren't from the same case.", - caseCandidate.getQName(), casePrevious.getSchema().getQName()); + "Data from case %s are specified but other data from case %s were specified earlier." + + " Data aren't from the same case.", caseCandidate.getQName(), + casePrevious.getSchema().getQName()); return casePrevious; } @@ -169,15 +180,6 @@ public class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { } } - private AbstractNodeDataWithSchema addChild(final DataSchemaNode schema) { - AbstractNodeDataWithSchema newChild = addSimpleChild(schema); - return newChild == null ? addCompositeChild(schema) : newChild; - } - - public void addChild(final AbstractNodeDataWithSchema newChild) { - children.add(newChild); - } - /** * Return a hint about how may children we are going to generate. * @return Size of currently-present node list. @@ -191,7 +193,8 @@ public class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { for (AbstractNodeDataWithSchema child : children) { child.write(writer); } - for (Entry> augmentationToChild : augmentationsToChild.asMap().entrySet()) { + for (Entry> augmentationToChild + : augmentationsToChild.asMap().entrySet()) { final Collection childsFromAgumentation = augmentationToChild.getValue(); if (!childsFromAgumentation.isEmpty()) { // FIXME: can we get the augmentation schema? @@ -214,7 +217,8 @@ public class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { * @param child child node * @return augmentation schema */ - private static AugmentationSchema findCorrespondingAugment(final DataSchemaNode parent, final DataSchemaNode child) { + private static AugmentationSchema findCorrespondingAugment(final DataSchemaNode parent, + final DataSchemaNode child) { if (parent instanceof AugmentationTarget && !(parent instanceof ChoiceSchemaNode)) { for (AugmentationSchema augmentation : ((AugmentationTarget) parent).getAvailableAugmentations()) { DataSchemaNode childInAugmentation = augmentation.getDataChildByName(child.getQName()); @@ -226,7 +230,8 @@ public class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { return null; } - public static YangInstanceIdentifier.AugmentationIdentifier getNodeIdentifierForAugmentation(final AugmentationSchema schema) { + public static YangInstanceIdentifier.AugmentationIdentifier getNodeIdentifierForAugmentation( + final AugmentationSchema schema) { final Collection qnames = Collections2.transform(schema.getChildNodes(), DataSchemaNode::getQName); return new YangInstanceIdentifier.AugmentationIdentifier(ImmutableSet.copyOf(qnames)); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataContainerContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataContainerContextNode.java index 2cbbf1f253..51aa4e284d 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataContainerContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataContainerContextNode.java @@ -40,14 +40,6 @@ class DataContainerContextNode extends return register(potential); } - private DataSchemaContextNode fromLocalSchema(final PathArgument child) { - if (child instanceof AugmentationIdentifier) { - return fromSchemaAndQNameChecked(schema, ((AugmentationIdentifier) child).getPossibleChildNames() - .iterator().next()); - } - return fromSchemaAndQNameChecked(schema, child.getNodeType()); - } - @Override public DataSchemaContextNode getChild(final QName child) { DataSchemaContextNode potential = byQName.get(child); @@ -58,6 +50,14 @@ class DataContainerContextNode extends return register(potential); } + private DataSchemaContextNode fromLocalSchema(final PathArgument child) { + if (child instanceof AugmentationIdentifier) { + return fromSchemaAndQNameChecked(schema, ((AugmentationIdentifier) child).getPossibleChildNames() + .iterator().next()); + } + return fromSchemaAndQNameChecked(schema, child.getNodeType()); + } + protected DataSchemaContextNode fromLocalSchemaAndQName(final DataNodeContainer schema2, final QName child) { return fromSchemaAndQNameChecked(schema2, child); } @@ -65,11 +65,11 @@ class DataContainerContextNode extends private DataSchemaContextNode register(final DataSchemaContextNode potential) { if (potential != null) { byArg.put(potential.getIdentifier(), potential); - for (QName qName : potential.getQNameIdentifiers()) { - byQName.put(qName, potential); + for (QName qname : potential.getQNameIdentifiers()) { + byQName.put(qname, potential); } } return potential; } -} \ No newline at end of file +} diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java index a40226b2a7..2389e503f2 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java @@ -138,16 +138,11 @@ public abstract class DataSchemaContextNode implements I /** * Returns a DataContextNodeOperation for provided child node * + *

* If supplied child is added by Augmentation this operation returns a * DataContextNodeOperation for augmentation, otherwise returns a * DataContextNodeOperation for child as call for * {@link #fromDataSchemaNode(DataSchemaNode)}. - * - * - * @param parent - * @param parentAug - * @param child - * @return */ @Nullable static DataSchemaContextNode fromAugmentation(final DataNodeContainer parent, final AugmentationTarget parentAug, final DataSchemaNode child) { diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java index 80cec0b2ef..b270222c49 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java @@ -26,10 +26,12 @@ import org.slf4j.LoggerFactory; * Utility class for sharing instances of {@link LeafNode}s which have low cardinality-- e.g. those which hold * boolean or enumeration values. Instances containing attributes are not interned. * + *

* Such objects have cardinality which is capped at the product of QNAMES * TYPE_CARDINALITY, where QNAMES is the total * number of different QNames where the type is used and TYPE_CARDINALITY is the number of possible values for the type. * Boolean has cardinality of 2, enumerations have cardinality equal to the number of enum statements. * + *

* The theory here is that we tend to have a large number (100K+) of entries in a few places, which could end up hogging * the heap retained via the DataTree with duplicate objects (same QName, same value, different object). Using this * utility, such objects will end up reusing the same object, preventing this overhead. @@ -65,8 +67,8 @@ public final class LeafInterner { @Nonnull public static > Interner forSchema(@Nullable final LeafSchemaNode schema) { if (schema != null) { final TypeDefinition type = schema.getType(); - if (type instanceof BooleanTypeDefinition || type instanceof EnumTypeDefinition || - type instanceof IdentityrefTypeDefinition) { + if (type instanceof BooleanTypeDefinition || type instanceof EnumTypeDefinition + || type instanceof IdentityrefTypeDefinition) { return LeafInterner::intern; } } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafListEntryContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafListEntryContextNode.java index 540c8720bb..7b89afc340 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafListEntryContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafListEntryContextNode.java @@ -11,8 +11,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithV import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; final class LeafListEntryContextNode extends AbstractLeafNodeContext> { - - public LeafListEntryContextNode(final LeafListSchemaNode potential) { + LeafListEntryContextNode(final LeafListSchemaNode potential) { super(new NodeWithValue<>(potential.getQName(), null), potential); } @@ -20,4 +19,4 @@ final class LeafListEntryContextNode extends AbstractLeafNodeContext * Such objects have cardinality which is capped at the product of QNAMES * TYPE_CARDINALITY, where QNAMES is the total * number of different QNames where the type is used and TYPE_CARDINALITY is the number of possible values for the type. * Boolean has cardinality of 2, enumerations have cardinality equal to the number of enum statements. * + *

* The theory here is that we tend to have a large number (100K+) of entries in a few places, which could end up hogging * the heap retained via the DataTree with duplicate objects (same QName, same value, different object). Using this * utility, such objects will end up reusing the same object, preventing this overhead. @@ -70,8 +72,8 @@ public final class LeafsetEntryInterner { @Nullable public static LeafsetEntryInterner forSchema(@Nullable final LeafListSchemaNode schema) { if (schema != null) { final TypeDefinition type = schema.getType(); - if (type instanceof BooleanTypeDefinition || type instanceof EnumTypeDefinition || - type instanceof IdentityrefTypeDefinition) { + if (type instanceof BooleanTypeDefinition || type instanceof EnumTypeDefinition + || type instanceof IdentityrefTypeDefinition) { return INSTANCE; } } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java index 65d927e802..10ede76ebb 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java @@ -12,7 +12,6 @@ import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -23,7 +22,7 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; public class ListEntryNodeDataWithSchema extends CompositeNodeDataWithSchema { - private final Map qNameToKeys = new HashMap<>(); + private final Map qnameToKeys = new HashMap<>(); public ListEntryNodeDataWithSchema(final DataSchemaNode schema) { super(schema); @@ -33,15 +32,14 @@ public class ListEntryNodeDataWithSchema extends CompositeNodeDataWithSchema { public void addChild(final AbstractNodeDataWithSchema newChild) { final DataSchemaNode childSchema = newChild.getSchema(); if (childSchema instanceof LeafSchemaNode && isPartOfKey((LeafSchemaNode) childSchema)) { - qNameToKeys.put(childSchema.getQName(), (SimpleNodeDataWithSchema)newChild); + qnameToKeys.put(childSchema.getQName(), (SimpleNodeDataWithSchema)newChild); } super.addChild(newChild); } private boolean isPartOfKey(final LeafSchemaNode potentialKey) { - List keys = ((ListSchemaNode) getSchema()).getKeyDefinition(); - for (QName qName : keys) { - if (qName.equals(potentialKey.getQName())) { + for (QName qname : ((ListSchemaNode) getSchema()).getKeyDefinition()) { + if (qname.equals(potentialKey.getQName())) { return true; } } @@ -59,12 +57,13 @@ public class ListEntryNodeDataWithSchema extends CompositeNodeDataWithSchema { return; } - Preconditions.checkState(keyDef.size() == qNameToKeys.size(), "Input is missing some of the keys of %s", getSchema().getQName()); + Preconditions.checkState(keyDef.size() == qnameToKeys.size(), "Input is missing some of the keys of %s", + getSchema().getQName()); // Need to restore schema order... final Map predicates = new LinkedHashMap<>(); for (QName qname : keyDef) { - predicates.put(qname, qNameToKeys.get(qname).getValue()); + predicates.put(qname, qnameToKeys.get(qname).getValue()); } writer.nextDataSchemaNode(getSchema()); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedLeafListMixinContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedLeafListMixinContextNode.java index 31143ae303..83936c7c7e 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedLeafListMixinContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedLeafListMixinContextNode.java @@ -10,8 +10,7 @@ package org.opendaylight.yangtools.yang.data.util; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; final class OrderedLeafListMixinContextNode extends UnorderedLeafListMixinContextNode { - - public OrderedLeafListMixinContextNode(final LeafListSchemaNode potential) { + OrderedLeafListMixinContextNode(final LeafListSchemaNode potential) { super(potential); } -} \ No newline at end of file +} diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedMapMixinContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedMapMixinContextNode.java index 81eeb90814..3770aa4b5b 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedMapMixinContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/OrderedMapMixinContextNode.java @@ -10,9 +10,7 @@ package org.opendaylight.yangtools.yang.data.util; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; final class OrderedMapMixinContextNode extends UnorderedMapMixinContextNode { - - public OrderedMapMixinContextNode(final ListSchemaNode list) { + OrderedMapMixinContextNode(final ListSchemaNode list) { super(list); } - -} \ No newline at end of file +} diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ParserStreamUtils.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ParserStreamUtils.java index bc3228a6de..bb629797b1 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ParserStreamUtils.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ParserStreamUtils.java @@ -27,11 +27,8 @@ public final class ParserStreamUtils { /** * Returns stack of schema nodes via which it was necessary to pass to get schema node with specified - * {@code childName} and {@code namespace} + * {@code childName} and {@code namespace}. * - * @param dataSchemaNode - * @param childName - * @param namespace * @return stack of schema nodes via which it was passed through. If found schema node is direct child then stack * contains only one node. If it is found under choice and case then stack should contains 2*n+1 element * (where n is number of choices through it was passed) @@ -49,8 +46,8 @@ public final class ParserStreamUtils { final QName childQName = childNode.getQName(); if (childQName.getLocalName().equals(childName) && childQName.getNamespace().equals(namespace)) { - if (potentialChildNode == null || - childQName.getRevision().after(potentialChildNode.getQName().getRevision())) { + if (potentialChildNode == null + || childQName.getRevision().after(potentialChildNode.getQName().getRevision())) { potentialChildNode = childNode; } } @@ -65,8 +62,8 @@ public final class ParserStreamUtils { // try to find data schema node in choice (looking for first match) for (final ChoiceSchemaNode choiceNode : childChoices) { for (final ChoiceCaseNode concreteCase : choiceNode.getCases()) { - final Deque resultFromRecursion = findSchemaNodeByNameAndNamespace(concreteCase, childName, - namespace); + final Deque resultFromRecursion = findSchemaNodeByNameAndNamespace(concreteCase, + childName, namespace); if (!resultFromRecursion.isEmpty()) { resultFromRecursion.push(concreteCase); resultFromRecursion.push(choiceNode); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnkeyedListMixinContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnkeyedListMixinContextNode.java index 3a1546ba2b..507d611bd0 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnkeyedListMixinContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnkeyedListMixinContextNode.java @@ -16,7 +16,7 @@ class UnkeyedListMixinContextNode extends AbstractMixinContextNode innerOp; - public UnorderedLeafListMixinContextNode(final LeafListSchemaNode potential) { + UnorderedLeafListMixinContextNode(final LeafListSchemaNode potential) { super(NodeIdentifier.create(potential.getQName()), potential); innerOp = new LeafListEntryContextNode(potential); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnorderedMapMixinContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnorderedMapMixinContextNode.java index 5adaae6750..d8608c9806 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnorderedMapMixinContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/UnorderedMapMixinContextNode.java @@ -15,10 +15,9 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; class UnorderedMapMixinContextNode extends AbstractMixinContextNode { - private final ListItemContextNode innerNode; - public UnorderedMapMixinContextNode(final ListSchemaNode list) { + UnorderedMapMixinContextNode(final ListSchemaNode list) { super(NodeIdentifier.create(list.getQName()), list); this.innerNode = new ListItemContextNode(new NodeIdentifierWithPredicates(list.getQName(), Collections.emptyMap()), list); @@ -39,5 +38,4 @@ class UnorderedMapMixinContextNode extends AbstractMixinContextNode * Note that invocation of {@link #hasNext()} or {@link #next()} may result in * throwing of {@link IllegalArgumentException} if underlying string representation * is not correctly serialized or does not represent instance identifier valid @@ -31,7 +32,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum class XpathStringParsingPathArgumentBuilder implements Builder> { /** - * Matcher matching WSP YANG ABNF token + * Matcher matching WSP YANG ABNF token. */ private static final CharMatcher WSP = CharMatcher.anyOf(" \t"); @@ -42,7 +43,7 @@ class XpathStringParsingPathArgumentBuilder implements Builder * In case of error provides pointer to failed instance identifier, * offset on which failure occurred with explanation. * * @param condition Fails parsing if {@code condition} is false * @param errorMsg Error message which will be provided to user. - * @param attributes */ private void checkValid(final boolean condition, final String errorMsg, final Object... attributes) { if (!condition) { @@ -248,15 +247,14 @@ class XpathStringParsingPathArgumentBuilder implements Builder> { } protected abstract T binaryCodec(BinaryTypeDefinition type); + protected abstract T booleanCodec(BooleanTypeDefinition type); + protected abstract T bitsCodec(BitsTypeDefinition type); + protected abstract T emptyCodec(EmptyTypeDefinition type); + protected abstract T enumCodec(EnumTypeDefinition type); + protected abstract T identityRefCodec(IdentityrefTypeDefinition type, QNameModule module); + protected abstract T instanceIdentifierCodec(InstanceIdentifierTypeDefinition type); + protected abstract T intCodec(IntegerTypeDefinition type); + protected abstract T decimalCodec(DecimalTypeDefinition type); + protected abstract T stringCodec(StringTypeDefinition type); + protected abstract T uintCodec(UnsignedIntegerTypeDefinition type); + protected abstract T unionCodec(UnionTypeDefinition type, List codecs); + protected abstract T unknownCodec(UnknownTypeDefinition type); private T getSimpleCodecFor(final TypeDefinition type) { diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java index 3608b3cfd0..4bf16141d1 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java @@ -18,6 +18,7 @@ import org.opendaylight.yangtools.yang.model.api.TypedSchemaNode; * Pre-computed CodecCache. All possible codecs are created upfront at instantiation time, after which they are * available for the cost of a constant lookup. * + *

* Instantiation needs to occur through {@link LazyCodecCache#toPrecomputed()} after the lazy cache has been fully * populated. * -- 2.36.6