Package org.jboss.seam.pageflow

Source Code of org.jboss.seam.pageflow.PageflowParser

package org.jboss.seam.pageflow;

import java.io.Reader;

import org.dom4j.Element;
import org.jbpm.graph.def.Node;
import org.jbpm.graph.def.NodeCollection;
import org.jbpm.jpdl.xml.JpdlXmlReader;
import org.jbpm.jpdl.xml.ProblemListener;
import org.xml.sax.InputSource;

public class PageflowParser extends JpdlXmlReader {

  private static final long serialVersionUID = 1L;

  public PageflowParser(InputSource inputSource, ProblemListener problemListener) {
    super(inputSource, problemListener);
  }

  public PageflowParser(InputSource inputSource) {
    super(inputSource);
  }

  public PageflowParser(Reader reader) {
    super(reader);
  }
 
  @Override
  public void readNodes(Element nodeCollectionElement, NodeCollection nodeCollection) {
    super.readNodes(nodeCollectionElement, nodeCollection);
   
    if ("pageflow-definition".equals(nodeCollectionElement.getName())) {
      String startPageName = nodeCollectionElement.attributeValue("start-page");
      if (startPageName==null) {
        Element startPageElement = nodeCollectionElement.element("start-page");
        if (startPageElement!=null) {
          startPageName = startPageElement.attributeValue("name");
        }
      }
      if (startPageName!=null) {
        Node startPage = getProcessDefinition().getNode(startPageName);
        if (startPage!=null) {
          getProcessDefinition().setStartState(startPage);
        }
      }
    }
  }
}
TOP

Related Classes of org.jboss.seam.pageflow.PageflowParser

TOP
Copyright © 2018 www.massapi.com. 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.