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/08/17 07:43:00 UTC

svn commit: r432155 [1/3] - in /incubator/tuscany/java/sca/databinding/databinding-framework: ./ src/main/java/org/apache/tuscany/databinding/ src/main/java/org/apache/tuscany/databinding/annotation/ src/main/java/org/apache/tuscany/databinding/extensi...

Author: rfeng
Date: Wed Aug 16 22:42:57 2006
New Revision: 432155

URL: http://svn.apache.org/viewvc?rev=432155&view=rev
Log:
Applied my own patch sent before vacation and some other SDO binding adjustments for Axis2 integration

Added:
    incubator/tuscany/java/sca/databinding/databinding-framework/.ruleset
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/DataBindingExtension.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerExtension.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerRegistrarExtension.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingDefinitionLoader.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/DataBindingDefinition.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/DOMHelper.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/InputStreamBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/OutputStreamBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/SAX2DOM.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/SAXContentHandlerBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/WriterBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLEventReaderBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLEventWriterBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLStreamReaderBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLStreamWriterBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLStringBinding.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/resources/
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/resources/META-INF/
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/resources/META-INF/sca/
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/resources/META-INF/sca/databinding.scdl
    incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImplTestCase.java   (with props)
    incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/util/PropertyMediatorTestCase.java   (with props)
Removed:
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PushStyleTransformer.java
Modified:
    incubator/tuscany/java/sca/databinding/databinding-framework/pom.xml
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBinding.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataPipe.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PullTransformer.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PushTransformer.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationException.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Transformer.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformerRegistry.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataBinding.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataContext.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformerRegistryImpl.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2Node.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2SAX.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2Node.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2SAX.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2OutputStream.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2String.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2Writer.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2Node.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2SAX.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Source2ResultTransformer.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/String2SAX.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/util/DirectedGraph.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/util/PipedTransformer.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/util/StreamDataPipe.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/util/Writer2ReaderDataPipe.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/DOMBinding.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/Node2String.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/Node2XMLStreamReader.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/SAX2DOMPipe.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/SAXBinding.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/StAXBinding.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/StAXHelper.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/StreamBinding.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/String2Node.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/String2XMLStreamReader.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLStreamReader2Node.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLStreamReader2SAX.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/xml/XMLStreamReader2String.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/trax/Node2StringTestCase.java

Added: incubator/tuscany/java/sca/databinding/databinding-framework/.ruleset
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/.ruleset?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/.ruleset (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/.ruleset Wed Aug 16 22:42:57 2006
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ruleset name="pmd-eclipse">
+  <description>PMD Plugin preferences rule set</description>
+  
+  
+  <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
+  <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
+  <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
+<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
+<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
+<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
+  <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
+<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
+<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
+<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
+<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
+<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
+  <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
+  <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
+<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
+  <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
+  <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
+  <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
+  <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
+  <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
+<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
+  
+<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
+<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
+<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
+<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
+
+<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
+<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
+<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
+  
+<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
+<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
+<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
+<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
+<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
+<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
+
+<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
+<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
+<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
+<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
+<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
+<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
+<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
+<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
+<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
+<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
+<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
+
+<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
+<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
+<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
+
+<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
+<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
+<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
+<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
+<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
+<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
+<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
+<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
+<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
+<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
+<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
+<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
+<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
+<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
+<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
+<rule ref="rulesets/design.xml/IdempotentOperations"/>
+<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
+<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
+<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
+<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
+<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
+<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
+<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
+<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
+<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
+<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
+<rule ref="rulesets/design.xml/SimplifyConditional"/>
+<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
+<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
+<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
+<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
+<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
+<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
+
+<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
+<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
+<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
+<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
+<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
+<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
+
+<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
+<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
+<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
+<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
+
+<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
+<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
+
+<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
+<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
+<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
+<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
+<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
+<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
+<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
+<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
+
+  <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
+  <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
+  <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
+  <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
+  <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
+  <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
+  <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
+  <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
+  
+  <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
+  <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
+  <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
+  <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
+  <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
+  <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
+  <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
+  <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
+  <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
+  <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
+  <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
+  <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
+  <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
+  <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
+  <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
+  <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
+
+  <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
+  <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
+  <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
+  <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
+  <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
+  <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
+
+  <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
+  <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
+  <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
+  <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
+  <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
+  <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
+ 
+  <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
+  <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
+  <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
+  <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
+  <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
+  
+  <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
+  <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
+  
+  <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
+  <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
+  <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
+  <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
+  
+</ruleset>

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/pom.xml?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/pom.xml (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/pom.xml Wed Aug 16 22:42:57 2006
@@ -45,6 +45,7 @@
         </dependency>
 
 
+<!-- 
         <dependency>
             <groupId>xerces</groupId>
             <artifactId>xercesImpl</artifactId>
@@ -59,6 +60,7 @@
             <version>2.7.0</version>
             <scope>compile</scope>
         </dependency>
+ -->      
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBinding.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBinding.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBinding.java Wed Aug 16 22:42:57 2006
@@ -18,31 +18,36 @@
  */
 package org.apache.tuscany.databinding;
 
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
 
 /**
- * DataBinding interface defines a data binding 
+ * DataBinding interface defines a data binding. 
  */
 public interface DataBinding {
 
     /**
-     * Get the name of the data binding
+     * Get the name of the data binding. For example, "sdo" for Service Data Object (SDO).
+     * The name is NOT case sensitive. We recommond a pattern as "xxx.yyy", for example, "sdo.dataObject"
+     * 
+     * 
+     * 
      * @return The name which uniquely idetifies the data binding
      */
     public String getName();
-
+    
     /**
-     * @param source
-     * @param sourceType
+     * Check if the given java type is supported by this data type
+     * @param javaClass
      * @return
      */
-    public Source createSource(Object source, Class sourceType);
-
+    public boolean isSupported(Class javaClass);
+    
     /**
-     * Create a result object
-     * @param resultType
-     * @return
+     * Check if the data binding is for writing only (for example, Writer, OutputStream and ContentHandler)
+     * @return true if the data type if for writing only 
      */
-    public Result createResult(Class resultType);
+    public boolean isSinkOnly();    
+    
+    public Object getAttribute(String name);
+    public void setAttribute(String name, Object value);
+
 }

Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,57 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ *  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.
+ */
+
+package org.apache.tuscany.databinding;
+
+/**
+ * The registry for data bindings
+ */
+public interface DataBindingRegistry {
+    /**
+     * Register a data binding
+     * @param dataBinding
+     */
+    public void register(DataBinding dataBinding);
+
+    /**
+     * Look up a data binding by id
+     * @param id
+     * @return
+     */
+    public DataBinding getDataBinding(String id);
+
+    /**
+     * Unregister a data binding
+     * @param id
+     * @return
+     */
+    public DataBinding unregister(String id);
+    
+    /**
+     * Introspect the java class to figure out what DataType supports it
+     * @param javaType The java class or interface
+     * @return
+     */
+    public DataBinding introspectType(Class<?> javaType);
+    
+    /**
+     * Introspect the object to figure out what DataType supports it
+     * @param object The value
+     * @return
+     */
+    public DataBinding introspectValue(Object object); 
+}

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataPipe.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataPipe.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataPipe.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataPipe.java Wed Aug 16 22:42:57 2006
@@ -24,7 +24,7 @@
  * @param <S> The data binding type of the sink
  * @param <R> The data binding type of the result
  */
-public interface DataPipe<S, R> extends Transformer<S, R>{
+public interface DataPipe<S, R> extends Transformer {
 
     /**
      * Returns a sink (for example, java.io.OutputStream, java.io.Writer or org.xml.sax.ContentHandler) to

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java Wed Aug 16 22:42:57 2006
@@ -25,22 +25,22 @@
  *
  */
 public interface Mediator {
+
     /**
-     * @param source The source object to be mediated
-     * @param sourceType The type of the source data
-     * @param resultType The type of the result data
-     * @param context The context
-     * @return The mediated result
+     * Mediate the data from the source binding type to the target binding type
+     * @param source
+     * @param sourceBinding
+     * @param targetBinding
+     * @return
      */
-    public Object mediate(Object source, Object sourceType, Object resultType, TransformationContext context);
+    public Object mediate(Object source, DataBinding sourceBinding, DataBinding targetBinding);
     /**
+     * Mediate the data
      * @param source
      * @param target
-     * @param sourceType
-     * @param resultType
-     * @param context
-     * @return
+     * @param sourceBinding
+     * @param targetBinding
      */
-    public Object mediate(Object source, Object target, Object sourceType, Object resultType, TransformationContext context);
+    public void mediate(Object source, Object target, DataBinding sourceBinding, DataBinding targetBinding);
     
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PullTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PullTransformer.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PullTransformer.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PullTransformer.java Wed Aug 16 22:42:57 2006
@@ -18,17 +18,22 @@
  */
 package org.apache.tuscany.databinding;
 
-
 /**
  * PullTransformer transforms data from one binding format to the other one which can be directly consumed
- * @param <S> The source data type
- * @param <R> the target data type
+ * 
+ * @param <S>
+ *            The source data type
+ * @param <R>
+ *            the target data type
  */
-public interface PullTransformer<S, R> extends Transformer<S, R>{
+public interface PullTransformer<S, R> extends Transformer {
     /**
-     * Transform source data into the result type.  
-     * @param source The source data
-     * @param context The context for the transformation
+     * Transform source data into the result type.
+     * 
+     * @param source
+     *            The source data
+     * @param context
+     *            The context for the transformation
      * @return The transformed result
      */
     public R transform(S source, TransformationContext context);

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PushTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PushTransformer.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PushTransformer.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/PushTransformer.java Wed Aug 16 22:42:57 2006
@@ -24,7 +24,7 @@
  * @param <S>
  * @param <R>
  */
-public interface PushTransformer<S, R> extends Transformer<S, R>{
+public interface PushTransformer<S, R> extends Transformer {
     /**
      * @param source
      * @param sink

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java Wed Aug 16 22:42:57 2006
@@ -18,34 +18,34 @@
  */
 package org.apache.tuscany.databinding;
 
-
-
 /**
  * Context for data transformation
- *
+ * 
  */
 public interface TransformationContext {
     /**
      * @return
      */
-    public DataBinding getSourceBinding();
+    public DataBinding getSourceDataBinding();
+
     /**
      * @return
      */
-    public DataBinding getTargetBinding();
+    public DataBinding getTargetDataBinding();
+
     /**
-     * @return
+     * @param sourceNode
      */
-    public ClassLoader getClassLoader();
+    public void setSourceDataBinding(DataBinding sourceNode);
+
     /**
-     * @param name
-     * @return
+     * @param targetNode
      */
-    public Object getAttribute(String name);
-    
+    public void setTargetDataBinding(DataBinding targetNode);
+
     /**
-     * @param name
-     * @param object
+     * @return
      */
-    public void setAttribute(String name, Object object);
+    public ClassLoader getClassLoader();
+
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationException.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationException.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationException.java Wed Aug 16 22:42:57 2006
@@ -20,27 +20,27 @@
 
 import org.apache.tuscany.api.TuscanyRuntimeException;
 
+/**
+ * Reports problems during data transformation
+ */
 public class TransformationException extends TuscanyRuntimeException {
 
-    /**
-     * 
-     */
     private static final long serialVersionUID = 7662385613693006428L;
 
     public TransformationException() {
         super();
     }
 
-    public TransformationException(String arg0, Throwable arg1) {
-        super(arg0, arg1);
+    public TransformationException(String message, Throwable cause) {
+        super(message, cause);
     }
 
-    public TransformationException(String arg0) {
-        super(arg0);
+    public TransformationException(String message) {
+        super(message);
     }
 
-    public TransformationException(Throwable arg0) {
-        super(arg0);
+    public TransformationException(Throwable cause) {
+        super(cause);
     }
 
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Transformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Transformer.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Transformer.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Transformer.java Wed Aug 16 22:42:57 2006
@@ -20,30 +20,33 @@
 
 
 /**
- * Transformer transforms data from one binding format to the other one.
- * 
- * @param <S> The source data type
- * @param <R> the target data type
+ * A transformer provides the data transformation from source type to target type. The cost
+ * of the transformation is modeled as weight.
  */
-public interface Transformer<S, R> {
+public interface Transformer {
     // FIXME: [rfeng] I'm not very sure if Class is a good id to represent the data type. Another option
     // is to use URI strings
     /**
-     * Get the source type that this transformer transforms data from 
-     * @return
+     * Get the source type that this transformer transforms data from. The type is used as the key when the
+     * transformer is registered with TransformerRegistry.
+     *  
+     * @return A key indentifying the source type
      */
-    public Class<S> getSourceType();
+    public String getSourceBinding();
 
     /**
-     * Get the target type that this transformer transforms data into 
-     * @return
+     * Get the target type that this transformer transforms data into. The type is used as the key when the
+     * transformer is registered with TransformerRegistry.
+     * 
+     * @return A key indentifying the target type
      */
-    public Class<R> getTargetType();
+    public String getTargetBinding();
 
     /**
      * Get the cost of the transformation. The weight can be used to choose the most efficient path if
      * there are more than one available from the source to the target.
-     * @return 
+     * 
+     * @return An integer representing the cost of the transformation
      */
     public int getWeight();
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformerRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformerRegistry.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformerRegistry.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformerRegistry.java Wed Aug 16 22:42:57 2006
@@ -28,10 +28,10 @@
     /**
      * @param sourceType
      * @param resultType
-     * @param transformer
      * @param weight
+     * @param transformer
      */
-    public void registerTransformer(Object sourceType, Object resultType, Transformer transformer, int weight);
+    public void registerTransformer(Object sourceType, Object resultType, int weight, Transformer transformer);
 
     /**
      * @param transformer
@@ -43,7 +43,7 @@
      * @param resultType
      * @return
      */
-    public boolean removeTransformer(Object sourceType, Object resultType);
+    public boolean unregisterTransformer(Object sourceType, Object resultType);
 
     /**
      * Get the direct Transformer which can transform data from source type to result type

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataBinding.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataBinding.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataBinding.java Wed Aug 16 22:42:57 2006
@@ -34,6 +34,15 @@
      * @return Name of the data binding
      */
     String name();
+
+    /**
+     * @return Type of the data
+     */
+    Class type() default Object.class;
+
+    /**
+     * @return Context
+     */
     DataContext[] context() default {};
 
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataContext.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataContext.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/annotation/DataContext.java Wed Aug 16 22:42:57 2006
@@ -29,8 +29,14 @@
 @Target( {})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface DataContext {
+    /**
+     * @return key for the context entry
+     */
     String key();
 
+    /**
+     * @return key for the context value
+     */
     String value();
 
 }

Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/DataBindingExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/DataBindingExtension.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/DataBindingExtension.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/DataBindingExtension.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,95 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ *  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.
+ */
+
+package org.apache.tuscany.databinding.extension;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.tuscany.databinding.DataBinding;
+import org.apache.tuscany.databinding.DataBindingRegistry;
+import org.apache.tuscany.spi.annotation.Autowire;
+import org.osoa.sca.annotations.Init;
+
+/**
+ * Base Implementation of DataBinding
+ */
+@org.osoa.sca.annotations.Scope("MODULE")
+public abstract class DataBindingExtension implements DataBinding {
+    protected Map<String, Object> attrs = new HashMap<String, Object>();
+
+    protected DataBindingRegistry registry;
+
+    protected boolean isSink = false;
+
+    protected Class baseType = null;
+
+    protected String name = null;
+
+    protected DataBindingExtension(Class baseType) {
+        this(baseType, false);
+    }
+
+    protected DataBindingExtension(Class baseType, boolean isSink) {
+        this(baseType.getName(), baseType, isSink);
+    }
+
+    protected DataBindingExtension(String name, Class baseType, boolean isSink) {
+        this.name = name;
+        this.baseType = baseType;
+        this.isSink = isSink;
+    }
+
+    @Autowire
+    public void setDataBindingRegistry(DataBindingRegistry registry) {
+        this.registry = registry;
+    }
+
+    @Init(eager = true)
+    public void init() {
+        registry.register(this);
+    }
+
+    protected Class getBaseType() {
+        return baseType;
+    }
+
+    /**
+     * @see org.apache.tuscany.databinding.DataType#isSinkOnly()
+     */
+    public boolean isSinkOnly() {
+        return isSink;
+    }
+
+    @SuppressWarnings("unchecked")
+    public boolean isSupported(Class javaClass) {
+        return getBaseType().isAssignableFrom(javaClass);
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public Object getAttribute(String name) {
+        return attrs.get(name);
+    }
+
+    public void setAttribute(String name, Object value) {
+        attrs.put(name, value);
+    }
+
+}

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/DataBindingExtension.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/DataBindingExtension.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerExtension.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerExtension.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerExtension.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,59 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ *  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.
+ */
+
+package org.apache.tuscany.databinding.extension;
+
+import org.apache.tuscany.databinding.Transformer;
+import org.apache.tuscany.databinding.TransformerRegistry;
+import org.apache.tuscany.spi.annotation.Autowire;
+import org.osoa.sca.annotations.Init;
+
+/**
+ * Base Implementation of Transformer which provides the registration to the transformer registry
+ */
+@org.osoa.sca.annotations.Scope("MODULE")
+public abstract class TransformerExtension<S, T> implements Transformer {
+
+    protected TransformerRegistry registry;
+
+    protected TransformerExtension() {
+        super();
+    }
+    
+    @Autowire
+    public void setTransformerRegistry(TransformerRegistry registry) {
+        this.registry = registry;
+    }
+
+    @Init(eager = true)
+    public void init() {
+        registry.registerTransformer(this);
+    }
+
+    protected abstract Class getSourceType();
+    protected abstract Class getTargetType();
+    
+    public String getSourceBinding() {
+        return getSourceType().getName();
+    }
+
+    public String getTargetBinding() {
+        return getTargetType().getName();
+    }
+
+    
+}

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerExtension.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerExtension.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerRegistrarExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerRegistrarExtension.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerRegistrarExtension.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerRegistrarExtension.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,53 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ *  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.
+ */
+
+package org.apache.tuscany.databinding.extension;
+
+import java.util.Collection;
+
+import org.apache.tuscany.databinding.Transformer;
+import org.apache.tuscany.databinding.TransformerRegistry;
+import org.apache.tuscany.spi.annotation.Autowire;
+import org.osoa.sca.annotations.Init;
+
+/**
+ * A base class responsible to register a collection of transformers. The purpose is to group
+ * a list of transformer contributions in one system component
+ */
+@org.osoa.sca.annotations.Scope("MODULE")
+public abstract class TransformerRegistrarExtension {
+    protected TransformerRegistry registry;
+
+    public TransformerRegistrarExtension() {
+        super();
+    }
+
+    @Autowire
+    public void setTransformerRegistry(TransformerRegistry registry) {
+        this.registry = registry;
+    }
+
+    @Init(eager = true)
+    public void init() {
+        for (Transformer t : getTransformers()) {
+            registry.registerTransformer(t);
+        }
+    }
+
+    protected abstract Collection<Transformer> getTransformers();
+
+}

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerRegistrarExtension.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/extension/TransformerRegistrarExtension.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingDefinitionLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingDefinitionLoader.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingDefinitionLoader.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingDefinitionLoader.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,74 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ *  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.
+ */
+
+package org.apache.tuscany.databinding.impl;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.databinding.model.DataBindingDefinition;
+import org.apache.tuscany.spi.annotation.Autowire;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.extension.LoaderExtension;
+import org.apache.tuscany.spi.loader.LoaderException;
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.osoa.sca.annotations.Constructor;
+
+/**
+ * The StAX loader for data binding
+ */
+public class DataBindingDefinitionLoader extends LoaderExtension<DataBindingDefinition> {
+    public static final QName DATA_BINDING = new QName("http://tuscany.apache.org/xmlns/databinding/1.0", "databinding");
+
+    @Constructor( { "registry" })
+    public DataBindingDefinitionLoader(@Autowire
+    LoaderRegistry registry) {
+        super(registry);
+    }
+
+    @Override
+    public QName getXMLType() {
+        return DATA_BINDING;
+    }
+
+    public DataBindingDefinition load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext)
+            throws XMLStreamException, LoaderException {
+        assert DATA_BINDING.equals(reader.getName());
+        DataBindingDefinition definition = new DataBindingDefinition();
+        String name = reader.getAttributeValue(null, "name");
+        definition.setName(name);
+        String javaType = reader.getAttributeValue(null, "javaType");
+        if (javaType != null) {
+            Class<?> cls;
+            try {
+                cls = Class.forName(javaType, false, deploymentContext.getClassLoader());
+                definition.setJavaType(cls);
+            } catch (ClassNotFoundException e) {
+                LoaderException ex = new LoaderException(e);
+                ex.addContextName(javaType);
+                throw ex;
+            }
+        }
+        String xmlType = reader.getAttributeValue(null, "xmlType");
+        if (xmlType != null) {
+            definition.setXmlType(new QName(xmlType));
+        }
+        return definition;
+    }
+}

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingDefinitionLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingDefinitionLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,74 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ *  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.
+ */
+
+package org.apache.tuscany.databinding.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.tuscany.databinding.DataBinding;
+import org.apache.tuscany.databinding.DataBindingRegistry;
+import org.osoa.sca.annotations.Init;
+
+/**
+ * The default implementation of a data binding registry
+ */
+public class DataBindingRegistryImpl implements DataBindingRegistry {
+    private final Map<String, DataBinding> bindings = new HashMap<String, DataBinding>();
+
+    /**
+     * @see org.apache.tuscany.databinding.DataBindingRegistry#getDataBinding(java.lang.String)
+     */
+    public DataBinding getDataBinding(String id) {
+        return bindings.get(id.toLowerCase());
+    }
+
+    /**
+     * @see org.apache.tuscany.databinding.DataBindingRegistry#register(org.apache.tuscany.databinding.DataBinding)
+     */
+    public void register(DataBinding dataBinding) {
+        bindings.put(dataBinding.getName().toLowerCase(), dataBinding);
+    }
+
+    /**
+     * @see org.apache.tuscany.databinding.DataBindingRegistry#unregister(java.lang.String)
+     */
+    public DataBinding unregister(String id) {
+        return bindings.remove(id.toLowerCase());
+    }
+
+    @Init(eager = true)
+    public void init() {
+    }
+
+    @SuppressWarnings("unchecked")
+    public DataBinding introspectType(Class<?> javaType) {
+        for (DataBinding binding : bindings.values()) {
+                if (binding.isSupported(javaType)) {
+                    return binding;
+                }
+        }
+        return null;
+    }
+
+    public DataBinding introspectValue(Object object) {
+        if (object == null)
+            return null;
+        return introspectType(object.getClass());
+    }
+
+}

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java Wed Aug 16 22:42:57 2006
@@ -21,6 +21,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.tuscany.databinding.DataBinding;
 import org.apache.tuscany.databinding.DataPipe;
 import org.apache.tuscany.databinding.Mediator;
 import org.apache.tuscany.databinding.PullTransformer;
@@ -50,15 +51,19 @@
      *      org.apache.tuscany.databinding.TransformationContext)
      */
     @SuppressWarnings("unchecked")
-    public Object mediate(Object source, Object sourceType, Object resultType, TransformationContext context) {
-        List<Transformer> path = registry.getTransformerChain(sourceType, resultType);
+    public Object mediate(Object source, DataBinding sourceBinding, DataBinding targetBinding) {
+        List<Transformer> path = registry.getTransformerChain(sourceBinding.getName(), targetBinding.getName());
 
         Object result = source;
         for (Iterator<Transformer> i = path.iterator(); i.hasNext();) {
             Transformer transformer = i.next();
+            // FIXME: We probably need to reset the context for each transformation on the path to reflect
+            // the source and target type
             if (transformer instanceof PullTransformer) {
+                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
                 result = ((PullTransformer) transformer).transform(result, context);
             } else if (transformer instanceof PushTransformer) {
+                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
                 DataPipe dataPipe = i.hasNext() ? (DataPipe) i.next() : null;
                 ((PushTransformer) transformer).transform(result, dataPipe.getSink(), context);
                 result = dataPipe.getResult();
@@ -69,22 +74,23 @@
     }
 
     @SuppressWarnings("unchecked")
-    public Object mediate(Object source, Object target, Object sourceType, Object resultType, TransformationContext context) {
-        List<Transformer> path = registry.getTransformerChain(sourceType, resultType);
+    public void mediate(Object source, Object target, DataBinding sourceBinding, DataBinding targetBinding) {
+        List<Transformer> path = registry.getTransformerChain(sourceBinding.getName(), targetBinding.getName());
 
         Object result = source;
         for (Iterator<Transformer> i = path.iterator(); i.hasNext();) {
             Transformer transformer = i.next();
             if (transformer instanceof PullTransformer) {
+                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
                 result = ((PullTransformer) transformer).transform(result, context);
             } else if (transformer instanceof PushTransformer) {
+                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
                 DataPipe dataPipe = i.hasNext() ? (DataPipe) i.next() : null;
                 Object sink = dataPipe != null ? dataPipe.getSink() : target;
                 ((PushTransformer) transformer).transform(result, sink, context);
                 result = (dataPipe != null) ? dataPipe.getResult() : null;
             }
         }
-        return result;
     }
 
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java Wed Aug 16 22:42:57 2006
@@ -19,54 +19,51 @@
 package org.apache.tuscany.databinding.impl;
 
 import java.lang.ref.WeakReference;
-import java.util.HashMap;
 
 import org.apache.tuscany.databinding.DataBinding;
 import org.apache.tuscany.databinding.TransformationContext;
 
-public class TransformationContextImpl extends HashMap<String, Object> implements TransformationContext {
-    private static final long serialVersionUID = -3502340459778408138L;
+public class TransformationContextImpl implements TransformationContext {
+    private DataBinding sourceDataBinding;
 
-    private DataBinding sourceBinding;
-
-    private DataBinding targetBinding;
+    private DataBinding targetDataBinding;
 
     private WeakReference<ClassLoader> classLoaderRef;
 
-    public DataBinding getSourceBinding() {
-        return sourceBinding;
+    public TransformationContextImpl() {
+        super();
+        setClassLoader(Thread.currentThread().getContextClassLoader());
     }
 
-    public Object getAttribute(String name) {
-        return get(name);
+    public TransformationContextImpl(DataBinding sourceDataBinding, DataBinding targetDataBinding, ClassLoader classLoader) {
+        super();
+        this.sourceDataBinding = sourceDataBinding;
+        this.targetDataBinding = targetDataBinding;
+        setClassLoader(classLoader);
     }
 
-    public void setAttribute(String name, Object object) {
-        put(name, object);
+    public DataBinding getSourceDataBinding() {
+        return sourceDataBinding;
     }
 
-    public DataBinding getTargetBinding() {
-        return targetBinding;
+    public DataBinding getTargetDataBinding() {
+        return targetDataBinding;
     }
 
-    public void setSourceBinding(DataBinding sourceBinding) {
-        this.sourceBinding = sourceBinding;
+    public void setSourceDataBinding(DataBinding sourceDataBinding) {
+        this.sourceDataBinding = sourceDataBinding;
     }
 
-    public void setTargetBinding(DataBinding targetBinding) {
-        this.targetBinding = targetBinding;
+    public void setTargetDataBinding(DataBinding targetDataBinding) {
+        this.targetDataBinding = targetDataBinding;
     }
 
-    public void setClassLoader(ClassLoader classLoader) {
+    final public void setClassLoader(ClassLoader classLoader) {
         this.classLoaderRef = new WeakReference<ClassLoader>(classLoader);
     }
 
     public ClassLoader getClassLoader() {
-        // FIXME
-        if (classLoaderRef == null)
-            return Thread.currentThread().getContextClassLoader();
-        else
-            return classLoaderRef.get();
+        return classLoaderRef.get();
     }
 
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformerRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformerRegistryImpl.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformerRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformerRegistryImpl.java Wed Aug 16 22:42:57 2006
@@ -24,20 +24,25 @@
 import org.apache.tuscany.databinding.Transformer;
 import org.apache.tuscany.databinding.TransformerRegistry;
 import org.apache.tuscany.databinding.util.DirectedGraph;
+import org.osoa.sca.annotations.Init;
 
 public class TransformerRegistryImpl implements TransformerRegistry {
 
-    private DirectedGraph<Object, Transformer> graph = new DirectedGraph<Object, Transformer>();
+    private final DirectedGraph<Object, Transformer> graph = new DirectedGraph<Object, Transformer>();
+    
+    @Init(eager = true)
+    public void init() {
+    }    
 
-    public void registerTransformer(Object sourceType, Object resultType, Transformer transformer, int weight) {
+    public void registerTransformer(Object sourceType, Object resultType, int weight, Transformer transformer) {
         graph.addEdge(sourceType, resultType, transformer, weight);
     }
 
     public void registerTransformer(Transformer transformer) {
-        graph.addEdge(transformer.getSourceType(), transformer.getTargetType(), transformer, transformer.getWeight());
+        graph.addEdge(transformer.getSourceBinding(), transformer.getTargetBinding(), transformer, transformer.getWeight());
     }
 
-    public boolean removeTransformer(Object sourceType, Object resultType) {
+    public boolean unregisterTransformer(Object sourceType, Object resultType) {
         return graph.removeEdge(sourceType, resultType);
     }
 

Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/DataBindingDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/DataBindingDefinition.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/DataBindingDefinition.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/DataBindingDefinition.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,61 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ *  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.
+ */
+
+package org.apache.tuscany.databinding.model;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.spi.model.ModelObject;
+
+/**
+ * SCDL model extension for DataBinding
+ */
+public class DataBindingDefinition extends ModelObject {
+    // The logical name of the data binding, for example, sdo.xmldocument
+    private String name;
+
+    // The instance class
+    private Class<?> javaType;
+
+    // The QName of the xsd type
+    private QName xmlType;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Class<?> getJavaType() {
+        return javaType;
+    }
+
+    public void setJavaType(Class<?> javaType) {
+        this.javaType = javaType;
+    }
+
+    public QName getXmlType() {
+        return xmlType;
+    }
+
+    public void setXmlType(QName xmlType) {
+        this.xmlType = xmlType;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/DataBindingDefinition.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/model/DataBindingDefinition.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2Node.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2Node.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2Node.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2Node.java Wed Aug 16 22:42:57 2006
@@ -27,13 +27,15 @@
 import org.apache.tuscany.databinding.PullTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
 
 /**
  * Push DOM InputStream to Node
  * 
  */
-public class InputSource2Node implements PullTransformer<InputStream, Node> {
+public class InputSource2Node extends TransformerExtension<InputSource, Node> implements PullTransformer<InputStream, Node> {
     private static final Source2ResultTransformer transformer = new Source2ResultTransformer();
 
     public Node transform(InputStream source, TransformationContext context) {
@@ -47,11 +49,11 @@
         }
     }
 
-    public Class<InputStream> getSourceType() {
+    public Class getSourceType() {
         return InputStream.class;
     }
 
-    public Class<Node> getTargetType() {
+    public Class getTargetType() {
         return Node.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2SAX.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2SAX.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2SAX.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputSource2SAX.java Wed Aug 16 22:42:57 2006
@@ -21,6 +21,7 @@
 import org.apache.tuscany.databinding.PushTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
@@ -30,7 +31,7 @@
  * Push InputSource to SAX
  *
  */
-public class InputSource2SAX implements PushTransformer<InputSource, ContentHandler> {
+public class InputSource2SAX extends TransformerExtension<InputSource, ContentHandler> implements PushTransformer<InputSource, ContentHandler> {
     public void transform(InputSource source, ContentHandler target, TransformationContext context) {
         try {
             XMLReader reader = XMLReaderFactory.createXMLReader();
@@ -43,11 +44,11 @@
         }
     }
 
-    public Class<InputSource> getSourceType() {
+    public Class getSourceType() {
         return InputSource.class;
     }
 
-    public Class<ContentHandler> getTargetType() {
+    public Class getTargetType() {
         return ContentHandler.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2Node.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2Node.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2Node.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2Node.java Wed Aug 16 22:42:57 2006
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.databinding.trax;
 
+import java.io.InputStream;
+
 import javax.xml.transform.Source;
 import javax.xml.transform.dom.DOMResult;
 import javax.xml.transform.sax.SAXSource;
@@ -25,6 +27,7 @@
 import org.apache.tuscany.databinding.PullTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.w3c.dom.Node;
 import org.xml.sax.InputSource;
 
@@ -32,7 +35,7 @@
  * Push DOM InputSource to Node
  * 
  */
-public class InputStream2Node implements PullTransformer<InputSource, Node> {
+public class InputStream2Node extends TransformerExtension<InputStream, Node> implements PullTransformer<InputSource, Node> {
     private static final Source2ResultTransformer transformer = new Source2ResultTransformer();
 
     public Node transform(InputSource source, TransformationContext context) {
@@ -46,11 +49,11 @@
         }
     }
 
-    public Class<InputSource> getSourceType() {
+    public Class getSourceType() {
         return InputSource.class;
     }
 
-    public Class<Node> getTargetType() {
+    public Class getTargetType() {
         return Node.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2SAX.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2SAX.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2SAX.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/InputStream2SAX.java Wed Aug 16 22:42:57 2006
@@ -23,6 +23,7 @@
 import org.apache.tuscany.databinding.PushTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
@@ -32,7 +33,7 @@
  * Push InputStream to SAX
  * 
  */
-public class InputStream2SAX implements PushTransformer<InputStream, ContentHandler> {
+public class InputStream2SAX extends TransformerExtension<InputStream, ContentHandler> implements PushTransformer<InputStream, ContentHandler> {
     public void transform(InputStream source, ContentHandler target, TransformationContext context) {
         try {
             XMLReader reader = XMLReaderFactory.createXMLReader();
@@ -43,11 +44,11 @@
         }
     }
 
-    public Class<InputStream> getSourceType() {
+    public Class getSourceType() {
         return InputStream.class;
     }
 
-    public Class<ContentHandler> getTargetType() {
+    public Class getTargetType() {
         return ContentHandler.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2OutputStream.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2OutputStream.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2OutputStream.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2OutputStream.java Wed Aug 16 22:42:57 2006
@@ -28,13 +28,14 @@
 import org.apache.tuscany.databinding.PushTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.w3c.dom.Node;
 
 /**
  * Push DOM Node to OutputStream
  * 
  */
-public class Node2OutputStream implements PushTransformer<Node, OutputStream> {
+public class Node2OutputStream extends TransformerExtension<Node, OutputStream> implements PushTransformer<Node, OutputStream> {
     private static final Source2ResultTransformer transformer = new Source2ResultTransformer();
 
     public void transform(Node source, OutputStream writer, TransformationContext context) {
@@ -47,11 +48,11 @@
         }
     }
 
-    public Class<Node> getSourceType() {
+    public Class getSourceType() {
         return Node.class;
     }
 
-    public Class<OutputStream> getTargetType() {
+    public Class getTargetType() {
         return OutputStream.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2String.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2String.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2String.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2String.java Wed Aug 16 22:42:57 2006
@@ -23,13 +23,14 @@
 import org.apache.tuscany.databinding.PullTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.w3c.dom.Node;
 
 /**
  * Transform DOM Node to XML String
  *
  */
-public class Node2String implements PullTransformer<Node, String> {
+public class Node2String extends TransformerExtension<Node, String> implements PullTransformer<Node, String> {
     private static final Node2Writer transformer = new Node2Writer();
 
     public String transform(Node source, TransformationContext context) {
@@ -42,11 +43,11 @@
         }
     }
 
-    public Class<Node> getSourceType() {
+    public Class getSourceType() {
         return Node.class;
     }
 
-    public Class<String> getTargetType() {
+    public Class getTargetType() {
         return String.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2Writer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2Writer.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2Writer.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Node2Writer.java Wed Aug 16 22:42:57 2006
@@ -28,13 +28,14 @@
 import org.apache.tuscany.databinding.PushTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.w3c.dom.Node;
 
 /**
  * Push DOM Node to Writer
  * 
  */
-public class Node2Writer implements PushTransformer<Node, Writer> {
+public class Node2Writer extends TransformerExtension<Node, Writer> implements PushTransformer<Node, Writer> {
     private static final Source2ResultTransformer transformer = new Source2ResultTransformer();
 
     public void transform(Node source, Writer writer, TransformationContext context) {
@@ -47,11 +48,11 @@
         }
     }
 
-    public Class<Node> getSourceType() {
+    public Class getSourceType() {
         return Node.class;
     }
 
-    public Class<Writer> getTargetType() {
+    public Class getTargetType() {
         return Writer.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2Node.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2Node.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2Node.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2Node.java Wed Aug 16 22:42:57 2006
@@ -27,13 +27,14 @@
 import org.apache.tuscany.databinding.PullTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.w3c.dom.Node;
 
 /**
  * Push DOM Reader to Node
  * 
  */
-public class Reader2Node implements PullTransformer<Reader, Node> {
+public class Reader2Node extends TransformerExtension<Reader, Node> implements PullTransformer<Reader, Node> {
     private static final Source2ResultTransformer transformer = new Source2ResultTransformer();
 
     public Node transform(Reader source, TransformationContext context) {
@@ -47,11 +48,11 @@
         }
     }
 
-    public Class<Reader> getSourceType() {
+    public Class getSourceType() {
         return Reader.class;
     }
 
-    public Class<Node> getTargetType() {
+    public Class getTargetType() {
         return Node.class;
     }
 

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2SAX.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2SAX.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2SAX.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/trax/Reader2SAX.java Wed Aug 16 22:42:57 2006
@@ -23,6 +23,7 @@
 import org.apache.tuscany.databinding.PushTransformer;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.databinding.extension.TransformerExtension;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
 
@@ -30,7 +31,7 @@
  * Transform XML string to SAX
  *
  */
-public class Reader2SAX implements PushTransformer<Reader, ContentHandler> {
+public class Reader2SAX extends TransformerExtension<Reader, ContentHandler> implements PushTransformer<Reader, ContentHandler> {
     public void transform(Reader source, ContentHandler target, TransformationContext context) {
         try {
             new InputSource2SAX().transform(new InputSource(source), target, context);
@@ -39,11 +40,11 @@
         }
     }
 
-    public Class<Reader> getSourceType() {
+    public Class getSourceType() {
         return Reader.class;
     }
 
-    public Class<ContentHandler> getTargetType() {
+    public Class getTargetType() {
         return ContentHandler.class;
     }
 



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