Author: pradine
Date: Tue Oct 31 09:47:12 2006
New Revision: 469580

URL: http://svn.apache.org/viewvc?view=rev&rev=469580
Log:
New implementation, and new unit test.

Added:
    
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/util/OMAttributeHelperTest.java
Modified:
    
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/AttributeHelper.java
    
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/ElementHelper.java

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/AttributeHelper.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/AttributeHelper.java?view=diff&rev=469580&r1=469579&r2=469580
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/AttributeHelper.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/AttributeHelper.java
 Tue Oct 31 09:47:12 2006
@@ -18,7 +18,6 @@
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 
 /**
  * Helper class for attributes.
@@ -31,16 +30,13 @@
     * 
     * @see ElementHelper#importOMElement(OMElement, OMFactory) to convert 
instances of OMElement
     */
-    public static OMAttribute importOMAttribute(OMAttribute omAttribute, 
OMFactory omFactory) {
+    public static void importOMAttribute(OMAttribute omAttribute, OMElement 
omElement) {
         // first check whether the given OMAttribute has the same OMFactory
-        if (omAttribute.getOMFactory().getClass().isInstance(omFactory)) {
-            return omAttribute;
-        }else {
-            OMElement omElement = 
omAttribute.getOMFactory().createOMElement("localName", "namespace", "prefix");
+        if 
(omAttribute.getOMFactory().getClass().isInstance(omElement.getOMFactory())) {
             omElement.addAttribute(omAttribute);
-            OMElement documentElement = new StAXOMBuilder(omFactory, 
omElement.getXMLStreamReader()).getDocumentElement();
-            documentElement.build();
-            return (OMAttribute) documentElement.getAllAttributes().next();
+        }
+        else {
+            omElement.addAttribute(omAttribute.getLocalName(), 
omAttribute.getAttributeValue(), omAttribute.getNamespace());
         }
     }
 }

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/ElementHelper.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/ElementHelper.java?view=diff&rev=469580&r1=469579&r2=469580
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/ElementHelper.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/ElementHelper.java
 Tue Oct 31 09:47:12 2006
@@ -144,7 +144,7 @@
      * tree, we need to convert the new OMElement to match to the factory of 
existing object tree.
      * This method will convert omElement to the given omFactory.
      *
-     * @see AttributeHelper#importOMAttribute(OMAttribute, OMFactory) to 
convert instances of OMAttribute
+     * @see AttributeHelper#importOMAttribute(OMAttribute, OMElement) to 
convert instances of OMAttribute
      */
     public static OMElement importOMElement(OMElement omElement, OMFactory 
omFactory) {
         // first check whether the given OMElement has the same omFactory

Added: 
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/util/OMAttributeHelperTest.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/util/OMAttributeHelperTest.java?view=auto&rev=469580
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/util/OMAttributeHelperTest.java
 (added)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/util/OMAttributeHelperTest.java
 Tue Oct 31 09:47:12 2006
@@ -0,0 +1,50 @@
+package org.apache.axiom.om.util;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
+
+import junit.framework.TestCase;
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+public class OMAttributeHelperTest extends TestCase {
+
+    public void testImportOMAttribute() {
+        //Convert from OM to DOOM.
+        OMFactory omf = OMAbstractFactory.getOMFactory();
+        OMNamespace ns1 = omf.createOMNamespace("http://nsurl","prefix";);
+        OMAttribute attr1 = omf.createOMAttribute("attr1",ns1,"attr1value");
+        
+        OMFactory doomf = DOOMAbstractFactory.getOMFactory();
+        OMElement ome1 = doomf.createOMElement("element", 
ns1.getNamespaceURI(), ns1.getPrefix());
+        AttributeHelper.importOMAttribute(attr1, ome1);
+        assertNotSame(attr1, ome1.getAttribute(attr1.getQName()));
+        assertEquals(attr1.getAttributeValue(), 
ome1.getAttribute(attr1.getQName()).getAttributeValue());
+        
+        //Convert from DOOM to OM.
+        OMNamespace ns2 = doomf.createOMNamespace("http://nsurl","prefix";);
+        OMAttribute attr2 = doomf.createOMAttribute("attr2",ns2,"attr2value");
+        
+        OMElement ome2 = omf.createOMElement("element", ns2.getNamespaceURI(), 
ns2.getPrefix());
+        AttributeHelper.importOMAttribute(attr2, ome2);
+        assertNotSame(attr2, ome2.getAttribute(attr2.getQName()));
+        assertEquals(attr2.getAttributeValue(), 
ome2.getAttribute(attr2.getQName()).getAttributeValue());
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to