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/13 17:12:34 UTC

[2/3] incubator-taverna-language git commit: adding CA creators as RO authors

adding CA creators as RO authors

previously, the importer just treated a single (first) CA creator as the RO creator. this patch imports all CA creators as RO authors and if there is only one creator it is also added as an RO creator.

fixes https://issues.apache.org/jira/browse/TAVERNA-845


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/3cf8cf7d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/3cf8cf7d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/3cf8cf7d

Branch: refs/heads/master
Commit: 3cf8cf7d4c7e8bcca05eab280207870361bb3be2
Parents: 075ef0b
Author: Martin Scharm <ma...@binfalse.de>
Authored: Mon Jul 13 15:27:25 2015 +0100
Committer: Martin Scharm <ma...@binfalse.de>
Committed: Mon Jul 13 15:27:25 2015 +0100

----------------------------------------------------------------------
 .../manifest/combine/CombineManifest.java       | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/3cf8cf7d/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
----------------------------------------------------------------------
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 ddad7af..16188b4 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
@@ -377,14 +377,18 @@ public class CombineManifest {
 				}
 			}
 
+			// add the COMBINE "creators" as RO "authors"
+			List<Agent> authors = pathMetadata.getAuthoredBy ();
+			
 			for (RDFNode s : creatingAgentsFor(resource)) {
-				if (pathMetadata.getCreatedBy() != null) {
-					logger.warning("Ignoring additional createdBy agents for "
-							+ resource);
-					break;
+				if (authors == null)
+				{
+					authors = new ArrayList<Agent> ();
+					pathMetadata.setAuthoredBy (authors);
 				}
+				
 				if (s.isLiteral()) {
-					pathMetadata.setCreatedBy(new Agent(s.asLiteral()
+					authors.add (new Agent(s.asLiteral()
 							.getLexicalForm()));
 					continue;
 				}
@@ -402,8 +406,12 @@ public class CombineManifest {
 						agent.setUri(URI.create(mbox.getURI()));
 				}
 				agent.setName(nameForAgent(agentResource));
-				pathMetadata.setCreatedBy(agent);
+				authors.add (agent);
 			}
+			// 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