📄 submitservlet.java
字号:
int lastPage = EDIT_METADATA_1 + inputsReader.getNumberInputPages( c.getHandle() ) - 1; doStep(context, request, response, subInfo, lastPage); } } else if (buttonPressed.equals("submit_next")) { // "Next" pressed - the actual upload was handled above. if (ok) { // Uploaded etc. OK if (bf != null) { // Format was identified showUploadFileList(request, response, subInfo, true, false); } else { // Format couldn't be identified showGetFileFormat(context, request, response, subInfo, b); } context.complete(); } else { // If we get here, there was a problem uploading, but we // still know which submission we're dealing with showProgressAwareJSP(request, response, subInfo, "/submit/upload-error.jsp"); } } else { doStepJump(context, wrapper, response, subInfo); } // Remove temp file if it's still around if (temp != null) { temp.delete(); } } /** * Process input from get file type page * * @param context * current DSpace context * @param request * current servlet request object * @param response * current servlet response object * @param subInfo * submission info object */ private void processGetFileFormat(Context context, HttpServletRequest request, HttpServletResponse response, SubmissionInfo subInfo) throws ServletException, IOException, SQLException, AuthorizeException { String buttonPressed = UIUtil.getSubmitButton(request, "submit"); if (subInfo.bitstream != null) { // Did the user select a format? int typeID = UIUtil.getIntParameter(request, "format"); BitstreamFormat format = BitstreamFormat.find(context, typeID); if (format != null) { subInfo.bitstream.setFormat(format); } else { String userDesc = request.getParameter("format_description"); subInfo.bitstream.setUserFormatDescription(userDesc); } subInfo.bitstream.update(); if (buttonPressed.equals("submit")) { showUploadFileList(request, response, subInfo, true, false); } else { doStepJump(context, request, response, subInfo); } context.complete(); } else { log.warn(LogManager.getHeader(context, "integrity_error", UIUtil .getRequestLogInfo(request))); JSPManager.showIntegrityError(request, response); } } /** * Process input from file list page * * @param context * current DSpace context * @param request * current servlet request object * @param response * current servlet response object * @param subInfo * submission info object */ private void processFileList(Context context, HttpServletRequest request, HttpServletResponse response, SubmissionInfo subInfo) throws ServletException, IOException, SQLException, AuthorizeException { String buttonPressed = UIUtil.getSubmitButton(request, "submit_next"); Item item = subInfo.submission.getItem(); if (buttonPressed.equals("submit_cancel")) { doCancellation(request, response, subInfo, SubmitServlet.FILE_LIST, SubmitServlet.UPLOAD_FILES); } else if (buttonPressed.equals("submit_prev")) { // In some cases, this might be expected to go back // to the "choose file" page, but that doesn't make // a great deal of sense, so go back to last edit metadata page. Collection c = subInfo.submission.getCollection(); int lastPage = EDIT_METADATA_1 + inputsReader.getNumberInputPages( c.getHandle() ) - 1; doStep(context, request, response, subInfo, lastPage); } else if (buttonPressed.equals("submit_next")) { // Finished the uploading of files // FIXME Validation check here // set primary bitstream if (request.getParameter("primary_bitstream_id") != null) { Bundle[] bundles = item.getBundles("ORIGINAL"); bundles[0].setPrimaryBitstreamID(new Integer(request .getParameter("primary_bitstream_id")).intValue()); bundles[0].update(); } userHasReached(subInfo, REVIEW_SUBMISSION); doStep(context, request, response, subInfo, REVIEW_SUBMISSION); context.complete(); } else if (buttonPressed.equals("submit_more")) { // set primary bitstream if (request.getParameter("primary_bitstream_id") != null) { Bundle[] bundles = item.getBundles("ORIGINAL"); bundles[0].setPrimaryBitstreamID(new Integer(request .getParameter("primary_bitstream_id")).intValue()); bundles[0].update(); context.commit(); } // Upload another file showProgressAwareJSP(request, response, subInfo, "/submit/choose-file.jsp"); } else if (buttonPressed.equals("submit_show_checksums")) { // Show the checksums showUploadFileList(request, response, subInfo, false, true); } else if (buttonPressed.startsWith("submit_describe_")) { // Change the description of a bitstream Bitstream bitstream; // Which bitstream does the user want to describe? try { int id = Integer.parseInt(buttonPressed.substring(16)); bitstream = Bitstream.find(context, id); } catch (NumberFormatException nfe) { bitstream = null; } if (bitstream == null) { // Invalid or mangled bitstream ID log.warn(LogManager.getHeader(context, "integrity_error", UIUtil.getRequestLogInfo(request))); JSPManager.showIntegrityError(request, response); return; } // Display the form letting them change the description subInfo.bitstream = bitstream; showProgressAwareJSP(request, response, subInfo, "/submit/change-file-description.jsp"); } else if (buttonPressed.startsWith("submit_remove_")) { // A "remove" button must have been pressed Bitstream bitstream; // Which bitstream does the user want to describe? try { int id = Integer.parseInt(buttonPressed.substring(14)); bitstream = Bitstream.find(context, id); } catch (NumberFormatException nfe) { bitstream = null; } if (bitstream == null) { // Invalid or mangled bitstream ID log.warn(LogManager.getHeader(context, "integrity_error", UIUtil.getRequestLogInfo(request))); JSPManager.showIntegrityError(request, response); return; } // remove bitstream from bundle.. // delete bundle if it's now empty Bundle[] bundles = bitstream.getBundles(); bundles[0].removeBitstream(bitstream); Bitstream[] bitstreams = bundles[0].getBitstreams(); // remove bundle if it's now empty if (bitstreams.length < 1) { item.removeBundle(bundles[0]); item.update(); } showFirstUploadPage(context, request, response, subInfo); context.complete(); } else if (buttonPressed.startsWith("submit_format_")) { // A "format is wrong" button must have been pressed Bitstream bitstream; // Which bitstream does the user want to describe? try { int id = Integer.parseInt(buttonPressed.substring(14)); bitstream = Bitstream.find(context, id); } catch (NumberFormatException nfe) { bitstream = null; } if (bitstream == null) { // Invalid or mangled bitstream ID log.warn(LogManager.getHeader(context, "integrity_error", UIUtil.getRequestLogInfo(request))); JSPManager.showIntegrityError(request, response); return; } subInfo.bitstream = bitstream; showGetFileFormat(context, request, response, subInfo, bitstream); } else { doStepJump(context, request, response, subInfo); } } /** * Process input from the upload error page * * @param context * current DSpace context * @param request * current servlet request object * @param response * current servlet response object * @param subInfo * submission info object */ private void processUploadError(Context context, HttpServletRequest request, HttpServletResponse response, SubmissionInfo subInfo) throws ServletException, IOException, SQLException, AuthorizeException { String buttonPressed = UIUtil.getSubmitButton(request, "submit_next"); // no real options on the page, just retry! if (buttonPressed.equals("submit")) { showProgressAwareJSP(request, response, subInfo, "/submit/choose-file.jsp"); } else { doStepJump(context, request, response, subInfo); } } /** * Process input from the "change file description" page * * @param context * current DSpace context * @param request * current servlet request object * @param response * current servlet response object * @param subInfo * submission info object */ private void processChangeFileDescription(Context context, HttpServletRequest request, HttpServletResponse response, SubmissionInfo subInfo) throws ServletException, IOException, SQLException, AuthorizeException { if (subInfo.bitstream != null) { subInfo.bitstream.setDescription(request .getParameter("description")); subInfo.bitstream.update(); if (request.getParameter("submit") != null) { showUploadFileList(request, response, subInfo, false, false); } else { doStepJump(context, request, response, subInfo); } context.complete(); } else { log.warn(LogManager.getHeader(context, "integrity_error", UIUtil .getRequestLogInfo(request))); JSPManager.showIntegrityError(request, response); } } /** * Process information from "submission cancelled" page * * @param context * current DSpace context * @param request * current servlet request object * @param response * current servlet response object * @param subInfo * submission info object */ private void processCancellation(Context context,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -