⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drofloactionservlet.java

📁 OpenWFE是一个开放源码的Java工作流引擎。它是一个完整的业务处理管理套件:一个引擎
💻 JAVA
字号:
/* * Copyright (c) 2005, John Mettraux, OpenWFE.org * All rights reserved. *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions are met: *  * . Redistributions of source code must retain the above copyright notice, this *   list of conditions and the following disclaimer.   *  * . Redistributions in binary form must reproduce the above copyright notice,  *   this list of conditions and the following disclaimer in the documentation  *   and/or other materials provided with the distribution. *  * . Neither the name of the "OpenWFE" nor the names of its contributors may be *   used to endorse or promote products derived from this software without *   specific prior written permission. *  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  * POSSIBILITY OF SUCH DAMAGE. * * $Id: DrofloActionServlet.java 2244 2005-11-29 10:42:15Z jmettraux $ *///// DrofloControlServlet.java//// jmettraux@openwfe.org//// generated with // jtmpl 1.1.00 16.08.2003 John Mettraux (jmettraux@openwfe.org)//package openwfe.org.droflo;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import openwfe.org.misc.WebUtils;import openwfe.org.engine.expressions.BuildException;/** * Controller * * <p><font size=2>CVS Info : * <br>$Author: jmettraux $ * <br>$Id: DrofloActionServlet.java 2244 2005-11-29 10:42:15Z jmettraux $ </font> * * @author jmettraux@openwfe.org */public class DrofloActionServlet    extends javax.servlet.http.HttpServlet{    //    // CONSTANTS & co    public final static String ACTION = "action";    public final static String A_LOAD = "load";    public final static String A_REMOVE = "remove";    public final static String A_OUTPUT = "output";    public final static String A_UP = "moveup";    public final static String A_DOWN = "movedown";    public final static String A_ADD = "addexpression";    public final static String A_EDIT = "edit";    public final static String A_UPDATE_EXP = "updateexpression";    public final static String A_UPDATE_FLOW_NAME = "updateflowname";    public final static String A_UPDATE_SUBPROCESS_NAME = "updatesubprocessname";    public final static String A_CREATE_SUBPROCESS = "createsubprocess";    public final static String A_REMOVE_SUBPROCESS = "removesubprocess";    public final static String A_NEW_FLOW = "newflow";    public final static String A_TOGGLE_HELP = "togglehelp";    public final static String A_UNDO = "undo";    public final static String P_FLOW_URL = "flowUrl";    public final static String P_SUBPROCESS_EXP = "subProcessExp";    public final static String P_EXPID = "expId";    public final static String P_EXPNAME = "expName";    public final static String P_NEW_EXPRESSION_NAME = "newExpName";    public final static String P_FLOW_NAME = "flowName";    public final static String P_FLOW_REVISION = "flowRevision";    public final static String P_SUBPROCESS_NAME = "subProcessName";    public final static String P_OLD_SUBPROCESS_NAME = "old_subProcessName";    public final static String P_ADD_EXPRESSION_POSITION = "pos";    //    // FIELDS    //    // CONSTRUCTORS    //    // METHODS from HttpServlet    public void service        (final HttpServletRequest req, final HttpServletResponse res)    throws         ServletException, IOException    {        String action = null;        DrofloSession session = null;        try        {            log("service()");            action = req.getParameter(ACTION);            if (action == null)            {                doEnter(req, res);                return;            }            log("service() action is >"+action+"<");            session = DrofloSession.getOrCreateSession(req);            //            // forcing out of edition mode            if ("false".equals(req.getParameter(A_EDIT)))                session.setInEditMode(false);            //            // should we stack for an undo ?            if ( ! (action.equals(A_TOGGLE_HELP) ||                    action.equals(A_LOAD) ||                    action.equals(A_OUTPUT) ||                    action.equals(A_EDIT) ||                    action.equals(A_UNDO)))            {                session.stackForUndo();            }            //            // process actions            if (action.equals(A_UNDO))            {                session.popForUndo();                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_UPDATE_EXP))            {                if ( ! "cancel".equals(req.getParameter("button")))                {                    session.updateExpression(req);                }                else                {                    session.unloadExpressionToEdit();                }                WebUtils.forward(req, res, "/view.jsp");                return;            }            session.unloadExpressionToEdit();                // no need to have an expression to update                        if (action.equals(A_UPDATE_FLOW_NAME))            {                String flowName = req.getParameter(P_FLOW_NAME);                String flowRevision = req.getParameter(P_FLOW_REVISION);                session.getFlowDefinition().getId()                    .setWorkflowDefinitionName(flowName);                session.getFlowDefinition().getId()                    .setWorkflowDefinitionRevision(flowRevision);                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_UPDATE_SUBPROCESS_NAME))            {                String oldExpId = req.getParameter(P_SUBPROCESS_EXP);                String newName = req.getParameter(P_SUBPROCESS_NAME);                session.getFlowDefinition()                    .changeSubProcessDefinitionName(oldExpId, newName);                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_CREATE_SUBPROCESS))            {                String subProcessExp = req.getParameter(P_SUBPROCESS_EXP);                String newSubProcessName = req.getParameter(P_SUBPROCESS_NAME);                session.getFlowDefinition()                    .createSubDefinition(subProcessExp, newSubProcessName);                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_REMOVE_SUBPROCESS))            {                final String subProcessExp = req.getParameter(P_SUBPROCESS_EXP);                log("service() removing >"+subProcessExp+"<");                session.getFlowDefinition().removeSubDefinition(subProcessExp);                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_LOAD))            {                session.loadWorkflow(req.getParameter(P_FLOW_URL));                log                    ("service() loaded flow "+req.getParameter(P_FLOW_URL));                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_NEW_FLOW))            {                session.newFlowDefinition();                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_TOGGLE_HELP))            {                session.toggleHelp();                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_REMOVE))            {                session.removeExpression(req.getParameter(P_SUBPROCESS_EXP));                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_EDIT))            {                session.loadExpressionToEdit(req.getParameter(P_SUBPROCESS_EXP));                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_OUTPUT))            {                res.setContentType("text/xml");                session.outputDefinitionAsXml(res.getWriter());                return;            }            if (action.equals(A_UP) || action.equals(A_DOWN))            {                session.moveExpression                    (action, req.getParameter(P_SUBPROCESS_EXP));                WebUtils.forward(req, res, "/view.jsp");                return;            }            if (action.equals(A_ADD))            {                session.addExpression                    (req.getParameter(P_NEW_EXPRESSION_NAME),                     req.getParameter(P_SUBPROCESS_EXP),                     req.getParameter(P_ADD_EXPRESSION_POSITION));                WebUtils.forward(req, res, "/view.jsp");                return;            }        }        catch (final Throwable t)        {            log("service() problem", t);            session.setException(t);            WebUtils.forward(req, res, "/view.jsp");            return;        }        //        // unknown action        log("service() Unknown action '"+action+"'");        session.setException            (new openwfe.org.OpenWfeException("Unknown action '"+action+"'"));        WebUtils.forward(req, res, "/view.jsp");    }    private void doEnter        (HttpServletRequest req, HttpServletResponse res)    throws         ServletException, java.io.IOException    {        HttpSession session = req.getSession(true);        DrofloSession dfSession = (DrofloSession)session            .getAttribute(req.getContextPath()+DrofloSession.DROFLO_SESSION);        if (dfSession == null)        {            WebUtils.forward(req, res, "/load.jsp");            return;        }        WebUtils.forward(req, res, "/view.jsp");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -