<%-- - $RCSfile$ - $Revision$ - $Date$ --%> <%@ page import="java.lang.reflect.Method, java.io.File, org.jivesoftware.util.LocaleUtils" %> <%-- note, the loadClass method is defined in setup-global.jspf --%> <% // Check the user's environment for minimum requirements. boolean jdk13Installed = false; boolean servlet22Installed = false; boolean jsp11Installed = false; boolean jiveJarsInstalled = false; boolean messengerHomeExists = false; File messengerHome = null; // Check for JDK 1.5 try { loadClass("java.util.concurrent.ConcurrentHashMap"); jdk13Installed = true; } catch (ClassNotFoundException cnfe) {} // Check for Servlet 2.3: try { Class c = loadClass("javax.servlet.http.HttpSession"); Method m = c.getMethod("getAttribute",new Class[]{String.class}); servlet22Installed = true; } catch (ClassNotFoundException cnfe) {} // Check for JSP 1.1: try { loadClass("javax.servlet.jsp.tagext.Tag"); jsp11Installed = true; } catch (ClassNotFoundException cnfe) {} // Check that the Messenger jar are installed: try { loadClass("org.jivesoftware.messenger.XMPPServer"); jiveJarsInstalled = true; } catch (ClassNotFoundException cnfe) {} // Try to determine what the jiveHome directory is: try { Class jiveGlobalsClass = loadClass("org.jivesoftware.util.JiveGlobals"); Method getMessengerHomeMethod = jiveGlobalsClass.getMethod("getHomeDirectory", (Class[])null); String messengerHomeProp = (String)getMessengerHomeMethod.invoke(jiveGlobalsClass, (Object[])null); if (messengerHomeProp != null) { messengerHome = new File(messengerHomeProp); if (messengerHome.exists()) { messengerHomeExists = true; } } } catch (Exception e) { e.printStackTrace(); } // If there were no errors, redirect to the main setup page if (!jdk13Installed || !servlet22Installed || !jsp11Installed || !jiveJarsInstalled || !messengerHomeExists) { %> <html> <head> <title><fmt:message key="title" /> <fmt:message key="setup.title" /></title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <p class="jive-setup-page-header"> <fmt:message key="title" /> <fmt:message key="setup.title" /> </p> <p class="jive-setup-error-text"> <fmt:message key="setup.env.check.error" /> <fmt:message key="title" /> <fmt:message key="setup.title" />. </p> <p> <fmt:message key="setup.env.check.error_info"> <fmt:param value="<%= LocaleUtils.getLocalizedString("title") %>" /> </fmt:message> </p> <ul> <table cellpadding="3" cellspacing="2" border="0"> <% if (jdk13Installed) { %> <tr> <td><img src="images/check.gif" width="13" height="13" border="0"></td> <td> <fmt:message key="setup.env.check.jdk" /> </td> </tr> <% } else { %> <tr> <td><img src="images/x.gif" width="13" height="13" border="0"></td> <td> <span class="jive-setup-error-text"> <fmt:message key="setup.env.check.jdk" /> </span> </td> </tr> <% } if (servlet22Installed) { %> <tr> <td><img src="images/check.gif" width="13" height="13" border="0"></td> <td> <fmt:message key="setup.env.check.servlet" /> </td> </tr> <% } else { %> <tr> <td><img src="images/x.gif" width="13" height="13" border="0"></td> <td> <span class="jive-setup-error-text"> <fmt:message key="setup.env.check.servlet" /> </span> </td> </tr> <% } if (jsp11Installed) { %> <tr> <td><img src="images/check.gif" width="13" height="13" border="0"></td> <td> <fmt:message key="setup.env.check.jsp" /> </td> </tr> <% } else { %> <tr> <td><img src="images/x.gif" width="13" height="13" border="0"></td> <td> <span class="jive-setup-error-text"> <fmt:message key="setup.env.check.jsp" /> </span> </td> </tr> <% } if (jiveJarsInstalled) { %> <tr> <td><img src="images/check.gif" width="13" height="13" border="0"></td> <td> <fmt:message key="title" /> <fmt:message key="setup.env.check.class" /> </td> </tr> <% } else { %> <tr> <td><img src="images/x.gif" width="13" height="13" border="0"></td> <td> <span class="jive-setup-error-text"> <fmt:message key="title" /> <fmt:message key="setup.env.check.class" /> </span> </td> </tr> <% } if (messengerHomeExists) { %> <tr> <td><img src="images/x.gif" width="13" height="13" border="0"></td> <td> <span class="jive-setup-error-text"> <fmt:message key="setup.env.check.jive" /> (<%= messengerHome.toString() %>) </span> </td> </tr> <% } else { %> <tr> <td><img src="images/x.gif" width="13" height="13" border="0"></td> <td> <span class="jive-setup-error-text"> <fmt:message key="setup.env.check.not_home" /> </span> </td> </tr> <% } %> </table> </ul> <p> <fmt:message key="setup.env.check.doc" /> </p> </body> </html> <% // return so we stop showing the page: return; } %>