Workflow with imported schema is not parsable when packed
jdidion opened this issue · comments
John Didion commented
This conformance test https://github.com/common-workflow-language/cwl-v1.2/blob/main/tests/schemadef-wf.cwl when packed cannot be parsed:
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List
at org.w3id.cwl.cwl1_2.utils.YamlUtils.listFromString(YamlUtils.java:172)
at org.w3id.cwl.cwl1_2.utils.Loader.documentLoadByUrl(Loader.java:69)
at org.w3id.cwl.cwl1_2.utils.Loader.loadField(Loader.java:86)
at org.w3id.cwl.cwl1_2.utils.ArrayLoader.load(ArrayLoader.java:27)
at org.w3id.cwl.cwl1_2.utils.ArrayLoader.load(ArrayLoader.java:6)
at org.w3id.cwl.cwl1_2.utils.OptionalLoader.load(OptionalLoader.java:21)
at org.w3id.cwl.cwl1_2.utils.OptionalLoader.load(OptionalLoader.java:6)
at org.w3id.cwl.cwl1_2.utils.Loader.load(Loader.java:16)
at org.w3id.cwl.cwl1_2.utils.IdMapLoader.load(IdMapLoader.java:51)
at org.w3id.cwl.cwl1_2.utils.Loader.load(Loader.java:16)
at org.w3id.cwl.cwl1_2.utils.Loader.loadField(Loader.java:99)
at org.w3id.cwl.cwl1_2.CommandLineToolImpl.<init>(CommandLineToolImpl.java:458)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.w3id.cwl.cwl1_2.utils.RecordLoader.load(RecordLoader.java:23)
at org.w3id.cwl.cwl1_2.utils.RecordLoader.load(RecordLoader.java:6)
at org.w3id.cwl.cwl1_2.utils.UnionLoader.load(UnionLoader.java:26)
at org.w3id.cwl.cwl1_2.utils.UnionLoader.load(UnionLoader.java:26)
at org.w3id.cwl.cwl1_2.utils.Loader.load(Loader.java:16)
at org.w3id.cwl.cwl1_2.utils.Loader.loadField(Loader.java:99)
at org.w3id.cwl.cwl1_2.utils.ArrayLoader.load(ArrayLoader.java:27)
at org.w3id.cwl.cwl1_2.utils.ArrayLoader.load(ArrayLoader.java:6)
at org.w3id.cwl.cwl1_2.utils.UnionLoader.load(UnionLoader.java:26)
at org.w3id.cwl.cwl1_2.utils.Loader.load(Loader.java:16)
at org.w3id.cwl.cwl1_2.utils.Loader.documentLoad(Loader.java:39)
at org.w3id.cwl.cwl1_2.utils.RootLoader.loadDocument(RootLoader.java:18)
at org.w3id.cwl.cwl1_2.utils.RootLoader.loadDocument(RootLoader.java:86)
at org.w3id.cwl.cwl1_2.utils.RootLoader.loadDocument(RootLoader.java:45)
Michael R. Crusoe commented
https://github.com/common-workflow-lab/cwljava/blob/13ee0b762465307f4103abad15e1a3b31da73656/src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_schemadef-wf.cwl & https://github.com/common-workflow-lab/cwljava/blob/13ee0b762465307f4103abad15e1a3b31da73656/src/test/java/org/w3id/cwl/cwl1_2/utils/ExamplesTest.java#L4158 shows that this is working now