KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > console > apache > jk > WebAppHandler


1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17 package org.apache.geronimo.console.apache.jk;
18
19 import java.io.IOException JavaDoc;
20 import java.util.List JavaDoc;
21 import javax.portlet.ActionRequest;
22 import javax.portlet.ActionResponse;
23 import javax.portlet.PortletException;
24 import javax.portlet.RenderRequest;
25 import javax.portlet.RenderResponse;
26 import org.apache.commons.logging.Log;
27 import org.apache.commons.logging.LogFactory;
28 import org.apache.geronimo.console.MultiPageModel;
29 import org.apache.geronimo.console.util.ConfigurationData;
30 import org.apache.geronimo.console.util.PortletManager;
31 import org.apache.geronimo.kernel.config.ConfigurationModuleType;
32 import org.apache.geronimo.management.geronimo.WebModule;
33
34 /**
35  * Handler for the screen where you select the webapps to expose through Apache
36  *
37  * @version $Rev: 476061 $ $Date: 2006-11-17 01:36:50 -0500 (Fri, 17 Nov 2006) $
38  */

39 public class WebAppHandler extends BaseApacheHandler {
40     private final static Log log = LogFactory.getLog(WebAppHandler.class);
41
42     public WebAppHandler() {
43         super(WEB_APP_MODE, "/WEB-INF/view/apache/jk/webApps.jsp");
44     }
45
46     public String JavaDoc actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException JavaDoc {
47         return getMode();
48     }
49
50     public void renderView(RenderRequest request, RenderResponse response, MultiPageModel amodel) throws PortletException, IOException JavaDoc {
51         ApacheModel model = (ApacheModel) amodel;
52         ConfigurationData[] webApps = PortletManager.getConfigurations(request, ConfigurationModuleType.WAR, true);
53         if(model.getWebApps().size() == 0) {
54             List JavaDoc list = model.getWebApps();
55             for (int i = 0; i < webApps.length; i++) {
56                 ConfigurationData app = webApps[i];
57                 WebAppData data = new WebAppData(app.getParentName().getArtifact(), app.getChildName(), app.getModuleBeanName() == null ? null : app.getModuleBeanName(), false, null, false);
58                 if (app.isRunning()) {
59                     WebModule web = (WebModule) PortletManager.getManagedBean(request, app.getModuleBeanName());
60                     data.setContextRoot(web.getContextPath());
61                     String JavaDoc path;
62                     if(web.getWARDirectory().getProtocol().equals("file")) {
63                         path = web.getWARDirectory().getPath();
64                     } else {
65                         path = "WARMustBeUnpacked";
66                     }
67
68                     data.setWebAppDir(path);
69                 }
70                 list.add(data);
71             }
72         }
73         request.setAttribute("webApps", webApps);
74     }
75
76     public String JavaDoc actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel amodel) throws PortletException, IOException JavaDoc {
77         return RESULTS_MODE+BEFORE_ACTION;
78     }
79 }
80
Popular Tags