Bug 5531: Can't get complete YIN schema on Windows
[yangtools.git] / yang / yang-model-export / src / main / java / org / opendaylight / yangtools / yang / model / export / SchemaContextEmitter.java
index 4e87fa2641fe503656a1a9154a153387f05d918f..542463cd77e1adaa0864a835e2df74cd5db160fc 100644 (file)
@@ -72,6 +72,7 @@ import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
+import org.opendaylight.yangtools.yang.model.util.DerivedType;
 import org.opendaylight.yangtools.yang.model.util.ExtendedType;
 import org.opendaylight.yangtools.yang.model.util.SchemaNodeUtils;
 
@@ -443,7 +444,7 @@ class SchemaContextEmitter {
 
     private void emitTypeBodyNodes(final TypeDefinition<?> typeDef) {
         if (typeDef instanceof ExtendedType) {
-            emitTypeBodyNodes(NormalizatedDerivedType.from((ExtendedType) typeDef));
+            emitTypeBodyNodes(DerivedType.from((ExtendedType) typeDef));
         } else if (typeDef instanceof UnsignedIntegerTypeDefinition) {
             emitUnsignedIntegerSpecification((UnsignedIntegerTypeDefinition) typeDef);
         } else if (typeDef instanceof IntegerTypeDefinition) {
@@ -532,10 +533,9 @@ class SchemaContextEmitter {
             emitReferenceNode(first.getReference());
             writer.endNode();
         }
-
     }
 
-    private String toLengthString(final List<LengthConstraint> list) {
+    private static String toLengthString(final List<LengthConstraint> list) {
         final StringBuilder lengthStr = new StringBuilder();
         final Iterator<LengthConstraint> constIt = list.iterator();
         while (constIt.hasNext()) {
@@ -554,7 +554,7 @@ class SchemaContextEmitter {
         return lengthStr.toString();
     }
 
-    private String toRangeString(final List<RangeConstraint> list) {
+    private static String toRangeString(final List<RangeConstraint> list) {
         final StringBuilder lengthStr = new StringBuilder();
         final Iterator<RangeConstraint> constIt = list.iterator();
         while (constIt.hasNext()) {
@@ -941,7 +941,7 @@ class SchemaContextEmitter {
 
     }
 
-    private <T extends SchemaNode> T getOriginalChecked(final T value) {
+    private static <T extends SchemaNode> T getOriginalChecked(final T value) {
         final Optional<SchemaNode> original = SchemaNodeUtils.getOriginalIfPossible(value);
         Preconditions.checkArgument(original.isPresent(), "Original unmodified version of node is not present.");
         @SuppressWarnings("unchecked")
@@ -1090,7 +1090,9 @@ class SchemaContextEmitter {
 
     private void emitUnknownStatementNodes(final List<UnknownSchemaNode> unknownNodes) {
         for (final UnknownSchemaNode unknonwnNode : unknownNodes) {
-            emitUnknownStatementNode(unknonwnNode);
+            if (!unknonwnNode.isAddedByAugmentation() && !unknonwnNode.isAddedByUses()) {
+                emitUnknownStatementNode(unknonwnNode);
+            }
         }
     }