1 18 package org.apache.geronimo.console.ca; 19 20 import java.io.IOException ; 21 import java.math.BigInteger ; 22 import java.text.DateFormat ; 23 import java.text.SimpleDateFormat ; 24 import java.util.Calendar ; 25 import java.util.Date ; 26 import java.util.GregorianCalendar ; 27 28 import javax.portlet.ActionRequest; 29 import javax.portlet.ActionResponse; 30 import javax.portlet.PortletException; 31 import javax.portlet.RenderRequest; 32 import javax.portlet.RenderResponse; 33 34 import org.apache.commons.logging.Log; 35 import org.apache.commons.logging.LogFactory; 36 import org.apache.geronimo.console.MultiPageModel; 37 38 43 public class SetupCAHandler extends BaseCAHandler { 44 private final static Log log = LogFactory.getLog(SetupCAHandler.class); 45 public SetupCAHandler() { 46 super(SETUPCA_MODE, "/WEB-INF/view/ca/setupCA.jsp"); 47 } 48 49 public String actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException { 50 String [] params = {ERROR_MSG, INFO_MSG, "caCN", "caOU", "caO", "caL", "caST", "caC", "alias", "keyAlgorithm", "keySize", "algorithm", "validFrom", "validTo", "sNo", "password"}; 51 for(int i = 0; i < params.length; ++i) { 52 String value = request.getParameter(params[i]); 53 if(value != null) response.setRenderParameter(params[i], value); 54 } 55 return getMode(); 56 } 57 58 public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException { 59 String [] params = {ERROR_MSG, INFO_MSG, "caCN", "caOU", "caO", "caL", "caST", "caC", "alias", "keyAlgorithm", "keySize", "algorithm", "validFrom", "validTo", "sNo", "password"}; 60 for(int i = 0; i < params.length; ++i) { 61 Object value = request.getParameter(params[i]); 62 if(value != null) request.setAttribute(params[i], value); 63 } 64 } 65 66 public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException { 67 String errorMsg = null; 68 try { 69 String sNo = request.getParameter("sNo"); 71 new BigInteger (sNo.trim()); 72 73 String validFrom = request.getParameter("validFrom"); 75 String validTo = request.getParameter("validTo"); 76 DateFormat df = new SimpleDateFormat ("MM/dd/yyyy"); 78 Date validFromDate = df.parse(validFrom); 79 Calendar calendar = new GregorianCalendar (); 80 calendar.setTime(validFromDate); 81 String mmddyyyy = (calendar.get(Calendar.MONTH) < 9 ? "0":"") + (calendar.get(Calendar.MONTH)+1); 82 mmddyyyy += "/"+(calendar.get(Calendar.DAY_OF_MONTH) < 10 ? "0":"") + (calendar.get(Calendar.DAY_OF_MONTH)); 83 mmddyyyy += "/"+calendar.get(Calendar.YEAR); 84 if(!mmddyyyy.equals(validFrom)) { 85 throw new Exception ("validFrom must be a date in MM/DD/YYYY format."); 86 } 87 Date validToDate = df.parse(validTo); 89 calendar.setTime(validToDate); 90 mmddyyyy = (calendar.get(Calendar.MONTH) < 9 ? "0":"") + (calendar.get(Calendar.MONTH)+1); 91 mmddyyyy += "/"+(calendar.get(Calendar.DAY_OF_MONTH) < 10 ? "0":"") + (calendar.get(Calendar.DAY_OF_MONTH)); 92 mmddyyyy += "/"+calendar.get(Calendar.YEAR); 93 if(!mmddyyyy.equals(validTo)) { 94 throw new Exception ("validTo must be a date in MM/DD/YYYY format."); 95 } 96 if(validFromDate.after(validToDate)) { 98 throw new Exception ("Validity: From date '"+validFrom+"' is before the To date '"+validTo+"'."); 99 } 100 101 return CONFIRM_CA_MODE+BEFORE_ACTION; 103 } catch(Exception e) { 104 errorMsg = e.toString(); 105 log.error("Error in user input during CA Setup.", e); 106 } 107 if(errorMsg != null) response.setRenderParameter(ERROR_MSG, errorMsg); 108 return getMode()+BEFORE_ACTION; 109 } 110 111 } 112 | Popular Tags |