summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org')
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java61
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java65
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java78
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java106
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java64
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java83
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java94
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java57
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java176
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/InputStream2JSON.java49
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java81
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2OutputStream.java94
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JacksonHelper.java233
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/Object2JSON.java88
14 files changed, 0 insertions, 1329 deletions
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java
deleted file mode 100644
index 4577e7260e..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java
+++ /dev/null
@@ -1,61 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json;
-
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.BaseTransformer;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JSON2String extends BaseTransformer<Object, String> implements
- PullTransformer<Object, String> {
-
- @Override
- protected Class<Object> getSourceType() {
- return Object.class;
- }
-
- @Override
- protected Class<String> getTargetType() {
- return String.class;
- }
-
- public String transform(Object source, TransformationContext context) {
- try {
- return source.toString();
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public int getWeight() {
- return 500;
- }
-
- @Override
- public String getSourceDataBinding() {
- return JSONDataBinding.NAME;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java
deleted file mode 100644
index 4989f59143..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java
+++ /dev/null
@@ -1,65 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.BaseTransformer;
-import org.codehaus.jettison.badgerfish.BadgerFishXMLStreamReader;
-import org.codehaus.jettison.json.JSONObject;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JSON2XMLStreamReader extends BaseTransformer<Object, XMLStreamReader> implements
- PullTransformer<Object, XMLStreamReader> {
-
- @Override
- protected Class<Object> getSourceType() {
- return Object.class;
- }
-
- @Override
- protected Class<XMLStreamReader> getTargetType() {
- return XMLStreamReader.class;
- }
-
- public XMLStreamReader transform(Object source, TransformationContext context) {
- try {
- JSONObject json = JSONHelper.toJettison(source);
- return new BadgerFishXMLStreamReader(json);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public int getWeight() {
- return 500;
- }
- @Override
- public String getSourceDataBinding() {
- return JSONDataBinding.NAME;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java
deleted file mode 100644
index 56b7819474..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java
+++ /dev/null
@@ -1,78 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json;
-
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.databinding.BaseDataBinding;
-import org.apache.tuscany.sca.interfacedef.DataType;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.util.XMLType;
-import org.codehaus.jettison.json.JSONObject;
-
-/**
- * JAXB DataBinding
- *
- * @version $Rev$ $Date$
- */
-public class JSONDataBinding extends BaseDataBinding {
- public static final String NAME = "JSON";
-
- public static final String ROOT_NAMESPACE = "http://tuscany.apache.org/xmlns/sca/databinding/json/1.0";
- public static final QName ROOT_ELEMENT = new QName(ROOT_NAMESPACE, "root");
-
- public JSONDataBinding() {
- super(NAME, org.apache.wink.json4j.JSONObject.class);
- }
-
- @Override
- public boolean introspect(DataType type, Operation operation) {
- assert type != null;
- Class cls = type.getPhysical();
- if (JSONObject.class.isAssignableFrom(cls) || org.apache.wink.json4j.JSONObject.class.isAssignableFrom(cls)) {
- type.setDataBinding(getName());
- if (type.getLogical() == null) {
- type.setLogical(XMLType.UNKNOWN);
- }
- return true;
- }
- return false;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public Object copy(Object arg,
- DataType sourceDataType,
- DataType targetDataType,
- Operation sourceOperation,
- Operation targetOperation) {
- if (arg == null) {
- return null;
- }
- try {
- Class type = arg != null ? arg.getClass() : null;
- return JSONHelper.toJSON(arg.toString(), type);
- } catch (Exception e) {
- throw new IllegalArgumentException(e);
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java
deleted file mode 100644
index 29b2fea649..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java
+++ /dev/null
@@ -1,106 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json;
-
-import java.util.Collection;
-
-import org.apache.tuscany.sca.databinding.json.jackson.JacksonHelper;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
-import org.apache.wink.json4j.JSONArray;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JSONHelper {
- private JSONHelper() {
-
- }
-
- /**
- * Convert to Jettison JSONObject
- * @param source
- * @return
- */
- public static JSONObject toJettison(Object source) {
- JSONObject json = null;
- if (source instanceof JSONObject) {
- json = (JSONObject)source;
- } else if (source instanceof org.apache.wink.json4j.JSONObject || source instanceof String) {
- json = stringToJettision(source.toString());
- } else if (source instanceof JsonNode) {
- json = stringToJettision(JacksonHelper.toString((JsonNode)source));
- } else if (source instanceof JsonParser) {
- json = stringToJettision(JacksonHelper.toString((JsonParser)source));
- }
- return json;
- }
-
- private static JSONObject stringToJettision(String content) {
- try {
- return new JSONObject(content);
- } catch (JSONException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- /**
- * Convert to org.apache.wink.json4j.JSONObject
- * @param source
- * @return
- */
- public static org.apache.wink.json4j.JSONObject toJSONOrg(Object source) {
- org.apache.wink.json4j.JSONObject json = null;
- if (source instanceof JSONObject) {
- try {
- json = new org.apache.wink.json4j.JSONObject(((JSONObject)source).toString());
- } catch (org.apache.wink.json4j.JSONException e) {
- throw new IllegalArgumentException(e);
- }
- } else if (source instanceof org.apache.wink.json4j.JSONObject) {
- json = (org.apache.wink.json4j.JSONObject)source;
- }
- return json;
- }
-
- public static Object toJSON(String json, Class<?> type) {
- if (type == JSONObject.class) {
- try {
- return new JSONObject(json);
- } catch (JSONException e) {
- throw new IllegalArgumentException(e);
- }
- } else {
- if (type == null) {
- type = org.apache.wink.json4j.JSONObject.class;
- }
- try {
- if (type == JSONArray.class || type.isArray() || Collection.class.isAssignableFrom(type)) {
- return new JSONArray(json);
- }
- return JacksonHelper.MAPPER.readValue(json, org.apache.wink.json4j.JSONObject.class);
- } catch (Exception e) {
- throw new IllegalArgumentException(e);
- }
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java
deleted file mode 100644
index 1b4381970b..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java
+++ /dev/null
@@ -1,64 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json;
-
-import org.apache.tuscany.sca.databinding.BaseTransformer;
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class String2JSON extends BaseTransformer<String, Object> implements PullTransformer<String, Object> {
-
- @Override
- protected Class<String> getSourceType() {
- return String.class;
- }
-
- @Override
- protected Class<Object> getTargetType() {
- return Object.class;
- }
-
- public Object transform(String source, TransformationContext context) {
- try {
- Class<?> type = null;
- if (context != null && context.getTargetDataType() != null) {
- type = context.getTargetDataType().getPhysical();
- }
- return JSONHelper.toJSON(source, type);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public int getWeight() {
- return 500;
- }
-
- @Override
- public String getTargetDataBinding() {
- return JSONDataBinding.NAME;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java
deleted file mode 100644
index 76ccc69c55..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java
+++ /dev/null
@@ -1,83 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json;
-
-import java.io.StringWriter;
-
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.common.xml.stax.StAXHelper;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.BaseTransformer;
-import org.codehaus.jettison.badgerfish.BadgerFishXMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class XMLStreamReader2JSON extends BaseTransformer<XMLStreamReader, Object> implements
- PullTransformer<XMLStreamReader, Object> {
-
- private StAXHelper staxHelper;
-
- public XMLStreamReader2JSON(ExtensionPointRegistry registry) {
- staxHelper = StAXHelper.getInstance(registry);
- }
-
- @Override
- protected Class<XMLStreamReader> getSourceType() {
- return XMLStreamReader.class;
- }
-
- @Override
- protected Class<Object> getTargetType() {
- return Object.class;
- }
-
- public Object transform(XMLStreamReader source, TransformationContext context) {
- try {
- StringWriter writer = new StringWriter();
- XMLStreamWriter jsonWriter = new BadgerFishXMLStreamWriter(writer);
- staxHelper.save(source, jsonWriter);
- source.close();
- Class type = null;
- if (context != null && context.getTargetDataType() != null) {
- type = context.getTargetDataType().getPhysical();
- }
- return JSONHelper.toJSON(writer.toString(), type);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public int getWeight() {
- return 500;
- }
-
- @Override
- public String getTargetDataBinding() {
- return JSONDataBinding.NAME;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java
deleted file mode 100644
index c7c9adc882..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java
+++ /dev/null
@@ -1,94 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.axiom;
-
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.Transformer;
-import org.apache.tuscany.sca.databinding.BaseTransformer;
-import org.apache.tuscany.sca.databinding.json.JSONDataBinding;
-import org.apache.tuscany.sca.databinding.json.JSONHelper;
-import org.apache.tuscany.sca.interfacedef.DataType;
-import org.apache.tuscany.sca.interfacedef.util.XMLType;
-import org.codehaus.jettison.json.JSONObject;
-import org.oasisopen.sca.annotation.Service;
-
-/**
- * @version $Rev$ $Date$
- */
-@Service(Transformer.class)
-public class JSON2OMElement extends BaseTransformer<Object, OMElement> implements PullTransformer<Object, OMElement> {
-
- private OMFactory factory = OMAbstractFactory.getOMFactory();
-
- @Override
- protected Class<Object> getSourceType() {
- return Object.class;
- }
-
- @Override
- protected Class<OMElement> getTargetType() {
- return OMElement.class;
- }
-
- public OMElement transform(Object source, TransformationContext context) {
- try {
- JSONObject json = JSONHelper.toJettison(source);
- if (json == null) {
- return null;
- }
- String ns = JSONDataBinding.ROOT_ELEMENT.getNamespaceURI();
- String name = JSONDataBinding.ROOT_ELEMENT.getLocalPart();
- if (context != null) {
- DataType<?> dataType = context.getTargetDataType();
- Object logical = dataType.getLogical();
- if (logical instanceof XMLType) {
- XMLType xmlType = (XMLType)logical;
- if (xmlType.isElement()) {
- ns = xmlType.getElementName().getNamespaceURI();
- name = xmlType.getElementName().getLocalPart();
- }
- }
- }
- JSONBadgerfishDataSource ds = new JSONBadgerfishDataSource(json);
- OMNamespace namespace = factory.createOMNamespace(ns, "");
- return factory.createOMElement(ds, name, namespace);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public int getWeight() {
- return 500;
- }
-
- @Override
- public String getSourceDataBinding() {
- return JSONDataBinding.NAME;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java
deleted file mode 100644
index adc38772be..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java
+++ /dev/null
@@ -1,57 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.axiom;
-
-import javax.xml.stream.XMLStreamException;
-
-import org.codehaus.jettison.badgerfish.BadgerFishXMLStreamReader;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
-
-/**
- * JSONDataSource keeps the JSON String inside and consumes it when needed. This is to be kept in the
- * OMSourcedElementImpl and can be used either to expand the tree or get the JSON String directly without expanding.
- * This uses the "Badgerfish" JSON convention.
- *
- * @version $Rev$ $Date$
- */
-
-public class JSONBadgerfishDataSource extends JSONDataSource {
-
- public JSONBadgerfishDataSource(JSONObject json) {
- super(json);
- }
-
- /**
- * Gives the StAX reader using the "Badgerfish" formatted input JSON String.
- *
- * @return The XMLStreamReader according to the JSON String.
- * @throws javax.xml.stream.XMLStreamException if there is an error while making the StAX reader.
- */
- @Override
- public javax.xml.stream.XMLStreamReader getReader() throws XMLStreamException {
- try {
- return new BadgerFishXMLStreamReader(json);
- } catch (JSONException e) {
- throw new XMLStreamException(e);
- }
-
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java
deleted file mode 100644
index 5b0312056e..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java
+++ /dev/null
@@ -1,176 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.axiom;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMDataSource;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMOutputFormat;
-import org.codehaus.jettison.json.JSONObject;
-import org.codehaus.jettison.json.JSONTokener;
-import org.codehaus.jettison.mapped.MappedXMLInputFactory;
-
-/**
- * JSONDataSource keeps the JSON String inside and consumes it when needed. This is to be kept in the
- * OMSourcedElementImpl and can be used either to expand the tree or get the JSON String directly without expanding.
- * This uses the "Mapped" JSON convention.
- *
- * @version $Rev$ $Date$
- */
-
-public class JSONDataSource implements OMDataSource {
- protected JSONObject json;
-
- public JSONDataSource(JSONObject json) {
- this.json = json;
- }
-
- /**
- * Writes JSON into the output stream. As this should write JSON, it directly gets the JSON string and writes it
- * without expanding the tree.
- *
- * @param outputStream the stream to be written into
- * @param omOutputFormat format of the message, this is ignored.
- * @throws javax.xml.stream.XMLStreamException if there is an error while writing the message in to the output
- * stream.
- */
- public void serialize(OutputStream outputStream, OMOutputFormat omOutputFormat)
- throws javax.xml.stream.XMLStreamException {
- try {
- String encoding = omOutputFormat == null ? "UTF-8" : omOutputFormat.getCharSetEncoding();
- outputStream.write(getJSONString().getBytes(encoding));
- } catch (IOException e) {
- throw new OMException();
- }
- }
-
- /**
- * Writes JSON through the writer. As this should write JSON, it directly gets the JSON string and writes it without
- * expanding the tree.
- *
- * @param writer Writer to be written into
- * @param omOutputFormat format of the message, this is ignored.
- * @throws javax.xml.stream.XMLStreamException if there is an error while writing the message through the writer.
- */
- public void serialize(Writer writer, OMOutputFormat omOutputFormat) throws javax.xml.stream.XMLStreamException {
- try {
- writer.write(getJSONString());
- } catch (IOException e) {
- throw new OMException();
- }
- }
-
- /**
- * Writes XML through the XMLStreamWriter. As the input data source is JSON, this method needs to get a StAX reader
- * from that JSON String. Therefore this uses the getReader() method to get the StAX reader writes the events into
- * the XMLStreamWriter.
- *
- * @param xmlStreamWriter StAX writer to be written into
- * @throws javax.xml.stream.XMLStreamException if there is an error while writing the message through the StAX
- * writer.
- */
- public void serialize(javax.xml.stream.XMLStreamWriter xmlStreamWriter) throws javax.xml.stream.XMLStreamException {
- XMLStreamReader reader = getReader();
- xmlStreamWriter.writeStartDocument();
- while (reader.hasNext()) {
- int x = reader.next();
- switch (x) {
- case XMLStreamConstants.START_ELEMENT:
- xmlStreamWriter.writeStartElement(reader.getPrefix(), reader.getLocalName(), reader
- .getNamespaceURI());
- int namespaceCount = reader.getNamespaceCount();
- for (int i = namespaceCount - 1; i >= 0; i--) {
- xmlStreamWriter.writeNamespace(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
- }
- int attributeCount = reader.getAttributeCount();
- for (int i = 0; i < attributeCount; i++) {
- xmlStreamWriter.writeAttribute(reader.getAttributePrefix(i),
- reader.getAttributeNamespace(i),
- reader.getAttributeLocalName(i),
- reader.getAttributeValue(i));
- }
- break;
- case XMLStreamConstants.START_DOCUMENT:
- break;
- case XMLStreamConstants.CHARACTERS:
- xmlStreamWriter.writeCharacters(reader.getText());
- break;
- case XMLStreamConstants.CDATA:
- xmlStreamWriter.writeCData(reader.getText());
- break;
- case XMLStreamConstants.END_ELEMENT:
- xmlStreamWriter.writeEndElement();
- break;
- case XMLStreamConstants.END_DOCUMENT:
- xmlStreamWriter.writeEndDocument();
- break;
- case XMLStreamConstants.SPACE:
- break;
- case XMLStreamConstants.COMMENT:
- xmlStreamWriter.writeComment(reader.getText());
- break;
- case XMLStreamConstants.DTD:
- xmlStreamWriter.writeDTD(reader.getText());
- break;
- case XMLStreamConstants.PROCESSING_INSTRUCTION:
- xmlStreamWriter.writeProcessingInstruction(reader.getPITarget(), reader.getPIData());
- break;
- case XMLStreamConstants.ENTITY_REFERENCE:
- xmlStreamWriter.writeEntityRef(reader.getLocalName());
- break;
- default:
- throw new OMException();
- }
- }
- xmlStreamWriter.writeEndDocument();
- }
-
- /**
- * Gives the StAX reader using the "Mapped" formatted input JSON String.
- *
- * @return The XMLStreamReader according to the JSON String.
- * @throws javax.xml.stream.XMLStreamException if there is an error while making the StAX reader.
- */
-
- public javax.xml.stream.XMLStreamReader getReader() throws javax.xml.stream.XMLStreamException {
-
- Map<String, String> nsMap = new HashMap<String, String>();
- nsMap.put("", "");
-
- // input factory for "Mapped" convention
- MappedXMLInputFactory inputFactory = new MappedXMLInputFactory(nsMap);
- String jsonString = this.getJSONString();
- return inputFactory.createXMLStreamReader(new JSONTokener(jsonString));
- }
-
- // returns the json string by consuming the JSON input stream.
- protected String getJSONString() {
- return json.toString();
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/InputStream2JSON.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/InputStream2JSON.java
deleted file mode 100644
index 57b9d55b44..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/InputStream2JSON.java
+++ /dev/null
@@ -1,49 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.jackson;
-
-import java.io.InputStream;
-
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.json.JSONDataBinding;
-
-/**
- *
- */
-public class InputStream2JSON implements PullTransformer<InputStream, Object> {
-
- public String getSourceDataBinding() {
- return "application/json" + "#" + InputStream.class.getName();
- }
-
- public String getTargetDataBinding() {
- return JSONDataBinding.NAME;
- }
-
- public int getWeight() {
- return 10;
- }
-
- public Object transform(InputStream source, TransformationContext context) {
- return JacksonHelper.createJsonParser(source);
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java
deleted file mode 100644
index c1afd85d00..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java
+++ /dev/null
@@ -1,81 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.jackson;
-
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding;
-import org.apache.tuscany.sca.databinding.json.JSONDataBinding;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.JavaType;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JSON2Object implements PullTransformer<Object, Object> {
- // private ObjectMapper mapper;
-
- public JSON2Object() {
- super();
- }
-
- public Object transform(Object source, TransformationContext context) {
- if (source == null) {
- return null;
- }
-
- try {
- Class<?> cls = context.getTargetDataType().getPhysical();
- ObjectMapper mapper = JacksonHelper.createObjectMapper(cls);
- JavaType javaType = mapper.constructType(context.getTargetDataType().getGenericType());
- if (source instanceof String) {
- String sourceString = (String) source;
- if(sourceString.isEmpty()) {
- return sourceString;
- } else {
- return mapper.readValue((String)source, javaType);
- }
- } else if (source instanceof JsonNode) {
- return mapper.readValue((JsonNode)source, javaType);
- } else if (source instanceof JsonParser) {
- return mapper.readValue((JsonParser)source, javaType);
- } else {
- return mapper.readValue(source.toString(), javaType);
- }
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public String getSourceDataBinding() {
- return JSONDataBinding.NAME;
- }
-
- public String getTargetDataBinding() {
- return JavaBeansDataBinding.NAME;
- }
-
- public int getWeight() {
- return 5000;
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2OutputStream.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2OutputStream.java
deleted file mode 100644
index 4edc75532b..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2OutputStream.java
+++ /dev/null
@@ -1,94 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.jackson;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.apache.tuscany.sca.databinding.PushTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.json.JSONDataBinding;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.apache.wink.json4j.JSONArray;
-import org.apache.wink.json4j.JSONObject;
-
-/**
- *
- */
-public class JSON2OutputStream implements PushTransformer<Object, OutputStream> {
-
- public String getSourceDataBinding() {
- return JSONDataBinding.NAME;
- }
-
- public String getTargetDataBinding() {
- return "application/json" + "#" + OutputStream.class.getName();
- }
-
- public void transform(Object source, OutputStream sink, TransformationContext context) {
- if (source == null) {
- return;
- }
- if (source instanceof InputStream) {
- try {
- InputStream input = (InputStream) source;
- byte[] buffer = new byte[4096];
- int n = 0;
- while (-1 != (n = input.read(buffer))) {
- sink.write(buffer, 0, n);
- }
- input.close();
- } catch(IOException e) {
- throw new TransformationException(e);
- }
- } else if (source instanceof JsonNode) {
- JacksonHelper.write((JsonNode)source, sink);
- } else if (source instanceof JsonParser) {
- JacksonHelper.write((JsonParser)source, sink);
- } else {
- if (source instanceof String || source instanceof JSONObject
- || source instanceof JSONArray
- || source instanceof org.codehaus.jettison.json.JSONObject
- || source instanceof org.codehaus.jettison.json.JSONArray) {
- try {
- sink.write(source.toString().getBytes("UTF-8"));
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- } else {
- ObjectMapper mapper = JacksonHelper.createObjectMapper(source.getClass());
- try {
- mapper.writeValue(sink, source);
- } catch (Throwable e) {
- throw new TransformationException(e);
- }
- }
- }
- }
-
- public int getWeight() {
- return 50;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JacksonHelper.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JacksonHelper.java
deleted file mode 100644
index d2232eeaec..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JacksonHelper.java
+++ /dev/null
@@ -1,233 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.jackson;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.StringWriter;
-
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
-
-import org.codehaus.jackson.JsonEncoding;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.AnnotationIntrospector;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.MappingJsonFactory;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.deser.BeanDeserializerFactory;
-import org.codehaus.jackson.map.deser.StdDeserializerProvider;
-import org.codehaus.jackson.map.introspect.JacksonAnnotationIntrospector;
-import org.codehaus.jackson.map.module.SimpleDeserializers;
-import org.codehaus.jackson.map.ser.CustomSerializerFactory;
-import org.codehaus.jackson.map.util.StdDateFormat;
-import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
-import org.codehaus.jackson.xc.XmlAdapterJsonDeserializer;
-import org.codehaus.jackson.xc.XmlAdapterJsonSerializer;
-import org.apache.wink.json4j.JSONObject;
-
-//import com.fasterxml.jackson.module.jsonorg.JsonOrgModule;
-
-/**
- *
- */
-public class JacksonHelper {
- public final static ObjectMapper MAPPER = createMapper();
- private final static JsonFactory FACTORY = new MappingJsonFactory(createMapper());
-
- public static ObjectMapper createMapper() {
- return createObjectMapper(null);
- }
-
- @SuppressWarnings({"rawtypes", "unchecked"})
- public static ObjectMapper createObjectMapper(Class<?> cls) {
- ObjectMapper mapper = null;
- if (cls != null) {
- // Workaround for http://jira.codehaus.org/browse/JACKSON-413
- Package pkg = cls.getPackage();
- if (pkg != null) {
- XmlJavaTypeAdapters adapters = pkg.getAnnotation(XmlJavaTypeAdapters.class);
- if (adapters != null) {
- CustomSerializerFactory serializerFactory = new CustomSerializerFactory();
- BeanDeserializerFactory deserializerFactory = new BeanDeserializerFactory(null);
- for (XmlJavaTypeAdapter a : adapters.value()) {
- XmlAdapter xmlAdapter = null;
- try {
- xmlAdapter = a.value().newInstance();
- } catch (Throwable e) {
- // Ignore
- }
- if (xmlAdapter != null) {
- XmlAdapterJsonDeserializer deserializer = new XmlAdapterJsonDeserializer(xmlAdapter);
- XmlAdapterJsonSerializer serializer = new XmlAdapterJsonSerializer(xmlAdapter);
- SimpleDeserializers deserializers = new SimpleDeserializers();
- deserializers.addDeserializer(a.type(), deserializer);
- deserializerFactory.withAdditionalDeserializers(deserializers);
- serializerFactory.addGenericMapping(a.type(), serializer);
- StdDeserializerProvider deserializerProvider =
- new StdDeserializerProvider(deserializerFactory);
- mapper = new ObjectMapper();
- //mapper.registerModule(new JsonOrgModule());
-
- mapper.setSerializerFactory(serializerFactory);
- mapper.setDeserializerProvider(deserializerProvider);
- }
- }
- }
- }
- }
- if ( cls != null && mapper == null ) {
- return MAPPER;
- }
- if (mapper == null) {
- mapper = new ObjectMapper();
- //mapper.registerModule(new JsonOrgModule());
- }
- // Let's honor the Jackson annotations first
- AnnotationIntrospector primary = new JacksonAnnotationIntrospector();
- AnnotationIntrospector secondary = new JaxbAnnotationIntrospector();
- AnnotationIntrospector pair = new AnnotationIntrospector.Pair(primary, secondary);
- mapper.setDeserializationConfig(mapper.getDeserializationConfig().withAnnotationIntrospector(pair)
- .without(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES)
- .withDateFormat(StdDateFormat.getBlueprintISO8601Format()));
- mapper.setSerializationConfig(mapper.getSerializationConfig().withAnnotationIntrospector(pair)
- .withSerializationInclusion(JsonSerialize.Inclusion.NON_NULL)
- .withDateFormat(StdDateFormat.getBlueprintISO8601Format()));
- return mapper;
- }
-
- public static JsonFactory getJsonFactory() {
- return FACTORY;
- }
-
- public static String toString(JsonNode node) {
- try {
- return MAPPER.writeValueAsString(node);
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static String toString(JsonParser parser) {
- try {
- JsonFactory jsonFactory = getJsonFactory();
- StringWriter sw = new StringWriter();
- JsonGenerator generator = jsonFactory.createJsonGenerator(sw);
- JsonNode node = parser.readValueAs(JsonNode.class);
- generator.writeTree(node);
- return sw.toString();
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static JsonParser createJsonParser(String content) {
- JsonFactory jsonFactory = getJsonFactory();
- try {
- return jsonFactory.createJsonParser(content);
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static JsonParser createJsonParser(InputStream content) {
- JsonFactory jsonFactory = getJsonFactory();
- try {
- return jsonFactory.createJsonParser(content);
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static JsonParser createJsonParser(Reader content) {
- JsonFactory jsonFactory = getJsonFactory();
- try {
- return jsonFactory.createJsonParser(content);
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static void write(JsonNode node, OutputStream out) {
- try {
- JsonFactory jsonFactory = getJsonFactory();
- JsonGenerator generator = jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8);
- generator.writeTree(node);
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static void write(JsonParser parser, OutputStream out) {
- try {
- JsonFactory jsonFactory = getJsonFactory();
- JsonGenerator generator = jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8);
- JsonNode node = parser.readValueAs(JsonNode.class);
- generator.writeTree(node);
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static JSONObject read(InputStream is) throws IOException {
- try {
- return MAPPER.readValue(is, JSONObject.class);
- } catch (Exception e) {
- throw new IOException(e);
- }
- }
-
- /**
- * Read from String into a org.apache.wink.json4j.JSONObject
- * @param json
- * @return
- */
- public static JSONObject read(String json) {
- try {
- return MAPPER.readValue(json, JSONObject.class);
- } catch (Exception e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public static void write(JSONObject json, OutputStream out) throws IOException {
- try {
- MAPPER.writeValue(out, json);
- } catch (Exception e) {
- throw new IOException(e);
- }
- }
-
- public static String write(JSONObject json) throws IOException {
- try {
- return MAPPER.writeValueAsString(json);
- } catch (Exception e) {
- throw new IOException(e);
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/Object2JSON.java b/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/Object2JSON.java
deleted file mode 100644
index 2b77054934..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/Object2JSON.java
+++ /dev/null
@@ -1,88 +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.
- */
-
-package org.apache.tuscany.sca.databinding.json.jackson;
-
-import java.math.BigDecimal;
-
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding;
-import org.apache.tuscany.sca.databinding.json.JSONDataBinding;
-import org.apache.tuscany.sca.databinding.json.JSONHelper;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.ObjectMapper;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Object2JSON implements PullTransformer<Object, Object> {
-
- public Object2JSON() {
- super();
- }
-
- public Object transform(Object source, TransformationContext context) {
- if (source == null) {
- return null;
- }
-
- Class<?> targetType = null;
- if (context != null && context.getTargetDataType() != null) {
- targetType = context.getTargetDataType().getPhysical();
- }
- if (targetType == null) {
- targetType = String.class;
- }
- try {
- if (targetType != null && targetType.isPrimitive()) {
- return source;
- }
- ObjectMapper mapper = JacksonHelper.createObjectMapper(targetType);
- String value = mapper.writeValueAsString(source);
- if (JsonNode.class.isAssignableFrom(targetType)) {
- return JacksonHelper.createJsonParser(value).readValueAsTree();
- } else if (targetType == String.class || targetType == Object.class || targetType.isPrimitive()) {
- return value;
- } else if (targetType == BigDecimal.class) {
- return value.toString();
- } else if (JsonParser.class.isAssignableFrom(targetType)) {
- return JacksonHelper.createJsonParser(value);
- } else {
- return JSONHelper.toJSON(value, targetType);
- }
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public String getSourceDataBinding() {
- return JavaBeansDataBinding.NAME;
- }
-
- public String getTargetDataBinding() {
- return JSONDataBinding.NAME;
- }
-
- public int getWeight() {
- return 5000;
- }
-}