Author: rfeng
Date: Wed Oct  4 11:36:17 2006
New Revision: 452968

URL: http://svn.apache.org/viewvc?view=rev&rev=452968
Log:
Adding a complex property to the sample with AXIOM databinding

Modified:
    
incubator/tuscany/java/samples/sca/echo.databinding/src/test/java/echo/ComponentAImpl.java
    
incubator/tuscany/java/samples/sca/echo.databinding/src/test/resources/META-INF/sca/default.scdl
    
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java

Modified: 
incubator/tuscany/java/samples/sca/echo.databinding/src/test/java/echo/ComponentAImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/echo.databinding/src/test/java/echo/ComponentAImpl.java?view=diff&rev=452968&r1=452967&r2=452968
==============================================================================
--- 
incubator/tuscany/java/samples/sca/echo.databinding/src/test/java/echo/ComponentAImpl.java
 (original)
+++ 
incubator/tuscany/java/samples/sca/echo.databinding/src/test/java/echo/ComponentAImpl.java
 Wed Oct  4 11:36:17 2006
@@ -18,6 +18,7 @@
  */
 package echo;
 
+import org.apache.axiom.om.OMElement;
 import org.osoa.sca.annotations.Constructor;
 import org.osoa.sca.annotations.Property;
 import org.osoa.sca.annotations.Reference;
@@ -32,6 +33,8 @@
     private String prefix;
     
     private String bar;
+    
+    private OMElement omProperty;
 
     @Constructor
     public ComponentAImpl(@Reference(name = "componentBReference", required = 
true)
@@ -69,6 +72,14 @@
     @Property(name="bar")
     public void setBar(String bar) {
         this.bar = bar;
+    }
+
+    /**
+     * @param omProperty the omProperty to set
+     */
+    @Property(name="omProperty")
+    public void setOmProperty(OMElement omProperty) {
+        this.omProperty = omProperty;
     }
 
 }

Modified: 
incubator/tuscany/java/samples/sca/echo.databinding/src/test/resources/META-INF/sca/default.scdl
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/echo.databinding/src/test/resources/META-INF/sca/default.scdl?view=diff&rev=452968&r1=452967&r2=452968
==============================================================================
--- 
incubator/tuscany/java/samples/sca/echo.databinding/src/test/resources/META-INF/sca/default.scdl
 (original)
+++ 
incubator/tuscany/java/samples/sca/echo.databinding/src/test/resources/META-INF/sca/default.scdl
 Wed Oct  4 11:36:17 2006
@@ -33,6 +33,7 @@
         <reference name="componentBReference">ComponentB</reference>

         <property name="prefix">ABC</property>

         <property name="bar" 
source="$complexProperty/*[local-name()='foo']/*[local-name()='bar']"></property>

+        <property name="omProperty"><a><b>XYZ</b></a></property>

     </component>

 

     <component name="ComponentB">


Modified: 
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java?view=diff&rev=452968&r1=452967&r2=452968
==============================================================================
--- 
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
 (original)
+++ 
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
 Wed Oct  4 11:36:17 2006
@@ -37,7 +37,7 @@
 
 @Service(Transformer.class)
 public class String2OMElement extends TransformerExtension<String, OMElement> 
implements
-        PullTransformer<String, OMElement> {
+    PullTransformer<String, OMElement> {
 
     @SuppressWarnings("unchecked")
     public OMElement transform(String source, TransformationContext context) {
@@ -57,15 +57,18 @@
      */
     private void adjustElementName(TransformationContext context, OMElement 
element) {
         if (context != null) {
-            DataType<QName> dataType = context.getTargetDataType();
-            QName targetQName = dataType == null ? null : 
dataType.getLogical();
-            if (targetQName != null && 
!element.getQName().equals(targetQName)) {
+            DataType dataType = context.getTargetDataType();
+            Object targetQName = dataType == null ? null : 
dataType.getLogical();
+            if (!(targetQName instanceof QName)) {
+                return;
+            }
+            if (!element.getQName().equals(targetQName)) {
                 // TODO: Throw expection or switch to the new Element
                 OMFactory factory = OMAbstractFactory.getOMFactory();
-                OMNamespace namespace =
-                        
factory.createOMNamespace(targetQName.getNamespaceURI(), 
targetQName.getPrefix());
+                QName name = (QName)targetQName;
+                OMNamespace namespace = 
factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
                 element.setNamespace(namespace);
-                element.setLocalName(targetQName.getLocalPart());
+                element.setLocalName(name.getLocalPart());
             }
         }
     }



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

Reply via email to