[maven-release-plugin] copy for tag 1.2.16
diff --git a/apidocs/pom.xml b/apidocs/pom.xml
index 7cccfc5..1eba8b7 100644
--- a/apidocs/pom.xml
+++ b/apidocs/pom.xml
@@ -108,12 +108,7 @@
<link>http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.5/api/</link>
<link>http://jaxen.codehaus.org/apidocs/</link>
</links>
- <breakiterator>true</breakiterator>
- <!-- The notimestamp, windowtitle and bottom parameters are chosen to minimize the number
- of changes between releases (to avoid mass changes when committing the site for a new release) -->
- <notimestamp>true</notimestamp>
<windowtitle>Apache Axiom</windowtitle>
- <bottom>Copyright © {organizationName}. All Rights Reserved.</bottom>
<!-- doctitle only appears in the summary and we should include the version there -->
<doctitle>Apache Axiom ${project.version}</doctitle>
</configuration>
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/AbstractNodeIterator.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/AbstractNodeIterator.java
index af38d5c..76fedac 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/AbstractNodeIterator.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/AbstractNodeIterator.java
@@ -26,7 +26,7 @@
private final Axis axis;
private final Class<T> type;
private final ExceptionTranslator exceptionTranslator;
- private final DetachPolicy detachPolicy;
+ private final Semantics semantics;
private CoreNode currentNode;
/**
@@ -38,12 +38,12 @@
private boolean hasNext;
private int depth;
- public AbstractNodeIterator(CoreParentNode startNode, Axis axis, Class<T> type, ExceptionTranslator exceptionTranslator, DetachPolicy detachPolicy) {
+ public AbstractNodeIterator(CoreParentNode startNode, Axis axis, Class<T> type, ExceptionTranslator exceptionTranslator, Semantics semantics) {
this.startNode = startNode;
this.axis = axis;
this.type = type;
this.exceptionTranslator = exceptionTranslator;
- this.detachPolicy = detachPolicy;
+ this.semantics = semantics;
}
protected abstract boolean matches(CoreNode node) throws CoreModelException;
@@ -130,7 +130,7 @@
hasNext();
if (currentNode instanceof CoreChildNode) {
// try {
- ((CoreChildNode)currentNode).coreDetach(detachPolicy);
+ ((CoreChildNode)currentNode).coreDetach(semantics);
// } catch (CoreModelException ex) {
// throw exceptionTranslator.toUncheckedException(ex);
// }
@@ -141,6 +141,6 @@
public final void replace(CoreChildNode newNode) throws CoreModelException {
// Move to next node before replacing the current one
hasNext();
- ((CoreChildNode)currentNode).coreReplaceWith(newNode, detachPolicy);
+ ((CoreChildNode)currentNode).coreReplaceWith(newNode, semantics);
}
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeIterator.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeIterator.java
index 3a921fb..1499fd8 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeIterator.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeIterator.java
@@ -25,20 +25,20 @@
final class AttributeIterator<T extends CoreAttribute,S> implements Iterator<S> {
private final Class<T> type;
private final Mapper<T,S> mapper;
- private final DetachPolicy detachPolicy;
+ private final Semantics semantics;
private CoreAttribute currentAttribute;
private CoreAttribute nextAttribute;
private boolean nextAttributeSet;
- private AttributeIterator(CoreAttribute firstAttribute, Class<T> type, Mapper<T,S> mapper, DetachPolicy detachPolicy) {
+ private AttributeIterator(CoreAttribute firstAttribute, Class<T> type, Mapper<T,S> mapper, Semantics semantics) {
this.type = type;
this.mapper = mapper;
- this.detachPolicy = detachPolicy;
+ this.semantics = semantics;
nextAttribute = firstAttribute;
nextAttributeSet = true;
}
- static <T extends CoreAttribute,S> Iterator<S> create(CoreElement element, Class<T> type, Mapper<T,S> mapper, DetachPolicy detachPolicy) {
+ static <T extends CoreAttribute,S> Iterator<S> create(CoreElement element, Class<T> type, Mapper<T,S> mapper, Semantics semantics) {
CoreAttribute attribute = element.coreGetFirstAttribute();
while (attribute != null && !type.isInstance(attribute)) {
attribute = attribute.coreGetNextAttribute();
@@ -46,7 +46,7 @@
if (attribute == null) {
return Collections.<S>emptyList().iterator();
} else {
- return new AttributeIterator<T,S>(attribute, type, mapper, detachPolicy);
+ return new AttributeIterator<T,S>(attribute, type, mapper, semantics);
}
}
@@ -80,7 +80,7 @@
} else {
// Ensure that the next attribute is known before we remove the current one.
hasNext();
- currentAttribute.coreRemove(detachPolicy);
+ currentAttribute.coreRemove(semantics);
currentAttribute = null;
}
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeMatcher.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeMatcher.java
index 954ecae..d67f2cf 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeMatcher.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/AttributeMatcher.java
@@ -29,7 +29,7 @@
* {@link CoreElement#coreSetAttribute(AttributeMatcher, String, String, String, String)}, or
* they are determined by the return values of {@link #getNamespaceURI(CoreAttribute)} and
* {@link #getName(CoreAttribute)} if
- * {@link CoreElement#coreSetAttribute(AttributeMatcher, CoreAttribute, DetachPolicy)}
+ * {@link CoreElement#coreSetAttribute(AttributeMatcher, CoreAttribute, Semantics)}
* is used. It is
* not required that these parameters strictly represent the namespace URI and local name of the
* attribute. Their exact meaning is defined by the particular {@link AttributeMatcher}
@@ -47,7 +47,7 @@
/**
* Get the <tt>namespaceURI</tt> parameter for an existing attribute. This method is used by
- * {@link CoreElement#coreSetAttribute(AttributeMatcher, CoreAttribute, DetachPolicy)}
+ * {@link CoreElement#coreSetAttribute(AttributeMatcher, CoreAttribute, Semantics)}
* which passes its return value as parameter to {@link #matches(CoreAttribute, String, String)}.
*
* @param attr the attribute
@@ -57,7 +57,7 @@
/**
* Get the <tt>name</tt> parameter for an existing attribute. This method is used by
- * {@link CoreElement#coreSetAttribute(AttributeMatcher, CoreAttribute, DetachPolicy)}
+ * {@link CoreElement#coreSetAttribute(AttributeMatcher, CoreAttribute, Semantics)}
* which passes its return value as parameter to {@link #matches(CoreAttribute, String, String)}.
*
* @param attr the attribute
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java
index 546a0e2..6f25206 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java
@@ -36,13 +36,13 @@
/**
* Remove this attribute from its owner element.
*
- * @param detachPolicy
- * the detach policy that determines the new owner document for the attribute
+ * @param semantics
+ * the API semantics to use; determines the new owner document for the attribute
* @return <code>true</code> if the attribute had an owner element and has been removed from
* that element; <code>false</code> if the attribute didn't have an owner element and no
* changes have been made
*/
- boolean coreRemove(DetachPolicy detachPolicy);
+ boolean coreRemove(Semantics semantics);
/**
* Get the attribute immediately following the current attribute.
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttributeSupport.aj b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttributeSupport.aj
index c465215..722db90 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttributeSupport.aj
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttributeSupport.aj
@@ -96,11 +96,15 @@
nextAttribute = attr;
}
- public final boolean CoreAttribute.coreRemove(DetachPolicy detachPolicy) {
+ public final boolean CoreAttribute.coreRemove(Semantics semantics) {
+ return internalRemove(semantics, null);
+ }
+
+ public final boolean CoreAttribute.internalRemove(Semantics semantics, CoreElement newOwner) {
if (owner instanceof CoreElement) {
CoreElement ownerElement = (CoreElement)owner;
CoreAttribute previousAttr = coreGetPreviousAttribute();
- owner = detachPolicy.getNewOwnerDocument(ownerElement);
+ owner = newOwner != null ? newOwner : semantics.getDetachPolicy().getNewOwnerDocument(ownerElement);
if (previousAttr == null) {
ownerElement.internalSetFirstAttribute(nextAttribute);
} else {
@@ -109,6 +113,9 @@
nextAttribute = null;
return true;
} else {
+ if (newOwner != null) {
+ owner = newOwner;
+ }
return false;
}
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj
index bbb2604..e8605be 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj
@@ -44,7 +44,7 @@
this.data = data;
}
- public final void CoreCharacterDataNode.coreSetCharacterData(Object data, DetachPolicy detachPolicy) {
+ public final void CoreCharacterDataNode.coreSetCharacterData(Object data, Semantics semantics) {
this.data = data;
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java
index bbdd57f..76d40b7 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java
@@ -19,5 +19,5 @@
package org.apache.axiom.core;
public interface CoreCharacterDataSinkNode {
- void coreSetCharacterData(Object data, DetachPolicy detachPolicy);
+ void coreSetCharacterData(Object data, Semantics semantics);
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNode.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNode.java
index 02ecc5b..2065319 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNode.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNode.java
@@ -39,7 +39,7 @@
*/
CoreChildNode coreGetNextSiblingIfAvailable();
- void coreDetach(DetachPolicy detachPolicy);
+ void coreDetach(Semantics semantics);
/**
* Clone this node according to the provided policy.
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNodeSupport.aj b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNodeSupport.aj
index bb8cc6d..0ec6e24 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNodeSupport.aj
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreChildNodeSupport.aj
@@ -195,11 +195,11 @@
void CoreChildNode.beforeDetach() {}
- public final void CoreChildNode.coreDetach(DetachPolicy detachPolicy) {
- internalDetach(detachPolicy, null);
+ public final void CoreChildNode.coreDetach(Semantics semantics) {
+ internalDetach(semantics, null);
}
- final void CoreChildNode.internalDetach(DetachPolicy detachPolicy, CoreParentNode newParent) {
+ final void CoreChildNode.internalDetach(Semantics semantics, CoreParentNode newParent) {
CoreParentNode parent = coreGetParent();
if (parent != null) {
beforeDetach();
@@ -216,7 +216,7 @@
nextSibling = null;
previousSibling = null;
if (newParent == null) {
- internalUnsetParent(detachPolicy.getNewOwnerDocument(parent));
+ internalUnsetParent(semantics.getDetachPolicy().getNewOwnerDocument(parent));
}
}
if (newParent != null) {
@@ -224,10 +224,10 @@
}
}
- public final void CoreChildNode.coreReplaceWith(CoreChildNode newNode, DetachPolicy detachPolicy) {
- newNode.coreDetach(DetachPolicy.NEW_DOCUMENT);
+ public final void CoreChildNode.coreReplaceWith(CoreChildNode newNode, Semantics semantics) {
CoreParentNode parent = coreGetParent();
if (parent != null) {
+ newNode.internalDetach(null, parent);
beforeDetach();
if (previousSibling == null) {
parent.getContent(true).firstChild = newNode;
@@ -243,8 +243,7 @@
newNode.nextSibling = nextSibling;
nextSibling = null;
}
- internalUnsetParent(detachPolicy.getNewOwnerDocument(parent));
- newNode.internalSetParent(parent);
+ internalUnsetParent(semantics.getDetachPolicy().getNewOwnerDocument(parent));
}
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElement.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElement.java
index a9581b7..a5dd131 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElement.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElement.java
@@ -86,12 +86,12 @@
* the {@link AttributeMatcher} implementation to use
* @param attr
* the new attribute to add
- * @param detachPolicy
+ * @param semantics
* determines the new owner document for the replaced attribute
* @return the attribute that was replaced by the new attribute, or <code>null</code> if no
* matching attribute existed.
*/
- CoreAttribute coreSetAttribute(AttributeMatcher matcher, CoreAttribute attr, DetachPolicy detachPolicy);
+ CoreAttribute coreSetAttribute(AttributeMatcher matcher, CoreAttribute attr, Semantics semantics);
/**
* Append an attribute to this element. The attribute is simply added at the end of the list of
@@ -117,9 +117,9 @@
* @return <code>true</code> if a matching attribute was found (and has been removed),
* <code>false</code> if no matching attribute was found
*/
- boolean coreRemoveAttribute(AttributeMatcher matcher, String namespaceURI, String name, DetachPolicy detachPolicy);
+ boolean coreRemoveAttribute(AttributeMatcher matcher, String namespaceURI, String name, Semantics semantics);
- <T extends CoreAttribute,S> Iterator<S> coreGetAttributesByType(Class<T> type, Mapper<T,S> mapper, DetachPolicy detachPolicy);
+ <T extends CoreAttribute,S> Iterator<S> coreGetAttributesByType(Class<T> type, Mapper<T,S> mapper, Semantics semantics);
/**
* Look up the namespace URI associated to the given prefix.
@@ -127,17 +127,14 @@
* @param prefix
* The prefix to look for. If this parameter is the empty string, then the URI of the
* default namespace will be returned.
- * @param strict
- * If this parameter is set to <code>true</code>, only namespace declarations will be
- * taken into account. If set to <code>false</code> the prefixes of the element and
- * its ancestors are also taken into account (limited to instanced of
- * {@link CoreNSAwareElement}), even if no explicit namespace declarations exists for
- * these prefixes.
+ * @param semantics
+ * The API semantics to use.
* @return the namespace URI or <code>null</code> if the prefix is not bound; if the prefix is
* the empty string and no default namespace declaration exists, then an empty string is
* returned
+ * @see Semantics#isUseStrictNamespaceLookup()
*/
- String coreLookupNamespaceURI(String prefix, boolean strict);
+ String coreLookupNamespaceURI(String prefix, Semantics semantics);
/**
* Find a prefix associated to the given namespace URI. Default namespaces are not taken into
@@ -146,17 +143,14 @@
* @param namespaceURI
* The namespace URI to look for. This parameter must not be <code>null</code> (XML
* forbids to bind a prefix to the null namespace).
- * @param strict
- * If this parameter is set to <code>true</code>, only namespace declarations will be
- * taken into account. If set to <code>false</code> the prefixes of the element and
- * its ancestors are also taken into account (limited to instanced of
- * {@link CoreNSAwareElement}), even if no explicit namespace declarations exists for
- * these prefixes.
+ * @param semantics
+ * The API semantics to use.
* @return a prefix bound to the given namespace URI or <code>null</code> if none is found
* @throws IllegalArgumentException
* if <code>namespaceURI</code> is <code>null</code>
+ * @see Semantics#isUseStrictNamespaceLookup()
*/
// TODO: wrong Javadoc: null vs. empty string
// TODO: we can support default namespaces!
- String coreLookupPrefix(String namespaceURI, boolean strict);
+ String coreLookupPrefix(String namespaceURI, Semantics semantics);
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj
index f335abf..2a271d2 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj
@@ -57,18 +57,13 @@
}
public final void CoreElement.coreAppendAttribute(CoreAttribute attr) {
- attr.coreRemove(DetachPolicy.NEW_DOCUMENT);
- internalAppendAttribute(attr);
- }
-
- private void CoreElement.internalAppendAttribute(CoreAttribute attr) {
// TODO: we should probably check if the attribute is already owned by the element
- attr.internalSetOwnerElement(this);
+ attr.internalRemove(null, this);
CoreAttribute lastAttribute = coreGetLastAttribute();
if (lastAttribute == null) {
firstAttribute = attr;
} else {
- lastAttribute.insertAttributeAfter(attr);
+ lastAttribute.internalSetNextAttribute(attr);
}
}
@@ -82,7 +77,7 @@
if (attr == null) {
CoreAttribute newAttr = matcher.createAttribute(this, namespaceURI, name, prefix, value);
if (previousAttr == null) {
- internalAppendAttribute(newAttr);
+ coreAppendAttribute(newAttr);
} else {
previousAttr.insertAttributeAfter(newAttr);
}
@@ -91,12 +86,12 @@
}
}
- public final CoreAttribute CoreElement.coreSetAttribute(AttributeMatcher matcher, CoreAttribute attr, DetachPolicy detachPolicy) {
+ public final CoreAttribute CoreElement.coreSetAttribute(AttributeMatcher matcher, CoreAttribute attr, Semantics semantics) {
if (attr.coreGetOwnerElement() == this) {
// TODO: document this and add assertion
return attr;
}
- attr.coreRemove(DetachPolicy.NEW_DOCUMENT);
+ attr.internalRemove(null, this);
String namespaceURI = matcher.getNamespaceURI(attr);
String name = matcher.getName(attr);
CoreAttribute existingAttr = coreGetFirstAttribute();
@@ -105,7 +100,6 @@
previousAttr = existingAttr;
existingAttr = existingAttr.coreGetNextAttribute();
}
- attr.internalSetOwnerElement(this);
if (existingAttr == null) {
if (previousAttr == null) {
firstAttribute = attr;
@@ -118,31 +112,31 @@
} else {
previousAttr.internalSetNextAttribute(attr);
}
- existingAttr.internalUnsetOwnerElement(detachPolicy.getNewOwnerDocument(this));
+ existingAttr.internalUnsetOwnerElement(semantics.getDetachPolicy().getNewOwnerDocument(this));
attr.internalSetNextAttribute(existingAttr.coreGetNextAttribute());
existingAttr.internalSetNextAttribute(null);
}
return existingAttr;
}
- public final boolean CoreElement.coreRemoveAttribute(AttributeMatcher matcher, String namespaceURI, String name, DetachPolicy detachPolicy) {
+ public final boolean CoreElement.coreRemoveAttribute(AttributeMatcher matcher, String namespaceURI, String name, Semantics semantics) {
CoreAttribute att = coreGetAttribute(matcher, namespaceURI, name);
if (att != null) {
- att.coreRemove(detachPolicy);
+ att.coreRemove(semantics);
return true;
} else {
return false;
}
}
- public final <T extends CoreAttribute,S> Iterator<S> CoreElement.coreGetAttributesByType(Class<T> type, Mapper<T,S> mapper, DetachPolicy detachPolicy) {
- return AttributeIterator.create(this, type, mapper, detachPolicy);
+ public final <T extends CoreAttribute,S> Iterator<S> CoreElement.coreGetAttributesByType(Class<T> type, Mapper<T,S> mapper, Semantics semantics) {
+ return AttributeIterator.create(this, type, mapper, semantics);
}
public abstract String CoreElement.getImplicitNamespaceURI(String prefix);
- public final String CoreElement.coreLookupNamespaceURI(String prefix, boolean strict) {
- if (!strict) {
+ public final String CoreElement.coreLookupNamespaceURI(String prefix, Semantics semantics) {
+ if (!semantics.isUseStrictNamespaceLookup()) {
String namespaceURI = getImplicitNamespaceURI(prefix);
if (namespaceURI != null) {
return namespaceURI;
@@ -158,7 +152,7 @@
}
CoreElement parentElement = coreGetParentElement();
if (parentElement != null) {
- return parentElement.coreLookupNamespaceURI(prefix, strict);
+ return parentElement.coreLookupNamespaceURI(prefix, semantics);
} else if (prefix.length() == 0) {
return "";
} else {
@@ -168,11 +162,11 @@
public abstract String CoreElement.getImplicitPrefix(String namespaceURI);
- public final String CoreElement.coreLookupPrefix(String namespaceURI, boolean strict) {
+ public final String CoreElement.coreLookupPrefix(String namespaceURI, Semantics semantics) {
if (namespaceURI == null) {
throw new IllegalArgumentException("namespaceURI must not be null");
}
- if (!strict) {
+ if (!semantics.isUseStrictNamespaceLookup()) {
String prefix = getImplicitPrefix(namespaceURI);
if (prefix != null) {
return prefix;
@@ -188,10 +182,10 @@
}
CoreElement parentElement = coreGetParentElement();
if (parentElement != null) {
- String prefix = parentElement.coreLookupPrefix(namespaceURI, strict);
+ String prefix = parentElement.coreLookupPrefix(namespaceURI, semantics);
// The prefix declared on one of the ancestors may be masked by another
// namespace declaration on this element (or one of its descendants).
- if (!strict && getImplicitNamespaceURI(prefix) != null) {
+ if (!semantics.isUseStrictNamespaceLookup() && getImplicitNamespaceURI(prefix) != null) {
return null;
}
for (CoreAttribute attr = coreGetFirstAttribute(); attr != null; attr = attr.coreGetNextAttribute()) {
@@ -215,7 +209,7 @@
if (isExpanded()) {
CoreAttribute attr = o.coreGetFirstAttribute();
while (attr != null) {
- internalAppendAttribute((CoreAttribute)attr.coreClone(policy, options));
+ coreAppendAttribute((CoreAttribute)attr.coreClone(policy, options));
// TODO: needed?
// clonedAttr.coreSetSpecified(attr.coreGetSpecified());
attr = attr.coreGetNextAttribute();
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java
index c5dba8a..22e6d7f 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java
@@ -35,5 +35,5 @@
void coreSetState(int state);
void build();
- <T extends CoreElement> NodeIterator<T> coreGetElements(Axis axis, Class<T> type, ElementMatcher<? super T> matcher, String namespaceURI, String name, ExceptionTranslator exceptionTranslator, DetachPolicy detachPolicy);
+ <T extends CoreElement> NodeIterator<T> coreGetElements(Axis axis, Class<T> type, ElementMatcher<? super T> matcher, String namespaceURI, String name, ExceptionTranslator exceptionTranslator, Semantics semantics);
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj
index c2a746e..efefad7 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj
@@ -186,7 +186,7 @@
fragmentContent.lastChild = null;
}
- public final void CoreParentNode.coreRemoveChildren(DetachPolicy detachPolicy) {
+ public final void CoreParentNode.coreRemoveChildren(Semantics semantics) {
if (getState() == COMPACT) {
coreSetState(COMPLETE);
content = null;
@@ -205,7 +205,7 @@
updateState = false;
}
if (child != null) {
- CoreDocument newOwnerDocument = detachPolicy.getNewOwnerDocument(this);
+ CoreDocument newOwnerDocument = semantics.getDetachPolicy().getNewOwnerDocument(this);
do {
CoreChildNode nextSibling = child.nextSibling;
child.previousSibling = null;
@@ -288,16 +288,16 @@
}
}
- public final void CoreParentNode.coreSetCharacterData(Object data, DetachPolicy detachPolicy) {
- coreRemoveChildren(detachPolicy);
+ public final void CoreParentNode.coreSetCharacterData(Object data, Semantics semantics) {
+ coreRemoveChildren(semantics);
if (data != null && (data instanceof CharacterData || ((String)data).length() > 0)) {
coreSetState(COMPACT);
content = data;
}
}
- public final <T> NodeIterator<T> CoreParentNode.coreGetNodes(Axis axis, Class<T> type, ExceptionTranslator exceptionTranslator, DetachPolicy detachPolicy) {
- return new AbstractNodeIterator<T>(this, axis, type, exceptionTranslator, detachPolicy) {
+ public final <T> NodeIterator<T> CoreParentNode.coreGetNodes(Axis axis, Class<T> type, ExceptionTranslator exceptionTranslator, Semantics semantics) {
+ return new AbstractNodeIterator<T>(this, axis, type, exceptionTranslator, semantics) {
@Override
protected boolean matches(CoreNode node) throws CoreModelException {
return true;
@@ -305,8 +305,8 @@
};
}
- public final <T extends CoreElement> NodeIterator<T> CoreParentNode.coreGetElements(Axis axis, Class<T> type, ElementMatcher<? super T> matcher, String namespaceURI, String name, ExceptionTranslator exceptionTranslator, DetachPolicy detachPolicy) {
- return new ElementsIterator<T>(this, axis, type, matcher, namespaceURI, name, exceptionTranslator, detachPolicy);
+ public final <T extends CoreElement> NodeIterator<T> CoreParentNode.coreGetElements(Axis axis, Class<T> type, ElementMatcher<? super T> matcher, String namespaceURI, String name, ExceptionTranslator exceptionTranslator, Semantics semantics) {
+ return new ElementsIterator<T>(this, axis, type, matcher, namespaceURI, name, exceptionTranslator, semantics);
}
public final <T> void CoreParentNode.cloneChildrenIfNecessary(ClonePolicy<T> policy, T options, CoreNode clone) {
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementMatcher.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementMatcher.java
index 40eb673..577a2fd 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementMatcher.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementMatcher.java
@@ -101,7 +101,7 @@
/**
* Check if the given element matches. The values of the <code>namespaceURI</code> and
* <code>name</code> parameters are those passed to
- * {@link CoreParentNode#coreGetElements(Axis, Class, ElementMatcher, String, String, ExceptionTranslator, DetachPolicy)}.
+ * {@link CoreParentNode#coreGetElements(Axis, Class, ElementMatcher, String, String, ExceptionTranslator, Semantics)}.
*
* @param element
* the element to check
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementsIterator.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementsIterator.java
index dac3a54..c6826bd 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementsIterator.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/ElementsIterator.java
@@ -24,8 +24,8 @@
private final String namespaceURI;
private final String name;
- public ElementsIterator(CoreParentNode startNode, Axis axis, Class<T> type, ElementMatcher<? super T> matcher, String namespaceURI, String name, ExceptionTranslator exceptionTranslator, DetachPolicy detachPolicy) {
- super(startNode, axis, type, exceptionTranslator, detachPolicy);
+ public ElementsIterator(CoreParentNode startNode, Axis axis, Class<T> type, ElementMatcher<? super T> matcher, String namespaceURI, String name, ExceptionTranslator exceptionTranslator, Semantics semantics) {
+ super(startNode, axis, type, exceptionTranslator, semantics);
this.type = type;
this.matcher = matcher;
this.namespaceURI = namespaceURI;
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/NSAwareAttributeMatcher.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/NSAwareAttributeMatcher.java
index 7dd0292..3abb932 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/NSAwareAttributeMatcher.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/NSAwareAttributeMatcher.java
@@ -36,15 +36,15 @@
* {@link NamespaceDeclarationMatcher} can be used).
*/
public final class NSAwareAttributeMatcher implements AttributeMatcher {
- private final DetachPolicy detachPolicy;
+ private final Semantics semantics;
private final boolean matchNSUnawareAttributes;
private final boolean updatePrefix;
/**
* Constructor.
*
- * @param detachPolicy
- * Specifies the {@link DetachPolicy} to be used by
+ * @param semantics
+ * Specifies the {@link Semantics} to be used by
* {@link #update(CoreAttribute, String, String)}.
* @param matchNSUnawareAttributes
* Specifies if {@link CoreNSUnawareAttribute} instances can also be matched. Only
@@ -55,9 +55,9 @@
* <code>prefix</code> is only used when creating new attributes and prefixes of
* existing attributes are preserved (i.e. only their value is updated).
*/
- public NSAwareAttributeMatcher(DetachPolicy detachPolicy, boolean matchNSUnawareAttributes,
+ public NSAwareAttributeMatcher(Semantics semantics, boolean matchNSUnawareAttributes,
boolean updatePrefix) {
- this.detachPolicy = detachPolicy;
+ this.semantics = semantics;
this.matchNSUnawareAttributes = matchNSUnawareAttributes;
this.updatePrefix = updatePrefix;
}
@@ -92,7 +92,7 @@
}
public void update(CoreAttribute attr, String prefix, String value) {
- attr.coreSetCharacterData(value, detachPolicy);
+ attr.coreSetCharacterData(value, semantics);
if (updatePrefix && attr instanceof CoreNSAwareAttribute) {
((CoreNSAwareAttribute)attr).coreSetPrefix(prefix);
}
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/NamespaceDeclarationMatcher.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/NamespaceDeclarationMatcher.java
index d87b5cd..749c818 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/NamespaceDeclarationMatcher.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/NamespaceDeclarationMatcher.java
@@ -34,10 +34,10 @@
* </dl>
*/
public final class NamespaceDeclarationMatcher implements AttributeMatcher {
- private final DetachPolicy detachPolicy;
+ private final Semantics semantics;
- public NamespaceDeclarationMatcher(DetachPolicy detachPolicy) {
- this.detachPolicy = detachPolicy;
+ public NamespaceDeclarationMatcher(Semantics semantics) {
+ this.semantics = semantics;
}
public boolean matches(CoreAttribute attr, String namespaceURI, String name) {
@@ -64,6 +64,6 @@
}
public void update(CoreAttribute attr, String prefix, String value) {
- attr.coreSetCharacterData(value, detachPolicy);
+ attr.coreSetCharacterData(value, semantics);
}
}
\ No newline at end of file
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeIterator.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeIterator.java
index 6cbb0de..9198784 100644
--- a/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeIterator.java
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeIterator.java
@@ -32,7 +32,7 @@
* allowed to throw {@link UnsupportedOperationException}.
* <li>A {@link ConcurrentModificationException} MUST be thrown when the iterator is used after the
* last node returned by {@link Iterator#next()} has been removed using a method other than
- * {@link Iterator#remove()} (e.g. {@link CoreChildNode#coreDetach(DetachPolicy)}).
+ * {@link Iterator#remove()} (e.g. {@link CoreChildNode#coreDetach(Semantics)}).
* <li>If a {@link CoreModelException} occurs inside {@link Iterator#hasNext()},
* {@link Iterator#next()} or {@link Iterator#remove()}, then the implementation MUST use the
* supplied {@link ExceptionTranslator} to translate that checked exception into an unchecked
diff --git a/aspects/core-aspects/src/main/java/org/apache/axiom/core/Semantics.java b/aspects/core-aspects/src/main/java/org/apache/axiom/core/Semantics.java
new file mode 100644
index 0000000..3e2cb90
--- /dev/null
+++ b/aspects/core-aspects/src/main/java/org/apache/axiom/core/Semantics.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.core;
+
+/**
+ * Defines the semantics of a particular API.
+ */
+public interface Semantics {
+ DetachPolicy getDetachPolicy();
+
+ /**
+ * Determine how namespace lookups are performed.
+ *
+ * @return {@code true} if only namespace declarations are taken into account. {@code false} if
+ * the prefixes of the element and its ancestors are also taken into account (limited to
+ * instanced of {@link CoreNSAwareElement}), even if no explicit namespace declarations
+ * exists for these prefixes.
+ */
+ boolean isUseStrictNamespaceLookup();
+}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj
index 80736b3..bab37c6 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj
@@ -66,7 +66,7 @@
}
public final void DOMAttribute.setValue(String value) {
- coreSetCharacterData(value, Policies.DETACH_POLICY);
+ coreSetCharacterData(value, DOMSemantics.INSTANCE);
}
public final CoreElement DOMAttribute.getNamespaceContext() {
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj
index 69a98bc..f6997db 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj
@@ -30,6 +30,6 @@
}
public final void DOMCDATASection.setData(String data) {
- coreSetCharacterData(data, Policies.DETACH_POLICY);
+ coreSetCharacterData(data, DOMSemantics.INSTANCE);
}
}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj
index 5aabc7e..4299b3b 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj
@@ -34,6 +34,6 @@
}
public final void DOMComment.setData(String data) {
- coreSetCharacterData(data, Policies.DETACH_POLICY);
+ coreSetCharacterData(data, DOMSemantics.INSTANCE);
}
}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj
index 4f65eb1..549222f 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj
@@ -80,6 +80,6 @@
}
public final void DOMDocumentFragment.setTextContent(String textContent) {
- coreSetCharacterData(textContent, Policies.DETACH_POLICY);
+ coreSetCharacterData(textContent, DOMSemantics.INSTANCE);
}
}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
index 3da3976..bbcab4c 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
@@ -146,7 +146,7 @@
public final CDATASection DOMDocument.createCDATASection(String data) {
DOMCDATASection cdataSection = coreGetNodeFactory().createNode(DOMCDATASection.class);
cdataSection.coreSetOwnerDocument(this);
- cdataSection.coreSetCharacterData(data, Policies.DETACH_POLICY);
+ cdataSection.coreSetCharacterData(data, DOMSemantics.INSTANCE);
return cdataSection;
}
@@ -216,7 +216,7 @@
DOMProcessingInstruction pi = coreGetNodeFactory().createNode(DOMProcessingInstruction.class);
pi.coreSetOwnerDocument(this);
pi.coreSetTarget(target);
- pi.coreSetCharacterData(data, Policies.DETACH_POLICY);
+ pi.coreSetCharacterData(data, DOMSemantics.INSTANCE);
return pi;
}
@@ -230,7 +230,7 @@
public final Comment DOMDocument.createComment(String data) {
DOMComment node = coreGetNodeFactory().createNode(DOMComment.class);
node.coreSetOwnerDocument(this);
- node.coreSetCharacterData(data, Policies.DETACH_POLICY);
+ node.coreSetCharacterData(data, DOMSemantics.INSTANCE);
return node;
}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj
index 06e0c23..c6ee235 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj
@@ -76,14 +76,14 @@
}
public final Attr DOMElement.getAttributeNode(String name) {
- return (DOMAttribute)coreGetAttribute(Policies.DOM1_ATTRIBUTE_MATCHER, null, name);
+ return (DOMAttribute)coreGetAttribute(DOMSemantics.DOM1_ATTRIBUTE_MATCHER, null, name);
}
public final Attr DOMElement.getAttributeNodeNS(String namespaceURI, String localName) {
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI)) {
- return (DOMAttribute)coreGetAttribute(Policies.NAMESPACE_DECLARATION_MATCHER, null, localName.equals(XMLConstants.XMLNS_ATTRIBUTE) ? "" : localName);
+ return (DOMAttribute)coreGetAttribute(DOMSemantics.NAMESPACE_DECLARATION_MATCHER, null, localName.equals(XMLConstants.XMLNS_ATTRIBUTE) ? "" : localName);
} else {
- return (DOMAttribute)coreGetAttribute(Policies.DOM2_ATTRIBUTE_MATCHER, namespaceURI == null ? "" : namespaceURI, localName);
+ return (DOMAttribute)coreGetAttribute(DOMSemantics.DOM2_ATTRIBUTE_MATCHER, namespaceURI == null ? "" : namespaceURI, localName);
}
}
@@ -107,7 +107,7 @@
public final void DOMElement.setAttribute(String name, String value) {
NSUtil.validateName(name);
- coreSetAttribute(Policies.DOM1_ATTRIBUTE_MATCHER, null, name, null, value);
+ coreSetAttribute(DOMSemantics.DOM1_ATTRIBUTE_MATCHER, null, name, null, value);
}
public final void DOMElement.setAttributeNS(String namespaceURI, String qualifiedName, String value) throws DOMException {
@@ -122,11 +122,11 @@
localName = qualifiedName.substring(i+1);
}
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI)) {
- coreSetAttribute(Policies.NAMESPACE_DECLARATION_MATCHER, null, NSUtil.getDeclaredPrefix(localName, prefix), null, value);
+ coreSetAttribute(DOMSemantics.NAMESPACE_DECLARATION_MATCHER, null, NSUtil.getDeclaredPrefix(localName, prefix), null, value);
} else {
namespaceURI = NSUtil.normalizeNamespaceURI(namespaceURI);
NSUtil.validateAttributeName(namespaceURI, localName, prefix);
- coreSetAttribute(Policies.DOM2_ATTRIBUTE_MATCHER, namespaceURI, localName, prefix, value);
+ coreSetAttribute(DOMSemantics.DOM2_ATTRIBUTE_MATCHER, namespaceURI, localName, prefix, value);
}
}
@@ -152,14 +152,14 @@
}
AttributeMatcher matcher;
if (newAttr instanceof CoreNSAwareAttribute) {
- matcher = Policies.DOM2_ATTRIBUTE_MATCHER;
+ matcher = DOMSemantics.DOM2_ATTRIBUTE_MATCHER;
} else if (newAttr instanceof CoreNamespaceDeclaration) {
- matcher = Policies.NAMESPACE_DECLARATION_MATCHER;
+ matcher = DOMSemantics.NAMESPACE_DECLARATION_MATCHER;
} else {
// Must be a DOM1 (namespace unaware) attribute
- matcher = Policies.DOM1_ATTRIBUTE_MATCHER;
+ matcher = DOMSemantics.DOM1_ATTRIBUTE_MATCHER;
}
- return (DOMAttribute)coreSetAttribute(matcher, newAttr, Policies.DETACH_POLICY);
+ return (DOMAttribute)coreSetAttribute(matcher, newAttr, DOMSemantics.INSTANCE);
}
}
@@ -169,7 +169,7 @@
if (attr.coreGetOwnerElement() != this) {
throw DOMExceptionTranslator.newDOMException(DOMException.NOT_FOUND_ERR);
} else {
- attr.coreRemove(Policies.DETACH_POLICY);
+ attr.coreRemove(DOMSemantics.INSTANCE);
}
return attr;
} else {
@@ -179,15 +179,15 @@
public final void DOMElement.removeAttribute(String name) throws DOMException {
// Specs: "If no attribute with this name is found, this method has no effect."
- coreRemoveAttribute(Policies.DOM1_ATTRIBUTE_MATCHER, null, name, Policies.DETACH_POLICY);
+ coreRemoveAttribute(DOMSemantics.DOM1_ATTRIBUTE_MATCHER, null, name, DOMSemantics.INSTANCE);
}
public final void DOMElement.removeAttributeNS(String namespaceURI, String localName) throws DOMException {
// Specs: "If no attribute with this local name and namespace URI is found, this method has no effect."
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI)) {
- coreRemoveAttribute(Policies.NAMESPACE_DECLARATION_MATCHER, null, localName.equals(XMLConstants.XMLNS_ATTRIBUTE) ? "" : localName, Policies.DETACH_POLICY);
+ coreRemoveAttribute(DOMSemantics.NAMESPACE_DECLARATION_MATCHER, null, localName.equals(XMLConstants.XMLNS_ATTRIBUTE) ? "" : localName, DOMSemantics.INSTANCE);
} else {
- coreRemoveAttribute(Policies.DOM2_ATTRIBUTE_MATCHER, namespaceURI == null ? "" : namespaceURI, localName, Policies.DETACH_POLICY);
+ coreRemoveAttribute(DOMSemantics.DOM2_ATTRIBUTE_MATCHER, namespaceURI == null ? "" : namespaceURI, localName, DOMSemantics.INSTANCE);
}
}
@@ -196,7 +196,7 @@
}
public final void DOMElement.setTextContent(String textContent) {
- coreSetCharacterData(textContent, Policies.DETACH_POLICY);
+ coreSetCharacterData(textContent, DOMSemantics.INSTANCE);
}
public final NodeList DOMElement.getElementsByTagName(String tagname) {
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeSupport.aj
index bbb32f5..6117191 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeSupport.aj
@@ -41,7 +41,7 @@
} else if (prefix.length() == 0) {
return null;
}
- String namespaceURI = context.coreLookupNamespaceURI(prefix, false);
+ String namespaceURI = context.coreLookupNamespaceURI(prefix, DOMSemantics.INSTANCE);
return namespaceURI == null || namespaceURI.length() == 0 ? null : namespaceURI;
}
@@ -53,7 +53,7 @@
if (namespaceURI == null) {
return null;
} else {
- String prefix = context.coreLookupPrefix(namespaceURI, false);
+ String prefix = context.coreLookupPrefix(namespaceURI, DOMSemantics.INSTANCE);
return prefix == null || prefix.length() == 0 ? null : prefix;
}
}
@@ -66,11 +66,11 @@
if (namespaceURI == null) {
namespaceURI = "";
}
- return namespaceURI.equals(context.coreLookupNamespaceURI("", false));
+ return namespaceURI.equals(context.coreLookupNamespaceURI("", DOMSemantics.INSTANCE));
}
public final Node DOMNode.cloneNode(boolean deep) {
- DOMNode clone = (DOMNode)coreClone(deep ? Policies.DEEP_CLONE : Policies.SHALLOW_CLONE, null);
+ DOMNode clone = (DOMNode)coreClone(deep ? DOMSemantics.DEEP_CLONE : DOMSemantics.SHALLOW_CLONE, null);
if (!(clone instanceof DOMDocument)) {
clone.coreSetOwnerDocument(coreGetOwnerDocument(true));
}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMParentNodeSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMParentNodeSupport.aj
index 9ec55b3..4614182 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMParentNodeSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMParentNodeSupport.aj
@@ -68,7 +68,7 @@
public final Node DOMParentNode.removeChild(Node oldChild) throws DOMException {
if (oldChild.getParentNode() == this) {
- ((CoreChildNode)oldChild).coreDetach(Policies.DETACH_POLICY);
+ ((CoreChildNode)oldChild).coreDetach(DOMSemantics.INSTANCE);
return oldChild;
} else {
throw newDOMException(DOMException.NOT_FOUND_ERR);
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj
index f6cc26a..5eec56d 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj
@@ -30,7 +30,7 @@
}
public final void DOMProcessingInstruction.setData(String data) {
- coreSetCharacterData(data, Policies.DETACH_POLICY);
+ coreSetCharacterData(data, DOMSemantics.INSTANCE);
}
public final String DOMProcessingInstruction.getNodeName() {
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/Policies.java b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMSemantics.java
similarity index 89%
rename from aspects/dom-aspects/src/main/java/org/apache/axiom/dom/Policies.java
rename to aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMSemantics.java
index 78c5ad9..679014c 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/Policies.java
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMSemantics.java
@@ -28,12 +28,21 @@
import org.apache.axiom.core.NSAwareAttributeMatcher;
import org.apache.axiom.core.NamespaceDeclarationMatcher;
import org.apache.axiom.core.NodeType;
+import org.apache.axiom.core.Semantics;
-public final class Policies {
- private Policies() {}
+public final class DOMSemantics implements Semantics {
+ public static final DOMSemantics INSTANCE = new DOMSemantics();
- public static final DetachPolicy DETACH_POLICY = DetachPolicy.SAME_DOCUMENT;
+ private DOMSemantics() {}
+ public DetachPolicy getDetachPolicy() {
+ return DetachPolicy.SAME_DOCUMENT;
+ }
+
+ public boolean isUseStrictNamespaceLookup() {
+ return false;
+ }
+
/**
* {@link AttributeMatcher} implementation that matches attributes based on their name, i.e.
* based on the prefix and local name for namespace aware attributes. Parameters are defined as
@@ -74,13 +83,13 @@
}
public void update(CoreAttribute attr, String prefix, String value) {
- attr.coreSetCharacterData(value, DETACH_POLICY);
+ attr.coreSetCharacterData(value, INSTANCE);
}
};
- public static final AttributeMatcher DOM2_ATTRIBUTE_MATCHER = new NSAwareAttributeMatcher(DETACH_POLICY, true, true);
+ public static final AttributeMatcher DOM2_ATTRIBUTE_MATCHER = new NSAwareAttributeMatcher(INSTANCE, true, true);
- public static final AttributeMatcher NAMESPACE_DECLARATION_MATCHER = new NamespaceDeclarationMatcher(DETACH_POLICY);
+ public static final AttributeMatcher NAMESPACE_DECLARATION_MATCHER = new NamespaceDeclarationMatcher(INSTANCE);
public static final ClonePolicy<Void> DEEP_CLONE = new ClonePolicy<Void>() {
public Class<? extends CoreNode> getTargetNodeClass(Void options, CoreNode node) {
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMTextNodeSupport.aj b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMTextNodeSupport.aj
index c11438b..8d17ee0 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMTextNodeSupport.aj
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMTextNodeSupport.aj
@@ -87,7 +87,7 @@
DOMTextNode next;
do {
next = current == last ? null : (DOMTextNode)current.coreGetNextSibling();
- current.coreDetach(Policies.DETACH_POLICY);
+ current.coreDetach(DOMSemantics.INSTANCE);
current = next;
} while (next != null);
}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagName.java b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagName.java
index 5110bcd..05812a2 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagName.java
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagName.java
@@ -36,9 +36,9 @@
@Override
protected Iterator<? extends Node> createIterator() {
if (tagname.equals("*")) {
- return node.coreGetElements(Axis.DESCENDANTS, DOMElement.class, ElementMatcher.ANY, null, null, DOMExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return node.coreGetElements(Axis.DESCENDANTS, DOMElement.class, ElementMatcher.ANY, null, null, DOMExceptionTranslator.INSTANCE, DOMSemantics.INSTANCE);
} else {
- return node.coreGetElements(Axis.DESCENDANTS, DOMElement.class, ElementMatcher.BY_NAME, null, tagname, DOMExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return node.coreGetElements(Axis.DESCENDANTS, DOMElement.class, ElementMatcher.BY_NAME, null, tagname, DOMExceptionTranslator.INSTANCE, DOMSemantics.INSTANCE);
}
}
}
diff --git a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagNameNS.java b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagNameNS.java
index fcb416d..dc1b0fa 100644
--- a/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagNameNS.java
+++ b/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ElementsByTagNameNS.java
@@ -41,13 +41,13 @@
boolean localNameWildcard = localName.equals("*");
if (nsWildcard && localNameWildcard) {
// TODO: there seems to be no unit test checking whether the iterator should return DOM1 elements!
- return node.coreGetElements(Axis.DESCENDANTS, DOMElement.class, ElementMatcher.ANY, null, null, DOMExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return node.coreGetElements(Axis.DESCENDANTS, DOMElement.class, ElementMatcher.ANY, null, null, DOMExceptionTranslator.INSTANCE, DOMSemantics.INSTANCE);
} else if (nsWildcard) {
- return node.coreGetElements(Axis.DESCENDANTS, DOMNSAwareElement.class, ElementMatcher.BY_LOCAL_NAME, null, localName, DOMExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return node.coreGetElements(Axis.DESCENDANTS, DOMNSAwareElement.class, ElementMatcher.BY_LOCAL_NAME, null, localName, DOMExceptionTranslator.INSTANCE, DOMSemantics.INSTANCE);
} else if (localNameWildcard) {
- return node.coreGetElements(Axis.DESCENDANTS, DOMNSAwareElement.class, ElementMatcher.BY_NAMESPACE_URI, namespaceURI, null, DOMExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return node.coreGetElements(Axis.DESCENDANTS, DOMNSAwareElement.class, ElementMatcher.BY_NAMESPACE_URI, namespaceURI, null, DOMExceptionTranslator.INSTANCE, DOMSemantics.INSTANCE);
} else {
- return node.coreGetElements(Axis.DESCENDANTS, DOMNSAwareElement.class, ElementMatcher.BY_QNAME, namespaceURI, localName, DOMExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return node.coreGetElements(Axis.DESCENDANTS, DOMNSAwareElement.class, ElementMatcher.BY_QNAME, namespaceURI, localName, DOMExceptionTranslator.INSTANCE, DOMSemantics.INSTANCE);
}
}
}
diff --git a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaAttributeMixin.aj b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaAttributeMixin.aj
index d0f78c4..713e01d 100644
--- a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaAttributeMixin.aj
+++ b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaAttributeMixin.aj
@@ -25,7 +25,7 @@
}
public final Attribute AbderaAttribute.setText(String text) {
- coreSetCharacterData(text, Policies.DETACH_POLICY);
+ coreSetCharacterData(text, FOMSemantics.INSTANCE);
return this;
}
}
diff --git a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaElementMixin.aj b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaElementMixin.aj
index 3defd72..6283e5e 100644
--- a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaElementMixin.aj
+++ b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaElementMixin.aj
@@ -20,6 +20,6 @@
public aspect AbderaElementMixin {
public final void AbderaElement._removeAllChildren() {
- coreRemoveChildren(Policies.DETACH_POLICY);
+ coreRemoveChildren(FOMSemantics.INSTANCE);
}
}
diff --git a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionMixin.aj b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionMixin.aj
index 39f1af5..5328e1a 100644
--- a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionMixin.aj
+++ b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionMixin.aj
@@ -27,7 +27,7 @@
@SuppressWarnings("unchecked")
public final <T extends ProcessingInstruction> T AbderaProcessingInstruction.setText(String text) {
- coreSetCharacterData(text, Policies.DETACH_POLICY);
+ coreSetCharacterData(text, FOMSemantics.INSTANCE);
return (T)this;
}
}
diff --git a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/CategoryContainerMixin.aj b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/CategoryContainerMixin.aj
index 3981126..fe6b77b 100644
--- a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/CategoryContainerMixin.aj
+++ b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/CategoryContainerMixin.aj
@@ -55,6 +55,6 @@
// TODO: we should probably set detachPolicy to null
return new FOMList<Category>(coreGetElements(
Axis.CHILDREN, AbderaCategory.class, CATEGORY_BY_SCHEME, null, scheme,
- FOMExceptionTranslator.INSTANCE, Policies.DETACH_POLICY));
+ FOMExceptionTranslator.INSTANCE, FOMSemantics.INSTANCE));
}
}
diff --git a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/Policies.java b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/FOMSemantics.java
similarity index 71%
rename from aspects/fom-aspects/src/main/java/org/apache/axiom/fom/Policies.java
rename to aspects/fom-aspects/src/main/java/org/apache/axiom/fom/FOMSemantics.java
index 8079dd6..4028055 100644
--- a/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/Policies.java
+++ b/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/FOMSemantics.java
@@ -19,19 +19,22 @@
package org.apache.axiom.fom;
import org.apache.axiom.core.AttributeMatcher;
-import org.apache.axiom.core.CoreDocument;
-import org.apache.axiom.core.CoreParentNode;
import org.apache.axiom.core.DetachPolicy;
import org.apache.axiom.core.NSAwareAttributeMatcher;
+import org.apache.axiom.core.Semantics;
-public final class Policies {
- private Policies() {}
+public final class FOMSemantics implements Semantics {
+ public static final FOMSemantics INSTANCE = new FOMSemantics();
- public static final DetachPolicy DETACH_POLICY = new DetachPolicy() {
- public CoreDocument getNewOwnerDocument(CoreParentNode owner) {
- return null;
- }
- };
+ private FOMSemantics() {}
- public static final AttributeMatcher ATTRIBUTE_MATCHER = new NSAwareAttributeMatcher(DETACH_POLICY, false, false);
+ public DetachPolicy getDetachPolicy() {
+ return DetachPolicy.NEW_DOCUMENT;
+ }
+
+ public boolean isUseStrictNamespaceLookup() {
+ return true;
+ }
+
+ public static final AttributeMatcher ATTRIBUTE_MATCHER = new NSAwareAttributeMatcher(INSTANCE, false, false);
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj
index 55ceeba..52067ef 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj
@@ -44,7 +44,7 @@
}
public final void AxiomAttribute.setAttributeValue(String value) {
- coreSetCharacterData(value, Policies.DETACH_POLICY);
+ coreSetCharacterData(value, AxiomSemantics.INSTANCE);
}
public final String AxiomAttribute.getAttributeType() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomChildNodeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomChildNodeSupport.aj
index edd915a..4f7f7f0 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomChildNodeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomChildNodeSupport.aj
@@ -60,7 +60,7 @@
throw new OMException(
"Nodes that don't have a parent can not be detached");
}
- coreDetach(Policies.DETACH_POLICY);
+ coreDetach(AxiomSemantics.INSTANCE);
return this;
}
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj
index 54da40f..587ed78 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj
@@ -34,7 +34,7 @@
}
public void AxiomComment.setValue(String text) {
- coreSetCharacterData(text, Policies.DETACH_POLICY);
+ coreSetCharacterData(text, AxiomSemantics.INSTANCE);
}
public final void AxiomComment.internalSerialize(Serializer serializer, OMOutputFormat format, boolean cache) throws OutputException {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj
index a2300fc..0552f10 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj
@@ -187,11 +187,11 @@
}
public void AxiomContainer.removeChildren() {
- coreRemoveChildren(Policies.DETACH_POLICY);
+ coreRemoveChildren(AxiomSemantics.INSTANCE);
}
public Iterator AxiomContainer.getChildren() {
- return coreGetNodes(Axis.CHILDREN, OMNode.class, AxiomExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return coreGetNodes(Axis.CHILDREN, OMNode.class, AxiomExceptionTranslator.INSTANCE, AxiomSemantics.INSTANCE);
}
public Iterator AxiomContainer.getChildrenWithLocalName(String localName) {
@@ -229,7 +229,7 @@
}
public Iterator AxiomContainer.getDescendants(boolean includeSelf) {
- return coreGetNodes(includeSelf ? Axis.DESCENDANTS_OR_SELF : Axis.DESCENDANTS, OMSerializable.class, AxiomExceptionTranslator.INSTANCE, Policies.DETACH_POLICY);
+ return coreGetNodes(includeSelf ? Axis.DESCENDANTS_OR_SELF : Axis.DESCENDANTS, OMSerializable.class, AxiomExceptionTranslator.INSTANCE, AxiomSemantics.INSTANCE);
}
public OMElement AxiomContainer.getFirstChildWithName(QName elementQName) throws OMException {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocumentSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocumentSupport.aj
index feb2130..fa490c2 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocumentSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocumentSupport.aj
@@ -40,7 +40,7 @@
if (existingDocumentElement == null) {
addChild(documentElement);
} else {
- existingDocumentElement.coreReplaceWith((AxiomElement)documentElement, Policies.DETACH_POLICY);
+ existingDocumentElement.coreReplaceWith((AxiomElement)documentElement, AxiomSemantics.INSTANCE);
}
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
index 09072f2..63a7132 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
@@ -196,7 +196,7 @@
// Not final because overridden in Abdera
public void AxiomElement.setText(String text) {
- coreSetCharacterData(text, Policies.DETACH_POLICY);
+ coreSetCharacterData(text, AxiomSemantics.INSTANCE);
}
public final void AxiomElement.setText(QName qname) {
@@ -278,7 +278,7 @@
}
public final void AxiomElement.internalAppendAttribute(OMAttribute attr) {
- coreSetAttribute(Policies.ATTRIBUTE_MATCHER, (AxiomAttribute)attr, Policies.DETACH_POLICY);
+ coreSetAttribute(AxiomSemantics.ATTRIBUTE_MATCHER, (AxiomAttribute)attr, AxiomSemantics.INSTANCE);
}
public final OMAttribute AxiomElement.addAttribute(OMAttribute attr){
@@ -315,11 +315,11 @@
@SuppressWarnings("rawtypes")
public final Iterator AxiomElement.getAllAttributes() {
- return coreGetAttributesByType(AxiomAttribute.class, attributeIdentityMapper, Policies.DETACH_POLICY);
+ return coreGetAttributesByType(AxiomAttribute.class, attributeIdentityMapper, AxiomSemantics.INSTANCE);
}
public final OMAttribute AxiomElement.getAttribute(QName qname) {
- return (AxiomAttribute)coreGetAttribute(Policies.ATTRIBUTE_MATCHER, qname.getNamespaceURI(), qname.getLocalPart());
+ return (AxiomAttribute)coreGetAttribute(AxiomSemantics.ATTRIBUTE_MATCHER, qname.getNamespaceURI(), qname.getLocalPart());
}
// TODO: overridden in fom-impl
@@ -342,7 +342,7 @@
if (attr.getOwner() != this) {
throw new OMException("The attribute is not owned by this element");
}
- ((AxiomAttribute)attr).coreRemove(Policies.DETACH_POLICY);
+ ((AxiomAttribute)attr).coreRemove(AxiomSemantics.INSTANCE);
}
public final OMNamespace AxiomElement.addNamespaceDeclaration(String uri, String prefix) {
@@ -356,12 +356,12 @@
public final void AxiomElement.addNamespaceDeclaration(OMNamespace ns) {
AxiomNamespaceDeclaration decl = coreGetNodeFactory().createNode(AxiomNamespaceDeclaration.class);
decl.setDeclaredNamespace(ns);
- coreSetAttribute(Policies.NAMESPACE_DECLARATION_MATCHER, decl, Policies.DETACH_POLICY);
+ coreSetAttribute(AxiomSemantics.NAMESPACE_DECLARATION_MATCHER, decl, AxiomSemantics.INSTANCE);
}
@SuppressWarnings("rawtypes")
public final Iterator AxiomElement.getAllDeclaredNamespaces() {
- return coreGetAttributesByType(AxiomNamespaceDeclaration.class, NamespaceDeclarationMapper.INSTANCE, Policies.DETACH_POLICY);
+ return coreGetAttributesByType(AxiomNamespaceDeclaration.class, NamespaceDeclarationMapper.INSTANCE, AxiomSemantics.INSTANCE);
}
public final OMNamespace AxiomElement.declareNamespace(OMNamespace namespace) {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomInformationItemSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomInformationItemSupport.aj
index eb7ad37..9f00369 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomInformationItemSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomInformationItemSupport.aj
@@ -29,6 +29,6 @@
}
public final OMInformationItem AxiomInformationItem.clone(OMCloneOptions options) {
- return (OMInformationItem)coreClone(Policies.CLONE_POLICY, options);
+ return (OMInformationItem)coreClone(AxiomSemantics.CLONE_POLICY, options);
}
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj
index 737d515..25d585b 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj
@@ -42,6 +42,6 @@
public final void AxiomNamespaceDeclaration.setDeclaredNamespace(OMNamespace declaredNamespace) {
this.declaredNamespace = declaredNamespace;
- coreSetCharacterData(declaredNamespace.getNamespaceURI(), Policies.DETACH_POLICY);
+ coreSetCharacterData(declaredNamespace.getNamespaceURI(), AxiomSemantics.INSTANCE);
}
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj
index d1f7636..b304c09 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj
@@ -37,7 +37,7 @@
}
public final void AxiomProcessingInstruction.setValue(String value) {
- coreSetCharacterData(value, Policies.DETACH_POLICY);
+ coreSetCharacterData(value, AxiomSemantics.INSTANCE);
}
public final void AxiomProcessingInstruction.internalSerialize(Serializer serializer, OMOutputFormat format, boolean cache) throws OutputException {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Policies.java b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomSemantics.java
similarity index 87%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Policies.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomSemantics.java
index fa809e0..53e1e1c 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Policies.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomSemantics.java
@@ -26,22 +26,31 @@
import org.apache.axiom.core.NSAwareAttributeMatcher;
import org.apache.axiom.core.NamespaceDeclarationMatcher;
import org.apache.axiom.core.NodeType;
+import org.apache.axiom.core.Semantics;
import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.impl.intf.AxiomAttribute;
import org.apache.axiom.om.impl.intf.AxiomElement;
import org.apache.axiom.om.impl.intf.AxiomSourcedElement;
-public final class Policies {
- private Policies() {}
+public final class AxiomSemantics implements Semantics {
+ public static final AxiomSemantics INSTANCE = new AxiomSemantics();
- public static final DetachPolicy DETACH_POLICY = DetachPolicy.NEW_DOCUMENT;
+ private AxiomSemantics() {}
+ public DetachPolicy getDetachPolicy() {
+ return DetachPolicy.NEW_DOCUMENT;
+ }
+
+ public boolean isUseStrictNamespaceLookup() {
+ return true;
+ }
+
public static final AttributeMatcher ATTRIBUTE_MATCHER = new NSAwareAttributeMatcher(
- DETACH_POLICY,
+ INSTANCE,
false, // Axiom doesn't support namespace unaware attributes
false);
- public static final AttributeMatcher NAMESPACE_DECLARATION_MATCHER = new NamespaceDeclarationMatcher(DETACH_POLICY);
+ public static final AttributeMatcher NAMESPACE_DECLARATION_MATCHER = new NamespaceDeclarationMatcher(INSTANCE);
public static final ClonePolicy<OMCloneOptions> CLONE_POLICY = new ClonePolicy<OMCloneOptions>() {
public Class<? extends CoreNode> getTargetNodeClass(OMCloneOptions options, CoreNode node) {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj
index 0ff83d6..69e02a0 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj
@@ -38,7 +38,7 @@
return (TextContent)content;
} else if (force) {
TextContent textContent = new TextContent((String)content);
- coreSetCharacterData(textContent, Policies.DETACH_POLICY);
+ coreSetCharacterData(textContent, AxiomSemantics.INSTANCE);
return textContent;
} else {
return null;
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java
index 2627f18..521b240 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java
@@ -43,7 +43,7 @@
import org.apache.axiom.om.impl.builder.OMFactoryEx;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.om.impl.common.OMNamespaceImpl;
-import org.apache.axiom.om.impl.common.Policies;
+import org.apache.axiom.om.impl.common.AxiomSemantics;
import org.apache.axiom.om.impl.intf.AxiomAttribute;
import org.apache.axiom.om.impl.intf.AxiomCDATASection;
import org.apache.axiom.om.impl.intf.AxiomCharacterDataNode;
@@ -136,7 +136,7 @@
if (parent != null) {
((OMContainerEx)parent).addChild(node, fromBuilder);
}
- node.coreSetCharacterData(content, Policies.DETACH_POLICY);
+ node.coreSetCharacterData(content, AxiomSemantics.INSTANCE);
return node;
}
@@ -186,7 +186,7 @@
public final OMText createOMText(OMContainer parent, OMText source) {
// TODO: this doesn't necessarily produce a node with the expected OMFactory
- return (AxiomText)((AxiomText)source).coreClone(Policies.CLONE_POLICY, null, (AxiomContainer)parent);
+ return (AxiomText)((AxiomText)source).coreClone(AxiomSemantics.CLONE_POLICY, null, (AxiomContainer)parent);
}
public final OMText createOMText(Object dataHandler, boolean optimize) {
@@ -210,7 +210,7 @@
OMContainer parent, String piTarget, String piData, boolean fromBuilder) {
AxiomProcessingInstruction node = createNode(AxiomProcessingInstruction.class);
node.coreSetTarget(piTarget);
- node.coreSetCharacterData(piData, Policies.DETACH_POLICY);
+ node.coreSetCharacterData(piData, AxiomSemantics.INSTANCE);
if (parent != null) {
((OMContainerEx)parent).addChild(node, fromBuilder);
}
@@ -237,7 +237,7 @@
public final OMComment createOMComment(OMContainer parent, String content, boolean fromBuilder) {
AxiomComment node = createNode(AxiomComment.class);
- node.coreSetCharacterData(content, Policies.DETACH_POLICY);
+ node.coreSetCharacterData(content, AxiomSemantics.INSTANCE);
if (parent != null) {
((OMContainerEx)parent).addChild(node, fromBuilder);
}
@@ -357,7 +357,7 @@
}
AxiomAttribute attr = createNode(AxiomAttribute.class);
attr.internalSetLocalName(localName);
- attr.coreSetCharacterData(value, Policies.DETACH_POLICY);
+ attr.coreSetCharacterData(value, AxiomSemantics.INSTANCE);
attr.internalSetNamespace(ns);
attr.coreSetType(OMConstants.XMLATTRTYPE_CDATA);
return attr;
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FaultCodeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FaultCodeSupport.aj
index 541a2d0..bf03ff4 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FaultCodeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FaultCodeSupport.aj
@@ -18,11 +18,39 @@
*/
package org.apache.axiom.soap.impl.common;
+import javax.xml.namespace.QName;
+
import org.apache.axiom.core.CoreNode;
+import org.apache.axiom.soap.SOAPFaultSubCode;
+import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultCode;
public aspect AxiomSOAP11FaultCodeSupport {
public final Class<? extends CoreNode> AxiomSOAP11FaultCode.coreGetNodeClass() {
return AxiomSOAP11FaultCode.class;
}
+
+ public final SOAPFaultValue AxiomSOAP11FaultCode.getValue() {
+ return null;
+ }
+
+ public final void AxiomSOAP11FaultCode.setValue(SOAPFaultValue value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public final SOAPFaultSubCode AxiomSOAP11FaultCode.getSubCode() {
+ return null;
+ }
+
+ public final void AxiomSOAP11FaultCode.setSubCode(SOAPFaultSubCode subCode) {
+ throw new UnsupportedOperationException();
+ }
+
+ public final QName AxiomSOAP11FaultCode.getValueAsQName() {
+ return getTextAsQName();
+ }
+
+ public final void AxiomSOAP11FaultCode.setValue(QName value) {
+ setText(value);
+ }
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FaultClassifierSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FaultClassifierSupport.aj
new file mode 100644
index 0000000..0901182
--- /dev/null
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FaultClassifierSupport.aj
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.soap.impl.common;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.soap.SOAPFaultValue;
+import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultClassifier;
+
+public aspect AxiomSOAP12FaultClassifierSupport {
+ public final QName AxiomSOAP12FaultClassifier.getValueAsQName() {
+ SOAPFaultValue value = getValue();
+ return value == null ? null : value.getTextAsQName();
+ }
+
+ public final void AxiomSOAP12FaultClassifier.setValue(QName value) {
+ SOAPFaultValue valueElement = getValue();
+ if (valueElement == null) {
+ valueElement = ((SOAP12Factory)getOMFactory()).internalCreateSOAPFaultValue(this, null);
+ }
+ valueElement.setText(value);
+ }
+}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/SOAP12Factory.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/SOAP12Factory.java
index 2569676..82f2c58 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/SOAP12Factory.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/SOAP12Factory.java
@@ -47,7 +47,7 @@
return SOAPHelper.SOAP12;
}
- private SOAPFaultValue internalCreateSOAPFaultValue(SOAPFaultClassifier parent, OMXMLParserWrapper builder) {
+ final SOAPFaultValue internalCreateSOAPFaultValue(SOAPFaultClassifier parent, OMXMLParserWrapper builder) {
return createSOAPElement(AxiomSOAP12FaultValue.class, parent, SOAP12Constants.QNAME_FAULT_VALUE, builder);
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultClassifier.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultClassifier.java
new file mode 100644
index 0000000..13b5c07
--- /dev/null
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultClassifier.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.soap.impl.intf;
+
+import org.apache.axiom.soap.SOAPFaultClassifier;
+
+public interface AxiomSOAP12FaultClassifier extends SOAPFaultClassifier, AxiomSOAP12Element {
+
+}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultCode.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultCode.java
index a721573..5602d4f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultCode.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultCode.java
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.soap.impl.intf;
-public interface AxiomSOAP12FaultCode extends AxiomSOAPFaultCode, AxiomSOAP12Element {
+public interface AxiomSOAP12FaultCode extends AxiomSOAPFaultCode, AxiomSOAP12FaultClassifier {
}
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultSubCode.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultSubCode.java
index f24801e..4eedd7a 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultSubCode.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultSubCode.java
@@ -20,6 +20,6 @@
import org.apache.axiom.soap.SOAPFaultSubCode;
-public interface AxiomSOAP12FaultSubCode extends AxiomSOAP12Element, SOAPFaultSubCode {
+public interface AxiomSOAP12FaultSubCode extends AxiomSOAP12FaultClassifier, SOAPFaultSubCode {
}
diff --git a/axiom-api/src/main/java/org/apache/axiom/soap/SOAPProcessingException.java b/axiom-api/src/main/java/org/apache/axiom/soap/SOAPProcessingException.java
index 246f321..6bf12d8 100644
--- a/axiom-api/src/main/java/org/apache/axiom/soap/SOAPProcessingException.java
+++ b/axiom-api/src/main/java/org/apache/axiom/soap/SOAPProcessingException.java
@@ -35,6 +35,10 @@
super(cause);
}
+ public SOAPProcessingException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
/**
* @param messageText - this will appear as the Text in the Reason information item of SOAP
* Fault
diff --git a/etc/workspacemechanic/whitespace.epf b/etc/workspacemechanic/whitespace.epf
new file mode 100644
index 0000000..20d7a16
--- /dev/null
+++ b/etc/workspacemechanic/whitespace.epf
@@ -0,0 +1,23 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# @title Show whitespace characters
+# @description Make whitespace characters visible
+# @task_type RECONCILE
+file_export_version=3.0
+/instance/org.eclipse.ui.editors/showWhitespaceCharacters=true
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
index 86b1d7f..5878fd0 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
@@ -24,7 +24,7 @@
import org.apache.axiom.core.CoreChildNode;
import org.apache.axiom.core.CoreDocumentFragment;
import org.apache.axiom.dom.DOMParentNode;
-import org.apache.axiom.dom.Policies;
+import org.apache.axiom.dom.DOMSemantics;
import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -106,7 +106,7 @@
}
checkNewChild(newChild, _oldChild);
CoreChildNode nextSibling = oldChild.coreGetNextSibling();
- oldChild.coreDetach(Policies.DETACH_POLICY);
+ oldChild.coreDetach(DOMSemantics.INSTANCE);
if (newChild instanceof CoreChildNode) {
if (nextSibling == null) {
coreAppendChild((CoreChildNode)newChild, false);
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
index 131ef71..0699fc4 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
@@ -19,12 +19,8 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPFaultSubCode;
import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultCode;
public abstract class SOAPFaultCodeImpl extends SOAPElement implements AxiomSOAPFaultCode {
- public SOAPFaultSubCode getSubCode() {
- return (SOAPFaultSubCode)getFirstChildWithName(SOAP12Constants.QNAME_FAULT_SUBCODE);
- }
+
}
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
index 0947c86..e0f0f18 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
@@ -19,24 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
-import javax.xml.namespace.QName;
-
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPFaultSubCode;
-import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.dom.SOAPFaultCodeImpl;
import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultCode;
public class SOAP11FaultCodeImpl extends SOAPFaultCodeImpl implements AxiomSOAP11FaultCode {
- public void setSubCode(SOAPFaultSubCode subCode) throws SOAPProcessingException {
- throw new UnsupportedOperationException();
- }
-
- public void setValue(SOAPFaultValue value) throws SOAPProcessingException {
- throw new UnsupportedOperationException();
- }
-
public void checkParent(OMElement parent) throws SOAPProcessingException {
if (!(parent instanceof SOAP11FaultImpl)) {
throw new SOAPProcessingException(
@@ -44,16 +32,4 @@
"parent. But received some other implementation");
}
}
-
- public SOAPFaultValue getValue() {
- return null;
- }
-
- public void setValue(QName value) {
- setText(value);
- }
-
- public QName getValueAsQName() {
- return getTextAsQName();
- }
}
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
index a3bd045..12c245c3 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
@@ -24,7 +24,6 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultSubCode;
import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -68,16 +67,7 @@
return (SOAPFaultValue)getFirstChildWithName(SOAP12Constants.QNAME_FAULT_VALUE);
}
- public void setValue(QName value) {
- SOAPFaultValue valueElement = getValue();
- if (valueElement == null) {
- valueElement = ((SOAPFactory)getOMFactory()).createSOAPFaultValue(this);
- }
- valueElement.setText(value);
- }
-
- public QName getValueAsQName() {
- SOAPFaultValue value = getValue();
- return value == null ? null : value.getTextAsQName();
+ public SOAPFaultSubCode getSubCode() {
+ return (SOAPFaultSubCode)getFirstChildWithName(SOAP12Constants.QNAME_FAULT_SUBCODE);
}
}
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
index 54c7744..0d727a5 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
@@ -19,12 +19,9 @@
package org.apache.axiom.soap.impl.dom.soap12;
-import javax.xml.namespace.QName;
-
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultSubCode;
import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -77,17 +74,4 @@
}
return value;
}
-
- public void setValue(QName value) {
- SOAPFaultValue valueElement = getValue();
- if (valueElement == null) {
- valueElement = ((SOAPFactory)getOMFactory()).createSOAPFaultValue(this);
- }
- valueElement.setText(value);
- }
-
- public QName getValueAsQName() {
- SOAPFaultValue value = getValue();
- return value == null ? null : value.getTextAsQName();
- }
}
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
index 4ec806e..552d022 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
@@ -19,45 +19,16 @@
package org.apache.axiom.soap.impl.llom.soap11;
-import javax.xml.namespace.QName;
-
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPFaultSubCode;
-import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultCode;
import org.apache.axiom.soap.impl.llom.SOAPFaultCodeImpl;
public class SOAP11FaultCodeImpl extends SOAPFaultCodeImpl implements AxiomSOAP11FaultCode {
- public void setSubCode(SOAPFaultSubCode subCode) throws SOAPProcessingException {
- throw new UnsupportedOperationException();
- }
-
- public void setValue(SOAPFaultValue value) throws SOAPProcessingException {
- throw new UnsupportedOperationException();
- }
-
public void checkParent(OMElement parent) throws SOAPProcessingException {
if (!(parent instanceof SOAP11FaultImpl)) {
throw new SOAPProcessingException(
"Expecting SOAP11FaultImpl, got " + parent.getClass());
}
}
-
- public SOAPFaultValue getValue() {
- return null;
- }
-
- public SOAPFaultSubCode getSubCode() {
- return null;
-// throw new UnsupportedOperationException("getSubCode() not supported for SOAP 1.1 faults");
- }
-
- public void setValue(QName value) {
- setText(value);
- }
-
- public QName getValueAsQName() {
- return getTextAsQName();
- }
}
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
index 87b7dee..51b87a8 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
@@ -24,7 +24,6 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultSubCode;
import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -67,17 +66,4 @@
public SOAPFaultSubCode getSubCode() {
return (SOAPFaultSubCode)getFirstChildWithName(SOAP12Constants.QNAME_FAULT_SUBCODE);
}
-
- public void setValue(QName value) {
- SOAPFaultValue valueElement = getValue();
- if (valueElement == null) {
- valueElement = ((SOAPFactory)getOMFactory()).createSOAPFaultValue(this);
- }
- valueElement.setText(value);
- }
-
- public QName getValueAsQName() {
- SOAPFaultValue value = getValue();
- return value == null ? null : value.getTextAsQName();
- }
}
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java
index ca87122..6794934 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java
@@ -19,12 +19,9 @@
package org.apache.axiom.soap.impl.llom.soap12;
-import javax.xml.namespace.QName;
-
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultSubCode;
import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -76,17 +73,4 @@
}
return value;
}
-
- public void setValue(QName value) {
- SOAPFaultValue valueElement = getValue();
- if (valueElement == null) {
- valueElement = ((SOAPFactory)getOMFactory()).createSOAPFaultValue(this);
- }
- valueElement.setText(value);
- }
-
- public QName getValueAsQName() {
- SOAPFaultValue value = getValue();
- return value == null ? null : value.getTextAsQName();
- }
}
diff --git a/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java b/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
index f5a21a5..9ff6cb4 100644
--- a/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
+++ b/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
@@ -62,8 +62,8 @@
import org.apache.axiom.fom.AbderaElement;
import org.apache.axiom.fom.FOMExceptionTranslator;
import org.apache.axiom.fom.FOMList;
+import org.apache.axiom.fom.FOMSemantics;
import org.apache.axiom.fom.IRIUtil;
-import org.apache.axiom.fom.Policies;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMComment;
import org.apache.axiom.om.OMContainer;
@@ -216,9 +216,9 @@
public <T extends Element> T setAttributeValue(QName qname, String value) {
if (value == null) {
- coreRemoveAttribute(Policies.ATTRIBUTE_MATCHER, qname.getNamespaceURI(), qname.getLocalPart(), Policies.DETACH_POLICY);
+ coreRemoveAttribute(FOMSemantics.ATTRIBUTE_MATCHER, qname.getNamespaceURI(), qname.getLocalPart(), FOMSemantics.INSTANCE);
} else {
- coreSetAttribute(Policies.ATTRIBUTE_MATCHER, qname.getNamespaceURI(), qname.getLocalPart(), qname.getPrefix(), value);
+ coreSetAttribute(FOMSemantics.ATTRIBUTE_MATCHER, qname.getNamespaceURI(), qname.getLocalPart(), qname.getPrefix(), value);
}
return (T)this;
}
@@ -226,7 +226,7 @@
public final Iterator<AbderaElement> _getChildrenWithName(QName qname) {
return coreGetElements(Axis.CHILDREN, AbderaElement.class, ElementMatcher.BY_QNAME,
qname.getNamespaceURI(), qname.getLocalPart(), FOMExceptionTranslator.INSTANCE,
- Policies.DETACH_POLICY);
+ FOMSemantics.INSTANCE);
}
public <E extends Element> List<E> _getChildrenAsSet(QName qname) {
@@ -254,9 +254,9 @@
if (e == null && element != null) {
coreAppendChild((AbderaElement)element, false);
} else if (e != null && element != null) {
- e.coreReplaceWith((AbderaElement)element, Policies.DETACH_POLICY);
+ e.coreReplaceWith((AbderaElement)element, FOMSemantics.INSTANCE);
} else if (e != null && element == null) {
- e.coreDetach(Policies.DETACH_POLICY);
+ e.coreDetach(FOMSemantics.INSTANCE);
}
}
@@ -453,7 +453,7 @@
if (element.coreGetLocalName().equals(qname.getLocalPart())
&& element.coreGetNamespaceURI().equals(qname.getNamespaceURI())) {
child = child.coreGetNextSibling();
- element.coreDetach(Policies.DETACH_POLICY);
+ element.coreDetach(FOMSemantics.INSTANCE);
if (many) {
continue;
} else {
diff --git a/pom.xml b/pom.xml
index b47fa1f..414f5ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.ws</groupId>
<artifactId>ws-parent</artifactId>
- <version>1</version>
+ <version>2</version>
</parent>
<groupId>org.apache.ws.commons.axiom</groupId>
@@ -921,6 +921,11 @@
<executions>
<execution>
<id>source-jars</id>
+ <!-- Execute in phase prepare-package to make sure that the source JAR is built before
+ maven-shade-plugin is invoked. (Note that activation of the apache-release profile
+ may cause an inversion of the order in which these goals are executed if they are
+ bound to the same phase.) -->
+ <phase>prepare-package</phase>
<goals>
<!-- Use "jar-no-fork" instead of "jar" to avoid forking the build
(which is not a problem, but unnecessary) -->
diff --git a/systests/eclipse-tests/src/it/project/pom.xml b/systests/eclipse-tests/src/it/project/pom.xml
index 524d74b..1ff88bf 100644
--- a/systests/eclipse-tests/src/it/project/pom.xml
+++ b/systests/eclipse-tests/src/it/project/pom.xml
@@ -89,6 +89,19 @@
<argLine>${jacoco.surefireArgLine}</argLine>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <!-- For some reason maven-source-plugin causes problems here; deactivate it -->
+ <id>source-jars</id>
+ <phase>none</phase>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Adapters.java b/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Adapters.java
index 7f3c8ff..e1b0939 100644
--- a/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Adapters.java
+++ b/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Adapters.java
@@ -24,7 +24,7 @@
import java.util.Set;
public final class Adapters {
- private final Map<Class<?>,Object> adapters = new HashMap<Class<?>,Object>();
+ private final Map<Class<?>,Object> adapters = new HashMap<>();
private boolean initialized;
public <T> void add(Class<T> type, T adapter) {
diff --git a/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Multiton.java b/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Multiton.java
index 93d796b..7fba747 100644
--- a/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Multiton.java
+++ b/testing/multiton/src/main/java/org/apache/axiom/testing/multiton/Multiton.java
@@ -46,8 +46,8 @@
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public abstract class Multiton {
- private static final Map<Class<?>,List<?>> instancesMap = new HashMap<Class<?>,List<?>>();
- private static final Map<Class,List<AdapterFactory>> adapterFactoryMap = new HashMap<Class,List<AdapterFactory>>();
+ private static final Map<Class<?>,List<?>> instancesMap = new HashMap<>();
+ private static final Map<Class,List<AdapterFactory>> adapterFactoryMap = new HashMap<>();
private final Adapters adapters = new Adapters();
static {
@@ -57,7 +57,7 @@
Class clazz = ((Class<?>)((ParameterizedType)adapterFactory.getClass().getGenericInterfaces()[0]).getActualTypeArguments()[0]).asSubclass(Multiton.class);
List<AdapterFactory> adapterFactories = adapterFactoryMap.get(clazz);
if (adapterFactories == null) {
- adapterFactories = new ArrayList<AdapterFactory>();
+ adapterFactories = new ArrayList<>();
adapterFactoryMap.put(clazz, adapterFactories);
}
adapterFactories.add(adapterFactory);
@@ -75,7 +75,7 @@
public static synchronized <T extends Multiton> List<T> getInstances(Class<T> multitonClass) {
List<T> instances = (List<T>)instancesMap.get(multitonClass);
if (instances == null) {
- instances = new ArrayList<T>();
+ instances = new ArrayList<>();
for (Field field : multitonClass.getDeclaredFields()) {
int mod = field.getModifiers();
if (Modifier.isPublic(mod) && Modifier.isStatic(mod) && Modifier.isFinal(mod)
diff --git a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedSOAPSampleContent.java b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedSOAPSampleContent.java
index 983487d..23bcbd1 100644
--- a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedSOAPSampleContent.java
+++ b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedSOAPSampleContent.java
@@ -40,7 +40,7 @@
import org.w3c.dom.NodeList;
final class ConvertedSOAPSampleContent extends ComputedMessageContent {
- private static Map<String,String> faultCodeMap = new HashMap<String,String>();
+ private static Map<String,String> faultCodeMap = new HashMap<>();
static {
faultCodeMap.put(
diff --git a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java
index 2dd28e1..389ca3f 100644
--- a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java
+++ b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java
@@ -99,8 +99,8 @@
addRelation(FAULT, SOAPFaultChild.DETAIL);
}
- private final List<SOAPElementType> parentTypes = new ArrayList<SOAPElementType>();
- private final List<SOAPElementType> childTypes = new ArrayList<SOAPElementType>();
+ private final List<SOAPElementType> parentTypes = new ArrayList<>();
+ private final List<SOAPElementType> childTypes = new ArrayList<>();
SOAPElementType() {}
diff --git a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSample.java b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSample.java
index bf03fab..281e95d 100644
--- a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSample.java
+++ b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSample.java
@@ -54,7 +54,7 @@
@Instances
private static SOAPSample[] instances() {
- List<SOAPSample> instances = new ArrayList<SOAPSample>();
+ List<SOAPSample> instances = new ArrayList<>();
for (SOAPSampleSet set : getInstances(SOAPSampleSet.class)) {
for (SOAPSpec spec : getInstances(SOAPSpec.class)) {
instances.add(set.getMessage(spec));
diff --git a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSpec.java b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSpec.java
index 11ec22c..5b8d082 100644
--- a/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSpec.java
+++ b/testing/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPSpec.java
@@ -214,13 +214,13 @@
* @return an array with the recognized boolean literals
*/
public final BooleanLiteral[] getBooleanLiterals() {
- return (BooleanLiteral[])booleanLiterals.clone();
+ return booleanLiterals.clone();
}
- private static List getReps(BooleanLiteral[] literals) {
- List result = new ArrayList(literals.length);
- for (int i=0; i<literals.length; i++) {
- result.add(literals[i].getLexicalRepresentation());
+ private static List<String> getReps(BooleanLiteral[] literals) {
+ List<String> result = new ArrayList<>(literals.length);
+ for (BooleanLiteral literal : literals) {
+ result.add(literal.getLexicalRepresentation());
}
return result;
}
@@ -239,15 +239,15 @@
* @return an array of invalid boolean literals
*/
public final String[] getInvalidBooleanLiterals() {
- Set result = new LinkedHashSet();
+ Set<String> result = new LinkedHashSet<>();
result.addAll(getReps(getAltSpec().booleanLiterals));
- List valid = getReps(booleanLiterals);
+ List<String> valid = getReps(booleanLiterals);
result.removeAll(valid);
result.add("invalid");
if (valid.contains("true")) {
result.add("TRUE");
}
- return (String[])result.toArray(new String[result.size()]);
+ return result.toArray(new String[result.size()]);
}
/**
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/InvocationCounter.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/InvocationCounter.java
index 2829012..0e67073 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/InvocationCounter.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/InvocationCounter.java
@@ -66,14 +66,14 @@
* @return the proxy instance
*/
public Object createProxy(Object target) {
- Set ifaces = new HashSet();
- Class clazz = target.getClass();
+ Set<Class<?>> ifaces = new HashSet<>();
+ Class<?> clazz = target.getClass();
do {
ifaces.addAll(Arrays.asList(clazz.getInterfaces()));
clazz = clazz.getSuperclass();
} while (clazz != null);
return Proxy.newProxyInstance(InvocationCounter.class.getClassLoader(),
- (Class[])ifaces.toArray(new Class[ifaces.size()]), new InvocationHandlerImpl(target));
+ ifaces.toArray(new Class<?>[ifaces.size()]), new InvocationHandlerImpl(target));
}
/**
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/concurrent/ConcurrentTestUtils.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/concurrent/ConcurrentTestUtils.java
index 089ab98..24dd47c 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/concurrent/ConcurrentTestUtils.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/concurrent/ConcurrentTestUtils.java
@@ -20,14 +20,13 @@
package org.apache.axiom.testutils.concurrent;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
public class ConcurrentTestUtils {
public static void testThreadSafety(final Action action) throws Throwable {
int threadCount = 10;
- final List results = new ArrayList(threadCount);
+ final List<Throwable> results = new ArrayList<>(threadCount);
for (int i=0; i<threadCount; i++) {
new Thread(new Runnable() {
public void run() {
@@ -52,8 +51,7 @@
results.wait();
}
}
- for (Iterator it = results.iterator(); it.hasNext(); ) {
- Throwable result = (Throwable)it.next();
+ for (Throwable result : results) {
if (result != null) {
throw result;
}
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/namespace/NamespaceContextTestUtils.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/namespace/NamespaceContextTestUtils.java
index 691329d..b5b813d 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/namespace/NamespaceContextTestUtils.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/namespace/NamespaceContextTestUtils.java
@@ -24,7 +24,7 @@
import javax.xml.XMLConstants;
import javax.xml.namespace.NamespaceContext;
-import junit.framework.Assert;
+import org.junit.Assert;
public final class NamespaceContextTestUtils {
private NamespaceContextTestUtils() {}
@@ -36,7 +36,7 @@
Assert.assertEquals(XMLConstants.XML_NS_PREFIX, nc.getPrefix(XMLConstants.XML_NS_URI));
Assert.assertEquals(XMLConstants.XMLNS_ATTRIBUTE, nc.getPrefix(XMLConstants.XMLNS_ATTRIBUTE_NS_URI));
- Iterator it = nc.getPrefixes(XMLConstants.XML_NS_URI);
+ Iterator<?> it = nc.getPrefixes(XMLConstants.XML_NS_URI);
Assert.assertTrue(it.hasNext());
Assert.assertEquals(XMLConstants.XML_NS_PREFIX, it.next());
Assert.assertFalse(it.hasNext());
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistry.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistry.java
index 03a6fb4..93257b3 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistry.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistry.java
@@ -29,7 +29,7 @@
public final class DataSourceRegistry {
private static boolean handlerRegistered;
- private static final Map<String,DataSource> dataSources = new HashMap<String,DataSource>();
+ private static final Map<String,DataSource> dataSources = new HashMap<>();
private DataSourceRegistry() {}
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/AttributeSortingXMLStreamReaderFilter.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/AttributeSortingXMLStreamReaderFilter.java
index 6c0f021..ac5590b 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/AttributeSortingXMLStreamReaderFilter.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/AttributeSortingXMLStreamReaderFilter.java
@@ -49,7 +49,7 @@
if (indexMap == null) {
int n = super.getAttributeCount();
indexMap = new int[n];
- SortedMap<String,Integer> map = new TreeMap<String,Integer>();
+ SortedMap<String,Integer> map = new TreeMap<>();
for (int i=0; i<n; i++) {
map.put(super.getAttributeName(i).toString(), i);
}
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java
index 711ff3e..cb76a12 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java
@@ -52,19 +52,19 @@
private boolean compareCharacterEncodingScheme = true;
private boolean compareEncoding = true;
private boolean sortAttributes = false;
- private final LinkedList<QName> path = new LinkedList<QName>();
+ private final LinkedList<QName> path = new LinkedList<>();
/**
* Set collecting all prefixes seen in the document to be able to test
* {@link XMLStreamReader#getNamespaceURI(String)}.
*/
- private final Set<String> prefixes = new HashSet<String>();
+ private final Set<String> prefixes = new HashSet<>();
/**
* Set collecting all namespace URIs seen in the document to be able to
* test {@link NamespaceContext#getPrefix(String)}.
*/
- private final Set<String> namespaceURIs = new HashSet<String>();
+ private final Set<String> namespaceURIs = new HashSet<>();
public XMLStreamReaderComparator(XMLStreamReader expected, XMLStreamReader actual) {
this.expected = expected;
@@ -160,7 +160,7 @@
}
private Set<String> toPrefixSet(Iterator<?> it) {
- Set<String> set = new HashSet<String>();
+ Set<String> set = new HashSet<>();
while (it.hasNext()) {
String prefix = (String)it.next();
// TODO: Woodstox returns null instead of "" for the default namespace.
@@ -273,8 +273,8 @@
assertSameResult("getName");
Integer namespaceCount = (Integer)assertSameResult("getNamespaceCount");
if (namespaceCount != null) {
- Map<String,String> expectedNamespaces = new HashMap<String,String>();
- Map<String,String> actualNamespaces = new HashMap<String,String>();
+ Map<String,String> expectedNamespaces = new HashMap<>();
+ Map<String,String> actualNamespaces = new HashMap<>();
for (int i=0; i<namespaceCount.intValue(); i++) {
String expectedPrefix = expected.getNamespacePrefix(i);
String expectedNamespaceURI = expected.getNamespaceURI(i);
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestCase.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestCase.java
index 300dba5..295ddb4 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestCase.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestCase.java
@@ -27,7 +27,7 @@
* A test case that can be executed multiple times with different parameters.
*/
public abstract class MatrixTestCase extends TestCase {
- private final Dictionary<String,String> parameters = new Hashtable<String,String>();
+ private final Dictionary<String,String> parameters = new Hashtable<>();
public MatrixTestCase() {
setName(getClass().getName());
diff --git a/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestSuiteBuilder.java b/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestSuiteBuilder.java
index 85b6b35..190446f 100644
--- a/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestSuiteBuilder.java
+++ b/testing/testutils/src/main/java/org/apache/axiom/testutils/suite/MatrixTestSuiteBuilder.java
@@ -49,7 +49,7 @@
}
}
- private final List<Exclude> excludes = new ArrayList<Exclude>();
+ private final List<Exclude> excludes = new ArrayList<>();
private TestSuite suite;
public final void exclude(Class<? extends MatrixTestCase> testClass, String filter) {
diff --git a/testing/testutils/src/test/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistryTest.java b/testing/testutils/src/test/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistryTest.java
index d1e2649..1c6234e 100644
--- a/testing/testutils/src/test/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistryTest.java
+++ b/testing/testutils/src/test/java/org/apache/axiom/testutils/net/protocol/mem/DataSourceRegistryTest.java
@@ -36,7 +36,7 @@
// We must be able to connect to the URL after converting it to a String
URL url = new URL(registration.getURL().toString());
URLConnection connection = url.openConnection();
- IOTestUtils.compareStreams(connection.getInputStream(), ds.getInputStream());
+ IOTestUtils.compareStreams(connection.getInputStream(), "actual", ds.getInputStream(), "expected");
} finally {
registration.unregister();
}
diff --git a/testing/xml-testsuite/src/main/java/org/apache/axiom/ts/xml/XMLSample.java b/testing/xml-testsuite/src/main/java/org/apache/axiom/ts/xml/XMLSample.java
index e4e8283..e8c882d 100644
--- a/testing/xml-testsuite/src/main/java/org/apache/axiom/ts/xml/XMLSample.java
+++ b/testing/xml-testsuite/src/main/java/org/apache/axiom/ts/xml/XMLSample.java
@@ -130,7 +130,7 @@
private static XMLSample[] instances() throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(
XMLSample.class.getResourceAsStream("bulk/filelist")));
- List<XMLSample> result = new ArrayList<XMLSample>(10);
+ List<XMLSample> result = new ArrayList<>(10);
String name;
while ((name = in.readLine()) != null) {
result.add(new XMLSample("bulk/" + name));
diff --git a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/DOMTraverser.java b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/DOMTraverser.java
index b3e020c..ee7999c 100644
--- a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/DOMTraverser.java
+++ b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/DOMTraverser.java
@@ -154,7 +154,7 @@
Attr attr = (Attr)attributes.item(i);
if (!XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(attr.getNamespaceURI())) {
if (result == null) {
- result = new HashMap<QName,String>();
+ result = new HashMap<>();
}
result.put(getQName(attr), attr.getValue());
}
@@ -170,7 +170,7 @@
Attr attr = (Attr)attributes.item(i);
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(attr.getNamespaceURI())) {
if (result == null) {
- result = new HashMap<String,String>();
+ result = new HashMap<>();
}
String prefix = attr.getPrefix();
result.put(XMLConstants.XMLNS_ATTRIBUTE.equals(prefix) ? attr.getLocalName() : "", attr.getValue());
diff --git a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/RedundantNamespaceDeclarationFilter.java b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/RedundantNamespaceDeclarationFilter.java
index 2e585cc..39675dd 100644
--- a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/RedundantNamespaceDeclarationFilter.java
+++ b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/RedundantNamespaceDeclarationFilter.java
@@ -34,7 +34,7 @@
private static final Map<String,String> implicitNamespaces;
static {
- implicitNamespaces = new HashMap<String,String>();
+ implicitNamespaces = new HashMap<>();
implicitNamespaces.put("", "");
implicitNamespaces.put(XMLConstants.XML_NS_PREFIX, XMLConstants.XML_NS_URI);
implicitNamespaces.put(XMLConstants.XMLNS_ATTRIBUTE, XMLConstants.XMLNS_ATTRIBUTE_NS_URI);
@@ -44,7 +44,7 @@
RedundantNamespaceDeclarationFilter(Traverser parent) {
super(parent);
- stack = new ArrayList<Map<String,String>>(10);
+ stack = new ArrayList<>(10);
stack.add(implicitNamespaces);
}
diff --git a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/StAXTraverser.java b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/StAXTraverser.java
index 9361ee5..98152c7 100644
--- a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/StAXTraverser.java
+++ b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/StAXTraverser.java
@@ -101,7 +101,7 @@
if (attributeCount == 0) {
return null;
} else {
- Map<QName,String> attributes = new HashMap<QName,String>();
+ Map<QName,String> attributes = new HashMap<>();
for (int i=0; i<attributeCount; i++) {
attributes.put(reader.getAttributeName(i), reader.getAttributeValue(i));
}
@@ -115,7 +115,7 @@
if (namespaceCount == 0) {
return null;
} else {
- Map<String,String> namespaces = new HashMap<String,String>();
+ Map<String,String> namespaces = new HashMap<>();
for (int i=0; i<namespaceCount; i++) {
namespaces.put(Strings.nullToEmpty(reader.getNamespacePrefix(i)), reader.getNamespaceURI(i));
}
diff --git a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/XMLSubject.java b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/XMLSubject.java
index 87af306..56f4b72 100644
--- a/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/XMLSubject.java
+++ b/testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/XMLSubject.java
@@ -315,7 +315,7 @@
}
};
}
- final Set<Event> ignoredEvents = new HashSet<Event>();
+ final Set<Event> ignoredEvents = new HashSet<>();
if (ignoreComments) {
ignoredEvents.add(Event.COMMENT);
}
@@ -370,7 +370,7 @@
}
private static Map<QName,String> extractPrefixes(Set<QName> qnames) {
- Map<QName,String> result = new HashMap<QName,String>();
+ Map<QName,String> result = new HashMap<>();
for (QName qname : qnames) {
result.put(qname, qname.getPrefix());
}