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

📄 mydspaceservlet.java

📁 dspace 用j2ee架构的一个数字图书馆.开源程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * MyDSpaceServlet.java * * Version: $Revision: 1.14 $ * * Date: $Date: 2005/10/13 05:48:02 $ * * Copyright (c) 2002-2005, Hewlett-Packard Company and Massachusetts * Institute of Technology.  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 Hewlett-Packard Company nor the name of the * Massachusetts Institute of Technology nor the names of their * 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 * HOLDERS 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. */package org.dspace.app.webui.servlet;import java.io.IOException;import java.sql.SQLException;import java.util.LinkedList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import org.dspace.app.webui.util.JSPManager;import org.dspace.app.webui.util.UIUtil;import org.dspace.authorize.AuthorizeException;import org.dspace.content.Item;import org.dspace.content.ItemIterator;import org.dspace.content.SupervisedItem;import org.dspace.content.WorkspaceItem;import org.dspace.core.Context;import org.dspace.core.LogManager;import org.dspace.eperson.Group;import org.dspace.handle.HandleManager;import org.dspace.workflow.WorkflowItem;import org.dspace.workflow.WorkflowManager;/** * Servlet for constructing the components of the "My DSpace" page *  * @author Robert Tansley * @version $Id: MyDSpaceServlet.java,v 1.14 2005/10/13 05:48:02 syeadon Exp $ */public class MyDSpaceServlet extends DSpaceServlet{    /** Logger */    private static Logger log = Logger.getLogger(MyDSpaceServlet.class);    /** The main screen */    public static final int MAIN_PAGE = 0;    /** The remove item page */    public static final int REMOVE_ITEM_PAGE = 1;    /** The preview task page */    public static final int PREVIEW_TASK_PAGE = 2;    /** The perform task page */    public static final int PERFORM_TASK_PAGE = 3;    /** The "reason for rejection" page */    public static final int REJECT_REASON_PAGE = 4;    protected void doDSGet(Context context, HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException,            SQLException, AuthorizeException    {        // GET displays the main page - everthing else is a POST        showMainPage(context, request, response);    }    protected void doDSPost(Context context, HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException,            SQLException, AuthorizeException    {        // First get the step        int step = UIUtil.getIntParameter(request, "step");        switch (step)        {        case MAIN_PAGE:            processMainPage(context, request, response);            break;        case REMOVE_ITEM_PAGE:            processRemoveItem(context, request, response);            break;        case PREVIEW_TASK_PAGE:            processPreviewTask(context, request, response);            break;        case PERFORM_TASK_PAGE:            processPerformTask(context, request, response);            break;        case REJECT_REASON_PAGE:            processRejectReason(context, request, response);            break;        default:            log.warn(LogManager.getHeader(context, "integrity_error", UIUtil                    .getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);        }    }    // ****************************************************************    // ****************************************************************    // METHODS FOR PROCESSING POSTED FORMS    // ****************************************************************    // ****************************************************************    protected void processMainPage(Context context, HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException,            SQLException, AuthorizeException    {        String buttonPressed = UIUtil.getSubmitButton(request, "submit_own");        // Get workspace item, if any        WorkspaceItem workspaceItem;        try        {            int wsID = Integer.parseInt(request.getParameter("workspace_id"));            workspaceItem = WorkspaceItem.find(context, wsID);        }        catch (NumberFormatException nfe)        {            workspaceItem = null;        }        // Get workflow item specified, if any        WorkflowItem workflowItem;        try        {            int wfID = Integer.parseInt(request.getParameter("workflow_id"));            workflowItem = WorkflowItem.find(context, wfID);        }        catch (NumberFormatException nfe)        {            workflowItem = null;        }        // Respond to button press        boolean ok = false;        if (buttonPressed.equals("submit_new"))        {            // New submission: Redirect to submit            response.sendRedirect(response.encodeRedirectURL(request                    .getContextPath()                    + "/submit"));            ok = true;        }        else if (buttonPressed.equals("submit_own"))        {            // Review own submissions            showPreviousSubmissions(context, request, response);            ok = true;        }        else if (buttonPressed.equals("submit_resume"))        {            // User clicked on a "Resume" button for a workspace item.            String wsID = request.getParameter("workspace_id");            response.sendRedirect(response.encodeRedirectURL(request                    .getContextPath()                    + "/submit?resume=" + wsID));            ok = true;        }        else if (buttonPressed.equals("submit_delete"))        {            // User clicked on a "Remove" button for a workspace item            if (workspaceItem != null)            {                log.info(LogManager.getHeader(context, "confirm_removal",                        "workspace_item_id=" + workspaceItem.getID()));                request.setAttribute("workspace.item", workspaceItem);                JSPManager.showJSP(request, response,                        "/mydspace/remove-item.jsp");            }            else            {                log.warn(LogManager.getHeader(context, "integrity_error",                        UIUtil.getRequestLogInfo(request)));                JSPManager.showIntegrityError(request, response);            }            ok = true;        }        else if (buttonPressed.equals("submit_claim"))        {            // User clicked "take task" button on workflow task            if (workflowItem != null)            {                log.info(LogManager.getHeader(context, "view_workflow",                        "workflow_id=" + workflowItem.getID()));                request.setAttribute("workflow.item", workflowItem);                JSPManager.showJSP(request, response,                        "/mydspace/preview-task.jsp");                ok = true;            }        }        else if (buttonPressed.equals("submit_perform"))        {            // User clicked "Do This Task" button on workflow task            if (workflowItem != null)            {                log.info(LogManager.getHeader(context, "view_workflow",                        "workflow_id=" + workflowItem.getID()));                request.setAttribute("workflow.item", workflowItem);                JSPManager.showJSP(request, response,                        "/mydspace/perform-task.jsp");                ok = true;            }        }        else if (buttonPressed.equals("submit_return"))        {            // User clicked "Return to pool" button on workflow task            if (workflowItem != null)            {                log.info(LogManager.getHeader(context, "unclaim_workflow",                        "workflow_id=" + workflowItem.getID()));                WorkflowManager.unclaim(context, workflowItem, context                        .getCurrentUser());                showMainPage(context, request, response);                context.complete();                ok = true;            }        }        if (ok == false)        {            log.warn(LogManager.getHeader(context, "integrity_error", UIUtil                    .getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);        }    }    /**     * Process input from remove item page     *      * @param context     *            current context     * @param request     *            current servlet request object     * @param response     *            current servlet response object     */    private void processRemoveItem(Context context, HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException,            SQLException, AuthorizeException    {        String buttonPressed = UIUtil.getSubmitButton(request, "submit_cancel");        // Get workspace item        WorkspaceItem workspaceItem;        try        {            int wsID = Integer.parseInt(request.getParameter("workspace_id"));            workspaceItem = WorkspaceItem.find(context, wsID);        }        catch (NumberFormatException nfe)        {            workspaceItem = null;        }        if (workspaceItem == null)        {            log.warn(LogManager.getHeader(context, "integrity_error", UIUtil                    .getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);            return;        }        // We have a workspace item        if (buttonPressed.equals("submit_delete"))        {            // User has clicked on "delete"            log.info(LogManager.getHeader(context, "remove_submission",                    "workspace_item_id=" + workspaceItem.getID() + ",item_id="                            + workspaceItem.getItem().getID()));            workspaceItem.deleteAll();            showMainPage(context, request, response);            context.complete();        }        else        {            // User has cancelled. Back to main page.            showMainPage(context, request, response);        }    }

⌨️ 快捷键说明

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