This is a port of YANGTOOLS-1411 to the legacy codebase.
Change-Id: Iff3ac515f4bd763c1c7b7905508fca3b5dc277c7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
}
Set<QName> getQNameIdentifiers() {
}
Set<QName> getQNameIdentifiers() {
- return Collections.singleton(identifier.getNodeType());
+ return ImmutableSet.of(identifier.getNodeType());
}
abstract DataNormalizationOperation<?> getChild(PathArgument child) throws DataNormalizationException;
}
abstract DataNormalizationOperation<?> getChild(PathArgument child) throws DataNormalizationException;
private abstract static class DataContainerNormalizationOperation<T extends PathArgument>
extends DataNormalizationOperation<T> {
private final DataNodeContainer schema;
private abstract static class DataContainerNormalizationOperation<T extends PathArgument>
extends DataNormalizationOperation<T> {
private final DataNodeContainer schema;
- private final Map<QName, DataNormalizationOperation<?>> byQName;
- private final Map<PathArgument, DataNormalizationOperation<?>> byArg;
+ private final Map<QName, DataNormalizationOperation<?>> byQName = new ConcurrentHashMap<>();
+ private final Map<PathArgument, DataNormalizationOperation<?>> byArg = new ConcurrentHashMap<>();
DataContainerNormalizationOperation(final T identifier, final DataNodeContainer schema) {
super(identifier);
this.schema = schema;
DataContainerNormalizationOperation(final T identifier, final DataNodeContainer schema) {
super(identifier);
this.schema = schema;
- this.byArg = new ConcurrentHashMap<>();
- this.byQName = new ConcurrentHashMap<>();
MapMixinNormalization(final ListSchemaNode list) {
super(new NodeIdentifier(list.getQName()));
MapMixinNormalization(final ListSchemaNode list) {
super(new NodeIdentifier(list.getQName()));
- this.innerNode = new ListItemNormalization(NodeIdentifierWithPredicates.of(list.getQName(),
- Collections.<QName, Object>emptyMap()), list);
+ innerNode = new ListItemNormalization(NodeIdentifierWithPredicates.of(list.getQName()), list);
UnkeyedListMixinNormalization(final ListSchemaNode list) {
super(new NodeIdentifier(list.getQName()));
UnkeyedListMixinNormalization(final ListSchemaNode list) {
super(new NodeIdentifier(list.getQName()));
- this.innerNode = new UnkeyedListItemNormalization(list);
+ innerNode = new UnkeyedListItemNormalization(list);
DataNormalizationOperation<?> getChild(final QName child) {
return byQName.get(child);
}
DataNormalizationOperation<?> getChild(final QName child) {
return byQName.get(child);
}
+
+ @Override
+ Set<QName> getQNameIdentifiers() {
+ return byQName.keySet();
+ }
}
private static final class AnyxmlNormalization extends SimpleTypeNormalization<NodeIdentifier> {
}
private static final class AnyxmlNormalization extends SimpleTypeNormalization<NodeIdentifier> {