Search in sources :

Example 1 with Interface

use of org.activiti.bpmn.model.Interface in project Activiti by Activiti.

the class BpmnParse method createOperations.

protected void createOperations() {
    for (Interface interfaceObject : bpmnModel.getInterfaces()) {
        BpmnInterface bpmnInterface = new BpmnInterface(interfaceObject.getId(), interfaceObject.getName());
        bpmnInterface.setImplementation(this.interfaceImplementations.get(interfaceObject.getImplementationRef()));
        for (org.activiti.bpmn.model.Operation operationObject : interfaceObject.getOperations()) {
            if (this.messages.containsKey(operationObject.getInMessageRef())) {
                MessageDefinition inMessage = this.messages.get(operationObject.getInMessageRef());
                Operation operation = new Operation(operationObject.getId(), operationObject.getName(), bpmnInterface, inMessage);
                operation.setImplementation(this.operationImplementations.get(operationObject.getImplementationRef()));
                if (StringUtils.isNotEmpty(operationObject.getOutMessageRef())) {
                    if (this.messages.containsKey(operationObject.getOutMessageRef())) {
                        MessageDefinition outMessage = this.messages.get(operationObject.getOutMessageRef());
                        operation.setOutMessage(outMessage);
                    }
                }
                operations.put(operation.getId(), operation);
            }
        }
    }
}
Also used : MessageDefinition(org.activiti.engine.impl.bpmn.webservice.MessageDefinition) Operation(org.activiti.engine.impl.bpmn.webservice.Operation) BpmnInterface(org.activiti.engine.impl.bpmn.webservice.BpmnInterface) Interface(org.activiti.bpmn.model.Interface) BpmnInterface(org.activiti.engine.impl.bpmn.webservice.BpmnInterface)

Example 2 with Interface

use of org.activiti.bpmn.model.Interface in project Activiti by Activiti.

the class InterfaceParser method parse.

public void parse(XMLStreamReader xtr, BpmnModel model) throws Exception {
    Interface interfaceObject = new Interface();
    BpmnXMLUtil.addXMLLocation(interfaceObject, xtr);
    interfaceObject.setId(model.getTargetNamespace() + ":" + xtr.getAttributeValue(null, ATTRIBUTE_ID));
    interfaceObject.setName(xtr.getAttributeValue(null, ATTRIBUTE_NAME));
    interfaceObject.setImplementationRef(parseMessageRef(xtr.getAttributeValue(null, ATTRIBUTE_IMPLEMENTATION_REF), model));
    boolean readyWithInterface = false;
    Operation operation = null;
    try {
        while (readyWithInterface == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && ELEMENT_OPERATION.equals(xtr.getLocalName())) {
                operation = new Operation();
                BpmnXMLUtil.addXMLLocation(operation, xtr);
                operation.setId(model.getTargetNamespace() + ":" + xtr.getAttributeValue(null, ATTRIBUTE_ID));
                operation.setName(xtr.getAttributeValue(null, ATTRIBUTE_NAME));
                operation.setImplementationRef(parseMessageRef(xtr.getAttributeValue(null, ATTRIBUTE_IMPLEMENTATION_REF), model));
            } else if (xtr.isStartElement() && ELEMENT_IN_MESSAGE.equals(xtr.getLocalName())) {
                String inMessageRef = xtr.getElementText();
                if (operation != null && StringUtils.isNotEmpty(inMessageRef)) {
                    operation.setInMessageRef(parseMessageRef(inMessageRef.trim(), model));
                }
            } else if (xtr.isStartElement() && ELEMENT_OUT_MESSAGE.equals(xtr.getLocalName())) {
                String outMessageRef = xtr.getElementText();
                if (operation != null && StringUtils.isNotEmpty(outMessageRef)) {
                    operation.setOutMessageRef(parseMessageRef(outMessageRef.trim(), model));
                }
            } else if (xtr.isEndElement() && ELEMENT_OPERATION.equalsIgnoreCase(xtr.getLocalName())) {
                if (operation != null && StringUtils.isNotEmpty(operation.getImplementationRef())) {
                    interfaceObject.getOperations().add(operation);
                }
            } else if (xtr.isEndElement() && ELEMENT_INTERFACE.equals(xtr.getLocalName())) {
                readyWithInterface = true;
            }
        }
    } catch (Exception e) {
        LOGGER.warn("Error parsing interface child elements", e);
    }
    model.getInterfaces().add(interfaceObject);
}
Also used : Operation(org.activiti.bpmn.model.Operation) Interface(org.activiti.bpmn.model.Interface)

Aggregations

Interface (org.activiti.bpmn.model.Interface)2 Operation (org.activiti.bpmn.model.Operation)1 BpmnInterface (org.activiti.engine.impl.bpmn.webservice.BpmnInterface)1 MessageDefinition (org.activiti.engine.impl.bpmn.webservice.MessageDefinition)1 Operation (org.activiti.engine.impl.bpmn.webservice.Operation)1