You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2014/07/15 10:38:11 UTC
svn commit: r1610623 - in /webservices/axiom/trunk/modules:
axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/
axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/
axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/
Author: veithen
Date: Tue Jul 15 08:38:11 2014
New Revision: 1610623
URL: http://svn.apache.org/r1610623
Log:
Let LLOM use the new core attribute code.
Added:
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IInformationItem.java (with props)
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMInformationItemImpl.java (with props)
Modified:
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IAttribute.java
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IElement.java
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INamedInformationItem.java
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMAttributeSupport.aj
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IAttribute.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IAttribute.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IAttribute.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IAttribute.java Tue Jul 15 08:38:11 2014
@@ -18,8 +18,9 @@
*/
package org.apache.axiom.om.impl.common;
+import org.apache.axiom.core.CoreAttribute;
import org.apache.axiom.om.OMAttribute;
-public interface IAttribute extends OMAttribute, INamedInformationItem {
+public interface IAttribute extends OMAttribute, CoreAttribute, INamedInformationItem {
}
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IElement.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IElement.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IElement.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IElement.java Tue Jul 15 08:38:11 2014
@@ -18,10 +18,11 @@
*/
package org.apache.axiom.om.impl.common;
+import org.apache.axiom.core.CoreElement;
import org.apache.axiom.core.DeferringParentNode;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.impl.OMElementEx;
-public interface IElement extends OMElementEx, IContainer, INode, INamedInformationItem, DeferringParentNode {
+public interface IElement extends OMElementEx, IContainer, INode, INamedInformationItem, CoreElement, DeferringParentNode {
void addNamespaceDeclaration(OMNamespace ns);
}
Added: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IInformationItem.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IInformationItem.java?rev=1610623&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IInformationItem.java (added)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IInformationItem.java Tue Jul 15 08:38:11 2014
@@ -0,0 +1,26 @@
+/*
+ * 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.om.impl.common;
+
+import org.apache.axiom.core.CoreNode;
+import org.apache.axiom.om.OMInformationItem;
+
+public interface IInformationItem extends OMInformationItem, CoreNode {
+
+}
Propchange: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IInformationItem.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INamedInformationItem.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INamedInformationItem.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INamedInformationItem.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INamedInformationItem.java Tue Jul 15 08:38:11 2014
@@ -20,6 +20,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.om.OMNamedInformationItem;
-public interface INamedInformationItem extends OMNamedInformationItem {
+public interface INamedInformationItem extends OMNamedInformationItem, IInformationItem {
}
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java Tue Jul 15 08:38:11 2014
@@ -18,14 +18,12 @@
*/
package org.apache.axiom.om.impl.common;
-
-import org.apache.axiom.core.CoreNode;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.OMSerializable;
import org.apache.axiom.om.impl.common.serializer.push.OutputException;
import org.apache.axiom.om.impl.common.serializer.push.Serializer;
-public interface ISerializable extends CoreNode, OMSerializable {
+public interface ISerializable extends OMSerializable, IInformationItem {
/**
* Serializes the node.
*
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMAttributeSupport.aj?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMAttributeSupport.aj (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMAttributeSupport.aj Tue Jul 15 08:38:11 2014
@@ -18,9 +18,14 @@
*/
package org.apache.axiom.om.impl.common;
+import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
public aspect OMAttributeSupport {
+ public final OMElement IAttribute.getOwner() {
+ return (OMElement)coreGetOwnerElement();
+ }
+
public final void IAttribute.setNamespace(OMNamespace namespace, boolean decl) {
internalSetNamespace(handleNamespace((IElement)getOwner(), namespace, true, decl));
}
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java Tue Jul 15 08:38:11 2014
@@ -21,12 +21,10 @@ package org.apache.axiom.om.impl.dom;
import javax.xml.XMLConstants;
-import org.apache.axiom.core.CoreAttribute;
import org.apache.axiom.core.NonDeferringParentNode;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMConstants;
-import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMOutputFormat;
@@ -42,7 +40,7 @@ import org.w3c.dom.Text;
import org.w3c.dom.TypeInfo;
/** Implementation of <code>org.w3c.dom.Attr</code> and <code>org.apache.axiom.om.OMAttribute</code> */
-public class AttrImpl extends RootNode implements OMAttributeEx, IAttribute, Attr, NamedNode, CoreAttribute, NonDeferringParentNode {
+public class AttrImpl extends RootNode implements OMAttributeEx, IAttribute, Attr, NamedNode, NonDeferringParentNode {
private String type;
/** Flag used to mark an attribute as per the DOM Level 3 specification */
@@ -307,10 +305,6 @@ public class AttrImpl extends RootNode i
+ ":" + localName;
}
- public OMElement getOwner() {
- return (OMElement)coreGetOwnerElement();
- }
-
/**
* An instance of <code>AttrImpl</code> can act as an <code>OMAttribute</code> and as well as an
* <code>org.w3c.dom.Attr</code>. So we first check if the object to compare with (<code>obj</code>)
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java Tue Jul 15 08:38:11 2014
@@ -20,7 +20,6 @@
package org.apache.axiom.om.impl.dom;
import org.apache.axiom.core.CoreChildNode;
-import org.apache.axiom.core.CoreElement;
import org.apache.axiom.dom.DOMChildNode;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMCloneOptions;
@@ -59,7 +58,7 @@ import java.util.ArrayList;
import java.util.Iterator;
/** Implementation of the org.w3c.dom.Element and org.apache.axiom.om.Element interfaces. */
-public class ElementImpl extends ParentNode implements Element, IElement, NamedNode, DOMChildNode, CoreElement,
+public class ElementImpl extends ParentNode implements Element, IElement, NamedNode, DOMChildNode,
OMConstants {
private static final Log log = LogFactory.getLog(ElementImpl.class);
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java Tue Jul 15 08:38:11 2014
@@ -25,11 +25,10 @@ import org.apache.axiom.om.OMConstants;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMInformationItem;
import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.common.IAttribute;
/** Class OMAttributeImpl */
-public class OMAttributeImpl implements IAttribute {
+public class OMAttributeImpl extends OMInformationItemImpl implements IAttribute {
private String value;
private String type;
@@ -37,9 +36,6 @@ public class OMAttributeImpl implements
/** <code>OMFactory</code> that created this <code>OMAttribute</code> */
private OMFactory factory;
- // Keep track of the owner of the attribute
- OMElementImpl owner;
-
/**
* Constructor OMAttributeImpl.
*
@@ -113,10 +109,6 @@ public class OMAttributeImpl implements
return this.factory;
}
- public OMElement getOwner() {
- return owner;
- }
-
/**
* Checks for the equality of two <code>OMAttribute</code> instances. Thus the object to compare
* this with may be an instance of <code>OMAttributeImpl</code> (an instance of this class) or
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java Tue Jul 15 08:38:11 2014
@@ -444,11 +444,11 @@ public class OMElementImpl extends OMNod
this.attributes = new LinkedHashMap(5);
}
// Set the owner element of the attribute
- ((OMAttributeImpl)attr).owner = this;
+ ((OMAttributeImpl)attr).internalSetOwnerElement(this);
OMAttributeImpl oldAttr = (OMAttributeImpl)attributes.put(attr.getQName(), attr);
// Did we replace an existing attribute?
if (oldAttr != null) {
- oldAttr.owner = null;
+ oldAttr.internalUnsetOwnerElement(null);
}
}
@@ -457,7 +457,7 @@ public class OMElementImpl extends OMNod
throw new OMException("The attribute is not owned by this element");
}
// Remove the owner from this attribute
- ((OMAttributeImpl)attr).owner = null;
+ ((OMAttributeImpl)attr).internalUnsetOwnerElement(null);
attributes.remove(attr.getQName());
}
Added: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMInformationItemImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMInformationItemImpl.java?rev=1610623&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMInformationItemImpl.java (added)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMInformationItemImpl.java Tue Jul 15 08:38:11 2014
@@ -0,0 +1,29 @@
+/*
+ * 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.om.impl.llom;
+
+import org.apache.axiom.core.CoreDocument;
+import org.apache.axiom.om.impl.common.IInformationItem;
+import org.apache.axiom.om.impl.common.InformationItem;
+
+public abstract class OMInformationItemImpl extends InformationItem implements IInformationItem {
+ public final CoreDocument createOwnerDocument() {
+ throw new UnsupportedOperationException();
+ }
+}
Propchange: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMInformationItemImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java?rev=1610623&r1=1610622&r2=1610623&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java Tue Jul 15 08:38:11 2014
@@ -25,14 +25,12 @@ import java.io.Writer;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-import org.apache.axiom.core.CoreDocument;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
import org.apache.axiom.om.impl.builder.StAXBuilder;
import org.apache.axiom.om.impl.common.ISerializable;
-import org.apache.axiom.om.impl.common.InformationItem;
import org.apache.axiom.om.impl.common.serializer.push.OutputException;
import org.apache.axiom.om.impl.common.serializer.push.stax.StAXSerializer;
import org.apache.axiom.om.util.StAXUtils;
@@ -40,7 +38,7 @@ import org.apache.axiom.soap.impl.builde
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-public abstract class OMSerializableImpl extends InformationItem implements ISerializable {
+public abstract class OMSerializableImpl extends OMInformationItemImpl implements ISerializable {
private static final Log log = LogFactory.getLog(OMSerializableImpl.class);
private OMFactory factory;
@@ -196,8 +194,4 @@ public abstract class OMSerializableImpl
writer.close();
}
}
-
- public final CoreDocument createOwnerDocument() {
- throw new UnsupportedOperationException();
- }
}