Package org.jbpm.wire.xml

Examples of org.jbpm.wire.xml.WireParser


    // method & args
    String methodName = XmlUtil.attribute(element, "method");
    subscribeOperation.setMethodName(methodName);
    List<Element> argElements = XmlUtil.elements(element, "arg");
    WireParser wireParser = (WireParser) parser;
    List<ArgDescriptor> argDescriptors = wireParser.parseArgs(argElements, parse);
    subscribeOperation.setArgDescriptors(argDescriptors);

   return subscribeOperation;
  }
View Full Code Here


public class ObjectBinding implements Binding {

  public Object parse(Element element, Parse parse, Parser parser) {
    ObjectDescriptor descriptor = new ObjectDescriptor();

    WireParser wireParser = (WireParser) parser;
    String className = XmlUtil.attribute(element, "class");
    String factoryObjectName = XmlUtil.attribute(element, "factory");
    Element factoryElement = XmlUtil.element(element, "factory");

    if (className!=null) {
      descriptor.setClassName(className);
      if (factoryObjectName!=null) {
        parse.addProblem("attribute factory is specified together with attribute class in element object: "+XmlUtil.toString(element));
      }
      if (factoryElement!=null) {
        parse.addProblem("element factory is specified together with attribute class in element object: "+XmlUtil.toString(element));
      }

      Element constructorElement = XmlUtil.element(element, "constructor");
      if (constructorElement!=null) {
        List<Element> argElements = XmlUtil.elements(constructorElement, "arg");
        List<ArgDescriptor> argDescriptors = wireParser.parseArgs(argElements, parse);
        descriptor.setArgDescriptors(argDescriptors);

        if (element.hasAttribute("method")) {
          parse.addProblem("attributes class and method indicate static method and also a constructor element is specified for element object: "+XmlUtil.toString(element));
        }
      }

    } else if (factoryObjectName!=null) {
      descriptor.setFactoryObjectName(factoryObjectName);
      if (factoryElement!=null) {
        parse.addProblem("element factory is specified together with attribute factory in element object: "+XmlUtil.toString(element));
      }

    } else if (factoryElement!=null) {
      Element factoryDescriptorElement = XmlUtil.element(factoryElement);
      Descriptor factoryDescriptor = (Descriptor) parser.parseElement(factoryDescriptorElement, parse, WireParser.CATEGORY_DESCRIPTOR);
      descriptor.setFactoryDescriptor(factoryDescriptor);

    } else {
      parse.addProblem("element object must have one of {attribute class, attribute factory or element factory}: "+XmlUtil.toString(element));
    }

    // method
    if (element.hasAttribute("method")) {
      descriptor.setMethodName(element.getAttribute("method"));

      List<Element> argElements = XmlUtil.elements(element, "arg");
      List<ArgDescriptor> argDescriptors = wireParser.parseArgs(argElements, parse);
      descriptor.setArgDescriptors(argDescriptors);
    } else if (className == null) {
      parse.addProblem("element object with a element factory or a attribute factory must have a attribute method: "+XmlUtil.toString(element));
    }
View Full Code Here

      invokeOperation.setMethodName(element.getAttribute("method"));
    } else {
      parse.addProblem("invoke must have method : "+XmlUtil.toString(element));
    }
    List<Element> argElements = XmlUtil.elements(element, "arg");
    WireParser wireParser = (WireParser) parser;
    List<ArgDescriptor> argDescriptors = wireParser.parseArgs(argElements, parse);
    invokeOperation.setArgDescriptors(argDescriptors);
    return invokeOperation;
  }
View Full Code Here

TOP

Related Classes of org.jbpm.wire.xml.WireParser

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.