You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by ip...@apache.org on 2005/02/01 19:10:51 UTC
svn commit: r149427 - in incubator/apollo/trunk/src:
java/org/apache/ws/util/XmlBeanUtils.java
test/org/apache/ws/util/XmlBeanUtilsTestCase.java
Author: ips
Date: Tue Feb 1 10:10:49 2005
New Revision: 149427
URL: http://svn.apache.org/viewcvs?view=rev&rev=149427
Log:
fixed addChildElement() methods
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/util/XmlBeanUtils.java
incubator/apollo/trunk/src/test/org/apache/ws/util/XmlBeanUtilsTestCase.java
Modified: incubator/apollo/trunk/src/java/org/apache/ws/util/XmlBeanUtils.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/XmlBeanUtils.java?view=diff&r1=149426&r2=149427
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/XmlBeanUtils.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/XmlBeanUtils.java Tue Feb 1 10:10:49 2005
@@ -268,10 +268,14 @@
public static void addChildElement( XmlObject parentXBean,
XmlObject childXBean )
{
+ parentXBean = getRootElement( parentXBean );
XmlCursor xCursor = parentXBean.newCursor();
- xCursor.toEndDoc();
+ if ( xCursor.toLastChild() )
+ {
+ xCursor.toEndToken();
+ }
+ xCursor.toNextToken();
childXBean = getRootElement( childXBean );
- xCursor.toPrevToken();
xCursor.insertElement( getName( childXBean ) );
xCursor.toPrevSibling();
xCursor.getObject().set( childXBean );
@@ -285,11 +289,15 @@
* @param childName
*/
public static XmlObject addChildElement( XmlObject parentXBean,
- QName childName )
+ QName childName )
{
+ parentXBean = getRootElement( parentXBean );
XmlCursor xCursor = parentXBean.newCursor();
- xCursor.toEndDoc();
- xCursor.toPrevToken();
+ if ( xCursor.toLastChild() )
+ {
+ xCursor.toEndToken();
+ }
+ xCursor.toNextToken();
xCursor.insertElement( childName );
xCursor.toPrevSibling();
XmlObject childXBean = xCursor.getObject();
Modified: incubator/apollo/trunk/src/test/org/apache/ws/util/XmlBeanUtilsTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/test/org/apache/ws/util/XmlBeanUtilsTestCase.java?view=diff&r1=149426&r2=149427
==============================================================================
--- incubator/apollo/trunk/src/test/org/apache/ws/util/XmlBeanUtilsTestCase.java (original)
+++ incubator/apollo/trunk/src/test/org/apache/ws/util/XmlBeanUtilsTestCase.java Tue Feb 1 10:10:49 2005
@@ -20,6 +20,9 @@
import org.apache.ws.resource.properties.impl.XmlBeansResourcePropertySet;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlString;
+import org.xmlsoap.schemas.ws.x2003.x03.addressing.EndpointReferenceDocument;
+import org.xmlsoap.schemas.ws.x2003.x03.addressing.EndpointReferenceType;
+import org.xmlsoap.schemas.ws.x2003.x03.addressing.ReferencePropertiesType;
import javax.xml.namespace.QName;
@@ -29,76 +32,114 @@
* @author Ian Springer
*/
public class XmlBeanUtilsTestCase
- extends AbstractResourcePropertiesTestCase
+ extends AbstractResourcePropertiesTestCase
{
- private XmlObject m_propsDoc;
+ private XmlObject m_propsDoc;
- /**
- * DOCUMENT_ME
- *
- * @throws Exception DOCUMENT_ME
- */
- public void setUp( )
- throws Exception
- {
- initResourcePropsDoc();
- m_propsDoc = ((XmlBeansResourcePropertySet)m_resourcePropSet).toXmlObject();
- }
-
- /**
- * Test for {@link XmlBeanUtils#addChildElement(org.apache.xmlbeans.XmlObject, org.apache.xmlbeans.XmlObject)}.
- *
- * @throws Exception on error
- */
- public void testAddChildElement( )
- throws Exception
- {
- final QName elemName = SushiPropertyQNames.IKA;
- final String elemValue = "whatever";
- XmlObject xBean = XmlObject.Factory.parse( "<" + elemName.getLocalPart() + " xmlns=\"" + elemName.getNamespaceURI() + "\">" + elemValue + "</" + elemName.getLocalPart() + ">" );
- XmlBeanUtils.addChildElement( m_propsDoc, xBean );
- XmlObject[] childElems = XmlBeanUtils.getChildElements( m_propsDoc, elemName );
- assertEquals( 2, childElems.length );
- assertTrue( childElems[1] instanceof XmlString );
- }
-
- /**
- * DOCUMENT_ME
- */
- public void testGetChildElements( )
- {
- XmlObject[] childElems = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.IKA );
- assertEquals( 1, childElems.length );
- assertTrue( childElems[0] instanceof XmlString );
- }
-
- /**
- * DOCUMENT_ME
- */
- public void testGetName( )
- {
- assertEquals( SushiPropertyQNames.OPEN_SUSHI_PROPERTIES,
- XmlBeanUtils.getName( m_propsDoc ) );
- // TODO: use reflection to reenable the below assertions
- //assertEquals( SushiPropertyQNames.SUSHI_PROPERTIES,
- // XmlBeanUtils.getName( m_propsDoc.getSushiProperties() ) );
- //assertEquals( SushiPropertyQNames.EBI,
- // XmlBeanUtils.getName( m_propsDoc.getSushiProperties( ).xgetEbi( ) ) );
- }
-
- /**
- * DOCUMENT_ME
- */
- public void testRemoveChildElements( )
- {
- XmlObject[] ebiChildElems = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI );
- assertEquals( 1, ebiChildElems.length );
- int totalChildElemsBefore = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI ).length;
- XmlBeanUtils.removeChildElements( m_propsDoc, SushiPropertyQNames.EBI );
- ebiChildElems = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI );
- assertEquals( 0, ebiChildElems.length );
- int totalChildElemsAfter = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI ).length;
- assertEquals( 1, totalChildElemsBefore - totalChildElemsAfter );
- }
+ /**
+ * DOCUMENT_ME
+ *
+ * @throws Exception DOCUMENT_ME
+ */
+ public void setUp()
+ throws Exception
+ {
+ initResourcePropsDoc();
+ m_propsDoc = ( (XmlBeansResourcePropertySet) m_resourcePropSet ).toXmlObject();
+ }
+
+ /**
+ * Test for {@link XmlBeanUtils#addChildElement(org.apache.xmlbeans.XmlObject, org.apache.xmlbeans.XmlObject)}.
+ * NOTE: This test relies on {@link XmlBeanUtils#getChildElements(org.apache.xmlbeans.XmlObject, javax.xml.namespace.QName)},
+ * so it assumes that method has been tested elsewhere.
+ *
+ * @throws Exception on error
+ */
+ public void testAddChildElement()
+ throws Exception
+ {
+ final QName elemName = SushiPropertyQNames.IKA;
+ final String elemValue = "whatever";
+ final XmlObject xBean = XmlObject.Factory.parse(
+ "<" + elemName.getLocalPart() + " xmlns=\"" + elemName.getNamespaceURI() + "\">" + elemValue + "</" +
+ elemName.getLocalPart() +
+ ">" );
+ // first test adding to an element that already has children...
+ XmlBeanUtils.addChildElement( m_propsDoc, xBean );
+ XmlObject[] childElems = XmlBeanUtils.getChildElements( m_propsDoc, elemName );
+ assertEquals( 2, childElems.length );
+ assertTrue( childElems[1] instanceof XmlString );
+ // now test adding to a childless element...
+ EndpointReferenceDocument eprDoc = EndpointReferenceDocument.Factory.newInstance();
+ EndpointReferenceType epr = eprDoc.addNewEndpointReference();
+ ReferencePropertiesType refPropsType = epr.addNewReferenceProperties();
+ XmlBeanUtils.addChildElement( refPropsType, xBean );
+ childElems = XmlBeanUtils.getChildElements( refPropsType, elemName );
+ assertEquals( 1, childElems.length );
+ assertTrue( childElems[0] instanceof XmlString );
+ }
+
+ /**
+ * Test for {@link XmlBeanUtils#addChildElement(org.apache.xmlbeans.XmlObject, QName)}.
+ * NOTE: This test relies on {@link XmlBeanUtils#getChildElements(org.apache.xmlbeans.XmlObject, javax.xml.namespace.QName)},
+ * so it assumes that method has been tested elsewhere.
+ *
+ * @throws Exception on error
+ */
+ public void testAddChildElementByName()
+ throws Exception
+ {
+ final QName elemName = SushiPropertyQNames.IKA;
+ // first test adding to an element that already has children...
+ XmlBeanUtils.addChildElement( m_propsDoc, elemName );
+ XmlObject[] childElems = XmlBeanUtils.getChildElements( m_propsDoc, elemName );
+ assertEquals( 2, childElems.length );
+ // now test adding to a childless element...
+ EndpointReferenceDocument eprDoc = EndpointReferenceDocument.Factory.newInstance();
+ EndpointReferenceType epr = eprDoc.addNewEndpointReference();
+ ReferencePropertiesType refPropsType = epr.addNewReferenceProperties();
+ XmlBeanUtils.addChildElement( refPropsType, elemName );
+ childElems = XmlBeanUtils.getChildElements( refPropsType, elemName );
+ assertEquals( 1, childElems.length );
+ }
+
+ /**
+ * DOCUMENT_ME
+ */
+ public void testGetChildElements()
+ {
+ XmlObject[] childElems = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.IKA );
+ assertEquals( 1, childElems.length );
+ assertTrue( childElems[0] instanceof XmlString );
+ }
+
+ /**
+ * DOCUMENT_ME
+ */
+ public void testGetName()
+ {
+ assertEquals( SushiPropertyQNames.OPEN_SUSHI_PROPERTIES,
+ XmlBeanUtils.getName( m_propsDoc ) );
+ // TODO: use reflection to reenable the below assertions
+ //assertEquals( SushiPropertyQNames.SUSHI_PROPERTIES,
+ // XmlBeanUtils.getName( m_propsDoc.getSushiProperties() ) );
+ //assertEquals( SushiPropertyQNames.EBI,
+ // XmlBeanUtils.getName( m_propsDoc.getSushiProperties( ).xgetEbi( ) ) );
+ }
+
+ /**
+ * DOCUMENT_ME
+ */
+ public void testRemoveChildElements()
+ {
+ XmlObject[] ebiChildElems = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI );
+ assertEquals( 1, ebiChildElems.length );
+ int totalChildElemsBefore = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI ).length;
+ XmlBeanUtils.removeChildElements( m_propsDoc, SushiPropertyQNames.EBI );
+ ebiChildElems = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI );
+ assertEquals( 0, ebiChildElems.length );
+ int totalChildElemsAfter = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI ).length;
+ assertEquals( 1, totalChildElemsBefore - totalChildElemsAfter );
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org