1 19 20 package com.sslexplorer.policyframework.wizards.actions; 21 22 import javax.servlet.http.HttpServletRequest ; 23 import javax.servlet.http.HttpServletResponse ; 24 25 import org.apache.struts.action.ActionForm; 26 import org.apache.struts.action.ActionForward; 27 import org.apache.struts.action.ActionMapping; 28 29 import com.sslexplorer.core.CoreUtil; 30 import com.sslexplorer.policyframework.PolicyConstants; 31 import com.sslexplorer.policyframework.PolicyDatabaseFactory; 32 import com.sslexplorer.policyframework.wizards.forms.AccessRightsDetailsForm; 33 import com.sslexplorer.security.LogonControllerFactory; 34 import com.sslexplorer.security.SessionInfo; 35 import com.sslexplorer.wizard.AbstractWizardSequence; 36 import com.sslexplorer.wizard.DefaultWizardSequence; 37 import com.sslexplorer.wizard.WizardStep; 38 import com.sslexplorer.wizard.actions.AbstractWizardAction; 39 40 47 public class AccessRightsDetailsAction extends AbstractWizardAction { 48 49 52 public AccessRightsDetailsAction() { 53 super(PolicyConstants.ACCESS_RIGHTS_RESOURCE_TYPE, null); 54 } 55 56 64 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 65 return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT; 66 } 67 68 76 public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, 77 HttpServletResponse response) throws Exception { 78 ActionForward fwd = super.unspecified(mapping, form, request, response); 79 CoreUtil.addRequiredFieldMessage(this, request); 80 return fwd; 81 } 82 83 91 public ActionForward previous(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 92 throws Exception { 93 throw new Exception ("No previous steps."); 94 } 95 96 104 protected AbstractWizardSequence createWizardSequence(ActionMapping mapping, ActionForm form, HttpServletRequest request, 105 HttpServletResponse response) throws Exception { 106 ActionForward fwd = mapping.findForward("finish"); 107 String permClass = request.getParameter("class"); 108 SessionInfo session = this.getSessionInfo(request); 109 if (LogonControllerFactory.getInstance().isAdministrator(session.getUser()) 110 || PolicyDatabaseFactory.getInstance().getPermittingAccessRights(null, null, permClass, 111 session.getUser()).size() > 0) { 112 DefaultWizardSequence seq = new DefaultWizardSequence(fwd, "policyframework", "accessRightsWizard", CoreUtil 113 .getReferer(request), "accessRightsWizard", session); 114 seq.putAttribute(AccessRightsDetailsForm.ATTR_RESOURCE_PERMISSION_CLASS, permClass); 115 seq.addStep(new WizardStep("/accessRightsDetails.do", true)); 116 seq.addStep(new WizardStep("/accessRightsPermissions.do", false)); 117 seq.addStep(new WizardStep("/accessRightsPolicySelection.do", false)); 118 seq.addStep(new WizardStep("/accessRightsSummary.do", false)); 119 return seq; 120 } else { 121 throw new Exception ("Permission denied."); 122 } 123 } 124 } 125 | Popular Tags |