You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by am...@apache.org on 2005/07/21 03:38:23 UTC
svn commit: r219976 [8/12] - in /geronimo/trunk: ./ etc/
sandbox/console-core/ sandbox/console-core/src/
sandbox/console-core/src/java/ sandbox/console-core/src/java/org/
sandbox/console-core/src/java/org/apache/
sandbox/console-core/src/java/org/apach...
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEGroupsPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEGroupsPortlet.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEGroupsPortlet.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEGroupsPortlet.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,144 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.securitymanager;
+
+import java.io.IOException;
+import java.util.Hashtable;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletContext;
+import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+
+import org.apache.geronimo.console.util.SERealmGroupHelper;
+import org.apache.geronimo.console.util.SERealmUserHelper;
+
+public class SEGroupsPortlet extends AbstractSecurityManagerPortlet {
+
+ protected void doView(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
+ return;
+ }
+
+ String errorMessage = renderRequest.getParameter("errorMessage");
+
+ if (errorMessage != null) {
+ renderRequest.setAttribute("errorMessage", errorMessage);
+ errorView.include(renderRequest, renderResponse);
+ } else {
+ String currAction = renderRequest.getParameter("currAction");
+ String message = renderRequest.getParameter("message");
+ renderRequest.setAttribute("message", message);
+
+ try {
+ if ("new".equals(currAction)) {
+ renderRequest.setAttribute("users", SERealmUserHelper
+ .getUsers());
+ addMaximizedView.include(renderRequest, renderResponse);
+ } else if ("edit".equals(currAction)) {
+ String group = renderRequest.getParameter("group");
+ renderRequest.setAttribute("group", group);
+ renderRequest.setAttribute("users", SERealmUserHelper
+ .getUsers());
+ addMaximizedView.include(renderRequest, renderResponse);
+ } else {
+ String[] groups = SERealmGroupHelper.getGroups();
+ Hashtable groupsInfo = new Hashtable();
+ for (int i = 0; i < groups.length; i++) {
+ String currentGroup = groups[i];
+ groupsInfo.put(currentGroup, SERealmGroupHelper
+ .getUsers(currentGroup));
+ }
+ renderRequest.setAttribute("groupsInfo", groupsInfo);
+
+ if (WindowState.NORMAL.equals(renderRequest
+ .getWindowState())) {
+ normalView.include(renderRequest, renderResponse);
+ } else {
+ maximizedView.include(renderRequest, renderResponse);
+ }
+ }
+ } catch (Exception e) {
+ errorMessage = e.getMessage();
+ renderRequest.setAttribute("errorMessage", errorMessage);
+ errorView.include(renderRequest, renderResponse);
+ }
+ }
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+ PortletContext pc = portletConfig.getPortletContext();
+ normalView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/normal.jsp");
+ addNormalView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/addnormal.jsp");
+ maximizedView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/maximized.jsp");
+ addMaximizedView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/addmaximized.jsp");
+ helpView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/help.jsp");
+ errorView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/error.jsp");
+ }
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ String action = actionRequest.getParameter("action").trim();
+ String cancel = actionRequest.getParameter("cancel");
+ String currAction = "";
+ if (cancel != null) {
+ action = "";
+ }
+ String group = actionRequest.getParameter("group");
+ String[] users = actionRequest.getParameterValues("users");
+
+ try {
+ if ("delete".equals(action)) {
+ SERealmGroupHelper.deleteGroup(group);
+ } else if ("update".equals(action)) {
+ SERealmGroupHelper.updateGroup(group, users);
+ } else if ("add".equals(action)) {
+ try {
+ SERealmGroupHelper.addGroup(group, users);
+ } catch (Exception e) {
+ actionResponse.setRenderParameter("message",
+ "ERROR: Group already exists");
+ }
+ } else if ("new".equals(action)) {
+ currAction = "new";
+ } else if ("edit".equals(action)) {
+ currAction = "edit";
+ }
+ actionResponse.setRenderParameter("currAction", currAction);
+ if (group != null) {
+ actionResponse.setRenderParameter("group", group);
+ }
+ } catch (Exception e) {
+ actionResponse.setRenderParameter("errorMessage",
+ "Error encountered in DerbyGroupsPortlet: "
+ + e.getMessage());
+ }
+ }
+}
\ No newline at end of file
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEGroupsPortlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEUsersPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEUsersPortlet.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEUsersPortlet.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEUsersPortlet.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,144 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.securitymanager;
+
+import java.io.IOException;
+import java.util.Hashtable;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletContext;
+import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+
+import org.apache.geronimo.console.util.SERealmUserHelper;
+
+public class SEUsersPortlet extends AbstractSecurityManagerPortlet {
+
+ protected void doView(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
+ return;
+ }
+
+ String errorMessage = renderRequest.getParameter("errorMessage");
+
+ if (errorMessage != null) {
+ renderRequest.setAttribute("errorMessage", errorMessage);
+ errorView.include(renderRequest, renderResponse);
+ } else {
+ try {
+ String[] users = SERealmUserHelper.getUsers();
+
+ Hashtable userInfo = new Hashtable();
+ for (int i = 0; i < users.length; i++) {
+ String currentUser = users[i];
+ userInfo.put(currentUser, SERealmUserHelper
+ .getPassword(currentUser.toString()));
+ }
+
+ String currAction = renderRequest.getParameter("currAction");
+ renderRequest.setAttribute("message", renderRequest
+ .getParameter("message"));
+
+ if ("new".equals(currAction) || "edit".equals(currAction)) {
+ if (currAction.equals("edit")) {
+ String user = renderRequest.getParameter("user");
+ renderRequest.setAttribute("userID", user);
+ renderRequest.setAttribute("password",
+ SERealmUserHelper.getPassword(user));
+ }
+ addMaximizedView.include(renderRequest, renderResponse);
+ } else {
+ if (WindowState.NORMAL.equals(renderRequest
+ .getWindowState())) {
+ renderRequest.setAttribute("userInfo", userInfo);
+ normalView.include(renderRequest, renderResponse);
+ } else {
+ renderRequest.setAttribute("userInfo", userInfo);
+ maximizedView.include(renderRequest, renderResponse);
+ }
+ }
+ } catch (Exception e) {
+ errorMessage = e.getMessage();
+ renderRequest.setAttribute("errorMessage", errorMessage);
+ errorView.include(renderRequest, renderResponse);
+ }
+ }
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+ PortletContext pc = portletConfig.getPortletContext();
+ normalView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/users/normal.jsp");
+ addNormalView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/users/addnormal.jsp");
+ maximizedView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/users/maximized.jsp");
+ addMaximizedView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/users/addmaximized.jsp");
+ helpView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/users/help.jsp");
+ errorView = pc
+ .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/derby/groups/error.jsp");
+ }
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ String action = actionRequest.getParameter("action").trim();
+ String cancel = actionRequest.getParameter("cancel");
+ String currAction = "";
+ if (cancel != null) {
+ action = "";
+ }
+ String user = actionRequest.getParameter("userId");
+ String password = actionRequest.getParameter("password");
+
+ try {
+ if ("delete".equals(action)) {
+ SERealmUserHelper.deleteUser(user);
+ } else if ("update".equals(action)) {
+ SERealmUserHelper.updateUser(user, password);
+ } else if ("add".equals(action)) {
+ try {
+ SERealmUserHelper.addUser(user, password);
+ } catch (Exception e) {
+ actionResponse.setRenderParameter("message",
+ "ERROR: User already exists");
+ }
+ } else if ("new".equals(action)) {
+ currAction = "new";
+ } else if ("edit".equals(action)) {
+ currAction = "edit";
+ }
+ actionResponse.setRenderParameter("currAction", currAction);
+ if (user != null) {
+ actionResponse.setRenderParameter("user", user);
+ }
+ } catch (Exception e) {
+ actionResponse.setRenderParameter("errorMessage",
+ "Error encountered in DerbyGroupsPortlet: "
+ + e.getMessage());
+ }
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/securitymanager/SEUsersPortlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/servermanager/ServerManagerPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/servermanager/ServerManagerPortlet.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/servermanager/ServerManagerPortlet.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/servermanager/ServerManagerPortlet.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,104 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.servermanager;
+
+import java.io.IOException;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+import org.apache.geronimo.system.main.Daemon;
+
+public class ServerManagerPortlet extends GenericPortlet {
+
+ private static final Log log = LogFactory.getLog("ServerManager");
+
+ private PortletRequestDispatcher normalView;
+
+ private PortletRequestDispatcher shutdownView;
+
+ private PortletRequestDispatcher helpView;
+
+ private Kernel kernel;
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ if (actionRequest.getParameter("reboot") != null) {
+ log.info("Reboot initiated by user request: "
+ + actionRequest.getUserPrincipal());
+ new Thread() {
+ public void run() {
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {
+ }
+ kernel.shutdown();
+ Daemon.main(new String[0]);
+ }
+ }.start();
+ }
+ }
+
+ protected void doView(RenderRequest request, RenderResponse response)
+ throws PortletException, IOException {
+ if (request.getParameter("shutdown") != null) {
+ log.info("Shutting down by user request: "
+ + request.getUserPrincipal());
+ shutdownView.include(request, response);
+ response.flushBuffer();
+ kernel.shutdown();
+ System.exit(0);
+ } else {
+ normalView.include(request, response);
+ }
+ }
+
+ protected void doHelp(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ helpView.include(renderRequest, renderResponse);
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+ normalView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/servermanager/normal.jsp");
+ shutdownView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/servermanager/shutdown.jsp");
+ helpView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/servermanager/help.jsp");
+ kernel = KernelRegistry.getSingleKernel();
+ }
+
+ public void destroy() {
+ normalView = null;
+ shutdownView = null;
+ helpView = null;
+ super.destroy();
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/servermanager/ServerManagerPortlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/CollectionHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/CollectionHelper.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/CollectionHelper.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/CollectionHelper.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,48 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * @author dimperial
+ *
+ * TODO To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Style - Code Templates
+ */
+public abstract class CollectionHelper {
+
+ public static Hashtable parameterMapToHashtable(Map m) {
+ Hashtable ret = new Hashtable();
+ ret.putAll(m);
+ for (Iterator i = ret.keySet().iterator(); i.hasNext();) {
+ Object key = i.next();
+ String[] value = (String[]) ret.get(key);
+ try {
+ ret.put(key, value[0]);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ // This should not happen but if it does just continue
+ // processing.
+ }
+ }
+ return ret;
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/CollectionHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/KernelHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/KernelHelper.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/KernelHelper.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/KernelHelper.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,63 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+import javax.management.ObjectName;
+
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+
+public class KernelHelper {
+
+ protected static Kernel kernel = KernelRegistry.getSingleKernel();
+
+ protected static Object invoke(ObjectName mBeanName, String function)
+ throws Exception {
+ Object[] NO_ARGS = new Object[0];
+ String[] NO_PARAMS = new String[0];
+ return invoke(mBeanName, function, NO_ARGS, NO_PARAMS);
+ }
+
+ protected static Object invoke(ObjectName mBeanName, String function,
+ Object[] args, String[] types) throws Exception {
+ Object ret = null;
+ ret = kernel.invoke(mBeanName, function, args, types);
+ return ret;
+ }
+
+ protected static Object get(ObjectName mBeanName, String attributeName) {
+ Object ret = null;
+ try {
+ ret = kernel.getAttribute(mBeanName, attributeName);
+ } catch (Exception e) {
+ e.printStackTrace(System.out);
+ }
+ return ret;
+ }
+
+ protected static void set(ObjectName mBeanName, String attributeName,
+ Object value) {
+ Object ret = null;
+ try {
+ kernel.setAttribute(mBeanName, attributeName, value);
+ } catch (Exception e) {
+ e.printStackTrace(System.out);
+ }
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/KernelHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/LogHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/LogHelper.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/LogHelper.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/LogHelper.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,198 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Stack;
+import java.util.Iterator;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.SequenceInputStream;
+import java.util.Enumeration;
+
+import org.apache.log4j.FileAppender;
+import org.apache.log4j.Logger;
+
+public class LogHelper extends KernelHelper {
+
+ private static ObjectName loggerObjName;
+
+ private static final String LOGGER_LOG_LEVEL_ATTR = "rootLoggerLevel";
+
+ private static final String LOGGER_CONFIG_FILE_ATTR = "configurationFile";
+
+ private static final String LOGGER_REFRESH_PERIOD_ATTR = "refreshPeriod";
+
+ private static final String LOGGER_CONFIG_ATTR = "configuration";
+
+ private static final String LOGGER_RECONFIG_FUNC = "reconfigure";
+
+ private static int lineCount = 0;
+
+ private static ArrayList logs = new ArrayList();
+
+ private static boolean started;
+
+ public static String getLogLevel() {
+ return get(loggerObjName, LOGGER_LOG_LEVEL_ATTR).toString();
+ }
+
+ public static void setLogLevel(String newLevel) {
+ set(loggerObjName, LOGGER_LOG_LEVEL_ATTR, newLevel);
+ }
+
+ public static String getConfigFile() {
+ return (String) get(loggerObjName, LOGGER_CONFIG_FILE_ATTR);
+ }
+
+ public static void setConfigFile(String newFile) {
+ set(loggerObjName, LOGGER_CONFIG_FILE_ATTR, newFile);
+ }
+
+ public static Integer getRefreshPeriod() {
+ Object ref = get(loggerObjName, LOGGER_REFRESH_PERIOD_ATTR);
+ return (ref != null ? new Integer(ref.toString()) : null);
+ }
+
+ public static void setRefreshPeriod(int refreshPeriod) {
+ set(loggerObjName, LOGGER_REFRESH_PERIOD_ATTR, new Integer(
+ refreshPeriod));
+ }
+
+ public static String getConfiguration() {
+ return (String) get(loggerObjName, LOGGER_CONFIG_ATTR);
+ }
+
+ public static void setConfiguration(String newConfig) {
+ set(loggerObjName, LOGGER_CONFIG_ATTR, newConfig);
+ }
+
+ public static void reconfigure() throws Exception {
+ invoke(loggerObjName, LOGGER_RECONFIG_FUNC);
+ }
+
+ public static void refresh() throws IOException {
+ logs.clear();
+ lineCount = 0;
+ started = false;
+ BufferedReader in = new BufferedReader(getFileReader());
+ if (in != null) {
+ Stack holder = new Stack();
+ for (String line = in.readLine(); line != null; line = in
+ .readLine()) {
+ if (line.indexOf("DEBUG") > -1 || line.indexOf("INFO") > -1
+ || line.indexOf("WARN") > -1
+ || line.indexOf("ERROR") > -1
+ || line.indexOf("FATAL") > -1
+ || line.indexOf("TRACE") > -1) {
+ holder.push(line);
+ lineCount++;
+ } else {
+ String top = (String) holder.pop();
+ holder.push(top + "\n" + line);
+ }
+ }
+ logs.addAll(holder);
+ }
+ started = true;
+ }
+
+ public static ArrayList getLogs() throws IOException {
+ if (!started) {
+ refresh();
+ }
+ return logs;
+ }
+
+ public static List searchLogs(int startLine, int endLine, String logLevel,
+ String searchString) throws IOException {
+ return filterLogs(getLogs().subList(startLine - 1, endLine), logLevel,
+ searchString);
+ }
+
+ public static List searchLogs(int startLine, int endLine)
+ throws IOException {
+ return searchLogs(startLine, endLine, null, null);
+ }
+
+ public static int getLineCount() throws IOException {
+ if (!started) {
+ refresh();
+ }
+ return lineCount;
+ }
+
+ private static ArrayList filterLogs(List listToFilter, String logLevel,
+ String searchString) {
+ ArrayList ret = new ArrayList();
+ for (Iterator i = listToFilter.iterator(); i.hasNext();) {
+ String msg = i.next().toString();
+ boolean passed = true;
+ passed = (logLevel == null || logLevel.trim().length() < 1 || msg
+ .indexOf(logLevel) > -1)
+ && (searchString == null
+ || searchString.trim().length() < 1 || msg
+ .toLowerCase().indexOf(searchString.toLowerCase()) > -1);
+ if (passed) {
+ ret.add(msg);
+ }
+ }
+ return ret;
+ }
+
+ private static InputStreamReader getFileReader() {
+ Stack files = new Stack();
+ for (Enumeration e = Logger.getRootLogger().getAllAppenders(); e
+ .hasMoreElements();) {
+ Object o = e.nextElement();
+ if (o instanceof FileAppender) {
+ File logFile = new File(((FileAppender) o).getFile());
+ if (logFile.isFile() && logFile.canRead()) {
+ try {
+ FileInputStream in = new FileInputStream(logFile);
+ files.push(in);
+ } catch (IOException ignore) {
+ /*
+ * Someone probably made a mistake in configuring the
+ * loggappender. Keep on processing the others.
+ */
+ }
+ }
+ }
+ }
+ return new InputStreamReader(new SequenceInputStream(files.elements()));
+ }
+
+ static {
+ try {
+ loggerObjName = new ObjectName(
+ ObjectNameConstants.ROOT_LOGGER_OBJECT_NAME);
+ } catch (MalformedObjectNameException e) {
+
+ }
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/LogHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/ObjectNameConstants.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/ObjectNameConstants.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/ObjectNameConstants.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/ObjectNameConstants.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,54 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+public interface ObjectNameConstants {
+
+ // Security object names
+ public static final String SE_REALM_MBEAN_NAME = "geronimo.server:J2EEApplication=org/apache/geronimo/Console,J2EEModule=null,J2EEServer=geronimo,j2eeType=GBean,name=PropertiesLoginManager";
+
+ public static final String SE_REALM_IMMUTABLE_MBEAN_NAME = "geronimo.server:name=PropertiesLoginManager,J2EEServer=geronimo,J2EEApplication=null,j2eeType=GBean,J2EEModule=null";
+
+ public static final String SECURITY_REALM = "geronimo.security:type=SecurityRealm,*";
+
+ public static final String ROOT_LOGGER_OBJECT_NAME = "geronimo.server:name=Logger,J2EEServer=geronimo,J2EEApplication=null,j2eeType=GBean,J2EEModule=org/apache/geronimo/System";
+
+ public static final String REQUEST_LOGGER_OBJECT_NAME = "geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JettyRequestLog";
+
+ public static final String DERBY_OBJECT_NAME = "geronimo.server:name=DerbySystem,J2EEServer=geronimo,J2EEApplication=null,j2eeType=GBean,J2EEModule=null";
+
+ public static final String REPO_OBJECT_NAME = "geronimo.server:name=Repository,J2EEServer=geronimo,J2EEApplication=null,j2eeType=GBean,J2EEModule=org/apache/geronimo/System";
+
+ public static final String WEBCONTAINER_OBJECT_NAME = "geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JettyWebContainer";
+
+ public static final String SERVER_INFO_OBJECT_NAME = "geronimo.server:name=ServerInfo,J2EEServer=geronimo,J2EEApplication=null,j2eeType=GBean,J2EEModule=org/apache/geronimo/System";
+
+ public static final String JVM_IMPL_NAME = "geronimo.server:j2eeType=JVM,J2EEServer=geronimo,name=JVM";
+
+ public static final String DEPLOYER_OBJECT_NAME = "geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/RuntimeDeployer,J2EEServer=geronimo,j2eeType=Deployer,name=Deployer";
+
+ public static final String JETTY_HTTP_CONNECTOR_NAME = "geronimo.server:J2EEServer=geronimo,j2eeType=GBean,name=JettyWebConnector,*";
+
+ // TODO: Put the appropriate name here
+ public static final String JETTY_HTTPS_CONNECTOR_NAME = "geronimo.server:name=JettyWebConnector.HTTPS.8443,J2EEServer=geronimo,j2eeType=GBean,*";
+
+ public static final String JCA_MANAGED_CF_QUERY = "*:j2eeType=JCAManagedConnectionFactory,*";
+
+ public static final String CONFIG_GBEAN_PREFIX = "geronimo.config:name=";
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/ObjectNameConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/RealmHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/RealmHelper.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/RealmHelper.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/RealmHelper.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,21 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+public abstract class RealmHelper extends KernelHelper {
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/RealmHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmGroupHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmGroupHelper.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmGroupHelper.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmGroupHelper.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,148 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Set;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+
+public class SERealmGroupHelper extends RealmHelper {
+
+ private static final String GET_GROUPS_FUNCTION = "getGroups";
+
+ private static final String ADD_GROUP_FUNCTION = "addGroupPrincipal";
+
+ private static final String GROUP_EXISTS_FUNCTION = "groupExists";
+
+ private static final String UPDATE_GROUP_FUNCTION = "updateGroupPrincipal";
+
+ private static final String DELETE_GROUP_FUNCTION = "removeGroupPrincipal";
+
+ private static final String GET_USERS_FUNCTION = "getGroupMembers";
+
+ private static final String REFRESH = "refresh";
+
+ private static final String START = "doStart";
+
+ private static final String STOP = "doStop";
+
+ private static final String[] STRING_STRING = { "java.lang.String",
+ "java.lang.String" };
+
+ private static final String[] STRING = { "java.lang.String" };
+
+ private static final String[] HASHTABLE = { "java.util.Hashtable" };
+
+ private static ObjectName mBeanName;
+
+ private static final Kernel kernel = KernelRegistry.getSingleKernel();
+
+ public static String[] getGroups() throws Exception {
+ String[] groups = (String[]) invoke(mBeanName, GET_GROUPS_FUNCTION);
+ return groups;
+ }
+
+ private static void refresh() {
+ try {
+
+ kernel.stopGBean(new ObjectName(
+ ObjectNameConstants.SE_REALM_IMMUTABLE_MBEAN_NAME));
+ kernel.startGBean(new ObjectName(
+ ObjectNameConstants.SE_REALM_IMMUTABLE_MBEAN_NAME));
+
+ } catch (Exception e) {
+ }
+ }
+
+ public static void addGroup(String groupName, String[] userList)
+ throws Exception {
+ addGroup(groupName, StringUtils.convertToCommaDelimited(userList));
+ refresh();
+ }
+
+ public static void updateGroup(String groupName, String[] userList)
+ throws Exception {
+ updateGroup(groupName, StringUtils.convertToCommaDelimited(userList));
+ refresh();
+ }
+
+ public static boolean groupExists(String username) throws Exception {
+ Boolean ret;
+ String[] arg = {username};
+ ret = (Boolean) invoke(mBeanName, GROUP_EXISTS_FUNCTION, arg, STRING);
+ return ret.booleanValue();
+ }
+
+ public static void addGroup(String groupName, String userList)
+ throws Exception {
+
+ Hashtable props = new Hashtable();
+ props.put("GroupName", groupName);
+ props.put("Members", userList);
+ Object[] args = {props};
+ invoke(mBeanName, ADD_GROUP_FUNCTION, args, HASHTABLE);
+ }
+
+ public static void updateGroup(String groupName, String userList)
+ throws Exception {
+ Hashtable props = new Hashtable();
+ props.put("GroupName", groupName);
+ props.put("Members", userList);
+ Object[] args = {props};
+
+ invoke(mBeanName, UPDATE_GROUP_FUNCTION, args, HASHTABLE);
+ }
+
+ public static void deleteGroup(String groupName) throws Exception {
+ String[] args = {groupName};
+ invoke(mBeanName, DELETE_GROUP_FUNCTION, args, STRING);
+ refresh();
+ }
+
+ public static Set getUsers(String groupName) throws Exception {
+ Set ret = null;
+ String[] arg = {groupName};
+ ret = (Set) invoke(mBeanName, GET_USERS_FUNCTION, arg, STRING);
+ return ret;
+ }
+
+ public static boolean isGroupMember(String groupName, String username)
+ throws Exception {
+ Collection users = getUsersAsCollection(groupName);
+ return (users.contains(username));
+ }
+
+ private static Collection getUsersAsCollection(String groupName)
+ throws Exception {
+ return getUsers(groupName);
+ }
+
+ static {
+ try {
+ mBeanName = new ObjectName(ObjectNameConstants.SE_REALM_MBEAN_NAME);
+ } catch (MalformedObjectNameException e) {
+ }
+ }
+
+}
\ No newline at end of file
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmGroupHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmUserHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmUserHelper.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmUserHelper.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmUserHelper.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,124 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+import java.util.Hashtable;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+
+public class SERealmUserHelper extends RealmHelper {
+
+ private static final String GET_USERS_FUNCTION = "getUsers";
+
+ private static final String ADD_USER_FUNCTION = "addUserPrincipal";
+
+ private static final String USER_EXISTS_FUNCTION = "userExists";
+
+ private static final String UPDATE_USER_FUNCTION = "updateUserPrincipal";
+
+ private static final String DELETE_USER_FUNCTION = "removeUserPrincipal";
+
+ private static final String GET_PASSWORD_FUNCTION = "getPassword";
+
+ private static final String REFRESH = "refresh";
+
+ private static final String START = "doStart";
+
+ private static final String STOP = "doStop";
+
+ private static final String[] STRING_STRING = { "java.lang.String",
+ "java.lang.String" };
+
+ private static final String[] STRING = { "java.lang.String" };
+
+ private static final String[] HASHTABLE = { "java.util.Hashtable" };
+
+ private static ObjectName mBeanName;
+
+ private static final Kernel kernel = KernelRegistry.getSingleKernel();
+
+ public static String[] getUsers() throws Exception {
+ return (String[]) invoke(mBeanName, GET_USERS_FUNCTION);
+ }
+
+ private static void refresh() {
+ try {
+
+ kernel.stopGBean(new ObjectName(
+ ObjectNameConstants.SE_REALM_IMMUTABLE_MBEAN_NAME));
+ kernel.startGBean(new ObjectName(
+ ObjectNameConstants.SE_REALM_IMMUTABLE_MBEAN_NAME));
+
+ } catch (Exception e) {
+ }
+ }
+
+ public static String getPassword(String username) throws Exception {
+ Object ret;
+ String[] arg = {username};
+ ret = invoke(mBeanName, GET_PASSWORD_FUNCTION, arg, STRING);
+ return (ret != null) ? ret.toString() : "";
+ }
+
+ public static boolean userExists(String username) throws Exception {
+ Boolean ret;
+ String[] arg = {username};
+ ret = (Boolean) invoke(mBeanName, USER_EXISTS_FUNCTION, arg, STRING);
+ return ret.booleanValue();
+ }
+
+ public static void addUser(String username, String password)
+ throws Exception {
+ Hashtable props = new Hashtable();
+ props.put("UserName", username);
+ props.put("Password", password);
+ Object[] args = {props};
+ invoke(mBeanName, ADD_USER_FUNCTION, args, HASHTABLE);
+ refresh();
+ }
+
+ public static void updateUser(String username, String password)
+ throws Exception {
+ Hashtable props = new Hashtable();
+ props.put("UserName", username);
+ props.put("Password", password);
+ Object[] args = {props};
+ invoke(mBeanName, UPDATE_USER_FUNCTION, args, HASHTABLE);
+ refresh();
+ }
+
+ public static void deleteUser(String username) throws Exception {
+ String[] args = {username};
+ invoke(mBeanName, DELETE_USER_FUNCTION, args, STRING);
+ refresh();
+ }
+
+ static {
+ try {
+ mBeanName = new ObjectName(ObjectNameConstants.SE_REALM_MBEAN_NAME);
+
+ } catch (MalformedObjectNameException e) {
+
+ }
+ }
+
+}
\ No newline at end of file
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SERealmUserHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityConstants.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityConstants.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityConstants.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityConstants.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,32 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+public interface SecurityConstants {
+
+ //public static final String SE_REALM_MBEAN_NAME =
+ // "gluecode-se.security:realm=gluecode-se-properties-realm-mutable,type=SecurityRealm";
+ //public static final String DERBY_REALM_MBEAN_NAME =
+ // "gluecode-se.security:realm=gluecode-se-application-realm-mutable,type=SecurityRealm";
+ //public static final String FILE_LOGGER_MBEAN_NAME =
+ // "gluecode-se.system:role=LogAppender,type=DailyRollingFileAppender";
+ //public static final String SECURITY_REALM =
+ // "gluecode-se.security:type=SecurityRealm,*";
+ public static final String SECURITY_CONFIG_PREFIX = "runtimerealm/";
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityRealmBean.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityRealmBean.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityRealmBean.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityRealmBean.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,106 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+import java.util.Map;
+
+import javax.management.ObjectName;
+
+import org.apache.geronimo.kernel.jmx.JMXUtil;
+
+public class SecurityRealmBean {
+
+ private ObjectName realmObjectName, configEntryObjName;
+
+ private String configID, realmName, applicationConfigName;
+
+ private boolean running;
+
+ private Map attributes;
+
+ public SecurityRealmBean(ObjectName realmObjectName,
+ ObjectName configEntryObjName, String configID,
+ String applicationConfigName, String realmName, boolean started,
+ Map attributes) {
+ this.realmObjectName = realmObjectName;
+ this.configEntryObjName = configEntryObjName;
+ this.configID = configID;
+ this.applicationConfigName = applicationConfigName;
+ this.realmName = realmName;
+ this.running = started;
+ this.attributes = attributes;
+ }
+
+ public SecurityRealmBean(String realmObjectName, String configEntryObjName,
+ String configID, String applicationConfigName, String realmName,
+ boolean started, Map attributes) {
+ this(JMXUtil.getObjectName(realmObjectName), JMXUtil
+ .getObjectName(configEntryObjName), configID,
+ applicationConfigName, realmName, started, attributes);
+ }
+
+ /**
+ * @return Returns the configEntryObjName.
+ */
+ public ObjectName getConfigEntryObjName() {
+ return configEntryObjName;
+ }
+
+ /**
+ * @return Returns the applicationConfigName.
+ */
+ public String getApplicationConfigName() {
+ return applicationConfigName;
+ }
+
+ /**
+ * @return Returns the attributes.
+ */
+ public Map getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * @return Returns the configID.
+ */
+ public String getConfigID() {
+ return configID;
+ }
+
+ /**
+ * @return Returns the realmName.
+ */
+ public String getRealmName() {
+ return realmName;
+ }
+
+ /**
+ * @return Returns the realmObjectName.
+ */
+ public ObjectName getRealmObjectName() {
+ return realmObjectName;
+ }
+
+ /**
+ * @return Returns the running.
+ */
+ public boolean isRunning() {
+ return running;
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/SecurityRealmBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/StringUtils.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/StringUtils.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/StringUtils.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/StringUtils.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,33 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.util;
+
+public abstract class StringUtils {
+
+ public static String convertToCommaDelimited(String[] list) {
+ StringBuffer ret = new StringBuffer("");
+ for (int i = 0; list != null && i < list.length; i++) {
+ ret.append(list[i]);
+ if (i < list.length - 1) {
+ ret.append(',');
+ }
+ }
+ return ret.toString();
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/util/StringUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/AJP13ConnectorPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/AJP13ConnectorPortlet.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/AJP13ConnectorPortlet.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/AJP13ConnectorPortlet.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,111 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.webmanager;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.management.ObjectName;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+import org.apache.geronimo.kernel.jmx.JMXUtil;
+
+public class AJP13ConnectorPortlet extends GenericPortlet {
+
+ private static final ObjectName QUERY = JMXUtil
+ .getObjectName("*:type=WebConnector,protocol=AJP13,*");
+
+ private Kernel kernel;
+
+ private PortletRequestDispatcher normalView;
+
+ private PortletRequestDispatcher maximizedView;
+
+ private PortletRequestDispatcher helpView;
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ }
+
+ protected void doView(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws IOException, PortletException {
+ if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
+ return;
+ }
+
+ Set connectors = kernel.listGBeans(QUERY);
+ ArrayList beans = new ArrayList(connectors.size());
+ for (Iterator i = connectors.iterator(); i.hasNext();) {
+ ObjectName name = (ObjectName) i.next();
+ ConnectorInfo info = new ConnectorInfo();
+ info.setObjectName(name);
+ try {
+ info.setState(((Integer) kernel.getAttribute(name, "state"))
+ .intValue());
+ info.setPort(((Integer) kernel.getAttribute(name, "port"))
+ .intValue());
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ beans.add(info);
+ }
+ renderRequest.setAttribute("connectors", beans);
+
+ if (WindowState.NORMAL.equals(renderRequest.getWindowState())) {
+ normalView.include(renderRequest, renderResponse);
+ } else {
+ maximizedView.include(renderRequest, renderResponse);
+ }
+ }
+
+ protected void doHelp(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ helpView.include(renderRequest, renderResponse);
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+ kernel = KernelRegistry.getSingleKernel();
+ normalView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/ajp13/normal.jsp");
+ maximizedView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/ajp13/maximized.jsp");
+ helpView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/ajp13/help.jsp");
+ }
+
+ public void destroy() {
+ normalView = null;
+ maximizedView = null;
+ kernel = null;
+ super.destroy();
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/AJP13ConnectorPortlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorInfo.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorInfo.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorInfo.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorInfo.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,62 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.webmanager;
+
+import java.io.Serializable;
+
+import javax.management.ObjectName;
+
+import org.apache.geronimo.kernel.management.State;
+
+public class ConnectorInfo implements Serializable {
+
+ private ObjectName objectName;
+
+ private int port;
+
+ private int state;
+
+ public ObjectName getObjectName() {
+ return objectName;
+ }
+
+ public void setObjectName(ObjectName objectName) {
+ this.objectName = objectName;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ public int getState() {
+ return state;
+ }
+
+ public void setState(int state) {
+ this.state = state;
+ }
+
+ public String getStateName() {
+ return State.toString(state);
+ }
+
+}
\ No newline at end of file
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorBean.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorBean.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorBean.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorBean.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,52 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.webmanager;
+
+public class HttpConnectorBean {
+
+ private String id;
+
+ private String name;
+
+ private int port;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorPortlet.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorPortlet.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorPortlet.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,147 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.webmanager;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.management.ObjectName;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+
+import org.apache.geronimo.console.util.ObjectNameConstants;
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+import org.apache.geronimo.kernel.jmx.JMXUtil;
+
+public class HttpConnectorPortlet extends GenericPortlet {
+
+ private Kernel kernel;
+
+ private PortletRequestDispatcher normalView;
+
+ private PortletRequestDispatcher maximizedView;
+
+ private PortletRequestDispatcher helpView;
+
+ private ObjectName connector = JMXUtil
+ .getObjectName(ObjectNameConstants.JETTY_HTTP_CONNECTOR_NAME);
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ try {
+ String id = actionRequest.getParameter("gbeanId");
+ ObjectName con = JMXUtil.getObjectName(id);
+ String portStr = actionRequest.getParameter(id);
+ if (portStr != null) {
+ try {
+ Integer port = Integer.valueOf(portStr);
+ kernel.setAttribute(con, "port", port);
+ } catch (NumberFormatException nfe) {
+ throw new PortletException(nfe);
+ }
+ }
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ }
+
+ protected void doView(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws IOException, PortletException {
+ if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
+ return;
+ }
+
+ try {
+ String mode = renderRequest.getParameter("mode");
+ if (mode != null && mode.equals("edit")) {
+ String id = renderRequest.getParameter("gbeanId");
+ ObjectName con = JMXUtil.getObjectName(id);
+ GBeanData gbeanData = kernel.getGBeanData(con);
+ GBeanInfo gbeanInfo = gbeanData.getGBeanInfo();
+ HttpConnectorBean bean = new HttpConnectorBean();
+ bean.setId(con.toString());
+ bean.setName(gbeanInfo.getName());
+ bean.setPort(((Integer) gbeanData.getAttribute("port"))
+ .intValue());
+ renderRequest.setAttribute("connector", bean);
+ } else {
+ ArrayList connectors = new ArrayList();
+ Set gbeans = kernel.listGBeans(connector);
+
+ Iterator iterator = gbeans.iterator();
+ while (iterator.hasNext()) {
+ ObjectName con = (ObjectName) iterator.next();
+ GBeanData gbeanData = kernel.getGBeanData(con);
+ GBeanInfo gbeanInfo = gbeanData.getGBeanInfo();
+ HttpConnectorBean bean = new HttpConnectorBean();
+ bean.setId(con.toString());
+ bean.setName(gbeanInfo.getName());
+ bean.setPort(((Integer) gbeanData.getAttribute("port"))
+ .intValue());
+ connectors.add(bean);
+ }
+ renderRequest.setAttribute("connectors", connectors
+ .toArray(new HttpConnectorBean[0]));
+ }
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+
+ if (WindowState.NORMAL.equals(renderRequest.getWindowState())) {
+ normalView.include(renderRequest, renderResponse);
+ } else {
+ maximizedView.include(renderRequest, renderResponse);
+ }
+ }
+
+ protected void doHelp(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ helpView.include(renderRequest, renderResponse);
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+ kernel = KernelRegistry.getSingleKernel();
+ normalView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/http/normal.jsp");
+ maximizedView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/http/maximized.jsp");
+ helpView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/http/help.jsp");
+ }
+
+ public void destroy() {
+ normalView = null;
+ maximizedView = null;
+ kernel = null;
+ super.destroy();
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpConnectorPortlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorBean.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorBean.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorBean.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorBean.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,112 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.webmanager;
+
+public class HttpsConnectorBean {
+
+ private String id;
+
+ private String name;
+
+ private int port;
+
+ private String keystore;
+
+ private String password;
+
+ private String keyPassword;
+
+ private String keystoreType;
+
+ private boolean useDefaultTrustStore;
+
+ private boolean needClientAuth;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ public String getKeystore() {
+ return keystore;
+ }
+
+ public void setKeystore(String keystore) {
+ this.keystore = keystore;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getKeyPassword() {
+ return keyPassword;
+ }
+
+ public void setKeyPassword(String keyPassword) {
+ this.keyPassword = keyPassword;
+ }
+
+ public String getKeystoreType() {
+ return keystoreType;
+ }
+
+ public void setKeystoreType(String keystoreType) {
+ this.keystoreType = keystoreType;
+ }
+
+ public boolean isUseDefaultTrustStore() {
+ return useDefaultTrustStore;
+ }
+
+ public void setUseDefaultTrustStore(boolean useDefaultTrustStore) {
+ this.useDefaultTrustStore = useDefaultTrustStore;
+ }
+
+ public boolean isNeedClientAuth() {
+ return needClientAuth;
+ }
+
+ public void setNeedClientAuth(boolean needClientAuth) {
+ this.needClientAuth = needClientAuth;
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorPortlet.java?rev=219976&view=auto
==============================================================================
--- geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorPortlet.java (added)
+++ geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorPortlet.java Wed Jul 20 18:38:12 2005
@@ -0,0 +1,145 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.console.webmanager;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.management.ObjectName;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+
+import org.apache.geronimo.console.util.ObjectNameConstants;
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+import org.apache.geronimo.kernel.jmx.JMXUtil;
+
+public class HttpsConnectorPortlet extends GenericPortlet {
+
+ private Kernel kernel;
+
+ private PortletRequestDispatcher normalView;
+
+ private PortletRequestDispatcher maximizedView;
+
+ private PortletRequestDispatcher helpView;
+
+ private ObjectName connector = JMXUtil
+ .getObjectName(ObjectNameConstants.JETTY_HTTPS_CONNECTOR_NAME);
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ try {
+ String id = actionRequest.getParameter("gbeanId");
+ ObjectName con = JMXUtil.getObjectName(id);
+ kernel.setAttribute(con, "port", Integer.valueOf(actionRequest
+ .getParameter("port")));
+ kernel.setAttribute(con, "needClientAuth", Boolean
+ .valueOf(actionRequest.getParameter("needClientAuth")));
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ }
+
+ protected void doView(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws IOException, PortletException {
+ if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
+ return;
+ }
+
+ try {
+ String mode = renderRequest.getParameter("mode");
+ if (mode != null && mode.equals("edit")) {
+ String id = renderRequest.getParameter("gbeanId");
+ ObjectName con = JMXUtil.getObjectName(id);
+ GBeanData gbeanData = kernel.getGBeanData(con);
+ GBeanInfo gbeanInfo = gbeanData.getGBeanInfo();
+ HttpsConnectorBean bean = new HttpsConnectorBean();
+ bean.setId(con.toString());
+ bean.setName(gbeanInfo.getName());
+ bean.setPort(((Integer) gbeanData.getAttribute("port"))
+ .intValue());
+ bean.setNeedClientAuth(((Boolean) gbeanData
+ .getAttribute("needClientAuth")).booleanValue());
+
+ renderRequest.setAttribute("connector", bean);
+ } else {
+ ArrayList connectors = new ArrayList();
+ Set gbeans = kernel.listGBeans(connector);
+
+ Iterator iterator = gbeans.iterator();
+ while (iterator.hasNext()) {
+ ObjectName con = (ObjectName) iterator.next();
+ GBeanData gbeanData = kernel.getGBeanData(con);
+ GBeanInfo gbeanInfo = gbeanData.getGBeanInfo();
+ HttpsConnectorBean bean = new HttpsConnectorBean();
+ bean.setId(con.toString());
+ bean.setName(gbeanInfo.getName());
+ bean.setPort(((Integer) gbeanData.getAttribute("port"))
+ .intValue());
+ connectors.add(bean);
+ }
+ renderRequest.setAttribute("connectors", connectors
+ .toArray(new HttpsConnectorBean[0]));
+ }
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+
+ if (WindowState.NORMAL.equals(renderRequest.getWindowState())) {
+ normalView.include(renderRequest, renderResponse);
+ } else {
+ maximizedView.include(renderRequest, renderResponse);
+ }
+ }
+
+ protected void doHelp(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ helpView.include(renderRequest, renderResponse);
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+ kernel = KernelRegistry.getSingleKernel();
+ normalView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/https/normal.jsp");
+ maximizedView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/https/maximized.jsp");
+ helpView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/webmanager/https/help.jsp");
+ }
+
+ public void destroy() {
+ normalView = null;
+ maximizedView = null;
+ kernel = null;
+ super.destroy();
+ }
+
+}
Propchange: geronimo/trunk/sandbox/console-standard/src/java/org/apache/geronimo/console/webmanager/HttpsConnectorPortlet.java
------------------------------------------------------------------------------
svn:eol-style = native