public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { Element element = parser.endElementBuilder(); Object parent = parser.getParent(); if (parent instanceof NodeImpl) { String text = ((Text)element.getChildNodes().item( 0 )).getWholeText(); if (text != null) { text = text.trim(); if ("".equals(text)) { text = null; } } ((NodeImpl) parent).getMetaData().put("Documentation", text); } return parser.getCurrent(); }
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); Definitions definitions = (Definitions) parser.getCurrent(); String namespace = element.getAttribute("targetNamespace"); List<Process> processes = ((ProcessBuildData) parser.getData()).getProcesses(); Map<String, ItemDefinition> itemDefinitions = (Map<String, ItemDefinition>) ((ProcessBuildData) parser.getData()).getMetaData("ItemDefinitions"); List<Interface> interfaces = (List<Interface>) ((ProcessBuildData) parser.getData()).getMetaData("Interfaces"); for (Process process : processes) { RuleFlowProcess ruleFlowProcess = (RuleFlowProcess)process; ruleFlowProcess.setMetaData("TargetNamespace", namespace); postProcessItemDefinitions(ruleFlowProcess, itemDefinitions, parser.getClassLoader()); postProcessInterfaces(ruleFlowProcess, interfaces); } definitions.setTargetNamespace(namespace); return definitions; }
public Object start(final String uri, final String localName, final Attributes attrs, final ExtensibleXmlParser parser) throws SAXException { parser.startElementBuilder( localName, attrs ); Node node = (Node) parser.getParent(); final String name = attrs.getValue("name"); emptyAttributeCheck(localName, "name", name, parser); return new MetaDataWrapper(node, name); }
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { parser.endElementBuilder(); return parser.getCurrent(); }
@Override protected String buildPrintMessage(final SAXParseException x) { return processParserMessage(super.getParents(), super.getAttrs(), super.buildPrintMessage(x)); } };
public XmlProcessReader(final SemanticModules modules, ClassLoader classLoader, final SAXParser parser) { this.parser = new ExtensibleXmlParser() { @Override protected String buildPrintMessage(final SAXParseException x) { return processParserMessage(super.getParents(), super.getAttrs(), super.buildPrintMessage(x)); } }; if(parser != null) { this.parser.setParser(parser); } this.parser.setSemanticModules( modules ); this.parser.setData( new ProcessBuildData() ); this.parser.setClassLoader( classLoader ); }
protected void handleCompensationNode(final Node node, final Element element, final String uri, final String localName, final ExtensibleXmlParser parser, final String attachedTo, final boolean cancelActivity) throws SAXException { BoundaryEventNode eventNode = (BoundaryEventNode) parser.getCurrent(); NodeList childs = element.getChildNodes(); for (int i = 0; i < childs.getLength(); i++) { if (childs.item(i) instanceof Element) { Element el = (Element) childs.item(i); if ("compensateEventDefinition".equalsIgnoreCase(el.getNodeName())) { String activityRef = el.getAttribute("activityRef"); if( activityRef != null && activityRef.length() > 0 ) { logger.warn("activityRef value [" + activityRef + "] on Boundary Event '" + eventNode.getMetaData("UniqueId") NodeContainer parentContainer = (NodeContainer) parser.getParent(); ProcessHandler.addCompensationScope((RuleFlowProcess) parser.getParent(RuleFlowProcess.class), eventNode, parentContainer, attachedTo);
protected void handleLinkNode(Element element, Node node, org.w3c.dom.Node xmlLinkNode, ExtensibleXmlParser parser) { NodeContainer nodeContainer = (NodeContainer) parser.getParent(); node.setName(element.getAttribute("name")); NamedNodeMap linkAttr = xmlLinkNode.getAttributes(); String name = linkAttr.getNamedItem("name").getNodeValue(); String id = element.getAttribute("id"); node.setMetaData("UniqueId", id); node.setMetaData(LINK_NAME, name); org.w3c.dom.Node xmlNode = xmlLinkNode.getFirstChild();
startNode.setInterrupting(Boolean.parseBoolean(element.getAttribute("isInterrupting"))); SAXParseException saxpe = new SAXParseException( message, parser.getLocator() ); parser.warning(saxpe); org.w3c.dom.Node subNode = xmlNode.getFirstChild(); while (subNode != null) { String subnodeName = subNode.getNodeName(); break; } else if ("signalEventDefinition".equals(nodeName)) { String type = ((Element) xmlNode).getAttribute("signalRef"); ((ProcessBuildData) parser.getData()).getMetaData("Messages"); if (messages == null) { throw new IllegalArgumentException("No messages found"); List<Error> errors = (List<Error>) ((ProcessBuildData) parser.getData()).getMetaData("Errors"); if (errors == null) { throw new IllegalArgumentException("No errors found"); if (escalationRef != null && escalationRef.trim().length() > 0) { Map<String, Escalation> escalations = (Map<String, Escalation>) ((ProcessBuildData) parser.getData()).getMetaData(ProcessHandler.ESCALATIONS); if (escalations == null) { throw new IllegalArgumentException("No escalations found");
org.w3c.dom.Node subNode = xmlNode.getFirstChild(); while (subNode != null) { String nodeName = subNode.getNodeName(); if ("inputDataItem".equals(nodeName)) { String variableName = ((Element) subNode).getAttribute("id"); String itemSubjectRef = ((Element) subNode).getAttribute("itemSubjectRef"); DataType dataType = null; Map<String, ItemDefinition> itemDefinitions = (Map<String, ItemDefinition>) ((ProcessBuildData) parser.getData()).getMetaData("ItemDefinitions"); dataType = getDataType(itemSubjectRef, itemDefinitions, parser.getClassLoader()); String variableName = ((Element) subNode).getAttribute("id"); String itemSubjectRef = ((Element) subNode).getAttribute("itemSubjectRef"); DataType dataType = null; Map<String, ItemDefinition> itemDefinitions = (Map<String, ItemDefinition>) ((ProcessBuildData) parser.getData()).getMetaData("ItemDefinitions"); dataType = getDataType(itemSubjectRef, itemDefinitions, parser.getClassLoader()); String expression = subNode.getTextContent(); forEachNode.setCompletionConditionExpression(expression);
@SuppressWarnings("unchecked") @Override public Object end(String uri, String localName, ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); Node node = (Node) parser.getCurrent(); handleNode(node, element, uri, localName, parser); org.w3c.dom.Node xmlNode = element.getFirstChild(); int uniqueIdGen = 1; while (xmlNode != null) { String nodeName = xmlNode.getNodeName(); if ("multiInstanceLoopCharacteristics".equals(nodeName)) { forEachNode.setId(node.getId()); String uniqueId = (String) node.getMetaData().get("UniqueId"); forEachNode.setMetaData("UniqueId", uniqueId); node.setMetaData("UniqueId", uniqueId + ":" + uniqueIdGen++); node.setMetaData("hidden", true); forEachNode.addNode(node); xmlNode = xmlNode.getNextSibling(); NodeContainer nodeContainer = (NodeContainer) parser.getParent(); nodeContainer.addNode(node); ((ProcessBuildData) parser.getData()).addNode(node); return node;
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); SequenceFlow sequenceFlow = (SequenceFlow) parser.getCurrent(); org.w3c.dom.Node xmlNode = element.getFirstChild(); while (xmlNode != null) { String nodeName = xmlNode.getNodeName(); if ("conditionExpression".equals(nodeName)) { String expression = xmlNode.getTextContent(); org.w3c.dom.Node languageNode = xmlNode.getAttributes() .getNamedItem("language"); if (languageNode != null) {
final String localName, final ExtensibleXmlParser parser) throws SAXException { FaultNode faultNode = (FaultNode) node; org.w3c.dom.Node xmlNode = element.getFirstChild(); while (xmlNode != null) { String nodeName = xmlNode.getNodeName(); if ("dataInputAssociation".equals(nodeName)) { readFaultDataInputAssociation(xmlNode, faultNode); } else if ("escalationEventDefinition".equals(nodeName)) { String escalationRef = ((Element) xmlNode).getAttribute("escalationRef"); if (escalationRef != null && escalationRef.trim().length() > 0) { Map<String, Escalation> escalations = (Map<String, Escalation>) ((ProcessBuildData) parser.getData()).getMetaData(ProcessHandler.ESCALATIONS); if (escalations == null) { throw new IllegalArgumentException("No escalations found"); xmlNode = xmlNode.getNextSibling();
@Override public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); Sentry sentry = (Sentry) parser.getCurrent(); org.w3c.dom.Node xmlNode = element.getFirstChild(); while (xmlNode != null) { String nodeName = xmlNode.getNodeName(); if ("ifPart".equals(nodeName)) { org.w3c.dom.Node subNode = xmlNode.getFirstChild(); while (subNode != null) { String subNodeName = subNode.getNodeName(); if ("condition".equals(subNodeName)) { String language = ((Element) subNode).getAttribute("language"); String expression = ((Element) subNode).getTextContent(); sentry.setLanguage(language); sentry.setExpression(expression); } subNode = subNode.getNextSibling(); } } xmlNode = xmlNode.getNextSibling(); } return sentry; }
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { Element element = parser.endElementBuilder(); org.w3c.dom.Node xmlNode = element.getFirstChild(); while (xmlNode instanceof Element) { String nodeName = xmlNode.getNodeName(); if ("waypoint".equals(nodeName)) { String x = ((Element) xmlNode).getAttribute("x"); String y = ((Element) xmlNode).getAttribute("y"); try { int xValue = new Float(x).intValue(); if (bendpoints == null) { bendpoints = "["; } else if (xmlNode.getNextSibling() != null) { bendpoints += xValue + "," + yValue; bendpoints += ";"; xmlNode = xmlNode.getNextSibling(); ConnectionInfo connectionInfo = (ConnectionInfo) parser.getCurrent(); if (bendpoints != null && bendpoints.length() > 1) { connectionInfo.setBendpoints(bendpoints + "]");
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); Lane lane = (Lane) parser.getCurrent(); org.w3c.dom.Node xmlNode = element.getFirstChild(); while (xmlNode != null) { String nodeName = xmlNode.getNodeName(); if ("flowNodeRef".equals(nodeName)) { String flowElementRef = xmlNode.getTextContent(); lane.addFlowElement(flowElementRef); } xmlNode = xmlNode.getNextSibling(); } return lane; }
protected void handleNode(final Node node, final Element element, final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final String x = element.getAttribute("x"); if (x != null && x.length() != 0) { try { node.setMetaData("x", Integer.parseInt(x)); } catch (NumberFormatException exc) { throw new SAXParseException("<" + localName + "> requires an Integer 'x' attribute", parser.getLocator()); final String y = element.getAttribute("y"); if (y != null && y.length() != 0) { try { node.setMetaData("y", new Integer(y)); } catch (NumberFormatException exc) { throw new SAXParseException("<" + localName + "> requires an Integer 'y' attribute", parser.getLocator()); final String width = element.getAttribute("width"); if (width != null && width.length() != 0) { try { node.setMetaData("width", new Integer(width)); } catch (NumberFormatException exc) { throw new SAXParseException("<" + localName + "> requires an Integer 'width' attribute", parser.getLocator()); node.setMetaData("height", new Integer(height)); } catch (NumberFormatException exc) { throw new SAXParseException("<" + localName + "> requires an Integer 'height' attribute", parser.getLocator());
public Object start(final String uri, final String localName, final Attributes attrs, final ExtensibleXmlParser parser) throws SAXException { parser.startElementBuilder(localName, attrs); DataStore store = new DataStore(); store.setId(attrs.getValue("id")); store.setName(attrs.getValue("name")); final String itemSubjectRef = attrs.getValue("itemSubjectRef"); store.setItemSubjectRef(itemSubjectRef); Map<String, ItemDefinition> itemDefinitions = (Map<String, ItemDefinition>) ((ProcessBuildData) parser.getData()).getMetaData("ItemDefinitions"); ItemDefinition itemDefinition = itemDefinitions.get(localItemSubjectRef); if (itemDefinition != null) { dataType = new ObjectDataType(itemDefinition.getStructureRef(), parser.getClassLoader()); Definitions parent = (Definitions) parser.getParent(); List<DataStore> dataStores = parent.getDataStores(); if (dataStores == null) {
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); ContextContainer contextContainer = (ContextContainer) parser.getParent(); final String type = element.getAttribute("type"); emptyAttributeCheck(localName, "type", type, parser); final String faultName = element.getAttribute("faultName"); emptyAttributeCheck(localName, "faultName", type, parser); final String faultVariable = element.getAttribute("faultVariable"); throw new SAXParseException("Unknown exception handler type " + type, parser.getLocator());
final String localName, final ExtensibleXmlParser parser) throws SAXException { final Element element = parser.endElementBuilder(); PlanItem planItem = (PlanItem) parser.getCurrent(); ProcessBuildData buildData = (ProcessBuildData) parser.getData(); Map<String, Sentry> sentries = (Map<String, Sentry>) buildData.getMetaData("Sentries"); if (sentries == null) { org.w3c.dom.Node xmlNode = element.getFirstChild(); while (xmlNode != null) { String nodeName = xmlNode.getNodeName(); if ("entryCriterion".equals(nodeName)) { Sentry sentryStub = readSentry(xmlNode, planItem); xmlNode = xmlNode.getNextSibling();