1 19 20 package com.sslexplorer.sample.samplewizard.actions; 21 22 import java.util.ArrayList ; 23 import java.util.List ; 24 25 import javax.servlet.http.HttpServletRequest ; 26 import javax.servlet.http.HttpServletResponse ; 27 28 import org.apache.commons.logging.Log; 29 import org.apache.commons.logging.LogFactory; 30 import org.apache.struts.action.ActionForm; 31 import org.apache.struts.action.ActionForward; 32 import org.apache.struts.action.ActionMapping; 33 34 import com.sslexplorer.core.CoreEvent; 35 import com.sslexplorer.core.CoreServlet; 36 import com.sslexplorer.policyframework.ResourceChangeEvent; 37 import com.sslexplorer.sample.Sample; 38 import com.sslexplorer.sample.SamplePlugin; 39 import com.sslexplorer.sample.samplewizard.forms.SampleDefaultDetailsForm; 40 import com.sslexplorer.security.SessionInfo; 41 import com.sslexplorer.wizard.AbstractWizardSequence; 42 import com.sslexplorer.wizard.WizardActionStatus; 43 import com.sslexplorer.wizard.actions.AbstractWizardAction; 44 import com.sslexplorer.wizard.forms.AbstractWizardFinishForm; 45 46 53 public class SampleFinishAction extends AbstractWizardAction { 54 final static Log log = LogFactory.getLog(SampleFinishAction.class); 55 56 59 public SampleFinishAction() { 60 super(); 61 } 62 63 71 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 72 return SessionInfo.USER_CONSOLE_CONTEXT | SessionInfo.MANAGEMENT_CONSOLE_CONTEXT; 73 } 74 75 83 public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, 84 HttpServletResponse response) throws Exception { 85 List actionStatus = new ArrayList (); 86 AbstractWizardSequence seq = getWizardSequence(request); 87 String name = (String ) seq.getAttribute(SampleDefaultDetailsForm.ATTR_RESOURCE_NAME, null); 88 String description = (String ) seq.getAttribute(SampleDefaultDetailsForm.ATTR_RESOURCE_DESCRIPTION, null); 89 boolean favorite = ((Boolean ) seq.getAttribute(SampleDefaultDetailsForm.ATTR_FAVORITE, Boolean.FALSE)).booleanValue(); 90 int parentResourcePermission = ((Integer ) seq.getAttribute(SampleDefaultDetailsForm.ATTR_PARENT_RESOURCE_PERMISSION, 91 new Integer (0))).intValue(); 92 Sample sample = null; 93 try { 94 try { 95 sample = SamplePlugin.getDatabase().addSample(name, description, parentResourcePermission); 96 CoreServlet.getServlet().fireCoreEvent(new ResourceChangeEvent(this, 98 SamplePlugin.EVT_SAMPLE_CREATED, sample, getSessionInfo(request), CoreEvent.STATE_SUCCESSFUL)); 99 } 101 catch(Exception e) { 102 CoreServlet.getServlet().fireCoreEvent(new ResourceChangeEvent(this, 104 SamplePlugin.EVT_SAMPLE_CREATED, sample, getSessionInfo(request), CoreEvent.STATE_UNSUCCESSFUL)); 105 throw e; 107 } 108 actionStatus.add(new WizardActionStatus(WizardActionStatus.COMPLETED_OK, 109 "samplewizard.sampleFinish.status.profileCreated")); 110 } catch (Exception e) { 111 log.error("Failed to create profile.", e); 112 actionStatus.add(new WizardActionStatus(WizardActionStatus.COMPLETED_WITH_ERRORS, 113 "samplewizard.sampleFinish.status.failedToCreateProfile", e.getMessage())); 114 } 115 if (sample != null) { 117 actionStatus.add(attachToPoliciesAndAddToFavorites("samplewizard.sampleFinish", seq, sample, favorite, request)); 118 } 119 ((AbstractWizardFinishForm) form).setActionStatus(actionStatus); 120 return super.unspecified(mapping, form, request, response); 121 } 122 123 131 public ActionForward exit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 132 throws Exception { 133 return cancel(mapping, form, request, response); 134 } 135 136 } 137 | Popular Tags |