Skip to content

Commit fae2c1a

Browse files
committed
improve secondary files
1 parent 0f22722 commit fae2c1a

File tree

2 files changed

+68
-73
lines changed

2 files changed

+68
-73
lines changed

src/main/java/org/w3id/cwl/cwl1_2/utils/RootLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static Object loadDocument(final Map<String, Object> doc) {
2828
}
2929

3030
public static Object loadDocument(final Path path) {
31-
return loadDocument(readPath(path));
31+
return loadDocument(readPath(path), path.toUri().toString());
3232
}
3333

3434
public static Object loadDocument(final Path path, String baseUri) {

src/main/java/org/w3id/cwl/cwl1_2/utils/SecondaryFilesDslLoader.java

Lines changed: 67 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -6,79 +6,74 @@
66
import java.util.Map;
77

88
public class SecondaryFilesDslLoader<T> implements Loader<T> {
9-
private final Loader<T> innerLoader;
10-
11-
public SecondaryFilesDslLoader(final Loader<T> innerLoader) {
12-
this.innerLoader = innerLoader;
13-
}
9+
private final Loader<T> innerLoader;
1410

11+
public SecondaryFilesDslLoader(final Loader<T> innerLoader) {
12+
this.innerLoader = innerLoader;
13+
}
1514

16-
public T load(
17-
final Object doc_,
18-
final String baseUri,
19-
final LoadingOptions loadingOptions,
20-
final String docRoot) {
21-
Object doc = doc_;
22-
List<Map<String, Object>> r = new ArrayList<Map<String, Object>>();
23-
if (doc instanceof List) {
24-
final List<Object> docList = (List<Object>) doc;
25-
for (final Object d : docList) {
26-
Map<String, Object> entry = new HashMap<String, Object>();
27-
if (d instanceof String) {
28-
String dString = (String) d;
29-
if (dString.endsWith("?")) {
30-
entry.put("pattern", dString.substring(0, dString.length()-1));
31-
entry.put("required", false);
32-
} else {
33-
entry.put("pattern", dString);
34-
}
35-
r.add(entry);
36-
} else if (d instanceof Map) {
37-
Map<String, Object> dMap = (Map<String, Object>) d;
38-
if (dMap.containsKey("pattern")) {
39-
entry.put("pattern", dMap.remove("pattern"));
40-
} else {
41-
throw new ValidationException("Missing 'pattern' in secondaryFiles specification entry.");
42-
}
43-
if (dMap.containsKey("required")) {
44-
entry.put("required", dMap.remove("required"));
45-
}
46-
if (dMap.size() > 0) {
47-
throw new ValidationException("Unallowed values in secondaryFiles specification entry.");
48-
}
49-
r.add(entry);
50-
} else {
51-
throw new ValidationException("Expected a string or sequence of (strings or mappings).");
15+
public T load(final Object doc_, final String baseUri, final LoadingOptions loadingOptions, final String docRoot) {
16+
Object doc = doc_;
17+
List<Map<String, Object>> r = new ArrayList<Map<String, Object>>();
18+
if (doc instanceof List) {
19+
final List<Object> docList = (List<Object>) doc;
20+
for (final Object d : docList) {
21+
Map<String, Object> entry = new HashMap<String, Object>();
22+
if (d instanceof String) {
23+
String dString = (String) d;
24+
if (dString.endsWith("?")) {
25+
entry.put("pattern", dString.substring(0, dString.length() - 1));
26+
entry.put("required", false);
27+
} else {
28+
entry.put("pattern", dString);
29+
}
30+
r.add(entry);
31+
} else if (d instanceof Map) {
32+
Map<String, Object> dMap = (Map<String, Object>) d;
33+
if (dMap.containsKey("pattern")) {
34+
entry.put("pattern", dMap.remove("pattern"));
35+
} else {
36+
throw new ValidationException("Missing 'pattern' in secondaryFiles specification entry.");
37+
}
38+
if (dMap.containsKey("required")) {
39+
entry.put("required", dMap.remove("required"));
40+
}
41+
if (dMap.size() > 0) {
42+
throw new ValidationException("Unallowed values in secondaryFiles specification entry.");
43+
}
44+
r.add(entry);
45+
} else {
46+
throw new ValidationException("Expected a string or sequence of (strings or mappings).");
47+
}
48+
}
49+
} else if (doc instanceof Map) {
50+
Map<String, Object> dMap = (Map<String, Object>) doc;
51+
Map<String, Object> entry = new HashMap<String, Object>();
52+
if (dMap.containsKey("pattern")) {
53+
entry.put("pattern", dMap.remove("pattern"));
54+
} else {
55+
throw new ValidationException("Missing 'pattern' in secondaryFiles specification entry.");
56+
}
57+
if (dMap.containsKey("required")) {
58+
entry.put("required", dMap.remove("required"));
59+
}
60+
if (dMap.size() > 0) {
61+
throw new ValidationException("Unallowed values in secondaryFiles specification entry.");
62+
}
63+
r.add(entry);
64+
} else if (doc instanceof String) {
65+
String dString = (String) doc;
66+
Map<String, Object> entry = new HashMap<String, Object>();
67+
if (dString.endsWith("?")) {
68+
entry.put("pattern", dString.substring(0, dString.length() - 1));
69+
entry.put("required", false);
70+
} else {
71+
entry.put("pattern", dString);
72+
}
73+
r.add(entry);
74+
} else {
75+
throw new ValidationException("Expected a string or sequence of (strings or mappings).");
76+
}
77+
return this.innerLoader.load(r, baseUri, loadingOptions, docRoot);
5278
}
53-
}
54-
} else if (doc instanceof Map) {
55-
Map<String, Object> entry = new HashMap<String, Object>();
56-
Map<String, Object> dMap = (Map<String, Object>) doc;
57-
if (dMap.containsKey("pattern")) {
58-
entry.put("pattern", dMap.remove("pattern"));
59-
} else {
60-
throw new ValidationException("Missing 'pattern' in secondaryFiles specification entry.");
61-
}
62-
if (dMap.containsKey("required")) {
63-
entry.put("required", dMap.remove("required"));
64-
}
65-
if (dMap.size() > 0) {
66-
throw new ValidationException("Unallowed values in secondaryFiles specification entry.");
67-
}
68-
r.add(entry);
69-
} else if (doc instanceof String) {
70-
String dString = (String) doc;
71-
Map<String, Object> entry = new HashMap<String, Object>();
72-
if (dString.endsWith("?")) {
73-
entry.put("pattern", dString.substring(0, dString.length()-1));
74-
entry.put("required", false);
75-
} else {
76-
entry.put("pattern", dString);
77-
}
78-
r.add(entry);
79-
} else {
80-
throw new ValidationException("Expected a string or sequence of (strings or mappings).");
81-
}
82-
return this.innerLoader.load(r, baseUri, loadingOptions, docRoot);
83-
}
8479
}

0 commit comments

Comments
 (0)