private InteractionUnit createUnitByName(String name, Node node)
{
InteractionUnit unit = null;
//QName.valueOf(node.getAttributes().getNamedItem("id").getNodeValue());
QName id = new QName(node.getNamespaceURI(), node.getAttributes().getNamedItem("id").getNodeValue());
String label = ParseUtils.IDOrLabel(node);
if("container".equals(name))
{
String op = ParseUtils.failSafe(node.getAttributes().getNamedItem("operator"), TemporalOperator.Concurrency.toString());
unit = new Container(
id.getNamespaceURI(), id.getLocalPart(),
label,
TemporalOperator.valueOf(op)
);
}
else if("input".equals(name))
{
unit = new Input(id.getNamespaceURI(), id.getLocalPart(),
label);
}
else if("output".equals(name))
{
unit = new Output(id.getNamespaceURI(), id.getLocalPart(),
label);
}
else if("select".equals(name))
{
unit = new Select(id.getNamespaceURI(), id.getLocalPart(),
label);
}
else if("trigger".equals(name))
{
unit = new Trigger(id.getNamespaceURI(), id.getLocalPart(),
QName.valueOf(ParseUtils.failSafe(node.getAttributes().getNamedItem("type"), "")),
label);
}
else if("link".equals(name))
{
unit = new Link(id.getNamespaceURI(), id.getLocalPart(),
QName.valueOf(ParseUtils.failSafe(node.getAttributes().getNamedItem("target"), "")),
label);
}
return unit;
}