Skip to content

Commit 257b2eb

Browse files
committed
Parse URIs using Jena instead of Java Path
.. which does not work on Windows
1 parent a7c57d4 commit 257b2eb

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

src/main/java/org/commonwl/view/cwl/CWLService.java

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,22 @@
1919

2020
package org.commonwl.view.cwl;
2121

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+
2734
import org.apache.commons.io.FileUtils;
2835
import org.apache.commons.io.FilenameUtils;
36+
import org.apache.jena.iri.IRI;
37+
import org.apache.jena.iri.IRIFactory;
2938
import org.apache.jena.ontology.OntModelSpec;
3039
import org.apache.jena.query.QuerySolution;
3140
import org.apache.jena.query.ResultSet;
@@ -47,15 +56,11 @@
4756
import org.springframework.stereotype.Service;
4857
import org.yaml.snakeyaml.Yaml;
4958

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;
5964

6065
/**
6166
* Provides CWL parsing for workflows to gather an overview
@@ -65,6 +70,7 @@
6570
public class CWLService {
6671

6772
private final Logger logger = LoggerFactory.getLogger(this.getClass());
73+
private final IRIFactory iriFactory = IRIFactory.iriImplementation();
6874

6975
// Autowired properties/services
7076
private final RDFService rdfService;
@@ -368,8 +374,10 @@ public Workflow parseWorkflowWithCwltool(Workflow basicModel,
368374
// Add new step
369375
CWLStep wfStep = new CWLStep();
370376

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());
373381
wfStep.setRun(workflowPath.relativize(runPath).toString());
374382
wfStep.setRunType(rdfService.strToRuntype(step.get("runtype").toString()));
375383

0 commit comments

Comments
 (0)