Fix slf4j usage errors found by checkstyle-logging 46/66446/3
authorMichael Vorburger <vorburger@redhat.com>
Wed, 13 Dec 2017 23:35:14 +0000 (00:35 +0100)
committerRobert Varga <nite@hq.sk>
Mon, 25 Dec 2017 16:01:35 +0000 (16:01 +0000)
Change-Id: Iff0203d373d33a77ebfe2a8da190e6b927913b4e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
19 files changed:
common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java
common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CachedThreadPoolExecutor.java
common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/FastThreadPoolExecutor.java
common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/LoggingThreadUncaughtExceptionHandler.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/codecs/StringPatternCheckingCodecTest.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/leafref/context/DataTreeCandidateValidatorTest.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/leafref/context/DataTreeCandidateValidatorTest2.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/leafref/context/DataTreeCandidateValidatorTest3.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ConcurrentTreeModificationTest.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DataTreeCandidatesTest.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java
yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangProvider.java
yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java
yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedTypeBuilder.java
yang/yang-model-validator/src/main/java/org/opendaylight/yangtools/yang/validator/Main.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java
yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludeResolutionTest.java
yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java

index ee0591a06766821579348d2f1756d475349ae9ef..f532d2433cdabf14004d1d1bc59da22982bb3844 100644 (file)
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
  * @param <V> Value type
  */
 final class ReadWriteTrieMap<K, V> extends ForwardingMap<K, V> {
-    private static final Logger LOG = LoggerFactory.getLogger(ReadOnlyTrieMap.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ReadWriteTrieMap.class);
 
     private final MutableTrieMap<K, V> delegate;
 
index 112e84c74b6cbe04854e5254d2401a398eda9664..0db9a83767d9bf0680a42d6844235b97201fc6a4 100644 (file)
@@ -54,6 +54,7 @@ public class CachedThreadPoolExecutor extends ThreadPoolExecutor {
      * @param loggerIdentity
      *               the class to use as logger name for logging uncaught exceptions from the threads.
      */
+    @SuppressWarnings("checkstyle:LoggerFactoryClassParameter") // due to loggerIdentity argument usage
     public CachedThreadPoolExecutor(final int maximumPoolSize, final int maximumQueueSize, final String threadPrefix,
             Class<?> loggerIdentity) {
         // We're using a custom SynchronousQueue that has a backing bounded LinkedBlockingQueue.
index b317944b69a220d54be3ed1137911b8c45cad7a3..b2054936471afe9299bb3a334b476c7c0d0caf83 100644 (file)
@@ -90,6 +90,7 @@ public class FastThreadPoolExecutor extends ThreadPoolExecutor {
      * @param loggerIdentity
      *               the class to use as logger name for logging uncaught exceptions from the threads.
      */
+    @SuppressWarnings("checkstyle:LoggerFactoryClassParameter") // due to loggerIdentity argument usage
     public FastThreadPoolExecutor(final int maximumPoolSize, final int maximumQueueSize, final long keepAliveTime,
             final TimeUnit unit, final String threadPrefix, Class<?> loggerIdentity) {
         // We use all core threads (the first 2 parameters below equal) so, when a task is submitted,
index 6efbd640fbab7f09f7ca06a7d096ebaf013127f8..eec88fa2654a09ca619f9000635a4c9109f2e8d9 100644 (file)
@@ -16,6 +16,7 @@ import org.slf4j.Logger;
  *
  * @author Michael Vorburger.ch
  */
+@SuppressWarnings({"checkstyle:LoggerVariableName", "LoggerVariableModifiers"})
 public final class LoggingThreadUncaughtExceptionHandler implements UncaughtExceptionHandler {
 
     // This class is also available in infrautils (but yangtools cannot depend on infrautils)
index e024f9599b4ae19139a1cbef28af8a2611ae98c4..643a7a5012876ad93964cebc9854d55d3974c6c3 100644 (file)
@@ -56,7 +56,7 @@ public class StringPatternCheckingCodecTest {
             codec.deserialize("abcd");
             fail("Exception should have been thrown.");
         } catch (final IllegalArgumentException ex) {
-            LOG.debug("IllegalArgumentException was thrown as expected: {}", ex);
+            LOG.debug("IllegalArgumentException was thrown as expected", ex);
             assertEquals("Supplied value does not match the regular expression ^[A-Z]+$.", ex.getMessage());
         }
     }
index 50ed509566be891e2bd7c4d1b4617b44abfd9b99..c700a40a511cfad3a6e1f1df5779a363802c8387 100644 (file)
@@ -227,7 +227,7 @@ public class DataTreeCandidateValidatorTest {
             LeafRefValidatation.validate(writeContributorsCandidate,
                     rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             assertEquals(3, e.getValidationsErrorsCount());
             exception = true;
         }
@@ -274,7 +274,7 @@ public class DataTreeCandidateValidatorTest {
             LeafRefValidatation.validate(writeContributorsCandidate,
                     rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             assertEquals(1, e.getValidationsErrorsCount());
             exception = true;
         }
@@ -327,7 +327,7 @@ public class DataTreeCandidateValidatorTest {
             LeafRefValidatation.validate(writeContributorsCandidate,
                     rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             assertEquals(2, e.getValidationsErrorsCount());
             exception = true;
         }
@@ -376,7 +376,7 @@ public class DataTreeCandidateValidatorTest {
             LeafRefValidatation.validate(writeContributorsCandidate,
                     rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             assertEquals(12, e.getValidationsErrorsCount());
             exception = true;
         }
@@ -438,7 +438,7 @@ public class DataTreeCandidateValidatorTest {
             LeafRefValidatation.validate(writeContributorsCandidate,
                     rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             assertEquals(6, e.getValidationsErrorsCount());
             exception = true;
         }
@@ -591,7 +591,7 @@ public class DataTreeCandidateValidatorTest {
             LeafRefValidatation.validate(deleteContributorsCanditate,
                     rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             assertEquals(6, e.getValidationsErrorsCount());
             exception = true;
         }
@@ -810,4 +810,4 @@ public class DataTreeCandidateValidatorTest {
 
         return contributorMap;
     }
-}
\ No newline at end of file
+}
index b3ff359d87a0ab2f0bd14889a9ac6902a9ff5550..134870db5b0f38a0847d3ea634c08f29b7552e2a 100644 (file)
@@ -112,7 +112,7 @@ public class DataTreeCandidateValidatorTest2 {
         try {
             LeafRefValidatation.validate(writeDevicesCandidate, rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
 
             assertEquals(4, e.getValidationsErrorsCount());
             exception = true;
@@ -316,4 +316,4 @@ public class DataTreeCandidateValidatorTest2 {
 
         return devicesMapEntryBldr.build();
     }
-}
\ No newline at end of file
+}
index 1f2e1e9e98258153381e92b24023c5cdda1e65f9..37b9c34c8e5985b6f7f62f00e4ab939cfda227a6 100644 (file)
@@ -117,7 +117,7 @@ public class DataTreeCandidateValidatorTest3 {
         try {
             LeafRefValidatation.validate(writeDevicesCandidate, rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             assertEquals(6, e.getValidationsErrorsCount());
             exception = true;
         }
@@ -155,7 +155,7 @@ public class DataTreeCandidateValidatorTest3 {
         try {
             LeafRefValidatation.validate(mergeDevicesCandidate, rootLeafRefContext);
         } catch (final LeafRefDataValidationFailedException e) {
-            LOG.debug("All validation errors:" + NEW_LINE + e.getMessage());
+            LOG.debug("All validation errors:{}{}", NEW_LINE, e.getMessage());
             // :TODO verify errors count gz
             assertEquals(6, e.getValidationsErrorsCount());
             exception = true;
@@ -402,4 +402,4 @@ public class DataTreeCandidateValidatorTest3 {
 
         return devicesMapEntryBldr.build();
     }
-}
\ No newline at end of file
+}
index f511fc326b7ee1fd0be1e3dcee082af12e9c3876..8765cd6b991347ed53aef65135a7985193716bb6 100644 (file)
@@ -114,7 +114,7 @@ public class ConcurrentTreeModificationTest {
             inMemoryDataTree.validate(modificationTree2);
             fail("Exception should have been thrown.");
         } catch (final ConflictingModificationAppliedException ex) {
-            LOG.debug("ConflictingModificationAppliedException - '{}' was thrown as expected.");
+            LOG.debug("ConflictingModificationAppliedException - was thrown as expected", ex);
         }
         final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2);
         inMemoryDataTree.commit(prepare2);
@@ -170,7 +170,7 @@ public class ConcurrentTreeModificationTest {
             final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2);
             inMemoryDataTree.commit(prepare2);
         } catch (final ConflictingModificationAppliedException ex) {
-            LOG.debug("ConflictingModificationAppliedException - '{}' was thrown as expected.");
+            LOG.debug("ConflictingModificationAppliedException - was thrown as expected", ex);
         }
 
         final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
@@ -225,7 +225,7 @@ public class ConcurrentTreeModificationTest {
             final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2);
             inMemoryDataTree.commit(prepare2);
         } catch (final ConflictingModificationAppliedException ex) {
-            LOG.debug("ConflictingModificationAppliedException - '{}' was thrown as expected.");
+            LOG.debug("ConflictingModificationAppliedException - was thrown as expected", ex);
         }
 
         final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
@@ -284,7 +284,7 @@ public class ConcurrentTreeModificationTest {
             final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2);
             inMemoryDataTree.commit(prepare2);
         } catch (final ConflictingModificationAppliedException ex) {
-            LOG.debug("ConflictingModificationAppliedException - '{}' was thrown as expected.");
+            LOG.debug("ConflictingModificationAppliedException was thrown as expected", ex);
         }
 
         final DataTreeSnapshot snapshotAfterCommits = inMemoryDataTree.takeSnapshot();
@@ -347,7 +347,7 @@ public class ConcurrentTreeModificationTest {
             final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2);
             inMemoryDataTree.commit(prepare2);
         } catch (final ConflictingModificationAppliedException ex) {
-            LOG.debug("ConflictingModificationAppliedException - '{}' was thrown as expected.");
+            LOG.debug("ConflictingModificationAppliedException was thrown as expected", ex);
         }
 
 
@@ -411,7 +411,7 @@ public class ConcurrentTreeModificationTest {
             final DataTreeCandidate prepare2 = inMemoryDataTree.prepare(modificationTree2);
             inMemoryDataTree.commit(prepare2);
         } catch (final ConflictingModificationAppliedException ex) {
-            LOG.debug("ConflictingModificationAppliedException - '{}' was thrown as expected.");
+            LOG.debug("ConflictingModificationAppliedException was thrown as expected", ex);
         }
 
 
index 6a45d8590ee105fd8d9f2ec6c1e8aea73d7003fa..3de42a5592ea7b8e7674e1d55ca4dab787ac4223 100644 (file)
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
 
 public class DataTreeCandidatesTest {
 
-    private static final Logger LOG = LoggerFactory.getLogger(DataTreeCandidates.class);
+    private static final Logger LOG = LoggerFactory.getLogger(DataTreeCandidatesTest.class);
 
     private static final SchemaContext SCHEMA_CONTEXT = TestModel.createTestContext();
 
@@ -102,4 +102,4 @@ public class DataTreeCandidatesTest {
         final LeafNode<?> readLeaf = (LeafNode<?>) newModification.readNode(TestModel.INNER_VALUE_PATH).get();
         assertEquals(readLeaf, leaf);
     }
-}
\ No newline at end of file
+}
index f9ce1c1b30b5acd925a823f5acd55fa0b102fb76..2a5e972b25e35540f5a00ced075f087b2f6a4a07 100644 (file)
@@ -186,7 +186,7 @@ public class OrderedListTest {
             inMemoryDataTree.validate(treeModification);
             inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification));
         } catch (final IllegalArgumentException ex) {
-            LOG.debug("IllegalArgumentException was thrown as expected: {}", ex);
+            LOG.debug("IllegalArgumentException was thrown as expected", ex);
             assertTrue(ex.getMessage().contains("Metadata not available for modification NodeModification"));
         }
 
@@ -235,7 +235,7 @@ public class OrderedListTest {
             fail("Exception should have been thrown.");
             inMemoryDataTree.commit(inMemoryDataTree.prepare(treeModification2));
         } catch (ConflictingModificationAppliedException ex) {
-            LOG.debug("ConflictingModificationAppliedException was thrown as expected: {}", ex);
+            LOG.debug("ConflictingModificationAppliedException was thrown as expected", ex);
             assertTrue(ex.getMessage().contains("Node was replaced by other transaction"));
         }
 
index b9c2ac9959a3b9f343aced80a1be0696f8bf393f..016b6fecc3d2e8728df93477a73df62f10cf9eaf 100644 (file)
@@ -19,7 +19,7 @@ import org.slf4j.LoggerFactory;
 
 abstract class YangProvider {
     private static final class Default extends YangProvider {
-        private static final Logger LOG = LoggerFactory.getLogger(YangProvider.class);
+        private static final Logger LOG = LoggerFactory.getLogger(Default.class);
 
         @Override
         void addYangsToMetaInf(final MavenProject project, final Collection<YangTextSchemaSource> modelsInProject)
index afe1043bbb88c7f84e819faa9c2542747cf7f25a..d8c0e0402a2bc8e8d283c1c545df21fc75311043 100644 (file)
@@ -255,7 +255,7 @@ class YangToSourcesProcessor {
 
         if (!thrown.isEmpty()) {
             String message = " One or more code generators failed, including failed list(generatorClass=exception) ";
-            LOG.error("{}" + message + "{}", LOG_PREFIX, thrown.toString());
+            LOG.error("{}{}{}", LOG_PREFIX, message, thrown.toString());
             throw new MojoFailureException(LOG_PREFIX + message + thrown.toString());
         }
     }
index a9d4561af63bee99f8b0d2fcc9a4bd6c3a9ee98c..cd7fffd2831137c5dc0e0f30493ab6a2502fe5f4 100644 (file)
@@ -24,7 +24,7 @@ import org.slf4j.LoggerFactory;
  * @param <T> Resulting {@link TypeDefinition}
  */
 public abstract class DerivedTypeBuilder<T extends TypeDefinition<T>> extends TypeBuilder<T> {
-    private static final Logger LOG = LoggerFactory.getLogger(DecimalTypeBuilder.class);
+    private static final Logger LOG = LoggerFactory.getLogger(DerivedTypeBuilder.class);
     private Object defaultValue;
     private String description;
     private String reference;
index 84aa2bf07c352aca020277dfb198bf6f9fb135fb..79e0324cea08ce0a2d647b3984fd154fbcfd5df9 100644 (file)
@@ -48,6 +48,7 @@ import org.slf4j.LoggerFactory;
  *  -o, --output          path to output file for logs. Output file will be overwritten.
  *  -m, --module-name     validate yang by module name.
  */
+@SuppressWarnings({"checkstyle:LoggerMustBeSlf4j", "checkstyle:LoggerFactoryClassParameter"})
 public final class Main {
     private static final Logger LOG = LoggerFactory.getLogger(Main.class);
     private static final ch.qos.logback.classic.Logger LOG_ROOT =
index 3837c01a6af548cc00198d37d94f60db9850ed02..acecc59493e5ac57c266e191b9556665a673d757 100644 (file)
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
 
 abstract class AbstractAugmentStatementSupport extends AbstractStatementSupport<SchemaNodeIdentifier, AugmentStatement,
         EffectiveStatement<SchemaNodeIdentifier, AugmentStatement>> {
-    private static final Logger LOG = LoggerFactory.getLogger(AugmentStatementImpl.class);
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractAugmentStatementSupport.class);
     private static final Pattern PATH_REL_PATTERN1 = Pattern.compile("\\.\\.?\\s*/(.+)");
     private static final Pattern PATH_REL_PATTERN2 = Pattern.compile("//.*");
 
@@ -348,4 +348,4 @@ abstract class AbstractAugmentStatementSupport extends AbstractStatementSupport<
         return allowedAugmentTargets == null || allowedAugmentTargets.isEmpty()
                 || allowedAugmentTargets.contains(substatementCtx.getPublicDefinition());
     }
-}
\ No newline at end of file
+}
index 8cce0c2cb03a192bbc679e0c1a026b84c0b16358..ce3630580dfca3b33b41671e91663876fab21f42 100644 (file)
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
 
 abstract class AbstractDeviateStatementSupport extends AbstractStatementSupport<DeviateKind, DeviateStatement,
         EffectiveStatement<DeviateKind, DeviateStatement>> {
-    private static final Logger LOG = LoggerFactory.getLogger(DeviateStatementImpl.class);
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractDeviateStatementSupport.class);
 
     private static final SubstatementValidator DEVIATE_NOT_SUPPORTED_SUBSTATEMENT_VALIDATOR =
             SubstatementValidator.builder(YangStmtMapping.DEVIATE).build();
@@ -372,4 +372,4 @@ abstract class AbstractDeviateStatementSupport extends AbstractStatementSupport<
         return supportedDeviationTargets == null || supportedDeviationTargets.contains(
                 deviateTargetCtx.getPublicDefinition());
     }
-}
\ No newline at end of file
+}
index df6e363f5da53db2819a4b64d88879011aad0bf6..e3d45ff3551bf3099449717a405a2fe55472bdb3 100644 (file)
@@ -14,7 +14,6 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
 
-import java.util.logging.Logger;
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
@@ -24,10 +23,12 @@ import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class IncludeResolutionTest {
 
-    private static final Logger LOG = Logger.getLogger(IncludeResolutionTest.class.getName());
+    private static final Logger LOG = LoggerFactory.getLogger(IncludeResolutionTest.class);
 
     private static final StatementStreamSource ROOT = sourceForResource(
             "/semantic-statement-parser/include-arg-parsing/root-module.yang");
index b4d32f48795bc73440c2717b4071921fefc5c017..b2042cfd2a3fb81af49980d2a0e540ca4d52f49d 100644 (file)
@@ -57,7 +57,7 @@ public final class StmtTestUtils {
     }
 
     public static void log(final Throwable exception, final String indent) {
-        LOG.debug(indent + exception.getMessage());
+        LOG.debug("{}{}", indent, exception.getMessage());
 
         final Throwable[] suppressed = exception.getSuppressed();
         for (final Throwable throwable : suppressed) {
@@ -84,7 +84,7 @@ public final class StmtTestUtils {
     }
 
     public static void printReferences(final Module module, final boolean isSubmodule, final String indent) {
-        LOG.debug(indent + (isSubmodule ? "Submodule " : "Module ") + module.getName());
+        LOG.debug("{}{} {}", indent, (isSubmodule ? "Submodule" : "Module"), module.getName());
         final Set<Module> submodules = module.getSubmodules();
         for (final Module submodule : submodules) {
             printReferences(submodule, true, indent + "      ");
@@ -95,7 +95,7 @@ public final class StmtTestUtils {
     public static void printChilds(final Collection<DataSchemaNode> childNodes, final String indent) {
 
         for (final DataSchemaNode child : childNodes) {
-            LOG.debug(indent + "Child " + child.getQName().getLocalName());
+            LOG.debug("{}{} {}", indent, "Child", child.getQName().getLocalName());
             if (child instanceof DataNodeContainer) {
                 printChilds(((DataNodeContainer) child).getChildNodes(), indent + "      ");
             }