KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > dspace > app > webui > servlet > admin > WorkflowAbortServlet


1 /*
2  * WorkflowAbortServlet.java
3  *
4  * Version: $Revision: 1.8 $
5  *
6  * Date: $Date: 2005/04/20 14:22:30 $
7  *
8  * Copyright (c) 2002-2005, Hewlett-Packard Company and Massachusetts
9  * Institute of Technology. All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions are
13  * met:
14  *
15  * - Redistributions of source code must retain the above copyright
16  * notice, this list of conditions and the following disclaimer.
17  *
18  * - Redistributions in binary form must reproduce the above copyright
19  * notice, this list of conditions and the following disclaimer in the
20  * documentation and/or other materials provided with the distribution.
21  *
22  * - Neither the name of the Hewlett-Packard Company nor the name of the
23  * Massachusetts Institute of Technology nor the names of their
24  * contributors may be used to endorse or promote products derived from
25  * this software without specific prior written permission.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
34  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
36  * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
37  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
38  * DAMAGE.
39  */

40 package org.dspace.app.webui.servlet.admin;
41
42 import java.io.IOException JavaDoc;
43 import java.sql.SQLException JavaDoc;
44
45 import javax.servlet.ServletException JavaDoc;
46 import javax.servlet.http.HttpServletRequest JavaDoc;
47 import javax.servlet.http.HttpServletResponse JavaDoc;
48
49 import org.dspace.app.webui.servlet.DSpaceServlet;
50 import org.dspace.app.webui.util.JSPManager;
51 import org.dspace.app.webui.util.UIUtil;
52 import org.dspace.authorize.AuthorizeException;
53 import org.dspace.core.Context;
54 import org.dspace.workflow.WorkflowItem;
55 import org.dspace.workflow.WorkflowManager;
56
57 /**
58  * Servlet for aborting workflows
59  *
60  * @author dstuve
61  * @version $Revision: 1.8 $
62  */

63 public class WorkflowAbortServlet extends DSpaceServlet
64 {
65     protected void doDSGet(Context c, HttpServletRequest JavaDoc request,
66             HttpServletResponse JavaDoc response) throws ServletException JavaDoc, IOException JavaDoc,
67             SQLException JavaDoc, AuthorizeException
68     {
69         // Get displays list of workflows
70
showWorkflows(c, request, response);
71     }
72
73     protected void doDSPost(Context c, HttpServletRequest JavaDoc request,
74             HttpServletResponse JavaDoc response) throws ServletException JavaDoc, IOException JavaDoc,
75             SQLException JavaDoc, AuthorizeException
76     {
77         String JavaDoc button = UIUtil.getSubmitButton(request, "submit");
78
79         if (button.equals("submit_abort"))
80         {
81             // bring up the confirm page
82
WorkflowItem wi = WorkflowItem.find(c, UIUtil.getIntParameter(
83                     request, "workflow_id"));
84
85             request.setAttribute("workflow", wi);
86             JSPManager.showJSP(request, response,
87                     "/dspace-admin/workflow-abort-confirm.jsp");
88         }
89         else if (button.equals("submit_abort_confirm"))
90         {
91             // do the actual abort
92
WorkflowItem wi = WorkflowItem.find(c, UIUtil.getIntParameter(
93                     request, "workflow_id"));
94
95             WorkflowManager.abort(c, wi, c.getCurrentUser());
96
97             // now show what's left
98
showWorkflows(c, request, response);
99         }
100         else
101         {
102             // must have been cancel
103
showWorkflows(c, request, response);
104         }
105
106         // now commit the changes
107
c.complete();
108     }
109
110     private void showWorkflows(Context c, HttpServletRequest JavaDoc request,
111             HttpServletResponse JavaDoc response) throws ServletException JavaDoc, IOException JavaDoc,
112             SQLException JavaDoc, AuthorizeException
113     {
114         WorkflowItem[] w = WorkflowItem.findAll(c);
115
116         request.setAttribute("workflows", w);
117         JSPManager
118                 .showJSP(request, response, "/dspace-admin/workflow-list.jsp");
119     }
120 }
121
Popular Tags