diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:07:45 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:07:45 +0000 |
commit | 6a3ca6736c808c1647854e405ef379b609f276db (patch) | |
tree | 67670193d3511b227100419589d0f2ec0bb02cc0 /branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main | |
parent | 9f395ebf3ec27f89c8dc63137bc99c8d6b0cff6d (diff) |
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835126 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main')
5 files changed, 0 insertions, 398 deletions
diff --git a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java b/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java deleted file mode 100644 index 8695d096c2..0000000000 --- a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java +++ /dev/null @@ -1,142 +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.sdo2om; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.axiom.om.OMXMLParserWrapper; -import org.apache.axiom.om.impl.builder.StAXBuilder; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Helper for AXIOM - * - * @version $Rev$ $Date$ - */ -public class AxiomHelper { - private static final String DEFAULT_PREFIX = "_ns_"; - - private AxiomHelper() { - } - - /** - * See http://issues.apache.org/jira/browse/WSCOMMONS-240 - * @param om - */ - public static void completeAndClose(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - } - OMElement document = builder.getDocumentElement(); - if (document != null) { - document.build(); - } - } - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).close(); - } - } - - /** - * This method will close the builder immediately. Any subsequent Axiom objects won't - * be built or accessible. - */ - public static void closeImmediately(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - ((StAXBuilder)builder).close(); - } - // builder.close(); - } - } - - /** - * @param context - * @param element - */ - public static void adjustElementName(TransformationContext context, OMElement element) { - if (context != null) { - DataType dataType = context.getTargetDataType(); - Object logical = dataType == null ? null : dataType.getLogical(); - if (!(logical instanceof XMLType)) { - return; - } - XMLType xmlType = (XMLType)logical; - if (xmlType.isElement() && !xmlType.getElementName().equals(element.getQName())) { - // FIXME:: Throw expection or switch to the new Element? - OMFactory factory = OMAbstractFactory.getOMFactory(); - QName name = xmlType.getElementName(); - OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix()); - element.setNamespace(namespace); - element.setLocalName(name.getLocalPart()); - } - } - } - - public static OMElement createOMElement(OMFactory factory, QName element) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(localName, ns); - - } - - public static OMElement createOMElement(OMFactory factory, QName element, OMDataSource dataSource) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(dataSource, localName, ns); - - } - - /** - * @param factory - * @param name - * @return - */ - public static OMNamespace createOMNamespace(OMFactory factory, QName name) { - String namespaceURI = name.getNamespaceURI(); - String prefix = name.getPrefix(); - - OMNamespace ns = null; - if (namespaceURI.length() != 0) { - // Qualified Element: we need an OMNamespace - if (prefix.length() == 0) { - // The prefix does not appear to be specified, let's create one - prefix = DEFAULT_PREFIX; - } - ns = factory.createOMNamespace(namespaceURI, prefix); - } - return ns; - } -} diff --git a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.java b/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.java deleted file mode 100644 index ef6b5b0bf2..0000000000 --- a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.java +++ /dev/null @@ -1,86 +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.sdo2om; - -import static org.apache.tuscany.sca.databinding.sdo.SDODataBinding.ROOT_ELEMENT; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.sdo.SDOContextHelper; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -/** - * SDO DataObject --> AXIOM OMElement transformer - * - * @version $Rev$ $Date$ - */ -public class DataObject2OMElement extends BaseTransformer<DataObject, OMElement> implements - PullTransformer<DataObject, OMElement> { - - public OMElement transform(DataObject source, TransformationContext context) { - HelperContext helperContext = SDOContextHelper.getHelperContext(context); - OMFactory factory = OMAbstractFactory.getOMFactory(); - - QName name = ROOT_ELEMENT; - if (context != null) { - DataType dataType = context.getTargetDataType(); - Object logical = dataType == null ? null : dataType.getLogical(); - if (logical instanceof XMLType) { - XMLType xmlType = (XMLType)logical; - if (xmlType.isElement()) { - name = xmlType.getElementName(); - } - } - } - - XMLDocument document = helperContext.getXMLHelper().createDocument(source, - name.getNamespaceURI(), - name.getLocalPart()); - SDODataSource dataSource = new SDODataSource(document, helperContext); - OMElement element = AxiomHelper.createOMElement(factory, name, dataSource); - return element; - } - - @Override - public Class getSourceType() { - return DataObject.class; - } - - @Override - public Class getTargetType() { - return OMElement.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.java b/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.java deleted file mode 100644 index 16a6607052..0000000000 --- a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.java +++ /dev/null @@ -1,85 +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.sdo2om; - -import static org.apache.tuscany.sca.databinding.sdo.SDODataBinding.ROOT_ELEMENT; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.Writer; - -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMOutputFormat; -import org.apache.axiom.om.impl.serialize.StreamingOMSerializer; -import org.apache.tuscany.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.api.XMLStreamHelper; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -public class SDODataSource implements OMDataSource { - private HelperContext helperContext; - private XMLDocument sourceDocument; - - public SDODataSource(XMLDocument source, HelperContext helperContext) { - this.sourceDocument = source; - this.helperContext = helperContext; - } - - public SDODataSource(DataObject obj, HelperContext helperContext) { - this.helperContext = helperContext; - this.sourceDocument = - helperContext.getXMLHelper().createDocument(obj, - ROOT_ELEMENT.getNamespaceURI(), - ROOT_ELEMENT.getLocalPart()); - } - - public XMLStreamReader getReader() throws XMLStreamException { - XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext); - return streamHelper.createXMLStreamReader(sourceDocument); - } - - public void serialize(XMLStreamWriter xmlWriter) throws XMLStreamException { - StreamingOMSerializer serializer = new StreamingOMSerializer(); - serializer.serialize(getReader(), xmlWriter); - } - - public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException { - try { - helperContext.getXMLHelper().save(sourceDocument, output, null); - } catch (Exception e) { - throw new XMLStreamException(e); - } - } - - public void serialize(Writer writer, OMOutputFormat format) throws XMLStreamException { - try { - helperContext.getXMLHelper().save(sourceDocument, writer, null); - } catch (IOException e) { - throw new XMLStreamException(e); - } - } - -} diff --git a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.java b/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.java deleted file mode 100644 index 1f3384efd8..0000000000 --- a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.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.sdo2om; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.sdo.SDOContextHelper; - -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -/** - * SDO XMLDocument --> AXIOM OMElement transformer - * @version $Rev$ $Date$ - */ -public class XMLDocument2OMElement extends BaseTransformer<XMLDocument, OMElement> implements - PullTransformer<XMLDocument, OMElement> { - - public OMElement transform(XMLDocument source, TransformationContext context) { - HelperContext helperContext = SDOContextHelper.getHelperContext(context); - SDODataSource dataSource = new SDODataSource(source, helperContext); - OMFactory factory = OMAbstractFactory.getOMFactory(); - QName name = new QName(source.getRootElementURI(), source.getRootElementName()); - OMElement element = AxiomHelper.createOMElement(factory, name, dataSource); - return element; - } - - @Override - public Class getSourceType() { - return XMLDocument.class; - } - - @Override - public Class getTargetType() { - return OMElement.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index c870ec2406..0000000000 --- a/branches/sca-java-1.2.1/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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 transformers -org.apache.tuscany.sca.databinding.sdo2om.DataObject2OMElement;source=commonj.sdo.DataObject,target=org.apache.axiom.om.OMElement,weight=3000 -org.apache.tuscany.sca.databinding.sdo2om.XMLDocument2OMElement;source=commonj.sdo.helper.XMLDocument,target=org.apache.axiom.om.OMElement,weight=3000 |