diff options
Diffstat (limited to 'branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java')
-rw-r--r-- | branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java b/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java deleted file mode 100644 index 4d0f3d7de8..0000000000 --- a/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLHelperImpl.java +++ /dev/null @@ -1,193 +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.sdo.helper; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.Reader; -import java.io.StringReader; -import java.io.StringWriter; -import java.io.Writer; -import java.util.Map; - -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.sax.SAXResult; -import javax.xml.transform.sax.SAXSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.eclipse.emf.ecore.util.ExtendedMetaData; -import org.xml.sax.InputSource; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; - -/** - * A helper to convert XML documents into DataObects and DataObjects into XML - * documnets. - */ -public class XMLHelperImpl implements XMLHelper { - protected HelperContext helperContext; - private ExtendedMetaData extendedMetaData; - - - public XMLHelperImpl(HelperContext hc) { - this.helperContext = hc; - this.extendedMetaData = ((HelperContextImpl)hc).extendedMetaData; - } - - public XMLDocument load(String inputString) { - try { - return load(new StringReader(inputString), null, null); - } catch (IOException e) { - throw new RuntimeException(e); // should never happen - } - } - - public XMLDocument load(String inputString, Object options) { - try { - return load(new StringReader(inputString), null, options); - } catch (IOException e) { - throw new RuntimeException(e); // should never happen - } - } - - public XMLDocument load(InputStream inputStream) throws IOException { - return load(inputStream, null, null); - } - - private Object checkSetOptions(Object options) throws IOException { - if (options != null && !(options instanceof Map)) { - throw new IOException("Invalid load options!"); - } - - if (helperContext != null) { - return ((HelperContextImpl)helperContext).getMergedOption((Map)options); - } else {// null is acceptable as it will be ignored - return options; - } - } - - public XMLDocument load(InputStream inputStream, String locationURI, Object options) throws IOException { - options = checkSetOptions(options); - XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options); - document.load(inputStream, locationURI, options); - return document; - } - - public XMLDocument load(Reader inputReader, String locationURI, Object options) throws IOException { - XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options); - options = checkSetOptions(options); - document.load(inputReader, locationURI, options); - return document; - } - - public XMLDocument load(Source source, String locationURI, Object options) throws IOException { - options = checkSetOptions(options); - if (source instanceof DOMSource) { - DOMSource domSource = (DOMSource)source; - XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options); - document.load(domSource.getNode(), options); - return document; - } else if (source instanceof SAXSource) { - XMLDocumentImpl document = new XMLDocumentImpl(extendedMetaData, options); - InputSource inputSource = SAXSource.sourceToInputSource(source); - document.load(inputSource, locationURI, options); - return document; - } else if (source instanceof StreamSource) { - return load(((StreamSource)source).getInputStream(), locationURI, options); - } else { - throw new UnsupportedOperationException(); - } - } - - public String save(DataObject dataObject, String rootElementURI, String rootElementName) { - StringWriter stringWriter = new StringWriter(); - try { - save(createDocument(dataObject, rootElementURI, rootElementName), stringWriter, null); - return stringWriter.toString(); - } catch (IOException e) { - throw new RuntimeException(e); // should never happen - } - } - - public String save(DataObject dataObject, String rootElementURI, String rootElementName, Object options) { - StringWriter stringWriter = new StringWriter(); - try { - save(createDocument(dataObject, rootElementURI, rootElementName), stringWriter, options); - return stringWriter.toString(); - } catch (IOException e) { - throw new RuntimeException(e); // should never happen - } - } - - public void save(DataObject dataObject, String rootElementURI, String rootElementName, OutputStream outputStream) - throws IOException { - save(createDocument(dataObject, rootElementURI, rootElementName), outputStream, null); - } - - - public void save(DataObject dataObject, - String rootElementURI, - String rootElementName, - OutputStream outputStream, - Object options) throws IOException { - save(createDocument(dataObject, rootElementURI, rootElementName), outputStream, null); - } - - public void save(XMLDocument xmlDocument, OutputStream outputStream, Object options) throws IOException { - options = checkSetOptions(options); - ((XMLDocumentImpl)xmlDocument).save(outputStream, options); - } - - public void save(XMLDocument xmlDocument, Writer outputWriter, Object options) throws IOException { - options = checkSetOptions(options); - ((XMLDocumentImpl)xmlDocument).save(outputWriter, options); - } - - public void save(XMLDocument xmlDocument, Result outputResult, Object options) throws IOException { - options = checkSetOptions(options); - if (outputResult instanceof DOMResult) { - ((XMLDocumentImpl)xmlDocument).save(((DOMResult)outputResult).getNode(), options); - } else if (outputResult instanceof SAXResult) { - throw new UnsupportedOperationException(); - } else if (outputResult instanceof StreamResult) { - save(xmlDocument, ((StreamResult)outputResult).getOutputStream(), options); - } else { - throw new UnsupportedOperationException(); - } - } - - public XMLDocument createDocument(DataObject dataObject, String rootElementURI, String rootElementName) { - XMLDocument xmlDocument = new XMLDocumentImpl(extendedMetaData, dataObject, rootElementURI, rootElementName); - xmlDocument.setEncoding("UTF-8"); - return xmlDocument; - } - - public HelperContext getHelperContext() { - return helperContext; - } -} |