X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FAugmentationSchemaBuilderImpl.java;h=5d93a06579bea94c8ead4cea608b422dfab68b78;hb=dc40f7a41a29cbaee3f00acc19b1ef1b94391d41;hp=232f4578bde81e5ca7558cb5b02d9599d57e2294;hpb=ceaedbdc6df1735594f7b19449317957dd897bc7;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java index 232f4578bd..5d93a06579 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java @@ -12,12 +12,10 @@ import static com.google.common.base.Preconditions.checkNotNull; import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.net.URI; -import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.NamespaceRevisionAware; import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath; @@ -27,28 +25,26 @@ import org.opendaylight.yangtools.yang.model.util.RevisionAwareXPathImpl; import org.opendaylight.yangtools.yang.parser.builder.api.AugmentationSchemaBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.Builder; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; -import org.opendaylight.yangtools.yang.parser.builder.api.UsesNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainer; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder; -public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataNodeContainerBuilder implements - AugmentationSchemaBuilder { +public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataNodeContainerBuilder implements AugmentationSchemaBuilder { private final int order; private AugmentationSchemaImpl instance; private String whenCondition; private final String augmentTargetStr; private final SchemaPath targetPath; - private SchemaPath targetNodeSchemaPath; private boolean resolved; private AugmentationSchemaBuilder copyOf; - public AugmentationSchemaBuilderImpl(final String moduleName, final int line, final String augmentTargetStr, final int order) { + public AugmentationSchemaBuilderImpl(final String moduleName, final int line, final String augmentTargetStr, + final SchemaPath targetPath, final int order) { super(moduleName, line, null); this.order = order; this.augmentTargetStr = augmentTargetStr; - targetPath = BuilderUtils.parseXPathString(augmentTargetStr); + this.targetPath = targetPath; } @Override @@ -58,7 +54,12 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN @Override public SchemaPath getPath() { - return targetNodeSchemaPath; + return targetPath; + } + + @Override + public SchemaPath getTargetPath() { + return targetPath; } @Override @@ -68,6 +69,7 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN } buildChildren(); + instance = new AugmentationSchemaImpl(targetPath, order,this); Builder parent = getParent(); @@ -77,19 +79,6 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN instance.revision = moduleBuilder.getRevision(); } - if (parent instanceof UsesNodeBuilder) { - final ModuleBuilder mb = BuilderUtils.getParentModule(this); - final QNameModule qm = QNameModule.create(mb.getNamespace(), mb.getRevision()); - - List newPath = new ArrayList<>(); - for (QName name : targetPath.getPathFromRoot()) { - newPath.add(QName.create(qm, name.getPrefix(), name.getLocalName())); - } - instance.targetPath = SchemaPath.create(newPath, false); - } else { - instance.targetPath = targetNodeSchemaPath; - } - if (copyOf != null) { instance.setCopyOf(copyOf.build()); } @@ -136,21 +125,6 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN return augmentTargetStr; } - @Override - public SchemaPath getTargetPath() { - return targetPath; - } - - @Override - public SchemaPath getTargetNodeSchemaPath() { - return targetNodeSchemaPath; - } - - @Override - public void setTargetNodeSchemaPath(final SchemaPath path) { - this.targetNodeSchemaPath = path; - } - @Override public int getOrder() { return order; @@ -207,10 +181,9 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN copyOf = old; } - private static final class AugmentationSchemaImpl extends AbstractDocumentedDataNodeContainer implements AugmentationSchema, NamespaceRevisionAware, - Comparable { + private static final class AugmentationSchemaImpl extends AbstractDocumentedDataNodeContainer implements AugmentationSchema, NamespaceRevisionAware, Comparable { private final int order; - private SchemaPath targetPath; + private final SchemaPath targetPath; private RevisionAwareXPath whenCondition; private URI namespace;