If we have a prefix that is not bould in the NamespaceContext, its
getNamespaceURI() will return null. checkArgument() such return to
provide better diagnostic than the implied NPE from XMLNamespace.
Change-Id: Ia49a9dbdf5dd4a3b8608f1e63dd0390130312897
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
924f84a35308c4d0d40d6339c8a17f81fa3aebf2)
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import com.google.common.base.MoreObjects;
import java.util.Iterator;
import java.util.Map.Entry;
import javax.xml.namespace.NamespaceContext;
import java.util.Iterator;
import java.util.Map.Entry;
import javax.xml.namespace.NamespaceContext;
private final QNameModule parentModule;
IdentityrefXmlCodec(final EffectiveModelContext context, final QNameModule parentModule) {
private final QNameModule parentModule;
IdentityrefXmlCodec(final EffectiveModelContext context, final QNameModule parentModule) {
- this.schemaContext = requireNonNull(context);
+ schemaContext = requireNonNull(context);
this.parentModule = requireNonNull(parentModule);
}
this.parentModule = requireNonNull(parentModule);
}
}
final String prefixedNS = ctx.getNamespaceURI(prefix);
}
final String prefixedNS = ctx.getNamespaceURI(prefix);
+ checkArgument(prefixedNS != null, "Failed to resolve prefix %s", prefix);
+
final Iterator<? extends Module> modules =
schemaContext.findModules(XMLNamespace.of(prefixedNS)).iterator();
checkArgument(modules.hasNext(), "Could not find module for namespace %s", prefixedNS);
final Iterator<? extends Module> modules =
schemaContext.findModules(XMLNamespace.of(prefixedNS)).iterator();
checkArgument(modules.hasNext(), "Could not find module for namespace %s", prefixedNS);
}
ctx.writeCharacters(str);
}
}
ctx.writeCharacters(str);
}
+
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this).add("module", parentModule).toString();
+ }