Search in sources :

Example 1 with InputPortIml

use of org.apache.airavata.workflow.core.dag.port.InputPortIml in project airavata by apache.

the class JsonWorkflowParser method readApplicationInputs.

private List<InPort> readApplicationInputs(JsonReader jsonReader) throws IOException, ParserException {
    List<InPort> inPorts = new ArrayList<>();
    JsonToken peek = jsonReader.peek();
    PortModel portModel;
    InPort inPort;
    String name;
    if (peek == JsonToken.NULL) {
        jsonReader.nextNull();
    } else if (peek == JsonToken.BEGIN_ARRAY) {
        jsonReader.beginArray();
        while (jsonReader.hasNext()) {
            portModel = new PortModel();
            inPort = new InputPortIml(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)) {
                    inPort.setDefaultValue(jsonReader.nextString());
                } else if (name.equals(DESCRIPTION)) {
                    portModel.setDescription(jsonReader.nextString());
                } else {
                    jsonReader.skipValue();
                }
            }
            jsonReader.endObject();
            inPorts.add(inPort);
        }
        jsonReader.endArray();
    } else {
        throw new ParserException("Error! reading application inputs, expected " + getTokenString(JsonToken.NULL) + " or " + getTokenString(JsonToken.BEGIN_ARRAY) + " but found " + getTokenString(peek));
    }
    return inPorts;
}
Also used : InPort(org.apache.airavata.workflow.core.dag.port.InPort) PortModel(org.apache.airavata.model.PortModel) ArrayList(java.util.ArrayList) JsonToken(com.google.gson.stream.JsonToken) InputPortIml(org.apache.airavata.workflow.core.dag.port.InputPortIml)

Aggregations

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