QName.getRevision() always returns non-null, which means we are
always taking the slow version of this branch, as correctly flagged
by Eclipse.
Furthermore we can use QName.withoutRevision() to side-step QName's
localName validation, as the local name is known to have already
been checked.
Change-Id: I7be3b8053ab3dbddfdf9cf12f8754a307127a8b3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
* @return a QName with the same namespace and local name, but with no revision.
*/
public @NonNull QName withoutRevision() {
- return getRevision().isPresent() ? new QName(module.withoutRevision(), localName) : this;
+ final QNameModule newModule;
+ return (newModule = module.withoutRevision()) == module ? this : new QName(newModule, localName);
}
/**
}
private void putNoRev(final QName qname, final StatementSupport<?, ?, ?> support) {
- final QName norev;
- if (qname.getRevision() != null) {
- norev = QName.create(qname.getNamespace(), qname.getLocalName()).intern();
- } else {
- norev = qname;
- }
- noRevQNameToSupport.put(norev, support);
+ final QName norev = qname.withoutRevision();
+ noRevQNameToSupport.put(norev != qname ? norev.intern() : qname, support);
}
@Override