diff --git a/modules/databinding-json-2-x/target/classes/META-INF/LICENSE b/modules/databinding-json-2-x/target/classes/META-INF/LICENSE
deleted file mode 100644
index 75b5248..0000000
--- a/modules/databinding-json-2-x/target/classes/META-INF/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   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.
diff --git a/modules/databinding-json-2-x/target/classes/META-INF/MANIFEST.MF b/modules/databinding-json-2-x/target/classes/META-INF/MANIFEST.MF
deleted file mode 100644
index 1a2611b..0000000
--- a/modules/databinding-json-2-x/target/classes/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,48 +0,0 @@
-Manifest-Version: 1.0
-Export-Package: org.apache.tuscany.sca.databinding.json2x.axiom;uses:=
- "org.apache.tuscany.sca.databinding,org.osoa.sca.annotations,org.apac
- he.tuscany.sca.interfacedef.util,org.codehaus.jettison.mapped,org.apa
- che.tuscany.sca.databinding.impl,org.codehaus.jettison.json,org.apach
- e.tuscany.sca.interfacedef,javax.xml.namespace,org.apache.axiom.om,ja
- vax.xml.stream,org.codehaus.jettison.badgerfish,org.apache.tuscany.sc
- a.databinding.json2x";version="1.6",org.apache.tuscany.sca.databindin
- g.json2x.jackson;uses:="org.apache.tuscany.sca.databinding,org.codeha
- us.jackson.map,org.codehaus.jackson.map.type,org.codehaus.jackson.map
- .introspect,org.codehaus.jackson,org.codehaus.jackson.xc,org.apache.t
- uscany.sca.interfacedef,org.codehaus.jackson.type,org.apache.tuscany.
- sca.databinding.json2x";version="1.6",org.apache.tuscany.sca.databind
- ing.json2x;uses:="org.apache.tuscany.sca.databinding,org.apache.tusca
- ny.sca.databinding.xml,org.jabsorb,org.apache.tuscany.sca.interfacede
- f.util,org.apache.tuscany.sca.databinding.json2x.jackson,org.apache.t
- uscany.sca.databinding.impl,org.codehaus.jettison.json,org.json,org.a
- pache.tuscany.sca.interfacedef,javax.xml.namespace,org.codehaus.jetti
- son.badgerfish,javax.xml.stream,org.jabsorb.serializer,org.codehaus.j
- ackson";version="1.6"
-Tool: Bnd-0.0.255
-Bundle-Name: Apache Tuscany SCA Data Binding for JSON from 2.x codebas
- e
-Created-By: 1.6.0_20 (Sun Microsystems Inc.)
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 1.6
-Bnd-LastModified: 1281020683718
-Bundle-ManifestVersion: 2
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA Data Binding for JSON from 2.x 
- codebase
-Import-Package: javax.xml.namespace,javax.xml.stream;version="1.0",org
- .apache.axiom.om,org.apache.tuscany.sca.databinding;version="1.6",org
- .apache.tuscany.sca.databinding.impl;version="1.6",org.apache.tuscany
- .sca.databinding.json2x;version="1.6",org.apache.tuscany.sca.databind
- ing.json2x.axiom;version="1.6",org.apache.tuscany.sca.databinding.jso
- n2x.jackson;version="1.6",org.apache.tuscany.sca.databinding.xml;vers
- ion="1.6",org.apache.tuscany.sca.interfacedef;version="1.6",org.apach
- e.tuscany.sca.interfacedef.util;version="1.6",org.codehaus.jackson;ve
- rsion="1.5",org.codehaus.jackson.map;version="1.5",org.codehaus.jacks
- on.map.introspect;version="1.5",org.codehaus.jackson.map.type;version
- ="1.5",org.codehaus.jackson.type;version="1.5",org.codehaus.jackson.x
- c;version="1.5",org.codehaus.jettison.badgerfish,org.codehaus.jettiso
- n.json,org.codehaus.jettison.mapped,org.jabsorb,org.jabsorb.serialize
- r,org.json,org.osoa.sca.annotations;version="1.4"
-Bundle-SymbolicName: org.apache.tuscany.sca.databinding.json
-Bundle-DocURL: http://www.apache.org/
-
diff --git a/modules/databinding-json-2-x/target/classes/META-INF/NOTICE b/modules/databinding-json-2-x/target/classes/META-INF/NOTICE
deleted file mode 100644
index 6b06d12..0000000
--- a/modules/databinding-json-2-x/target/classes/META-INF/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-Apache Tuscany SCA Data Binding for JSON from 2.x codebase
-Copyright (c) 2005 - 2010 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/modules/databinding-json-2-x/target/classes/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/modules/databinding-json-2-x/target/classes/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
deleted file mode 100644
index d7549f0..0000000
--- a/modules/databinding-json-2-x/target/classes/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
+++ /dev/null
@@ -1,20 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-
-# implementation classes for the databindings
-org.apache.tuscany.sca.databinding.json2x.JSONDataBinding;name=JSON2x
-
diff --git a/modules/databinding-json-2-x/target/classes/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/modules/databinding-json-2-x/target/classes/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
deleted file mode 100644
index 0eb24f3..0000000
--- a/modules/databinding-json-2-x/target/classes/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-
-# Implementation classes for the transformers
-org.apache.tuscany.sca.databinding.json2x.JSON2XMLStreamReader;source=JSON2x,target=javax.xml.stream.XMLStreamReader,weight=5000
-org.apache.tuscany.sca.databinding.json2x.XMLStreamReader2JSON;source=javax.xml.stream.XMLStreamReader,target=JSON2x,weight=5000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.Object2JSON;source=java:complexType,target=JSON2x,weight=90000,public=true
-org.apache.tuscany.sca.databinding.json2x.jackson.Object2JSON;source=java:simpleType,target=JSON2x,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.axiom.JSON2OMElement;source=JSON2x,target=org.apache.axiom.om.OMElement,weight=500
-org.apache.tuscany.sca.databinding.json2x.jackson.Object2JSON;source=java:array,target=JSON2x,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.Object2JSON;source=commonj.sdo.DataObject,target=JSON2x,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.Object2JSON;source=javax.xml.bind.JAXBElement,target=JSON2x,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.JSON2Object;source=JSON2x,target=java:complexType,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.JSON2Object;source=JSON2x,target=java:simpleType,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.JSON2Object;source=JSON2x,target=commonj.sdo.DataObject,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.JSON2Object;source=JSON2x,target=javax.xml.bind.JAXBElement,weight=90000,public=false
-org.apache.tuscany.sca.databinding.json2x.jackson.JSON2Object;source=JSON2x,target=java:array,weight=90000,public=false
-
-org.apache.tuscany.sca.databinding.json2x.jackson.InputStream2JSON;source=application/json#java.io.InputStream;target=JSON2x,weight=50,public=true
-
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2JavaBean.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2JavaBean.class
deleted file mode 100644
index 0c89c76..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2JavaBean.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2String.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2String.class
deleted file mode 100644
index d5378a3..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2String.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2XMLStreamReader.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2XMLStreamReader.class
deleted file mode 100644
index 96abc99..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSON2XMLStreamReader.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSONDataBinding.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSONDataBinding.class
deleted file mode 100644
index 8a78663..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSONDataBinding.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSONHelper.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSONHelper.class
deleted file mode 100644
index a575d62..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JSONHelper.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSON.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSON.class
deleted file mode 100644
index 0e36272..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSON.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSONObject$1.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSONObject$1.class
deleted file mode 100644
index 3847580..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSONObject$1.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSONObject.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSONObject.class
deleted file mode 100644
index 302ffdf..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/JavaBean2JSONObject.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/String2JSON.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/String2JSON.class
deleted file mode 100644
index d13f550..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/String2JSON.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/XMLStreamReader2JSON.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/XMLStreamReader2JSON.class
deleted file mode 100644
index 7a9593b..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/XMLStreamReader2JSON.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSON2OMElement.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSON2OMElement.class
deleted file mode 100644
index 104e73f..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSON2OMElement.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSONBadgerfishDataSource.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSONBadgerfishDataSource.class
deleted file mode 100644
index 428e2b5..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSONBadgerfishDataSource.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSONDataSource.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSONDataSource.class
deleted file mode 100644
index e8b386e..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/axiom/JSONDataSource.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/InputStream2JSON.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/InputStream2JSON.class
deleted file mode 100644
index 225d1ac..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/InputStream2JSON.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JSON2Object.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JSON2Object.class
deleted file mode 100644
index 2790d1b..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JSON2Object.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JSON2OutputStream.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JSON2OutputStream.class
deleted file mode 100644
index 2334d3b..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JSON2OutputStream.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JacksonHelper.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JacksonHelper.class
deleted file mode 100644
index c304b0a..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/JacksonHelper.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/Object2JSON.class b/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/Object2JSON.class
deleted file mode 100644
index fd6b719..0000000
--- a/modules/databinding-json-2-x/target/classes/org/apache/tuscany/sca/databinding/json2x/jackson/Object2JSON.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.JSONTransformerTestCase.xml b/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.JSONTransformerTestCase.xml
deleted file mode 100644
index 762f039..0000000
--- a/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.JSONTransformerTestCase.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite failures="0" time="0.187" errors="0" skipped="0" tests="4" name="org.apache.tuscany.sca.databinding.json.JSONTransformerTestCase">
-  <properties>
-    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
-    <property name="sun.boot.library.path" value="D:\apps\sun_jdk6_20\jre\bin"/>
-    <property name="java.vm.version" value="16.3-b01"/>
-    <property name="java.vm.vendor" value="Sun Microsystems Inc."/>
-    <property name="java.vendor.url" value="http://java.sun.com/"/>
-    <property name="path.separator" value=";"/>
-    <property name="java.vm.name" value="Java HotSpot(TM) Client VM"/>
-    <property name="file.encoding.pkg" value="sun.io"/>
-    <property name="user.country" value="GB"/>
-    <property name="sun.java.launcher" value="SUN_STANDARD"/>
-    <property name="sun.os.patch.level" value="Service Pack 3"/>
-    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
-    <property name="user.dir" value="D:\sca-java-1.x\modules\databinding-json-2-x"/>
-    <property name="java.runtime.version" value="1.6.0_20-b02"/>
-    <property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
-    <property name="basedir" value="D:\sca-java-1.x\modules\databinding-json-2-x"/>
-    <property name="java.endorsed.dirs" value="D:\apps\sun_jdk6_20\jre\lib\endorsed"/>
-    <property name="os.arch" value="x86"/>
-    <property name="java.io.tmpdir" value="C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\"/>
-    <property name="line.separator" value="
-"/>
-    <property name="java.vm.specification.vendor" value="Sun Microsystems Inc."/>
-    <property name="user.variant" value=""/>
-    <property name="os.name" value="Windows XP"/>
-    <property name="sun.jnu.encoding" value="Cp1252"/>
-    <property name="java.library.path" value="D:\apps\sun_jdk6_20\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\apps\sun_jdk6_20\bin;C:\Program Files\ThinkPad\Utilities;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IBM\Infoprint Select;C:\Notes;C:\Program Files\XLView;C:\lotus\compnent;C:\Utilities;C:\Program Files\Common Files\Lenovo;C:\program files\ibm\personal communications\;C:\Program Files\IBM\Trace Facility\;C:\Program Files\ThinkPad\ConnectUtilities;C:\simon\apps\TortoiseSVN\bin;D:\apps\apache-maven-2.2.1\bin;D:\apps\apache-ant-1.8.0\bin;C:\Program Files\QuickTime\QTSystem\"/>
-    <property name="java.specification.name" value="Java Platform API Specification"/>
-    <property name="java.class.version" value="50.0"/>
-    <property name="sun.management.compiler" value="HotSpot Client Compiler"/>
-    <property name="os.version" value="5.1"/>
-    <property name="user.home" value="C:\Documents and Settings\Administrator"/>
-    <property name="user.timezone" value="Europe/London"/>
-    <property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
-    <property name="file.encoding" value="Cp1252"/>
-    <property name="java.specification.version" value="1.6"/>
-    <property name="user.name" value="slaws"/>
-    <property name="java.class.path" value="C:\Documents and Settings\Administrator\.m2\repository\org\apache\maven\surefire\surefire-booter\2.3.1\surefire-booter-2.3.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\apache\maven\surefire\surefire-api\2.3.1\surefire-api-2.3.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-utils\1.1\plexus-utils-1.1.jar;C:\Documents and Settings\Administrator\.m2\repository\commons-lang\commons-lang\2.1\commons-lang-2.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-archiver\1.0-alpha-7\plexus-archiver-1.0-alpha-7.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-container-default\1.0-alpha-8\plexus-container-default-1.0-alpha-8.jar;C:\Documents and Settings\Administrator\.m2\repository\junit\junit\3.8.1\junit-3.8.1.jar;C:\Documents and Settings\Administrator\.m2\repository\classworlds\classworlds\1.1-alpha-2\classworlds-1.1-alpha-2.jar"/>
-    <property name="java.vm.specification.version" value="1.0"/>
-    <property name="sun.arch.data.model" value="32"/>
-    <property name="java.home" value="D:\apps\sun_jdk6_20\jre"/>
-    <property name="java.specification.vendor" value="Sun Microsystems Inc."/>
-    <property name="user.language" value="en"/>
-    <property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
-    <property name="java.vm.info" value="mixed mode"/>
-    <property name="java.version" value="1.6.0_20"/>
-    <property name="java.ext.dirs" value="D:\apps\sun_jdk6_20\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext"/>
-    <property name="sun.boot.class.path" value="D:\apps\sun_jdk6_20\jre\lib\resources.jar;D:\apps\sun_jdk6_20\jre\lib\rt.jar;D:\apps\sun_jdk6_20\jre\lib\sunrsasign.jar;D:\apps\sun_jdk6_20\jre\lib\jsse.jar;D:\apps\sun_jdk6_20\jre\lib\jce.jar;D:\apps\sun_jdk6_20\jre\lib\charsets.jar;D:\apps\sun_jdk6_20\jre\classes"/>
-    <property name="java.vendor" value="Sun Microsystems Inc."/>
-    <property name="localRepository" value="C:\Documents and Settings\Administrator\.m2\repository"/>
-    <property name="file.separator" value="\"/>
-    <property name="java.vendor.url.bug" value="http://java.sun.com/cgi-bin/bugreport.cgi"/>
-    <property name="sun.cpu.endian" value="little"/>
-    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
-    <property name="sun.desktop" value="windows"/>
-    <property name="sun.cpu.isalist" value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86"/>
-  </properties>
-  <testcase time="0" name="testString2JSON"/>
-  <testcase time="0.094" name="testXML2JSON"/>
-  <testcase time="0.031" name="testJSON2XML"/>
-  <testcase time="0.062" name="testJSON2OMElement"/>
-</testsuite>
\ No newline at end of file
diff --git a/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.JavaBean2JSONTestCase.xml b/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.JavaBean2JSONTestCase.xml
deleted file mode 100644
index f4efded..0000000
--- a/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.JavaBean2JSONTestCase.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite failures="0" time="0.125" errors="0" skipped="0" tests="3" name="org.apache.tuscany.sca.databinding.json.JavaBean2JSONTestCase">
-  <properties>
-    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
-    <property name="sun.boot.library.path" value="D:\apps\sun_jdk6_20\jre\bin"/>
-    <property name="java.vm.version" value="16.3-b01"/>
-    <property name="java.vm.vendor" value="Sun Microsystems Inc."/>
-    <property name="java.vendor.url" value="http://java.sun.com/"/>
-    <property name="path.separator" value=";"/>
-    <property name="java.vm.name" value="Java HotSpot(TM) Client VM"/>
-    <property name="file.encoding.pkg" value="sun.io"/>
-    <property name="user.country" value="GB"/>
-    <property name="sun.java.launcher" value="SUN_STANDARD"/>
-    <property name="sun.os.patch.level" value="Service Pack 3"/>
-    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
-    <property name="user.dir" value="D:\sca-java-1.x\modules\databinding-json-2-x"/>
-    <property name="java.runtime.version" value="1.6.0_20-b02"/>
-    <property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
-    <property name="basedir" value="D:\sca-java-1.x\modules\databinding-json-2-x"/>
-    <property name="java.endorsed.dirs" value="D:\apps\sun_jdk6_20\jre\lib\endorsed"/>
-    <property name="os.arch" value="x86"/>
-    <property name="java.io.tmpdir" value="C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\"/>
-    <property name="line.separator" value="
-"/>
-    <property name="java.vm.specification.vendor" value="Sun Microsystems Inc."/>
-    <property name="user.variant" value=""/>
-    <property name="os.name" value="Windows XP"/>
-    <property name="sun.jnu.encoding" value="Cp1252"/>
-    <property name="java.library.path" value="D:\apps\sun_jdk6_20\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\apps\sun_jdk6_20\bin;C:\Program Files\ThinkPad\Utilities;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IBM\Infoprint Select;C:\Notes;C:\Program Files\XLView;C:\lotus\compnent;C:\Utilities;C:\Program Files\Common Files\Lenovo;C:\program files\ibm\personal communications\;C:\Program Files\IBM\Trace Facility\;C:\Program Files\ThinkPad\ConnectUtilities;C:\simon\apps\TortoiseSVN\bin;D:\apps\apache-maven-2.2.1\bin;D:\apps\apache-ant-1.8.0\bin;C:\Program Files\QuickTime\QTSystem\"/>
-    <property name="java.specification.name" value="Java Platform API Specification"/>
-    <property name="java.class.version" value="50.0"/>
-    <property name="sun.management.compiler" value="HotSpot Client Compiler"/>
-    <property name="os.version" value="5.1"/>
-    <property name="user.home" value="C:\Documents and Settings\Administrator"/>
-    <property name="user.timezone" value="Europe/London"/>
-    <property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
-    <property name="file.encoding" value="Cp1252"/>
-    <property name="java.specification.version" value="1.6"/>
-    <property name="user.name" value="slaws"/>
-    <property name="java.class.path" value="C:\Documents and Settings\Administrator\.m2\repository\org\apache\maven\surefire\surefire-booter\2.3.1\surefire-booter-2.3.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\apache\maven\surefire\surefire-api\2.3.1\surefire-api-2.3.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-utils\1.1\plexus-utils-1.1.jar;C:\Documents and Settings\Administrator\.m2\repository\commons-lang\commons-lang\2.1\commons-lang-2.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-archiver\1.0-alpha-7\plexus-archiver-1.0-alpha-7.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-container-default\1.0-alpha-8\plexus-container-default-1.0-alpha-8.jar;C:\Documents and Settings\Administrator\.m2\repository\junit\junit\3.8.1\junit-3.8.1.jar;C:\Documents and Settings\Administrator\.m2\repository\classworlds\classworlds\1.1-alpha-2\classworlds-1.1-alpha-2.jar"/>
-    <property name="java.vm.specification.version" value="1.0"/>
-    <property name="sun.arch.data.model" value="32"/>
-    <property name="java.home" value="D:\apps\sun_jdk6_20\jre"/>
-    <property name="java.specification.vendor" value="Sun Microsystems Inc."/>
-    <property name="user.language" value="en"/>
-    <property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
-    <property name="java.vm.info" value="mixed mode"/>
-    <property name="java.version" value="1.6.0_20"/>
-    <property name="java.ext.dirs" value="D:\apps\sun_jdk6_20\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext"/>
-    <property name="sun.boot.class.path" value="D:\apps\sun_jdk6_20\jre\lib\resources.jar;D:\apps\sun_jdk6_20\jre\lib\rt.jar;D:\apps\sun_jdk6_20\jre\lib\sunrsasign.jar;D:\apps\sun_jdk6_20\jre\lib\jsse.jar;D:\apps\sun_jdk6_20\jre\lib\jce.jar;D:\apps\sun_jdk6_20\jre\lib\charsets.jar;D:\apps\sun_jdk6_20\jre\classes"/>
-    <property name="java.vendor" value="Sun Microsystems Inc."/>
-    <property name="localRepository" value="C:\Documents and Settings\Administrator\.m2\repository"/>
-    <property name="file.separator" value="\"/>
-    <property name="java.vendor.url.bug" value="http://java.sun.com/cgi-bin/bugreport.cgi"/>
-    <property name="sun.cpu.endian" value="little"/>
-    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
-    <property name="sun.desktop" value="windows"/>
-    <property name="sun.cpu.isalist" value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86"/>
-  </properties>
-  <testcase time="0.093" name="testBean2JSON"/>
-  <testcase time="0.016" name="testString2JSON"/>
-  <testcase time="0" name="testStringArray2JSON"/>
-</testsuite>
\ No newline at end of file
diff --git a/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.POJOTestCase.xml b/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.POJOTestCase.xml
deleted file mode 100644
index f03665c..0000000
--- a/modules/databinding-json-2-x/target/surefire-reports/TEST-org.apache.tuscany.sca.databinding.json.POJOTestCase.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite failures="0" time="0.015" errors="0" skipped="0" tests="5" name="org.apache.tuscany.sca.databinding.json.POJOTestCase">
-  <properties>
-    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
-    <property name="sun.boot.library.path" value="D:\apps\sun_jdk6_20\jre\bin"/>
-    <property name="java.vm.version" value="16.3-b01"/>
-    <property name="java.vm.vendor" value="Sun Microsystems Inc."/>
-    <property name="java.vendor.url" value="http://java.sun.com/"/>
-    <property name="path.separator" value=";"/>
-    <property name="java.vm.name" value="Java HotSpot(TM) Client VM"/>
-    <property name="file.encoding.pkg" value="sun.io"/>
-    <property name="user.country" value="GB"/>
-    <property name="sun.java.launcher" value="SUN_STANDARD"/>
-    <property name="sun.os.patch.level" value="Service Pack 3"/>
-    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
-    <property name="user.dir" value="D:\sca-java-1.x\modules\databinding-json-2-x"/>
-    <property name="java.runtime.version" value="1.6.0_20-b02"/>
-    <property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
-    <property name="basedir" value="D:\sca-java-1.x\modules\databinding-json-2-x"/>
-    <property name="java.endorsed.dirs" value="D:\apps\sun_jdk6_20\jre\lib\endorsed"/>
-    <property name="os.arch" value="x86"/>
-    <property name="java.io.tmpdir" value="C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\"/>
-    <property name="line.separator" value="
-"/>
-    <property name="java.vm.specification.vendor" value="Sun Microsystems Inc."/>
-    <property name="user.variant" value=""/>
-    <property name="os.name" value="Windows XP"/>
-    <property name="sun.jnu.encoding" value="Cp1252"/>
-    <property name="java.library.path" value="D:\apps\sun_jdk6_20\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\apps\sun_jdk6_20\bin;C:\Program Files\ThinkPad\Utilities;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IBM\Infoprint Select;C:\Notes;C:\Program Files\XLView;C:\lotus\compnent;C:\Utilities;C:\Program Files\Common Files\Lenovo;C:\program files\ibm\personal communications\;C:\Program Files\IBM\Trace Facility\;C:\Program Files\ThinkPad\ConnectUtilities;C:\simon\apps\TortoiseSVN\bin;D:\apps\apache-maven-2.2.1\bin;D:\apps\apache-ant-1.8.0\bin;C:\Program Files\QuickTime\QTSystem\"/>
-    <property name="java.specification.name" value="Java Platform API Specification"/>
-    <property name="java.class.version" value="50.0"/>
-    <property name="sun.management.compiler" value="HotSpot Client Compiler"/>
-    <property name="os.version" value="5.1"/>
-    <property name="user.home" value="C:\Documents and Settings\Administrator"/>
-    <property name="user.timezone" value="Europe/London"/>
-    <property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
-    <property name="file.encoding" value="Cp1252"/>
-    <property name="java.specification.version" value="1.6"/>
-    <property name="user.name" value="slaws"/>
-    <property name="java.class.path" value="C:\Documents and Settings\Administrator\.m2\repository\org\apache\maven\surefire\surefire-booter\2.3.1\surefire-booter-2.3.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\apache\maven\surefire\surefire-api\2.3.1\surefire-api-2.3.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-utils\1.1\plexus-utils-1.1.jar;C:\Documents and Settings\Administrator\.m2\repository\commons-lang\commons-lang\2.1\commons-lang-2.1.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-archiver\1.0-alpha-7\plexus-archiver-1.0-alpha-7.jar;C:\Documents and Settings\Administrator\.m2\repository\org\codehaus\plexus\plexus-container-default\1.0-alpha-8\plexus-container-default-1.0-alpha-8.jar;C:\Documents and Settings\Administrator\.m2\repository\junit\junit\3.8.1\junit-3.8.1.jar;C:\Documents and Settings\Administrator\.m2\repository\classworlds\classworlds\1.1-alpha-2\classworlds-1.1-alpha-2.jar"/>
-    <property name="java.vm.specification.version" value="1.0"/>
-    <property name="sun.arch.data.model" value="32"/>
-    <property name="java.home" value="D:\apps\sun_jdk6_20\jre"/>
-    <property name="java.specification.vendor" value="Sun Microsystems Inc."/>
-    <property name="user.language" value="en"/>
-    <property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
-    <property name="java.vm.info" value="mixed mode"/>
-    <property name="java.version" value="1.6.0_20"/>
-    <property name="java.ext.dirs" value="D:\apps\sun_jdk6_20\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext"/>
-    <property name="sun.boot.class.path" value="D:\apps\sun_jdk6_20\jre\lib\resources.jar;D:\apps\sun_jdk6_20\jre\lib\rt.jar;D:\apps\sun_jdk6_20\jre\lib\sunrsasign.jar;D:\apps\sun_jdk6_20\jre\lib\jsse.jar;D:\apps\sun_jdk6_20\jre\lib\jce.jar;D:\apps\sun_jdk6_20\jre\lib\charsets.jar;D:\apps\sun_jdk6_20\jre\classes"/>
-    <property name="java.vendor" value="Sun Microsystems Inc."/>
-    <property name="localRepository" value="C:\Documents and Settings\Administrator\.m2\repository"/>
-    <property name="file.separator" value="\"/>
-    <property name="java.vendor.url.bug" value="http://java.sun.com/cgi-bin/bugreport.cgi"/>
-    <property name="sun.cpu.endian" value="little"/>
-    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
-    <property name="sun.desktop" value="windows"/>
-    <property name="sun.cpu.isalist" value="pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86"/>
-  </properties>
-  <testcase time="0" name="testString"/>
-  <testcase time="0.015" name="testNull"/>
-  <testcase time="0" name="testArray"/>
-  <testcase time="0" name="testByteArray"/>
-  <testcase time="0" name="testPrimitive"/>
-</testsuite>
\ No newline at end of file
diff --git a/modules/databinding-json-2-x/target/test-classes/ipo.xsd b/modules/databinding-json-2-x/target/test-classes/ipo.xsd
deleted file mode 100644
index 3dc2647..0000000
--- a/modules/databinding-json-2-x/target/test-classes/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
-    * Licensed to the Apache Software Foundation (ASF) under one
-    * or more contributor license agreements.  See the NOTICE file
-    * distributed with this work for additional information
-    * regarding copyright ownership.  The ASF licenses this file
-    * to you 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.    
--->
-<schema targetNamespace="http://www.example.com/IPO"
-	xmlns="http://www.w3.org/2001/XMLSchema"
-	xmlns:ipo="http://www.example.com/IPO">
-
-	<annotation>
-		<documentation xml:lang="en">
-			International Purchase order schema for Example.com
-			Copyright 2000 Example.com. All rights reserved.
-		</documentation>
-	</annotation>
-
-
-	<element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
-	<element name="comment" type="string" />
-
-	<complexType name="PurchaseOrderType">
-		<sequence>
-			<element name="shipTo" type="ipo:Address" />
-			<element name="billTo" type="ipo:Address" />
-			<element ref="ipo:comment" minOccurs="0" />
-			<element name="items" type="ipo:Items" />
-		</sequence>
-		<attribute name="orderDate" type="date" />
-	</complexType>
-
-	<complexType name="Items">
-		<sequence>
-			<element name="item" minOccurs="0" maxOccurs="unbounded">
-				<complexType>
-					<sequence>
-						<element name="productName" type="string" />
-						<element name="quantity">
-							<simpleType>
-								<restriction base="positiveInteger">
-									<maxExclusive value="100" />
-								</restriction>
-							</simpleType>
-						</element>
-						<element name="USPrice" type="decimal" />
-						<element ref="ipo:comment" minOccurs="0" />
-						<element name="shipDate" type="date"
-							minOccurs="0" />
-					</sequence>
-					<attribute name="partNum" type="ipo:SKU"
-						use="required" />
-				</complexType>
-			</element>
-		</sequence>
-	</complexType>
-
-	<simpleType name="SKU">
-		<restriction base="string">
-			<pattern value="\d{3}-[A-Z]{2}" />
-		</restriction>
-	</simpleType>
-
-	<complexType name="Address">
-		<sequence>
-			<element name="name" type="string" />
-			<element name="street" type="string" />
-			<element name="city" type="string" />
-		</sequence>
-	</complexType>
-
-	<complexType name="USAddress">
-		<complexContent>
-			<extension base="ipo:Address">
-				<sequence>
-					<element name="state" type="ipo:USState" />
-					<element name="zip" type="positiveInteger" />
-				</sequence>
-			</extension>
-		</complexContent>
-	</complexType>
-
-	<complexType name="UKAddress">
-		<complexContent>
-			<extension base="ipo:Address">
-				<sequence>
-					<element name="postcode" type="ipo:UKPostcode" />
-				</sequence>
-				<attribute name="exportCode" type="positiveInteger"
-					fixed="1" />
-			</extension>
-		</complexContent>
-	</complexType>
-
-	<!-- other Address derivations for more countries -->
-
-	<simpleType name="USState">
-		<restriction base="string">
-			<enumeration value="AK" />
-			<enumeration value="AL" />
-			<enumeration value="AR" />
-			<enumeration value="CA" />
-			<enumeration value="PA" />
-			<!-- and so on ... -->
-		</restriction>
-	</simpleType>
-
-	<simpleType name="Postcode">
-		<restriction base="string">
-			<length value="7" fixed="true" />
-		</restriction>
-	</simpleType>
-
-
-	<simpleType name="UKPostcode">
-		<restriction base="ipo:Postcode">
-			<pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
-		</restriction>
-	</simpleType>
-
-
-
-</schema>
-
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.class
deleted file mode 100644
index c283f6f..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase$MyBean.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase$MyBean.class
deleted file mode 100644
index c13cd65..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase$MyBean.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase$YourBean.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase$YourBean.class
deleted file mode 100644
index 9015b7d..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase$YourBean.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.class
deleted file mode 100644
index f7de06b..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyBean.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyBean.class
deleted file mode 100644
index e40a669..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyBean.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyInterface.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyInterface.class
deleted file mode 100644
index dec9f57..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyInterface.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.class
deleted file mode 100644
index b77cd66..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/POJOTestCase.class b/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/POJOTestCase.class
deleted file mode 100644
index 7598314..0000000
--- a/modules/databinding-json-2-x/target/test-classes/org/apache/tuscany/sca/databinding/json/POJOTestCase.class
+++ /dev/null
Binary files differ
diff --git a/modules/databinding-json-2-x/target/tuscany-databinding-json-2-x-1.7-SNAPSHOT.jar b/modules/databinding-json-2-x/target/tuscany-databinding-json-2-x-1.7-SNAPSHOT.jar
deleted file mode 100644
index b8d057d..0000000
--- a/modules/databinding-json-2-x/target/tuscany-databinding-json-2-x-1.7-SNAPSHOT.jar
+++ /dev/null
Binary files differ
