/**
* @param nodeElement
* @throws GraphException
*/
protected void parse(XmlElement nodeElement) throws GraphException {
XmlElement idElement = nodeElement.element(GraphSchema.NODE_ID_TAG);
this.id = idElement.requiredText();
XmlElement nameElement = nodeElement.element(GraphSchema.NODE_NAME_TAG);
this.name = nameElement.requiredText();
// XmlElement labelElement = nodeElement
// .element(GraphSchema.NODE_STREAM_LABEL_TAG);
// if (null != labelElement) {
// this.label = labelElement.requiredText();
// }
Iterable<XmlElement> inputPortElements = nodeElement.elements(null,
GraphSchema.NODE_INPUT_PORT_TAG);
for (XmlElement inputPort : inputPortElements) {
this.inputPortIDs.add(inputPort.requiredText());
}
Iterable<XmlElement> outputPortElements = nodeElement.elements(null,
GraphSchema.NODE_OUTPUT_PORT_TAG);
for (XmlElement outputPort : outputPortElements) {
this.outputPortIDs.add(outputPort.requiredText());
}
XmlElement controlInPortElement = nodeElement
.element(GraphSchema.NODE_CONTROL_IN_PORT_TAG);
if (controlInPortElement != null) {
this.controlInPortID = controlInPortElement.requiredText();
}
Iterable<XmlElement> controlOutPortElements = nodeElement.elements(
null, GraphSchema.NODE_CONTROL_OUT_PORT_TAG);
for (XmlElement controlOutPort : controlOutPortElements) {
this.controlOutPortIDs.add(controlOutPort.requiredText());
}
XmlElement eprPortElement = nodeElement
.element(GraphSchema.NODE_EPR_PORT_TAG);
if (eprPortElement != null) {
this.eprPortID = eprPortElement.requiredText();
}
XmlElement xElement = nodeElement
.element(GraphSchema.NODE_X_LOCATION_TAG);
this.position.x = (int) Double.parseDouble(xElement.requiredText());
XmlElement yElement = nodeElement
.element(GraphSchema.NODE_Y_LOCATION_TAG);
this.position.y = (int) Double.parseDouble(yElement.requiredText());
XmlElement configElement = nodeElement
.element(GraphSchema.NODE_CONFIG_TAG);
if (configElement != null) {
parseConfiguration(configElement);
}
XmlElement componentElement = nodeElement
.element(GraphSchema.NODE_COMPONENT_TAG);
if (componentElement != null) {
// XXX Not used since the introduction of .xwf
parseComponent(componentElement);
}