You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2004/12/22 10:24:54 UTC
svn commit: r123078 - in webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis: impl/llom impl/llom/builder impl/llom/factory om
Author: chinthaka
Date: Wed Dec 22 01:24:49 2004
New Revision: 123078
URL: http://svn.apache.org/viewcvs?view=rev&rev=123078
Log:
Fixed more bugs and added some tests for them to be tested
Modified:
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMElementImpl.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMNodeImpl.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/factory/OMLinkedListImplFactory.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMElementImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMElementImpl.java?view=diff&rev=123078&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMElementImpl.java&r1=123077&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMElementImpl.java&r2=123078
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMElementImpl.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMElementImpl.java Wed Dec 22 01:24:49 2004
@@ -42,13 +42,29 @@
public OMElementImpl(String localName, OMNamespace ns) {
- super(localName, ns, null);
+ super(localName, null, null);
+ if (ns != null) {
+ setNamespace(handleNamespace(ns));
+ }
done = true;
}
+ private OMNamespace handleNamespace(OMNamespace ns) {
+
+ OMNamespace namespace = findInScopeNamespace(ns.getName(), ns.getPrefix());
+ if (namespace == null) {
+ namespace = declareNamespace(ns);
+ }
+
+ return namespace;
+ }
+
public OMElementImpl(String localName, OMNamespace ns, OMElement parent, OMXMLParserWrapper builder) {
- super(localName, ns, parent);
+ super(localName, null, parent);
+ if (ns != null) {
+ setNamespace(handleNamespace(ns));
+ }
this.builder = builder;
}
@@ -215,17 +231,17 @@
// no namespace declared in this element.
// return a null iterator
// have to look in to this later
- return new Iterator(){
+ return new Iterator() {
public void remove() {
throw new UnsupportedOperationException();
}
- public boolean hasNext(){
+ public boolean hasNext() {
return false;
}
public Object next() {
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException();
}
};
}
@@ -278,17 +294,32 @@
*
* @param attr
*/
- public void insertAttribute(OMAttribute attr) {
+ public OMAttribute insertAttribute(OMAttribute attr) {
if (attributes == null) {
attributes = new ArrayList(5);
}
attributes.add(attr);
+
+ return attr;
}
public void removeAttribute(OMAttribute attr) {
if (attributes.indexOf(attr) != -1) {
attributes.remove(attr);
}
+ }
+
+ public OMAttribute insertAttribute(String attributeName, String value, OMNamespace ns) {
+ OMNamespace namespace = null;
+ if (ns != null) {
+ namespace = findInScopeNamespace(ns.getName(), ns.getPrefix());
+ if (namespace == null) {
+ throw new OMException("Given OMNamespace(" + ns.getName() + ns.getPrefix() + ") for " +
+ "this attribute is not declared in the scope of this element. First declare the namespace" +
+ " and then use it with the attribute");
+ }
+ }
+ return insertAttribute(new OMAttributeImpl(localName, ns, value));
}
public void setBuilder(OMXMLParserWrapper wrapper) {
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMNodeImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMNodeImpl.java?view=diff&rev=123078&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMNodeImpl.java&r1=123077&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMNodeImpl.java&r2=123078
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMNodeImpl.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMNodeImpl.java Wed Dec 22 01:24:49 2004
@@ -40,8 +40,9 @@
public OMNodeImpl(OMElement parent) {
- if (parent instanceof OMNodeImpl)
+ if (parent instanceof OMElementImpl){
this.parent = (OMElementImpl) parent;
+ }
}
/**
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java?view=diff&rev=123078&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java&r1=123077&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java&r2=123078
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java Wed Dec 22 01:24:49 2004
@@ -227,7 +227,7 @@
//todo this needs to be fixed!!!!!
// throw new OMException("All elements must be namespace qualified!");
- element.insertAttribute(omFactory.createOMAttribute(atts.getLocalName(i), ns, atts.getValue(i)));
+ element.insertAttribute(atts.getLocalName(i), atts.getValue(i), ns);
}
element.setComplete(false);
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java?view=diff&rev=123078&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java&r1=123077&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java&r2=123078
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java Wed Dec 22 01:24:49 2004
@@ -71,9 +71,7 @@
//todo if the attributes are supposed to namespace qualified all the time
//todo then this should throw an exception here
- node.insertAttribute(ombuilderFactory.createOMAttribute(parser.getAttributeLocalName(i),
- ns,
- parser.getAttributeValue(i)));
+ node.insertAttribute(parser.getAttributeLocalName(i),parser.getAttributeValue(i), ns);
}
}
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/factory/OMLinkedListImplFactory.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/factory/OMLinkedListImplFactory.java?view=diff&rev=123078&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/factory/OMLinkedListImplFactory.java&r1=123077&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/factory/OMLinkedListImplFactory.java&r2=123078
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/factory/OMLinkedListImplFactory.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/factory/OMLinkedListImplFactory.java Wed Dec 22 01:24:49 2004
@@ -22,10 +22,6 @@
public class OMLinkedListImplFactory extends OMFactory {
- public OMAttribute createOMAttribute(String localName, OMNamespace ns, String value) {
- return new OMAttributeImpl(localName, ns, value);
- }
-
public OMElement createOMElement(OMElement parent) {
return new OMElementImpl(parent);
}
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java?view=diff&rev=123078&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java&r1=123077&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java&r2=123078
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java Wed Dec 22 01:24:49 2004
@@ -116,7 +116,17 @@
*
* @param attr
*/
- public void insertAttribute(OMAttribute attr);
+ public OMAttribute insertAttribute(OMAttribute attr);
+
+ /**
+ *
+ * @param attributeName
+ * @param value
+ * @param ns - the namespace has to be one of the in scope namespace. i.e. the passed namespace
+ * must be declared in the parent element of this attribute or ancestors of the parent element of the attribute
+ * @return
+ */
+ public OMAttribute insertAttribute(String attributeName, String value, OMNamespace ns);
public void removeAttribute(OMAttribute attr);
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java?view=diff&rev=123078&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java&r1=123077&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java&r2=123078
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java Wed Dec 22 01:24:49 2004
@@ -20,15 +20,7 @@
*/
public abstract class OMFactory {
- /**
- * @param localName
- * @param ns
- * @param value
- * @return
- */
- public abstract OMAttribute createOMAttribute(String localName, OMNamespace ns, String value);
-
-// /**
+ // /**
// * @param parent
// * @param object
// * This is used to construct the elements from an Object