|
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