001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 package org.apache.geronimo.console.jmxmanager;
019
020 import java.io.IOException;
021 import java.io.PrintWriter;
022
023 import javax.portlet.ActionRequest;
024 import javax.portlet.ActionResponse;
025 import javax.portlet.PortletConfig;
026 import javax.portlet.PortletContext;
027 import javax.portlet.PortletException;
028 import javax.portlet.PortletRequestDispatcher;
029 import javax.portlet.RenderRequest;
030 import javax.portlet.RenderResponse;
031 import javax.portlet.WindowState;
032
033 import org.apache.geronimo.console.BasePortlet;
034
035 /**
036 * The JMX manager portlet
037 */
038 public class JMXManagerPortlet extends BasePortlet {
039 private static final String VIEWJMXSERVER_ACTION = "viewJMXServer";
040
041 private static final String VIEWJMXSERVER_JSP = "/WEB-INF/view/jmxmanager/viewJMXServer.jsp";
042
043 private static final String HELP_JSP = "/WEB-INF/view/jmxmanager/help.jsp";
044
045 private PortletRequestDispatcher viewJMXServerView;
046
047 private PortletRequestDispatcher helpView;
048
049 /**
050 * Process an action request
051 */
052 public void processAction(ActionRequest actionRequest,
053 ActionResponse actionResponse) throws PortletException, IOException {
054 }
055
056 /**
057 * Serve up the view mode
058 */
059 protected void doView(RenderRequest renderRequest,
060 RenderResponse renderResponse) throws IOException, PortletException {
061 if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
062 return;
063 } else if (WindowState.NORMAL.equals(renderRequest.getWindowState())) {
064 String action = renderRequest.getParameter("action");
065 if (action == null) {
066 action = VIEWJMXSERVER_ACTION;
067 }
068 if (VIEWJMXSERVER_ACTION.equals(action)) {
069 viewJMXServerView.include(renderRequest, renderResponse);
070 } else {
071 renderResponse.setContentType("text/html");
072 PrintWriter out = renderResponse.getWriter();
073 String errorMsg = "Invalid action message: " + action;
074 out.println(errorMsg);
075 }
076 } else if (WindowState.MAXIMIZED.equals(renderRequest.getWindowState())) {
077 renderResponse.setContentType("text/html");
078 PrintWriter out = renderResponse.getWriter();
079 String errorMsg = "Invalid window state: "
080 + renderRequest.getWindowState();
081 out.println(errorMsg);
082 }
083 }
084
085 /**
086 * Serve up the help mode
087 */
088 protected void doHelp(RenderRequest renderRequest,
089 RenderResponse renderResponse) throws PortletException, IOException {
090 helpView.include(renderRequest, renderResponse);
091 }
092
093 /**
094 * Portlet is being placed into service
095 */
096 public void init(PortletConfig portletConfig) throws PortletException {
097 super.init(portletConfig);
098 PortletContext pc = portletConfig.getPortletContext();
099 viewJMXServerView = pc.getRequestDispatcher(VIEWJMXSERVER_JSP);
100 helpView = pc.getRequestDispatcher(HELP_JSP);
101 }
102
103 /**
104 * Portlet is being taken out of service
105 */
106 public void destroy() {
107 viewJMXServerView = null;
108 helpView = null;
109 super.destroy();
110 }
111 }