1 17 package org.apache.geronimo.console.jmsmanager.wizard; 18 19 import java.io.IOException ; 20 import javax.portlet.ActionRequest; 21 import javax.portlet.ActionResponse; 22 import javax.portlet.PortletException; 23 import javax.portlet.RenderRequest; 24 import javax.portlet.RenderResponse; 25 import org.apache.geronimo.console.util.PortletManager; 26 import org.apache.geronimo.console.MultiPageModel; 27 28 33 public class ShowPlanHandler extends AbstractHandler { 34 public ShowPlanHandler() { 35 super(SHOW_PLAN_MODE, "/WEB-INF/view/jmswizard/plan.jsp"); 36 } 37 38 public String actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException { 39 JMSResourceData data = (JMSResourceData) model; 40 String plan = save(request, response, data, true); 41 request.getPortletSession(true).setAttribute("deploymentPlan", plan); 42 return getMode(); 43 } 44 45 public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException { 46 JMSResourceData data = (JMSResourceData) model; 47 request.setAttribute("deploymentPlan", request.getPortletSession().getAttribute("deploymentPlan")); 48 String path = PortletManager.getRepositoryEntry(request, data.getRarURI()).getPath(); 49 String base = PortletManager.getCurrentServer(request).getServerInfo().getCurrentBaseDirectory(); 50 if(base != null && path.startsWith(base)) { 51 path = path.substring(base.length()); 52 if(path.startsWith("/")) { 53 path = path.substring(1); 54 } 55 } else { 56 int pos = path.lastIndexOf('/'); 57 path = path.substring(pos+1); 58 } 59 request.setAttribute("rarURL", path); 60 } 61 62 public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException { 63 JMSResourceData data = (JMSResourceData) model; 64 request.getPortletSession(true).removeAttribute("deploymentPlan"); 65 String next = request.getParameter("nextAction"); 66 if(next.equals(SELECT_DESTINATION_TYPE_MODE)) { 67 data.setCurrentDestinationID(data.getAdminObjects().size()); 68 } else if(next.equals(SELECT_FACTORY_TYPE_MODE)) { 69 data.setCurrentFactoryID(data.getConnectionFactories().size()); 70 } 71 return next+BEFORE_ACTION; 72 } 73 } 74 | Popular Tags |