KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > console > infomanager > JavaSystemInfoPortlet


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
18 package org.apache.geronimo.console.infomanager;
19
20 import java.io.IOException JavaDoc;
21 import java.util.ArrayList JavaDoc;
22 import java.util.List JavaDoc;
23 import java.util.StringTokenizer JavaDoc;
24 import java.util.Map JavaDoc;
25 import java.util.TreeMap JavaDoc;
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 JavaDoc NORMALVIEW_JSP = "/WEB-INF/view/infomanager/javaSysNormal.jsp";
42
43     private static final String JavaDoc MAXIMIZEDVIEW_JSP = "/WEB-INF/view/infomanager/javaSysMaximized.jsp";
44
45     private static final String JavaDoc 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 JavaDoc {
55     }
56
57     protected void doView(RenderRequest renderRequest,
58             RenderResponse renderResponse) throws IOException JavaDoc, 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 JavaDoc sep = (String JavaDoc) javaSysProps.get("path.separator");
68
69         String JavaDoc test = (String JavaDoc) javaSysProps.get("sun.boot.class.path");
70         if (test != null) {
71             javaSysProps.put("sun.boot.class.path", split(test, sep));
72         }
73         test = (String JavaDoc) javaSysProps.get("sun.boot.library.path");
74         if (test != null) {
75             javaSysProps.put("sun.boot.library.path", split(test, sep));
76         }
77         test = (String JavaDoc) javaSysProps.get("java.library.path");
78         if (test != null) {
79             javaSysProps.put("java.library.path", split(test, sep));
80         }
81         test = (String JavaDoc) javaSysProps.get("java.class.path");
82         if (test != null) {
83             javaSysProps.put("java.class.path", split(test, sep));
84         }
85         test = (String JavaDoc) javaSysProps.get("java.endorsed.dirs");
86         if (test != null) {
87             javaSysProps.put("java.endorsed.dirs", split(test, sep));
88         }
89         test = (String JavaDoc) javaSysProps.get("java.ext.dirs");
90         if (test != null) {
91             javaSysProps.put("java.ext.dirs", split(test, sep));
92         }
93         test = (String JavaDoc) javaSysProps.get("common.loader");
94         if (test != null) {
95             javaSysProps.put("common.loader", test.replace(',',' '));
96         }
97
98         // Remove a few properties for security reasons
99
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 JavaDoc split(String JavaDoc path, String JavaDoc sep) {
114         StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(path, sep);
115
116         List JavaDoc l = new ArrayList JavaDoc();
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 JavaDoc {
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