use of org.apache.airavata.workflow.core.dag.port.OutPortImpl in project airavata by apache.
the class JsonWorkflowParser method readApplicationOutputs.
private List<OutPort> readApplicationOutputs(JsonReader jsonReader) throws IOException, ParserException {
List<OutPort> outPorts = new ArrayList<>();
PortModel portModel;
OutPort outPort;
String name;
JsonToken peek = jsonReader.peek();
if (peek == JsonToken.NULL) {
jsonReader.nextNull();
} else if (peek == JsonToken.BEGIN_ARRAY) {
jsonReader.beginArray();
while (jsonReader.hasNext()) {
portModel = new PortModel();
outPort = new OutPortImpl(portModel);
jsonReader.beginObject();
while (jsonReader.hasNext()) {
name = jsonReader.nextName();
if (name.equals(NAME)) {
portModel.setName(jsonReader.nextString());
} else if (name.equals(ID)) {
portModel.setPortId(jsonReader.nextString());
} else if (name.equals(DATATYPE)) {
jsonReader.skipValue();
} else if (name.equals(DEFAULT_VALUE)) {
// can output has default values?
jsonReader.skipValue();
} else if (name.equals(DESCRIPTION)) {
portModel.setDescription(jsonReader.nextString());
} else {
jsonReader.skipValue();
}
}
jsonReader.endObject();
outPorts.add(outPort);
}
jsonReader.endArray();
} else {
throw new ParserException("Error! reading application outputs, expected " + getTokenString(JsonToken.NULL) + " or " + getTokenString(JsonToken.BEGIN_ARRAY) + " but found " + getTokenString(peek));
}
return outPorts;
}
Aggregations