You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/07/02 16:49:00 UTC
[05/25] incubator-taverna-language git commit: addResource with
old-style Document (now @deprecated)
addResource with old-style Document (now @deprecated)
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/8f9dfdfe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/8f9dfdfe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/8f9dfdfe
Branch: refs/heads/ucfpackage-robundle
Commit: 8f9dfdfea1b2f8b642f6387208352d891efd7e07
Parents: d3c571e
Author: Stian Soiland-Reyes <st...@soiland-reyes.com>
Authored: Wed Dec 11 16:47:07 2013 +0000
Committer: Stian Soiland-Reyes <so...@cs.manchester.ac.uk>
Committed: Thu Jul 2 15:06:27 2015 +0100
----------------------------------------------------------------------
.../taverna/scufl2/ucfpackage/UCFPackage.java | 35 +++++++++++++++-----
1 file changed, 27 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/8f9dfdfe/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java b/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
index a1e32d3..6a89cb2 100644
--- a/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
+++ b/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
@@ -49,6 +49,12 @@ import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
import org.apache.taverna.scufl2.ucfpackage.impl.odfdom.pkg.OdfPackage;
import org.apache.taverna.scufl2.ucfpackage.impl.odfdom.pkg.manifest.OdfFileEntry;
@@ -272,16 +278,29 @@ public class UCFPackage implements Cloneable {
manifest.getAggregation(bundlePath).setMediatype(mediaType);
}
+ @Deprecated
public void addResource(Document document, String path, String mediaType)
throws IOException {
- try {
- odfPackage.insert(document, path, mediaType);
- } catch (IOException e) {
- throw e;
- } catch (Exception e) {
- throw new IOException("Could not add " + path, e);
- }
- if (path.equals(CONTAINER_XML))
+
+ Path bundlePath = bundle.getRoot().resolve(path);
+ TransformerFactory tFactory = TransformerFactory.newInstance();
+ Transformer transformer;
+ try {
+ transformer = tFactory.newTransformer();
+ } catch (TransformerConfigurationException e) {
+ throw new IOException("Can't create XML transformer to save "
+ + path, e);
+ }
+
+ DOMSource source = new DOMSource(document);
+ try (OutputStream outStream = Files.newOutputStream(bundlePath)) {
+ StreamResult result = new StreamResult(outStream);
+ transformer.transform(source, result);
+ } catch (TransformerException e) {
+ throw new IOException("Can't save XML to " + path, e);
+ }
+
+ if (path.equals(CONTAINER_XML)) {
parseContainerXML();
}