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

📄 mydspaceservlet.java

📁 dspace 用j2ee架构的一个数字图书馆.开源程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    /**     * Process input from preview task page     *      * @param context     *            current context     * @param request     *            current servlet request object     * @param response     *            current servlet response object     */    private void processPreviewTask(Context context,            HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException, SQLException,            AuthorizeException    {        String buttonPressed = UIUtil.getSubmitButton(request, "submit_cancel");        // Get workflow item        WorkflowItem workflowItem;        try        {            int wfID = Integer.parseInt(request.getParameter("workflow_id"));            workflowItem = WorkflowItem.find(context, wfID);        }        catch (NumberFormatException nfe)        {            workflowItem = null;        }        if (workflowItem == null)        {            log.warn(LogManager.getHeader(context, "integrity_error", UIUtil                    .getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);            return;        }        if (buttonPressed.equals("submit_start"))        {            // User clicked "start" button to claim the task            WorkflowManager.claim(context, workflowItem, context                    .getCurrentUser());            // Display "perform task" page            request.setAttribute("workflow.item", workflowItem);            JSPManager.showJSP(request, response, "/mydspace/perform-task.jsp");            context.complete();        }        else        {            // Return them to main page            showMainPage(context, request, response);        }    }    /**     * Process input from perform task page     *      * @param context     *            current context     * @param request     *            current servlet request object     * @param response     *            current servlet response object     */    private void processPerformTask(Context context,            HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException, SQLException,            AuthorizeException    {        String buttonPressed = UIUtil.getSubmitButton(request, "submit_cancel");        // Get workflow item        WorkflowItem workflowItem;        try        {            int wfID = Integer.parseInt(request.getParameter("workflow_id"));            workflowItem = WorkflowItem.find(context, wfID);        }        catch (NumberFormatException nfe)        {            workflowItem = null;        }        if (workflowItem == null)        {            log.warn(LogManager.getHeader(context, "integrity_error", UIUtil                    .getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);            return;        }        if (buttonPressed.equals("submit_approve"))        {            Item item = workflowItem.getItem();            // Advance the item along the workflow            WorkflowManager.advance(context, workflowItem, context                    .getCurrentUser());            // FIXME: This should be a return value from advance()            // See if that gave the item a Handle. If it did,            // the item made it into the archive, so we            // should display a suitable page.            String handle = HandleManager.findHandle(context, item);            if (handle != null)            {                String displayHandle = HandleManager.getCanonicalForm(handle);                request.setAttribute("handle", displayHandle);                JSPManager.showJSP(request, response,                        "/mydspace/in-archive.jsp");            }            else            {                JSPManager.showJSP(request, response,                        "/mydspace/task-complete.jsp");            }            context.complete();        }        else if (buttonPressed.equals("submit_reject"))        {            // Submission rejected. Ask the user for a reason            log.info(LogManager.getHeader(context, "get_reject_reason",                    "workflow_id=" + workflowItem.getID() + ",item_id="                            + workflowItem.getItem().getID()));            request.setAttribute("workflow.item", workflowItem);            JSPManager                    .showJSP(request, response, "/mydspace/reject-reason.jsp");        }        else if (buttonPressed.equals("submit_edit"))        {            // FIXME: Check auth            log.info(LogManager.getHeader(context, "edit_workflow_item",                    "workflow_id=" + workflowItem.getID() + ",item_id="                            + workflowItem.getItem().getID()));            // Forward control to the submission interface            // with the relevant item            response.sendRedirect(response.encodeRedirectURL(request                    .getContextPath()                    + "/submit?workflow=" + workflowItem.getID()));        }        else if (buttonPressed.equals("submit_pool"))        {            // Return task to pool            WorkflowManager.unclaim(context, workflowItem, context                    .getCurrentUser());            showMainPage(context, request, response);            context.complete();        }        else        {            // Cancelled. The user hasn't taken the task.            // Just return to the main My DSpace page.            showMainPage(context, request, response);        }    }    /**     * Process input from "reason for rejection" page     *      * @param context     *            current context     * @param request     *            current servlet request object     * @param response     *            current servlet response object     */    private void processRejectReason(Context context,            HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException, SQLException,            AuthorizeException    {        String buttonPressed = UIUtil.getSubmitButton(request, "submit_cancel");        // Get workflow item        WorkflowItem workflowItem;        try        {            int wfID = Integer.parseInt(request.getParameter("workflow_id"));            workflowItem = WorkflowItem.find(context, wfID);        }        catch (NumberFormatException nfe)        {            workflowItem = null;        }        if (workflowItem == null)        {            log.warn(LogManager.getHeader(context, "integrity_error", UIUtil                    .getRequestLogInfo(request)));            JSPManager.showIntegrityError(request, response);            return;        }        if (buttonPressed.equals("submit_send"))        {            String reason = request.getParameter("reason");            WorkspaceItem wsi = WorkflowManager.reject(context, workflowItem,                    context.getCurrentUser(), reason);            // Set the "stage_reached" column on the returned workspace item            // to the "verify" stage            wsi.setStageReached(SubmitServlet.REVIEW_SUBMISSION);            wsi.update();            JSPManager                    .showJSP(request, response, "/mydspace/task-complete.jsp");            context.complete();        }        else        {            request.setAttribute("workflow.item", workflowItem);            JSPManager.showJSP(request, response, "/mydspace/perform-task.jsp");        }    }    // ****************************************************************    // ****************************************************************    // METHODS FOR SHOWING FORMS    // ****************************************************************    // ****************************************************************    /**     * Show the main My DSpace page     *      * @param context     *            current context     * @param request     *            current servlet request object     * @param response     *            current servlet response object     */    private void showMainPage(Context context, HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException,            SQLException, AuthorizeException    {        log.info(LogManager.getHeader(context, "view_mydspace", ""));        // FIXME: WorkflowManager should return arrays        List ownedList = WorkflowManager.getOwnedTasks(context, context                .getCurrentUser());        WorkflowItem[] owned = new WorkflowItem[ownedList.size()];        owned = (WorkflowItem[]) ownedList.toArray(owned);        // Pooled workflow items        List pooledList = WorkflowManager.getPooledTasks(context, context                .getCurrentUser());        WorkflowItem[] pooled = new WorkflowItem[pooledList.size()];        pooled = (WorkflowItem[]) pooledList.toArray(pooled);        // User's WorkflowItems        WorkflowItem[] workflowItems = WorkflowItem.findByEPerson(context,                context.getCurrentUser());        // User's PersonalWorkspace        WorkspaceItem[] workspaceItems = WorkspaceItem.findByEPerson(context,                context.getCurrentUser());        // User's authorization groups        Group[] memberships = context.getCurrentUser().getGroupMemberships();        SupervisedItem[] supervisedItems = SupervisedItem.findbyEPerson(                context, context.getCurrentUser());        // Set attributes        request.setAttribute("mydspace.user", context.getCurrentUser());        request.setAttribute("workspace.items", workspaceItems);        request.setAttribute("workflow.items", workflowItems);        request.setAttribute("workflow.owned", owned);        request.setAttribute("workflow.pooled", pooled);        request.setAttribute("group.memberships", memberships);        request.setAttribute("supervised.items", supervisedItems);        // Forward to main mydspace page        JSPManager.showJSP(request, response, "/mydspace/main.jsp");    }    /**     * Show the user's previous submissions.     *      * @param context     *            current context     * @param request     *            current servlet request object     * @param response     *            current servlet response object     */    private void showPreviousSubmissions(Context context,            HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException, SQLException,            AuthorizeException    {        ItemIterator subs = Item.findBySubmitter(context, context                .getCurrentUser());        // Turn the iterator into a list        List subList = new LinkedList();        while (subs.hasNext())        {            subList.add(subs.next());        }        Item[] items = new Item[subList.size()];        for (int i = 0; i < subList.size(); i++)        {            items[i] = (Item) subList.get(i);        }        log.info(LogManager.getHeader(context, "view_own_submissions", "count="                + items.length));        request.setAttribute("user", context.getCurrentUser());        request.setAttribute("items", items);        JSPManager.showJSP(request, response, "/mydspace/own-submissions.jsp");    }}

⌨️ 快捷键说明

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