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 / SingleModuleYinStatementWriter.java
index bbc059d9ee67551a3bddb1e7966e83ab810aff99..d8adf1c89d3f58ba1d958c98e2601db16138fb1f 100644 (file)
@@ -43,7 +43,6 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         this.currentModuleNs = moduleNamespace;
         this.prefixToNamespace = HashBiMap.create(prefixToNs);
         initializeYinNamespaceInXml();
-
     }
 
     private void initializeYinNamespaceInXml() {
@@ -60,7 +59,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         }
     }
 
-    static final StatementTextWriter create(final XMLStreamWriter writer, final URI moduleNs,
+    static StatementTextWriter create(final XMLStreamWriter writer, final URI moduleNs,
             final Map<String, URI> prefixToNs) {
         return new SingleModuleYinStatementWriter(writer, moduleNs, prefixToNs);
     }
@@ -70,7 +69,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         currentStatement = Preconditions.checkNotNull(statement);
         try {
             writeStartXmlElement(statement.getStatementName());
-            if (Rfc6020Mapping.Module.equals(statement) || Rfc6020Mapping.Submodule.equals(statement)) {
+            if (Rfc6020Mapping.MODULE.equals(statement) || Rfc6020Mapping.SUBMODULE.equals(statement)) {
                 declareXmlNamespaces(prefixToNamespace);
             }
         } catch (final XMLStreamException e) {
@@ -128,7 +127,6 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         writeArgument0(xpath.toString());
     }
 
-
     private void writeArgument0(final String strRep) {
         try {
             if (isArgumentYinElement(currentStatement)) {
@@ -144,8 +142,12 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         }
     }
 
-    private boolean isArgumentYinElement(StatementDefinition currentStatement2) {
-        // FIXME: Implement this
+    private static boolean isArgumentYinElement(final StatementDefinition currentStatement) {
+        if (currentStatement instanceof Rfc6020Mapping) {
+            return ((Rfc6020Mapping) currentStatement).isArgumentYinElement();
+        } else if (currentStatement instanceof ExtensionStatement) {
+            return ((ExtensionStatement) currentStatement).isArgumentYinElement();
+        }
         return false;
     }
 
@@ -155,9 +157,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
                 currentStatement.getArgumentName());
     }
 
-
-
-    private String toPrefixedString(@Nullable final String prefix, final String localName) {
+    private static String toPrefixedString(@Nullable final String prefix, final String localName) {
         if (prefix == null || prefix.isEmpty()) {
             return localName;
         }
@@ -217,5 +217,4 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
     private void writeStartXmlElement(final QName name) throws XMLStreamException {
         writer.writeStartElement(name.getNamespace().toString(), name.getLocalName());
     }
-
 }