Include namespace manipulations in error report
[mdsal.git] / binding / mdsal-binding-generator / src / main / java / org / opendaylight / mdsal / binding / generator / impl / reactor / AugmentRequirement.java
index ee1b940a737edee77d7bbc211eb85782d7462e75..07142a3c8a912b4eea6bedf7a86c50078367d4d9 100644 (file)
@@ -11,6 +11,7 @@ import static com.google.common.base.Verify.verify;
 import static com.google.common.base.Verify.verifyNotNull;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
@@ -42,11 +43,11 @@ final class AugmentRequirement implements Mutable {
     private final @NonNull AbstractAugmentGenerator augment;
     private final @NonNull Iterator<QName> remaining;
 
-    private @NonNull AbstractCompositeGenerator<?> target;
+    private @NonNull AbstractCompositeGenerator<?, ?> target;
     private QNameModule localNamespace;
     private QName qname;
 
-    private AugmentRequirement(final AbstractAugmentGenerator augment, final AbstractCompositeGenerator<?> target) {
+    private AugmentRequirement(final AbstractAugmentGenerator augment, final AbstractCompositeGenerator<?, ?> target) {
         this.augment = requireNonNull(augment);
         this.target = requireNonNull(target);
         remaining = augment.statement().argument().getNodeIdentifiers().iterator();
@@ -68,6 +69,17 @@ final class AugmentRequirement implements Mutable {
         return qname == null ? resolveAsTarget() : resolveAsChild();
     }
 
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(this).omitNullValues()
+            .add("augment", augment)
+            .add("target", target)
+            .add("qname", qname)
+            .add("squash", squashNamespaces)
+            .add("local", localNamespace)
+            .toString();
+    }
+
     private @NonNull LinkageProgress resolveAsTarget() {
         // Resolved requirement, if we also have original we end resolution here and now
         final var original = target.tryOriginal();
@@ -109,14 +121,14 @@ final class AugmentRequirement implements Mutable {
         return LinkageProgress.NONE;
     }
 
-    private @NonNull LinkageProgress moveTo(final @NonNull AbstractCompositeGenerator<?> newTarget) {
+    private @NonNull LinkageProgress moveTo(final @NonNull AbstractCompositeGenerator<?, ?> newTarget) {
         target = newTarget;
         return tryProgress();
     }
 
-    private @NonNull LinkageProgress progressTo(final @NonNull AbstractExplicitGenerator<?> newTarget) {
+    private @NonNull LinkageProgress progressTo(final @NonNull AbstractExplicitGenerator<?, ?> newTarget) {
         verify(newTarget instanceof AbstractCompositeGenerator, "Unexpected generator %s", newTarget);
-        target = (AbstractCompositeGenerator<?>) newTarget;
+        target = (AbstractCompositeGenerator<?, ?>) newTarget;
         qname = remaining.hasNext() ? remaining.next() : null;
         return tryProgress();
     }