📄 editcommunitiesservlet.java
字号:
String intro = request.getParameter("introductory_text"); if (intro.equals("")) { intro = null; } String copy = request.getParameter("copyright_text"); if (copy.equals("")) { copy = null; } String side = request.getParameter("side_bar_text"); if (side.equals("")) { side = null; } community.setMetadata("introductory_text", intro); community.setMetadata("copyright_text", copy); community.setMetadata("side_bar_text", side); community.update(); // Which button was pressed? String button = UIUtil.getSubmitButton(request, "submit"); if (button.equals("submit_set_logo")) { // Change the logo - delete any that might be there first community.setLogo(null); community.update(); // Display "upload logo" page. Necessary attributes already set by // doDSPost() JSPManager.showJSP(request, response, "/dspace-admin/upload-logo.jsp"); } else if (button.equals("submit_delete_logo")) { // Simply delete logo community.setLogo(null); community.update(); // Show edit page again - attributes set in doDSPost() JSPManager.showJSP(request, response, "/tools/edit-community.jsp"); } else if (button.equals("submit_authorization_edit")) { // Forward to policy edit page response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/dspace-admin/authorize?community_id=" + community.getID() + "&submit_community_select=1")); } else { // Button at bottom clicked - show main control page showControls(context, request, response); } // Commit changes to DB context.complete(); } /** * Create/update collection metadata from a posted form * * @param context * DSpace context * @param request * the HTTP request containing posted info * @param response * the HTTP response * @param community * the community the collection is in * @param collection * the collection to update (or null for creation) */ private void processConfirmEditCollection(Context context, HttpServletRequest request, HttpServletResponse response, Community community, Collection collection) throws ServletException, IOException, SQLException, AuthorizeException { if (request.getParameter("create").equals("true")) { // We need to create a new community collection = community.createCollection(); request.setAttribute("collection", collection); } // Update the basic metadata collection.setMetadata("name", request.getParameter("name")); collection.setMetadata("short_description", request .getParameter("short_description")); String intro = request.getParameter("introductory_text"); if (intro.equals("")) { intro = null; } String copy = request.getParameter("copyright_text"); if (copy.equals("")) { copy = null; } String side = request.getParameter("side_bar_text"); if (side.equals("")) { side = null; } String license = request.getParameter("license"); if (license.equals("")) { license = null; } String provenance = request.getParameter("provenance_description"); if (provenance.equals("")) { provenance = null; } collection.setMetadata("introductory_text", intro); collection.setMetadata("copyright_text", copy); collection.setMetadata("side_bar_text", side); collection.setMetadata("license", license); collection.setMetadata("provenance_description", provenance); // Which button was pressed? String button = UIUtil.getSubmitButton(request, "submit"); if (button.equals("submit_set_logo")) { // Change the logo - delete any that might be there first collection.setLogo(null); // Display "upload logo" page. Necessary attributes already set by // doDSPost() JSPManager.showJSP(request, response, "/dspace-admin/upload-logo.jsp"); } else if (button.equals("submit_delete_logo")) { // Simply delete logo collection.setLogo(null); // Show edit page again - attributes set in doDSPost() JSPManager.showJSP(request, response, "/tools/edit-collection.jsp"); } else if (button.startsWith("submit_wf_create_")) { int step = Integer.parseInt(button.substring(17)); // Create new group Group newGroup = Group.create(context); newGroup.setName("COLLECTION_" + collection.getID() + "_WFSTEP_" + step); newGroup.update(); collection.setWorkflowGroup(step, newGroup); collection.update(); // Forward to group edit page response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/group-edit?group_id=" + newGroup.getID())); } else if (button.equals("submit_admins_create")) { // Create new group Group newGroup = collection.createAdministrators(); // Forward to group edit page response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/group-edit?group_id=" + newGroup.getID())); } else if (button.equals("submit_submitters_create")) { // Create new group Group newGroup = collection.createSubmitters(); // Forward to group edit page response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/group-edit?group_id=" + newGroup.getID())); } else if (button.equals("submit_authorization_edit")) { // Forward to policy edit page response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/dspace-admin/authorize?collection_id=" + collection.getID() + "&submit_collection_select=1")); } else if (button.startsWith("submit_wf_edit_")) { int step = Integer.parseInt(button.substring(15)); // Edit workflow group Group g = collection.getWorkflowGroup(step); response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/group-edit?group_id=" + g.getID())); } else if (button.equals("submit_submitters_edit")) { // Edit submitters group Group g = collection.getSubmitters(); response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/group-edit?group_id=" + g.getID())); } else if (button.equals("submit_admins_edit")) { // Edit 'collection administrators' group Group g = collection.getAdministrators(); response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/group-edit?group_id=" + g.getID())); } else if (button.startsWith("submit_wf_delete_")) { // Delete workflow group int step = Integer.parseInt(button.substring(17)); Group g = collection.getWorkflowGroup(step); collection.setWorkflowGroup(step, null); // Have to update to avoid ref. integrity error collection.update(); g.delete(); // Show edit page again - attributes set in doDSPost() JSPManager.showJSP(request, response, "/tools/edit-collection.jsp"); } else if (button.equals("submit_create_template")) { // Create a template item collection.createTemplateItem(); // Forward to edit page for new template item Item i = collection.getTemplateItem(); i.setOwningCollection(collection); // have to update to avoid ref. integrity error i.update(); collection.update(); context.complete(); response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/edit-item?item_id=" + i.getID())); return; } else if (button.equals("submit_edit_template")) { // Forward to edit page for template item Item i = collection.getTemplateItem(); response.sendRedirect(response.encodeRedirectURL(request .getContextPath() + "/tools/edit-item?item_id=" + i.getID())); } else if (button.equals("submit_delete_template")) { collection.removeTemplateItem(); // Show edit page again - attributes set in doDSPost() JSPManager.showJSP(request, response, "/tools/edit-collection.jsp"); } else { // Plain old "create/update" button pressed - go back to main page showControls(context, request, response); } // Commit changes to DB collection.update(); context.complete(); } /** * Process the input from the upload logo page * * @param context * current DSpace context * @param request * current servlet request object * @param response * current servlet response object */ private void processUploadLogo(Context context, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException { // Wrap multipart request to get the submission info FileUploadRequest wrapper = new FileUploadRequest(request); Community community = Community.find(context, UIUtil.getIntParameter( wrapper, "community_id")); Collection collection = Collection.find(context, UIUtil .getIntParameter(wrapper, "collection_id")); File temp = wrapper.getFile("file"); // Read the temp file as logo InputStream is = new BufferedInputStream(new FileInputStream(temp)); Bitstream logoBS; if (collection == null) { logoBS = community.setLogo(is); } else { logoBS = collection.setLogo(is); } // Strip all but the last filename. It would be nice // to know which OS the file came from. String noPath = wrapper.getFilesystemName("file"); while (noPath.indexOf('/') > -1) { noPath = noPath.substring(noPath.indexOf('/') + 1); } while (noPath.indexOf('\\') > -1) { noPath = noPath.substring(noPath.indexOf('\\') + 1); } logoBS.setName(noPath); logoBS.setSource(wrapper.getFilesystemName("file")); // Identify the format BitstreamFormat bf = FormatIdentifier.guessFormat(context, logoBS); logoBS.setFormat(bf); AuthorizeManager.addPolicy(context, logoBS, Constants.WRITE, context .getCurrentUser()); logoBS.update(); if (AuthorizeManager.isAdmin(context)) { // set a variable to show all buttons request.setAttribute("admin_button", new Boolean(true)); } if (collection == null) { community.update(); // Show community edit page request.setAttribute("community", community); JSPManager.showJSP(request, response, "/tools/edit-community.jsp"); } else { collection.update(); // Show collection edit page request.setAttribute("collection", collection); request.setAttribute("community", community); JSPManager.showJSP(request, response, "/tools/edit-collection.jsp"); } // Remove temp file temp.delete(); // Update DB context.complete(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -