Package org.jbpm.pvm.internal.xml

Examples of org.jbpm.pvm.internal.xml.Parser


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

   return subscribeOperation;
  }
View Full Code Here


  }

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

    Parser wireParser = (Parser) parser;
    String className = XmlUtil.attribute(element, "class");
    String expr = XmlUtil.attribute(element, "expr");
    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), element);
      }
      if (factoryElement!=null) {
        parse.addProblem("element 'factory' is specified together with attribute 'class' in element 'object': "+XmlUtil.toString(element), 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), 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), element);
      }

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

    } else if (expr!=null) {
      descriptor.setExpr(expr);
      String lang = XmlUtil.attribute(element, "lang");
      descriptor.setLang(lang);
     
    } else {
      parse.addProblem("element 'object' must have one of {attribute 'class', attribute 'expr', attribute 'factory' or element 'factory'}: "+XmlUtil.toString(element), 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 ( (factoryObjectName!=null)
                || (factoryElement!=null)
              ) {
      parse.addProblem("element 'object' with a element 'factory' or a attribute 'factory' must have a attribute 'method': "+XmlUtil.toString(element), element);
View Full Code Here

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

  }

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

    Parser wireParser = (Parser) parser;
    String className = XmlUtil.attribute(element, "class");
    String expr = XmlUtil.attribute(element, "expr");
    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), element);
      }
      if (factoryElement!=null) {
        parse.addProblem("element 'factory' is specified together with attribute 'class' in element 'object': "+XmlUtil.toString(element), 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), 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), element);
      }

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

    } else if (expr!=null) {
      descriptor.setExpr(expr);
      String lang = XmlUtil.attribute(element, "lang");
      descriptor.setLang(lang);
     
    } else {
      parse.addProblem("element 'object' must have one of {attribute 'class', attribute 'expr', attribute 'factory' or element 'factory'}: "+XmlUtil.toString(element), 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 ( (factoryObjectName!=null)
                || (factoryElement!=null)
              ) {
      parse.addProblem("element 'object' with a element 'factory' or a attribute 'factory' must have a attribute 'method': "+XmlUtil.toString(element), element);
View Full Code Here

TOP

Related Classes of org.jbpm.pvm.internal.xml.Parser

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.