TAVERNA-1044: Use RDFParser.create builder

..for more control of warnings
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
index 854667a..b171835 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
@@ -1,5 +1,14 @@
 package org.apache.taverna.robundle.manifest.combine;
 
+import static java.nio.file.Files.createDirectories;
+import static java.nio.file.Files.exists;
+import static java.nio.file.Files.isRegularFile;
+import static java.nio.file.Files.newInputStream;
+import static java.nio.file.Files.newOutputStream;
+import static java.nio.file.Files.setLastModifiedTime;
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Level.WARNING;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -8,9 +17,9 @@
  * 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
@@ -21,16 +30,6 @@
 
 
 import static org.apache.jena.rdf.model.ModelFactory.createDefaultModel;
-import static java.nio.file.Files.createDirectories;
-import static java.nio.file.Files.exists;
-import static java.nio.file.Files.isRegularFile;
-import static java.nio.file.Files.newInputStream;
-import static java.nio.file.Files.newOutputStream;
-import static java.nio.file.Files.setLastModifiedTime;
-import static java.util.logging.Level.FINE;
-import static java.util.logging.Level.WARNING;
-import static org.apache.jena.riot.RDFDataMgr.read;
-import static org.apache.jena.riot.RDFLanguages.RDFXML;
 import static org.apache.taverna.robundle.utils.RDFUtils.literalAsFileTime;
 
 import java.io.IOException;
@@ -54,17 +53,6 @@
 import javax.xml.transform.Source;
 import javax.xml.transform.sax.SAXSource;
 
-import org.apache.jena.riot.RiotException;
-import org.apache.taverna.robundle.Bundle;
-import org.apache.taverna.robundle.manifest.Agent;
-import org.apache.taverna.robundle.manifest.PathAnnotation;
-import org.apache.taverna.robundle.manifest.PathMetadata;
-
-import org.apache.taverna.robundle.xml.combine.Content;
-import org.apache.taverna.robundle.xml.combine.ObjectFactory;
-import org.apache.taverna.robundle.xml.combine.OmexManifest;
-import org.xml.sax.InputSource;
-
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.jena.query.QueryExecution;
 import org.apache.jena.query.QueryExecutionFactory;
@@ -76,11 +64,23 @@
 import org.apache.jena.rdf.model.RDFNode;
 import org.apache.jena.rdf.model.Resource;
 import org.apache.jena.rdf.model.Statement;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFParser;
+import org.apache.jena.riot.RiotException;
+import org.apache.taverna.robundle.Bundle;
+import org.apache.taverna.robundle.manifest.Agent;
+import org.apache.taverna.robundle.manifest.PathAnnotation;
+import org.apache.taverna.robundle.manifest.PathMetadata;
+import org.apache.taverna.robundle.xml.combine.Content;
+import org.apache.taverna.robundle.xml.combine.ObjectFactory;
+import org.apache.taverna.robundle.xml.combine.OmexManifest;
+import org.xml.sax.InputSource;
+
 import com.sun.xml.bind.marshaller.NamespacePrefixMapper;
 
 /**
  * Parse and generate COMBINE Archive OMEX manifest
- * 
+ *
  * @author Stian Soiland-Reyes
  */
 public class CombineManifest {
@@ -238,19 +238,26 @@
 	private static Model parseRDF(Path metadata) throws IOException {
 		Model model = createDefaultModel();
 		try (InputStream in = newInputStream(metadata)) {
-			// TAVERNA-1027: Workaround for JENA-1462 - 
-			// RO Bundle URIs like 
-			// app://fad6e1b4-c0d1-45be-a978-7a570b62aa8d/manifest.xml
-			// can't be used as base URI when parsing RDF/XML
-			read(model, in, fakeFileURI(metadata), RDFXML);
+			RDFParser.create()
+					.base(fakeFileURI(metadata))
+					.lang(Lang.RDFXML)
+					.source(in)
+					.parse(model.getGraph());
 		}
 		return model;
 	}
 
+	/**
+	 * Convert Path's URI to a fake file:/// URI
+	 * <p>
+	 * TAVERNA-1027: Workaround for JENA-1462 - RO Bundle URIs like
+	 * app://fad6e1b4-c0d1-45be-a978-7a570b62aa8d/manifest.xml can't be used as base
+	 * URI when parsing RDF/XML in Jena 3.6.0 or earlier
+	 */
 	private static String fakeFileURI(Path path) {
 		return fakeFileURI(path.toAbsolutePath().toUri());
 	}
-	
+
 	private static String fakeFileURI(URI uri) {
 		// Assume path starts with "/"
 		return "file://" + uri.getPath();
@@ -404,14 +411,14 @@
 
 			// add the COMBINE "creators" as RO "authors"
 			List<Agent> authors = pathMetadata.getAuthoredBy ();
-			
+
 			for (RDFNode s : creatingAgentsFor(resource)) {
 				if (authors == null)
 				{
 					authors = new ArrayList<Agent> ();
 					pathMetadata.setAuthoredBy (authors);
 				}
-				
+
 				if (s.isLiteral()) {
 					authors.add (new Agent(s.asLiteral()
 							.getLexicalForm()));
@@ -436,7 +443,7 @@
 			// if there is a single COMBINE "creator" it is also the RO "creator"
 			if (authors != null && authors.size () == 1)
 				pathMetadata.setCreatedBy (authors.get (0));
-			
+
 			if (pathMetadata.getFile().equals(bundle.getRoot())
 					|| pathMetadata.getFile().equals(metadataRdf)) {
 				// Statements where about the RO itself
@@ -505,6 +512,7 @@
 		}
 		if (!manifest.getManifest().contains(manifestXml))
 			manifest.getManifest().add(manifestXml);
+
 		for (Content c : omexManifest.getContent()) {
 			PathMetadata metadata;
 			if (c.getLocation().contains(":")) {