use of org.apache.airavata.workflow.model.graph.DataPort in project airavata by apache.
the class EndForEachNode method removeInputPort.
/**
* Removes the last input port.
*
* @throws GraphException
*/
public void removeInputPort() throws GraphException {
List<DataPort> inputPorts = getInputPorts();
// Remove the last one.
DataPort inputPort = inputPorts.get(inputPorts.size() - 1);
removeInputPort(inputPort);
}
use of org.apache.airavata.workflow.model.graph.DataPort in project airavata by apache.
the class EndifNode method removeOutputPort.
/**
* Removes the last output port.
*
* @throws GraphException
*/
public void removeOutputPort() throws GraphException {
List<DataPort> outputPorts = getOutputPorts();
// Remove the last one.
DataPort outputPort = outputPorts.get(outputPorts.size() - 1);
removeOutputPort(outputPort);
}
use of org.apache.airavata.workflow.model.graph.DataPort in project airavata by apache.
the class EndifNode method addOutputPort.
/**
* Adds additional output port.
*/
public void addOutputPort() {
EndifComponent component = getComponent();
ComponentDataPort outputPort = component.getOutputPort();
DataPort port = outputPort.createPort();
addOutputPort(port);
}
use of org.apache.airavata.workflow.model.graph.DataPort in project airavata by apache.
the class ForEachNode method getFreeInPort.
public DataPort getFreeInPort() {
List<DataPort> inputPorts = this.getInputPorts();
for (DataPort dataPort : inputPorts) {
if (null == dataPort.getFromNode()) {
return dataPort;
}
}
addOutputPort();
return addInputPortAndReturn();
}
use of org.apache.airavata.workflow.model.graph.DataPort in project airavata by apache.
the class ForEachNode method removeLastDynamicallyAddedInPort.
public void removeLastDynamicallyAddedInPort() throws GraphException {
List<DataPort> inputPorts = this.getInputPorts();
List<DataPort> outputPorts = this.getOutputPorts();
if (inputPorts.size() == 1) {
// This is the initial port, so leave it alone
return;
}
if (outputPorts.size() == 1) {
return;
}
DataPort portToBeRemoved = null;
for (DataPort dataPort : inputPorts) {
if (null == dataPort.getFromNode()) {
removeInputPort(dataPort);
portToBeRemoved = dataPort;
break;
}
}
if (outputPorts.size() == this.getInputPorts().size()) {
return;
}
for (DataPort dataPort : outputPorts) {
if (0 == dataPort.getToNodes().size()) {
removeOutputPort(dataPort);
portToBeRemoved = dataPort;
break;
}
}
}
Aggregations