1 17 package org.apache.geronimo.console.apache.jk; 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.commons.logging.Log; 26 import org.apache.commons.logging.LogFactory; 27 import org.apache.geronimo.console.MultiPageModel; 28 import org.apache.geronimo.console.util.PortletManager; 29 import org.apache.geronimo.management.geronimo.NetworkConnector; 30 import org.apache.geronimo.management.geronimo.WebConnector; 31 import org.apache.geronimo.management.geronimo.WebManager; 32 33 38 public class AJPHandler extends BaseApacheHandler { 39 private final static Log log = LogFactory.getLog(AJPHandler.class); 40 41 public AJPHandler() { 42 super(AJP_MODE, "/WEB-INF/view/apache/jk/ajpPort.jsp"); 43 } 44 45 public String actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException { 46 WebManager[] managers = PortletManager.getWebManagers(request); 47 for (int i = 0; i < managers.length; i++) { 49 WebManager manager = managers[i]; 50 NetworkConnector[] connectors = manager.getConnectors(WebManager.PROTOCOL_AJP); 51 if(connectors.length > 0) { 52 log.warn("Found AJP listener on port "+connectors[0].getPort()); 53 return BASIC_CONFIG_MODE+BEFORE_ACTION; 54 } 55 } 56 int port = 8009; 58 outer: 59 while(true) { 60 for (int i = 0; i < managers.length; i++) { 61 WebManager manager = managers[i]; 62 WebConnector[] cons = (WebConnector[]) manager.getConnectors(); 63 for (int j = 0; j < cons.length; j++) { 64 WebConnector con = cons[j]; 65 if(con.getPort() == port) { 66 port += 10; 67 continue outer; 68 } 69 } 70 } 71 break; 72 } 73 74 ((ApacheModel)model).setAddAjpPort(new Integer (port)); 75 76 return getMode(); 77 } 78 79 public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException { 80 } 81 82 public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel amodel) throws PortletException, IOException { 83 ApacheModel model = (ApacheModel) amodel; 84 if(model.getAddAjpPort() == null) { 86 return getMode()+BEFORE_ACTION; } 88 WebManager[] managers = PortletManager.getWebManagers(request); 89 for (int i = 0; i < managers.length; i++) { 90 WebManager manager = managers[i]; 91 WebConnector[] cons = (WebConnector[]) manager.getConnectors(); 92 for (int j = 0; j < cons.length; j++) { 93 WebConnector con = cons[j]; 94 if(con.getPort() == model.getAddAjpPort().intValue()) { 95 return getMode()+BEFORE_ACTION; } 97 } 98 } 99 100 return BASIC_CONFIG_MODE+BEFORE_ACTION; 101 } 102 } 103 | Popular Tags |