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/03/31 01:17:15 UTC

svn commit: r159538 - in incubator/apollo/trunk/src: java/org/apache/ws/util/XmlBeanUtils.java test/org/apache/ws/util/XmlBeanUtilsTestCase.java

Author: ips
Date: Wed Mar 30 15:17:14 2005
New Revision: 159538

URL: http://svn.apache.org/viewcvs?view=rev&rev=159538
Log:
added new method - setValueAsQName()

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=159537&r2=159538
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/XmlBeanUtils.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/XmlBeanUtils.java Wed Mar 30 15:17:14 2005
@@ -46,6 +46,7 @@
  */
 public abstract class XmlBeanUtils
 {
+    
     private static final Messages MSG = MessagesImpl.getInstance();
 
     /**
@@ -205,18 +206,15 @@
 
     /**
      * @param xBean
-     * @param value
+     *
+     * @return
      */
-    public static void setValue( XmlObject xBean,
-                                 String value )
+    public static String getValue( XmlObject xBean )
     {
         XmlCursor xCursor = xBean.newCursor();
-        if ( xCursor.isStartdoc() )
-        {
-            xCursor.toFirstChild();
-        }
-        xCursor.setTextValue( value );
+        String value = xCursor.getTextValue();
         xCursor.dispose();
+        return value;
     }
 
     /**
@@ -224,23 +222,40 @@
      *
      * @return
      */
-    public static String getValue( XmlObject xBean )
+    public static QName getValueAsQName( XmlObject xBean )
+    {
+        String value = getValue( xBean );
+        return toQName( value, xBean );
+    }
+
+    /**
+     * @param xBean
+     * @param value
+     */
+    public static void setValue( XmlObject xBean,
+                                 String value )
     {
         XmlCursor xCursor = xBean.newCursor();
-        String value = xCursor.getTextValue();
+        if ( xCursor.isStartdoc() )
+        {
+            xCursor.toFirstChild();
+        }
+        xCursor.setTextValue( value );
         xCursor.dispose();
-        return value;
     }
 
     /**
      * @param xBean
+     * @param qName
      *
-     * @return
      */
-    public static QName getValueAsQName( XmlObject xBean )
+    public static void setValueAsQName( XmlObject xBean, QName qName )
     {
-        String value = getValue( xBean );
-        return toQName( value, xBean );
+        XmlCursor xCursor = xBean.newCursor();
+        String prefix = xCursor.prefixForNamespace( qName.getNamespaceURI() );
+        String value = prefix + ":" + qName.getLocalPart();
+        xCursor.setTextValue( value );
+        xCursor.dispose();
     }
 
     /**
@@ -549,6 +564,10 @@
             String prefix = value.substring( 0, colonIndex );
             XmlCursor xCursor = xBean.newCursor();
             nsURI = xCursor.namespaceForPrefix( prefix );
+            if ( nsURI == null )
+            {
+                throw new RuntimeException( "No namespace is associated with prefix '" + prefix + "'" );
+            }
             xCursor.dispose();
         }
         else

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=159537&r2=159538
==============================================================================
--- incubator/apollo/trunk/src/test/org/apache/ws/util/XmlBeanUtilsTestCase.java (original)
+++ incubator/apollo/trunk/src/test/org/apache/ws/util/XmlBeanUtilsTestCase.java Wed Mar 30 15:17:14 2005
@@ -20,9 +20,12 @@
 import org.apache.ws.resource.properties.impl.XmlBeansResourcePropertySet;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlString;
+import org.apache.xmlbeans.XmlCursor;
 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 org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.QueryExpressionDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.QueryExpressionType;
 
 import javax.xml.namespace.QName;
 
@@ -142,4 +145,19 @@
         int totalChildElemsAfter = XmlBeanUtils.getChildElements( m_propsDoc, SushiPropertyQNames.EBI ).length;
         assertEquals( 1, totalChildElemsBefore - totalChildElemsAfter );
     }
+
+    /**
+     * Test for {@link XmlBeanUtils#setValueAsQName(org.apache.xmlbeans.XmlObject, javax.xml.namespace.QName)}.
+     */
+    public void testSetValueAsQName()
+    {
+        QueryExpressionDocument queryExpressionDocument = QueryExpressionDocument.Factory.newInstance();
+        QueryExpressionType queryExpressionType = queryExpressionDocument.addNewQueryExpression();
+        XmlBeanUtils.setValueAsQName( queryExpressionType, SushiPropertyQNames.AKAGI );
+        XmlCursor xCursor = queryExpressionType.newCursor();
+        String prefix = xCursor.prefixForNamespace( SushiPropertyQNames.AKAGI.getNamespaceURI() );
+        String value = xCursor.getTextValue();
+        assertEquals( prefix + ":" + SushiPropertyQNames.AKAGI.getLocalPart(), value );
+    }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org