1 17 18 package org.apache.geronimo.console.infomanager; 19 20 import java.io.IOException ; 21 import java.util.ArrayList ; 22 import java.util.List ; 23 import java.util.StringTokenizer ; 24 import java.util.Map ; 25 import java.util.TreeMap ; 26 27 import javax.portlet.ActionRequest; 28 import javax.portlet.ActionResponse; 29 import javax.portlet.PortletConfig; 30 import javax.portlet.PortletException; 31 import javax.portlet.PortletRequestDispatcher; 32 import javax.portlet.RenderRequest; 33 import javax.portlet.RenderResponse; 34 import javax.portlet.WindowState; 35 36 import org.apache.geronimo.console.BasePortlet; 37 import org.apache.geronimo.console.util.PortletManager; 38 39 public class JavaSystemInfoPortlet extends BasePortlet { 40 41 private static final String NORMALVIEW_JSP = "/WEB-INF/view/infomanager/javaSysNormal.jsp"; 42 43 private static final String MAXIMIZEDVIEW_JSP = "/WEB-INF/view/infomanager/javaSysMaximized.jsp"; 44 45 private static final String HELPVIEW_JSP = "/WEB-INF/view/infomanager/javaSysHelp.jsp"; 46 47 private PortletRequestDispatcher normalView; 48 49 private PortletRequestDispatcher maximizedView; 50 51 private PortletRequestDispatcher helpView; 52 53 public void processAction(ActionRequest actionRequest, 54 ActionResponse actionResponse) throws PortletException, IOException { 55 } 56 57 protected void doView(RenderRequest renderRequest, 58 RenderResponse renderResponse) throws IOException , PortletException { 59 if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) { 60 return; 61 } 62 63 ShrinkingMap javaSysProps = new ShrinkingMap(PortletManager.getCurrentJVM(renderRequest).getSystemProperties()); 64 65 renderRequest.setAttribute("javaSysProps", javaSysProps); 66 67 String sep = (String ) javaSysProps.get("path.separator"); 68 69 String test = (String ) javaSysProps.get("sun.boot.class.path"); 70 if (test != null) { 71 javaSysProps.put("sun.boot.class.path", split(test, sep)); 72 } 73 test = (String ) javaSysProps.get("sun.boot.library.path"); 74 if (test != null) { 75 javaSysProps.put("sun.boot.library.path", split(test, sep)); 76 } 77 test = (String ) javaSysProps.get("java.library.path"); 78 if (test != null) { 79 javaSysProps.put("java.library.path", split(test, sep)); 80 } 81 test = (String ) javaSysProps.get("java.class.path"); 82 if (test != null) { 83 javaSysProps.put("java.class.path", split(test, sep)); 84 } 85 test = (String ) javaSysProps.get("java.endorsed.dirs"); 86 if (test != null) { 87 javaSysProps.put("java.endorsed.dirs", split(test, sep)); 88 } 89 test = (String ) javaSysProps.get("java.ext.dirs"); 90 if (test != null) { 91 javaSysProps.put("java.ext.dirs", split(test, sep)); 92 } 93 test = (String ) javaSysProps.get("common.loader"); 94 if (test != null) { 95 javaSysProps.put("common.loader", test.replace(',',' ')); 96 } 97 98 javaSysProps.remove("javax.net.ssl.keyStore"); 100 javaSysProps.remove("javax.net.ssl.keyStorePassword"); 101 javaSysProps.remove("javax.net.ssl.trustStore"); 102 javaSysProps.remove("javax.net.ssl.trustStorePassword"); 103 104 javaSysProps.setShrinking(true); 105 106 if (WindowState.NORMAL.equals(renderRequest.getWindowState())) { 107 normalView.include(renderRequest, renderResponse); 108 } else { 109 maximizedView.include(renderRequest, renderResponse); 110 } 111 } 112 113 private List split(String path, String sep) { 114 StringTokenizer st = new StringTokenizer (path, sep); 115 116 List l = new ArrayList (); 117 118 while (st.hasMoreTokens()) { 119 l.add(st.nextToken()); 120 } 121 return l; 122 } 123 124 protected void doHelp(RenderRequest renderRequest, 125 RenderResponse renderResponse) throws PortletException, IOException { 126 helpView.include(renderRequest, renderResponse); 127 } 128 129 public void init(PortletConfig portletConfig) throws PortletException { 130 super.init(portletConfig); 131 normalView = portletConfig.getPortletContext().getRequestDispatcher( 132 NORMALVIEW_JSP); 133 maximizedView = portletConfig.getPortletContext().getRequestDispatcher( 134 MAXIMIZEDVIEW_JSP); 135 helpView = portletConfig.getPortletContext().getRequestDispatcher( 136 HELPVIEW_JSP); 137 } 138 139 public void destroy() { 140 normalView = null; 141 maximizedView = null; 142 helpView = null; 143 super.destroy(); 144 } 145 146 } | Popular Tags |