|
19 | 19 |
|
20 | 20 | package org.commonwl.view.cwl; |
21 | 21 |
|
22 | | -import com.fasterxml.jackson.databind.JsonNode; |
23 | | -import com.fasterxml.jackson.databind.ObjectMapper; |
24 | | -import com.fasterxml.jackson.databind.node.ArrayNode; |
25 | | -import com.fasterxml.jackson.databind.node.ObjectNode; |
26 | | -import com.fasterxml.jackson.databind.node.TextNode; |
| 22 | +import static org.apache.commons.io.FileUtils.readFileToString; |
| 23 | + |
| 24 | +import java.io.ByteArrayInputStream; |
| 25 | +import java.io.File; |
| 26 | +import java.io.IOException; |
| 27 | +import java.io.StringWriter; |
| 28 | +import java.util.ArrayList; |
| 29 | +import java.util.HashMap; |
| 30 | +import java.util.Iterator; |
| 31 | +import java.util.List; |
| 32 | +import java.util.Map; |
| 33 | + |
27 | 34 | import org.apache.commons.io.FileUtils; |
28 | 35 | import org.apache.commons.io.FilenameUtils; |
| 36 | +import org.apache.jena.iri.IRI; |
| 37 | +import org.apache.jena.iri.IRIFactory; |
29 | 38 | import org.apache.jena.ontology.OntModelSpec; |
30 | 39 | import org.apache.jena.query.QuerySolution; |
31 | 40 | import org.apache.jena.query.ResultSet; |
|
47 | 56 | import org.springframework.stereotype.Service; |
48 | 57 | import org.yaml.snakeyaml.Yaml; |
49 | 58 |
|
50 | | -import java.io.ByteArrayInputStream; |
51 | | -import java.io.File; |
52 | | -import java.io.IOException; |
53 | | -import java.io.StringWriter; |
54 | | -import java.nio.file.Path; |
55 | | -import java.nio.file.Paths; |
56 | | -import java.util.*; |
57 | | - |
58 | | -import static org.apache.commons.io.FileUtils.readFileToString; |
| 59 | +import com.fasterxml.jackson.databind.JsonNode; |
| 60 | +import com.fasterxml.jackson.databind.ObjectMapper; |
| 61 | +import com.fasterxml.jackson.databind.node.ArrayNode; |
| 62 | +import com.fasterxml.jackson.databind.node.ObjectNode; |
| 63 | +import com.fasterxml.jackson.databind.node.TextNode; |
59 | 64 |
|
60 | 65 | /** |
61 | 66 | * Provides CWL parsing for workflows to gather an overview |
|
65 | 70 | public class CWLService { |
66 | 71 |
|
67 | 72 | private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 73 | + private final IRIFactory iriFactory = IRIFactory.iriImplementation(); |
68 | 74 |
|
69 | 75 | // Autowired properties/services |
70 | 76 | private final RDFService rdfService; |
@@ -368,8 +374,10 @@ public Workflow parseWorkflowWithCwltool(Workflow basicModel, |
368 | 374 | // Add new step |
369 | 375 | CWLStep wfStep = new CWLStep(); |
370 | 376 |
|
371 | | - Path workflowPath = Paths.get(step.get("wf").toString()).getParent(); |
372 | | - Path runPath = Paths.get(step.get("run").toString()); |
| 377 | + IRI wfStepUri = iriFactory.construct(step.get("wf").asResource().getURI()); |
| 378 | + IRI workflowPath = wfStepUri.resolve("./"); |
| 379 | + |
| 380 | + IRI runPath = iriFactory.construct(step.get("run").asResource().getURI()); |
373 | 381 | wfStep.setRun(workflowPath.relativize(runPath).toString()); |
374 | 382 | wfStep.setRunType(rdfService.strToRuntype(step.get("runtype").toString())); |
375 | 383 |
|
|
0 commit comments