Search in sources :

Example 1 with OutPortImpl

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;
}
Also used : OutPort(org.apache.airavata.workflow.core.dag.port.OutPort) PortModel(org.apache.airavata.model.PortModel) ArrayList(java.util.ArrayList) JsonToken(com.google.gson.stream.JsonToken) OutPortImpl(org.apache.airavata.workflow.core.dag.port.OutPortImpl)

Aggregations

JsonToken (com.google.gson.stream.JsonToken)1 ArrayList (java.util.ArrayList)1 PortModel (org.apache.airavata.model.PortModel)1 OutPort (org.apache.airavata.workflow.core.dag.port.OutPort)1 OutPortImpl (org.apache.airavata.workflow.core.dag.port.OutPortImpl)1