X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api%2Fsrc%2Forg%2Fargeo%2Fapi%2Fgcr%2FContentName.java;h=b230425288236a9671d28d17484cebc6b1e57918;hb=865fc51900459b888938cc0d6943673ee6f20d09;hp=5acd53a00a8b506cb4c5e5b9f0a0867500784775;hpb=212a43ed44ffc186b69e838d65a1421fd5e1f3a5;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api/src/org/argeo/api/gcr/ContentName.java b/org.argeo.api/src/org/argeo/api/gcr/ContentName.java index 5acd53a00..b23042528 100644 --- a/org.argeo.api/src/org/argeo/api/gcr/ContentName.java +++ b/org.argeo.api/src/org/argeo/api/gcr/ContentName.java @@ -42,17 +42,24 @@ public class ContentName extends QName { // private final UUID uuid; public ContentName(String namespaceURI, String localPart, NamespaceContext nsContext) { - this(namespaceURI, localPart, nsContext.getPrefix(namespaceURI)); + super(namespaceURI, localPart, checkPrefix(nsContext, namespaceURI)); } - protected ContentName(String namespaceURI, String localPart, String prefix) { - super(namespaceURI, localPart, prefix); + private static String checkPrefix(NamespaceContext nsContext, String namespaceURI) { + Objects.requireNonNull(nsContext, "Namespace context cannot be null"); + Objects.requireNonNull(namespaceURI, "Namespace URI cannot be null"); + String prefix = nsContext.getNamespaceURI(namespaceURI); if (prefix == null) - throw new IllegalArgumentException("Prefix annot be null"); + throw new IllegalStateException("No prefix found for " + namespaceURI + " from context " + nsContext); + return prefix; + } + + ContentName(String namespaceURI, String localPart, String prefix) { + super(namespaceURI, localPart, prefix); } public ContentName(String localPart) { - this(XMLConstants.NULL_NS_URI, localPart, XMLConstants.DEFAULT_NS_PREFIX); + super(XMLConstants.NULL_NS_URI, localPart, XMLConstants.DEFAULT_NS_PREFIX); } public ContentName(QName qName, NamespaceContext nsContext) {