X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fimpl%2Futil%2Fcompat%2FDataNormalizer.java;h=b4dcb1167c70d8743d73ba106e2aaf4842017489;hp=e2a960a67aae708d34a4145479b8797fe535d0d6;hb=3927509ec3ecfa32a51b725d2b7155d425f5b877;hpb=cbe83ca3074fa0182d4f079f528bb710a997ced7 diff --git a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/util/compat/DataNormalizer.java b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/util/compat/DataNormalizer.java index e2a960a67a..b4dcb1167c 100644 --- a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/util/compat/DataNormalizer.java +++ b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/util/compat/DataNormalizer.java @@ -14,11 +14,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.Map; -import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.AugmentationIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.Node; import org.opendaylight.yangtools.yang.data.api.SimpleNode; import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; @@ -38,6 +36,11 @@ import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; +/** + * @deprecated This class provides compatibility between {@link CompositeNode} and {@link NormalizedNode}. + * Users of this class should use {@link NormalizedNode}s directly. + */ +@Deprecated public class DataNormalizer { private final DataNormalizationOperation operation; @@ -46,7 +49,7 @@ public class DataNormalizer { operation = DataNormalizationOperation.from(ctx); } - public InstanceIdentifier toNormalized(final InstanceIdentifier legacy) { + public YangInstanceIdentifier toNormalized(final YangInstanceIdentifier legacy) { ImmutableList.Builder normalizedArgs = ImmutableList.builder(); DataNormalizationOperation currentOp = operation; @@ -69,10 +72,10 @@ public class DataNormalizer { throw new IllegalArgumentException(String.format("Failed to normalize path %s", legacy), e); } - return InstanceIdentifier.create(normalizedArgs.build()); + return YangInstanceIdentifier.create(normalizedArgs.build()); } - public DataNormalizationOperation getOperation(final InstanceIdentifier legacy) throws DataNormalizationException { + public DataNormalizationOperation getOperation(final YangInstanceIdentifier legacy) throws DataNormalizationException { DataNormalizationOperation currentOp = operation; Iterator arguments = legacy.getPathArguments().iterator(); @@ -82,15 +85,15 @@ public class DataNormalizer { return currentOp; } - public Map.Entry> toNormalized( - final Map.Entry legacy) { + public Map.Entry> toNormalized( + final Map.Entry legacy) { return toNormalized(legacy.getKey(), legacy.getValue()); } - public Map.Entry> toNormalized(final InstanceIdentifier legacyPath, + public Map.Entry> toNormalized(final YangInstanceIdentifier legacyPath, final CompositeNode legacyData) { - InstanceIdentifier normalizedPath = toNormalized(legacyPath); + YangInstanceIdentifier normalizedPath = toNormalized(legacyPath); DataNormalizationOperation currentOp = operation; for (PathArgument arg : normalizedPath.getPathArguments()) { @@ -101,31 +104,13 @@ public class DataNormalizer { normalizedPath), e); } } - - // Write Augmentation data resolution - if (legacyData.getValue().size() == 1) { - final DataNormalizationOperation potentialOp; - - try { - final QName childType = legacyData.getValue().get(0).getNodeType(); - potentialOp = currentOp.getChild(childType); - } catch (DataNormalizationException e) { - throw new IllegalArgumentException(String.format("Failed to get child operation for %s", legacyData), e); - } - - if (potentialOp.getIdentifier() instanceof AugmentationIdentifier) { - currentOp = potentialOp; - normalizedPath = normalizedPath.node(potentialOp.getIdentifier()); - } - } - Preconditions.checkArgument(currentOp != null, "Instance Identifier %s does not reference correct schema Node.", normalizedPath); - return new AbstractMap.SimpleEntry>(normalizedPath, + return new AbstractMap.SimpleEntry>(normalizedPath, currentOp.normalize(legacyData)); } - public InstanceIdentifier toLegacy(final InstanceIdentifier normalized) throws DataNormalizationException { + public YangInstanceIdentifier toLegacy(final YangInstanceIdentifier normalized) throws DataNormalizationException { ImmutableList.Builder legacyArgs = ImmutableList.builder(); DataNormalizationOperation currentOp = operation; for (PathArgument normalizedArg : normalized.getPathArguments()) { @@ -134,10 +119,10 @@ public class DataNormalizer { legacyArgs.add(normalizedArg); } } - return InstanceIdentifier.create(legacyArgs.build()); + return YangInstanceIdentifier.create(legacyArgs.build()); } - public CompositeNode toLegacy(final InstanceIdentifier normalizedPath, final NormalizedNode normalizedData) { + public CompositeNode toLegacy(final YangInstanceIdentifier normalizedPath, final NormalizedNode normalizedData) { // Preconditions.checkArgument(normalizedData instanceof // DataContainerNode,"Node object %s, %s should be of type DataContainerNode",normalizedPath,normalizedData); if (normalizedData instanceof DataContainerNode) {