📄 edithardtokenprofilejsphelper.java
字号:
/************************************************************************* * * * EJBCA: The OpenSource Certificate Authority * * * * This software is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or any later version. * * * * See terms of license at gnu.org. * * * *************************************************************************/ package org.ejbca.ui.web.admin.hardtokeninterface;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.Iterator;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.commons.fileupload.DiskFileUpload;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadBase;import org.apache.commons.fileupload.FileUploadException;import org.ejbca.core.model.authorization.AuthorizationDeniedException;import org.ejbca.core.model.hardtoken.HardTokenProfileExistsException;import org.ejbca.core.model.hardtoken.profiles.EIDProfile;import org.ejbca.core.model.hardtoken.profiles.EnhancedEIDProfile;import org.ejbca.core.model.hardtoken.profiles.HardTokenProfile;import org.ejbca.core.model.hardtoken.profiles.HardTokenProfileWithAdressLabel;import org.ejbca.core.model.hardtoken.profiles.HardTokenProfileWithPINEnvelope;import org.ejbca.core.model.hardtoken.profiles.HardTokenProfileWithReceipt;import org.ejbca.core.model.hardtoken.profiles.HardTokenProfileWithVisualLayout;import org.ejbca.core.model.hardtoken.profiles.IAdressLabelSettings;import org.ejbca.core.model.hardtoken.profiles.IPINEnvelopeSettings;import org.ejbca.core.model.hardtoken.profiles.IReceiptSettings;import org.ejbca.core.model.hardtoken.profiles.IVisualLayoutSettings;import org.ejbca.core.model.hardtoken.profiles.SwedishEIDProfile;import org.ejbca.core.model.hardtoken.profiles.TurkishEIDProfile;import org.ejbca.ui.web.RequestHelper;import org.ejbca.ui.web.admin.configuration.EjbcaWebBean;/** * Contains help methods used to parse a hard token profile jsp page requests. * * @author Philip Vendil * @version $Id: EditHardTokenProfileJSPHelper.java,v 1.5 2006/11/11 12:46:05 herrvendil Exp $ */public class EditHardTokenProfileJSPHelper implements java.io.Serializable { public static final String ACTION = "action"; public static final String ACTION_EDIT_HARDTOKENPROFILES = "edithardtokenprofiles"; public static final String ACTION_EDIT_HARDTOKENPROFILE = "edithardtokenprofile"; public static final String ACTION_UPLOADENVELOPETEMP = "uploadenvelopetemp"; public static final String ACTION_UPLOADVISUALTEMP = "uploadvisualtemp"; public static final String ACTION_UPLOADRECEIPTTEMP = "uploadreceipttemp"; public static final String ACTION_UPLOADADRESSLABELTEMP = "uploadadresstemp"; public static final String ACTION_CHANGE_PROFILETYPE = "changeprofiletype"; public static final String CHECKBOX_VALUE = HardTokenProfile.TRUE;// Used in profiles.jsp public static final String BUTTON_EDIT_HARDTOKENPROFILES = "buttonedithardtokenprofile"; public static final String BUTTON_DELETE_HARDTOKENPROFILES = "buttondeletehardtokenprofile"; public static final String BUTTON_ADD_HARDTOKENPROFILES = "buttonaddhardtokenprofile"; public static final String BUTTON_RENAME_HARDTOKENPROFILES = "buttonrenamehardtokenprofile"; public static final String BUTTON_CLONE_HARDTOKENPROFILES = "buttonclonehardtokenprofile"; public static final String SELECT_HARDTOKENPROFILES = "selecthardtokenprofile"; public static final String TEXTFIELD_HARDTOKENPROFILESNAME = "textfieldhardtokenprofilename"; public static final String HIDDEN_HARDTOKENPROFILENAME = "hiddenhardtokenprofilename"; // Buttons used in profile.jsp public static final String BUTTON_SAVE = "buttonsave"; public static final String BUTTON_CANCEL = "buttoncancel"; public static final String BUTTON_UPLOADENVELOPETEMP= "buttonuploadenvelopetemplate"; public static final String BUTTON_UPLOADVISUALTEMP = "buttonuploadvisualtemplate"; public static final String BUTTON_UPLOADRECEIPTTEMP = "buttonuploadreceipttemplate"; public static final String BUTTON_UPLOADADRESSLABELTEMP = "buttonuploadadresslabeltemplate"; public static final String BUTTON_UPLOADFILE = "buttonuploadfile"; public static final String TYPE_SWEDISHEID = "typeswedisheid"; public static final String TYPE_ENCHANCEDEID = "typeenchancedeid"; public static final String TYPE_TURKISHEID = "typeturkisheid"; public static final String TEXTFIELD_VISUALVALIDITY = "textfieldvisualvalidity"; public static final String TEXTFIELD_SNPREFIX = "textfieldsnprefix"; public static final String CHECKBOX_EREASBLE = "checkboxereasable"; public static final String CHECKBOX_CERTWRITABLE = "checkboxcertwritable"; public static final String CHECKBOX_KEYRECOVERABLE = "checkboxkeyrecoverable"; public static final String CHECKBOX_REUSEOLDCERT = "checkboxreuseoldcert"; public static final String CHECKBOX_USEIDENTICALPINS= "useidenticalpins"; public static final String HIDDEN_HARDTOKENTYPE = "hiddenhardtokentype"; public static final String SELECT_HARDTOKENTYPE = "selecthardtokentype"; public static final String SELECT_CERTIFICATEPROFILE = "selectcertificateprofile"; public static final String SELECT_CA = "selectca"; public static final String SELECT_PINTYPE = "selectpintype"; public static final String SELECT_MINKEYLENGTH = "selectminkeylength"; public static final String SELECT_ENVELOPETYPE = "selectenvelopetype"; public static final String SELECT_NUMOFENVELOPECOPIES= "selectenvelopecopies"; public static final String SELECT_RECEIPTTYPE = "selectreceipttype"; public static final String SELECT_NUMOFRECEIPTCOPIES = "selectreceiptcopies"; public static final String SELECT_ADRESSLABELTYPE = "selectadresslabeltype"; public static final String SELECT_NUMOFADRESSLABELCOPIES = "selectadresslabelcopies"; public static final String SELECT_VISUALLAYOUTTYPE = "selectvisuallayouttype"; public static final String SELECT_NUMOFTOKENCOPIES = "selectnumoftokencopies"; public static final String SELECT_MINPINLENGTH = "selectminpinlength"; public static final String FILE_TEMPLATE = "filetemplate"; public static final int UPLOADMODE_ENVELOPE = 0; public static final int UPLOADMODE_VISUAL = 1; public static final int UPLOADMODE_RECEIPT = 2; public static final int UPLOADMODE_ADRESSLABEL = 3; public static final String PAGE_HARDTOKENPROFILE = "hardtokenprofilepage.jspf"; public static final String PAGE_HARDTOKENPROFILES = "hardtokenprofilespage.jspf"; public static final String PAGE_UPLOADTEMPLATE = "uploadtemplate.jspf"; /** Creates new LogInterfaceBean */ public EditHardTokenProfileJSPHelper(){ } // Public methods. /** * Method that initialized the bean. * * @param request is a reference to the http request. */ public void initialize(EjbcaWebBean ejbcawebbean, HardTokenInterfaceBean hardtokenbean) throws Exception{ if(!initialized){ this.hardtokenbean = hardtokenbean; initialized = true; issuperadministrator = false; try{ issuperadministrator = ejbcawebbean.isAuthorizedNoLog("/super_administrator"); }catch(AuthorizationDeniedException ade){} } } public String parseRequest(HttpServletRequest request) throws AuthorizationDeniedException{ String includefile = PAGE_HARDTOKENPROFILES; String profile = null; HardTokenProfileDataHandler handler = hardtokenbean.getHardTokenProfileDataHandler(); String action = null; InputStream file = null; boolean buttonupload = false; String filename = null; try { RequestHelper.setDefaultCharacterEncoding(request); } catch (UnsupportedEncodingException e1) { // ignore } if(FileUploadBase.isMultipartContent(request)){ try{ DiskFileUpload upload = new DiskFileUpload(); upload.setSizeMax(2000000); upload.setSizeThreshold(1999999); List /* FileItem */ items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { if(item.getFieldName().equals(ACTION)) action = item.getString(); if(item.getFieldName().equals(HIDDEN_HARDTOKENPROFILENAME)) profilename = item.getString(); if(item.getFieldName().equals(BUTTON_CANCEL)) { // do nothing } if(item.getFieldName().equals(BUTTON_UPLOADFILE)) buttonupload = true; }else{ file = item.getInputStream(); filename = item.getName(); } } }catch(IOException e){ fileuploadfailed = true; includefile=PAGE_HARDTOKENPROFILE; }catch(FileUploadException e){ fileuploadfailed = true; includefile=PAGE_HARDTOKENPROFILE; } }else{ action = request.getParameter(ACTION); } if( action != null){ if( action.equals(ACTION_EDIT_HARDTOKENPROFILES)){ if( request.getParameter(BUTTON_EDIT_HARDTOKENPROFILES) != null){ // Display profilepage.jsp profile = request.getParameter(SELECT_HARDTOKENPROFILES); if(profile != null){ if(!profile.trim().equals("")){ includefile=PAGE_HARDTOKENPROFILE; this.profilename = profile; this.profiledata = handler.getHardTokenProfile(profilename); } else{ profile= null; } } if(profile == null){ includefile=PAGE_HARDTOKENPROFILES; } } if( request.getParameter(BUTTON_DELETE_HARDTOKENPROFILES) != null) { // Delete profile and display profilespage. profile = request.getParameter(SELECT_HARDTOKENPROFILES); if(profile != null){ if(!profile.trim().equals("")){ hardtokenprofiledeletefailed = handler.removeHardTokenProfile(profile); } } includefile=PAGE_HARDTOKENPROFILES; } if( request.getParameter(BUTTON_RENAME_HARDTOKENPROFILES) != null){ // Rename selected profile and display profilespage. String newhardtokenprofilename = request.getParameter(TEXTFIELD_HARDTOKENPROFILESNAME);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -