You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2006/09/26 09:01:22 UTC
svn commit: r449931 - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/
kernel/core/src/main/resources/org/apache/tuscany/core/
kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/
serv...
Author: rfeng
Date: Tue Sep 26 00:01:20 2006
New Revision: 449931
URL: http://svn.apache.org/viewvc?view=rev&rev=449931
Log:
Make sure the simple type transformers are used as intermediate nodes for the transformation
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/Node2Object.java
incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/Node2Object.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/Node2Object.java?view=diff&rev=449931&r1=449930&r2=449931
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/Node2Object.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/Node2Object.java Tue Sep 26 00:01:20 2006
@@ -21,6 +21,7 @@
import org.apache.tuscany.spi.databinding.Transformer;
import org.apache.tuscany.spi.databinding.extension.SimpleType2JavaTransformer;
import org.osoa.sca.annotations.Service;
+import org.w3c.dom.Document;
import org.w3c.dom.Node;
/**
@@ -31,6 +32,9 @@
@Override
protected String getText(Node source) {
+ if (source instanceof Document) {
+ source = ((Document) source).getDocumentElement();
+ }
return source.getTextContent();
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl?view=diff&rev=449931&r1=449930&r2=449931
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl Tue Sep 26 00:01:20 2006
@@ -66,5 +66,12 @@
<component name="transformer.Output2OutputTransformer">
<system:implementation.system class="org.apache.tuscany.core.databinding.impl.Output2OutputTransformer" />
</component>
+
+ <component name="transformer.Node2Object">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2Object" />
+ </component>
+ <component name="transformer.Object2Node">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Object2Node" />
+ </component>
</composite>
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java?view=diff&rev=449931&r1=449930&r2=449931
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java Tue Sep 26 00:01:20 2006
@@ -53,7 +53,7 @@
}
public int getWeight() {
- return 10;
+ return 10000;
}
protected abstract T createElement(ElementInfo element, String literal, TransformationContext context);
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java?view=diff&rev=449931&r1=449930&r2=449931
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java Tue Sep 26 00:01:20 2006
@@ -52,7 +52,8 @@
}
public int getWeight() {
- return 10;
+ // Cannot be used for imtermediate
+ return 10000;
}
protected abstract String getText(T source);
Modified: incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java?view=diff&rev=449931&r1=449930&r2=449931
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java Tue Sep 26 00:01:20 2006
@@ -18,36 +18,23 @@
*/
package org.apache.tuscany.databinding.axiom;
-import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.Java2SimpleTypeTransformer;
-import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.databinding.extension.SimpleType2JavaTransformer;
import org.osoa.sca.annotations.Service;
/**
* Transformer to convert data from a simple java bject to OMElement
*/
@Service(Transformer.class)
-public class OMElement2Object extends Java2SimpleTypeTransformer<OMElement> {
+public class OMElement2Object extends SimpleType2JavaTransformer<OMElement> {
- private OMFactory factory;
-
- public OMElement2Object() {
- super();
- factory = OMAbstractFactory.getOMFactory();
- }
-
- protected OMElement createElement(ElementInfo element, String text, TransformationContext context) {
- OMElement omElement = factory.createOMElement(element.getQName(), null);
- factory.createOMText(omElement, text);
- return omElement;
+ @Override
+ protected String getText(OMElement source) {
+ return source.getText();
}
- public Class getTargetType() {
+ public Class getSourceType() {
return OMElement.class;
}
-
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java?view=diff&rev=449931&r1=449930&r2=449931
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java Tue Sep 26 00:01:20 2006
@@ -18,23 +18,37 @@
*/
package org.apache.tuscany.databinding.axiom;
+import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.Transformer;
+import org.apache.tuscany.spi.databinding.extension.Java2SimpleTypeTransformer;
import org.apache.tuscany.spi.databinding.extension.SimpleType2JavaTransformer;
+import org.apache.tuscany.spi.idl.ElementInfo;
import org.osoa.sca.annotations.Service;
/**
* Transformer to convert data from an simple OMElement to Java Object
*/
@Service(Transformer.class)
-public class Object2OMElement extends SimpleType2JavaTransformer<OMElement> {
+public class Object2OMElement extends Java2SimpleTypeTransformer<OMElement> {
- @Override
- protected String getText(OMElement source) {
- return source.getText();
+ private OMFactory factory;
+
+ public Object2OMElement() {
+ super();
+ factory = OMAbstractFactory.getOMFactory();
}
- public Class getSourceType() {
+ protected OMElement createElement(ElementInfo element, String text, TransformationContext context) {
+ OMElement omElement = factory.createOMElement(element.getQName(), null);
+ factory.createOMText(omElement, text);
+ return omElement;
+ }
+
+ @Override
+ public Class getTargetType() {
return OMElement.class;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org