hi,

I have done some changes to the webadmin module front end. Changes include some spelling fixes and some other cosmetic changes.

Can some one with enough karma please apply this patch.

Thanks in advance :)

Best Regards,
Chamil Thanthrimudalige.
Index: modules/core/webapp/admin.jsp
===================================================================
--- modules/core/webapp/admin.jsp       (revision 292387)
+++ modules/core/webapp/admin.jsp       (working copy)
@@ -1,5 +1,4 @@
 <%@ page import="org.apache.axis2.Constants"%>        <%@ page 
contentType="text/html;charset=UTF-8" language="java" %>
-        <html>
         <%
            /*
 * Copyright 2004,2005 The Apache Software Foundation.
@@ -32,6 +31,6 @@
       }
   %>
 <jsp:include page="include/adminheader.jsp"></jsp:include>
-<h1>Welcome to the Axis2 administration system!</h1><p>There are several 
things that you can do from within this system. You can check the status of 
your axis system from these pages.
-There are also some functionality provided to change some internel setting 
while the system is online.
+<h1>Welcome to the Axis2 administration system!</h1>
+<p>The Axis2 administration system can be used to check on the health of your 
Axis2 deployment as well as to change any parameters at run time. Other than 
changing of parameters the web interface also has the ability upload new 
services into Axis2[Service hot deployment.].</p>
 <jsp:include page="include/adminfooter.jsp"></jsp:include>
Index: modules/core/webapp/listService.jsp
===================================================================
--- modules/core/webapp/listService.jsp (revision 292387)
+++ modules/core/webapp/listService.jsp (working copy)
@@ -61,6 +61,7 @@
            <%
                  Collection engagdeModules = axisService.getEngagedModules();
                  String moduleName = "";
+               boolean modules_present=false;
                  if(engagdeModules.size() >0){
            %>
            <i>Engaged Modules for the service</i>
@@ -68,10 +69,18 @@
                      for (Iterator iteratorm = engagdeModules.iterator(); 
iteratorm.hasNext();) {
                          ModuleDescription description = (ModuleDescription) 
iteratorm.next();
                          moduleName = description.getName().getLocalPart();
+                       if (!modules_present) {
+                               modules_present=true;
+%>
+                               <ul>
+<%                     }
                 %><li><%=moduleName%></li>
                          <br>
                          <%
                      }
+                       if (modules_present) {%>
+                               </ul>
+                       <%}
                  }
                  if (operationsList.size() > 0) {
                 %><br><i>Available operations</i><%
@@ -109,7 +118,7 @@
                    if(errornessservice.size() > 0){
                        
request.getSession().setAttribute(Constants.IS_FAULTY,Constants.IS_FAULTY);
            %>
-           <hr><h3><font color="blue">Faulty Services</font></h3>
+           <h3><font color="red">Faulty Services</font></h3>
                 <%
                        Enumeration faultyservices = errornessservice.keys();
                        while (faultyservices.hasMoreElements()) {
Index: modules/core/webapp/SelectService.jsp
===================================================================
--- modules/core/webapp/SelectService.jsp       (revision 292387)
+++ modules/core/webapp/SelectService.jsp       (working copy)
@@ -30,41 +30,52 @@
 %>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <jsp:include page="include/adminheader.jsp"></jsp:include>
-<h1>Select a Service to view Operation specific Chains</h1>
+
   <%
       String action ="";
       String buttonName="" ;
       String status = 
(String)request.getSession().getAttribute(Constants.SELECT_SERVICE_TYPE);
+      String heading = "";
+      String disc = "";
       if(status != null && status.equals("MODULE")) {
           action = "listOperations";
           buttonName = " View Operations";
+          heading = "Select a Service to view Operation specific Chains";
+          disc = "Select a service from the combo and click on the 'View 
Operations' button to view Operation specific Chains.";
       } else if(status != null && status.equals("VIEW")){
           buttonName = " View ";
           action = "viewServiceHandlers";
+          heading = "Select a Service to view Service Handlers";
+          disc = "Select a service from the combo and click on the 'View' 
button to view Service Handlers.";
       } else if (status != null && status.equals("SERVICE_PARAMETER")){
           buttonName = " Edit Parameters ";
           action = Constants.EDIR_SERVICE_PARA;
+          heading = "Select a Service to Edit Parameters";
+          disc = "Select a service from the combo and click on the 'Edit 
Parameters' button to Edit Parameters.";
       }
   %>
+<h1><%=heading%></h1>
+<p><%=disc%></p>
 <form method="get" name="engaginModule" action="<%=action%>">
-<table border="0" width="100%" cellspacing="1" cellpadding="1">
+<table border="0" width="50%" cellspacing="1" cellpadding="1">
          <tr>
-        <td width="20%">Select a Service :&nbsp;
+        <td width="35%">Select a Service :</td><td width="65%">
             <select name="service">
             <%
                 HashMap services = 
(HashMap)request.getSession().getAttribute(Constants.SERVICE_MAP);
                 Collection serviceCol =  services.values();
                 for (Iterator iterator = serviceCol.iterator(); 
iterator.hasNext();) {
                     ServiceDescription axisService = 
(ServiceDescription)iterator.next();
-                    String servicName = axisService.getName().getLocalPart();
-            %> <option  align="left" 
value="<%=servicName%>"><%=servicName%></option>
+                    String serviceName = axisService.getName().getLocalPart();
+            %> <option  align="left" 
value="<%=serviceName%>"><%=serviceName%></option>
              <%
                 }
              %>
            </td>
         </tr>
-        <tr>
-             <td>
+       <tr><td colspan="2">&nbsp;</td></tr>
+        <tr><td>&nbsp;</td>
+             <td colspan="2" align="left">
                 <input name="submit" type="submit" value="<%=buttonName%>" >
              </td>
          </tr>
Index: modules/core/webapp/engagingtoaservice.jsp
===================================================================
--- modules/core/webapp/engagingtoaservice.jsp  (revision 292387)
+++ modules/core/webapp/engagingtoaservice.jsp  (working copy)
@@ -9,6 +9,7 @@
     String status = 
(String)request.getSession().getAttribute(Constants.ENGAGE_STATUS);
 %>
 <h1>Engage Module for a Service</h1>
+<p>To engage a module for a service, first select the module you want to 
engage and then select the service you like the module to be engaged on and 
click "Engage".</p>
 <form method="get" name="engaginModule" action="engageToService">
 <table border="0" width="100%" cellspacing="1" cellpadding="1">
     <tr>
@@ -52,8 +53,8 @@
                 Collection serviceCol =  services.values();
                 for (Iterator iterator = serviceCol.iterator(); 
iterator.hasNext();) {
                     ServiceDescription axisService = 
(ServiceDescription)iterator.next();
-                    String servicName = axisService.getName().getLocalPart();
-            %> <option  align="left" 
value="<%=servicName%>"><%=servicName%></option>
+                    String serviceName = axisService.getName().getLocalPart();
+            %> <option  align="left" 
value="<%=serviceName%>"><%=serviceName%></option>
              <%
                 }
              %>
Index: modules/core/webapp/HappyAxis.jsp
===================================================================
--- modules/core/webapp/HappyAxis.jsp   (revision 292387)
+++ modules/core/webapp/HappyAxis.jsp   (working copy)
@@ -42,6 +42,7 @@
 </head>
 <body>
    <jsp:include page="include/header.inc"></jsp:include>
+       <jsp:include page="include/link-footer.jsp"></jsp:include>
 <%port =request.getServerPort();%>
 <%IP=request.getRequestURL().toString();
     int lastindex = IP.lastIndexOf('/');
@@ -486,7 +487,6 @@
     }
 %>
 
-       <jsp:include page="include/link-footer.jsp"></jsp:include>
        <jsp:include page="include/footer.inc"></jsp:include>
 </body>
 </html>
Index: modules/core/webapp/Login.jsp
===================================================================
--- modules/core/webapp/Login.jsp       (revision 292387)
+++ modules/core/webapp/Login.jsp       (working copy)
@@ -30,6 +30,7 @@
 <link href="css/axis-style.css" rel="stylesheet" type="text/css">
   <body>
   <jsp:include page="include/header.inc"></jsp:include>
+<jsp:include page="include/link-footer.jsp"></jsp:include>
   <% String isLoged = 
(String)request.getSession().getAttribute(Constants.LOGGED);
    if("Yes".equals(isLoged)){
        response.sendRedirect(ListingAgent.ADMIN_JSP_NAME);
@@ -39,7 +40,6 @@
 <tr><td valign="top">
 <jsp:include page="happy_axis.jsp?type=min"></jsp:include>
 
-
 </td>
 <td valign="middle" align="left">
     <form method="get" name="LoginForm" action="adminlogin">
@@ -77,8 +77,7 @@
 </tr>
 </table>
 </td></tr><tr><td>
- <jsp:include page="include/link-footer.jsp"></jsp:include>
- <jsp:include page="include/footer.inc"></jsp:include>
+  <jsp:include page="include/footer.inc"></jsp:include>
 <script language="JavaScript">
 <!--
 document.LoginForm.userName.focus();
Index: modules/core/webapp/listGroupService.jsp
===================================================================
--- modules/core/webapp/listGroupService.jsp    (revision 292387)
+++ modules/core/webapp/listGroupService.jsp    (working copy)
@@ -6,11 +6,7 @@
 <%@ page import="java.util.HashMap"%>
 <%@ page import="java.util.Iterator"%>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<html>
-<head><title>List Services</title>
-    <link href="css/axis-style.css" rel="stylesheet" type="text/css">
-</head>
-<body>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
 <h1>Available services</h1>
 <%String IP=request.getRequestURL().toString();
         int lastindex = IP.lastIndexOf('/');
@@ -36,16 +32,16 @@
         String moduleName = "";
         if(engagdeModules.size() >0){
     %>
-    <i>Engaged Modules for the service</i>
+    <i>Engaged Modules for the service</i><ul>
     <%
         for (Iterator iteratorm = engagdeModules.iterator(); 
iteratorm.hasNext();) {
             ModuleDescription description = (ModuleDescription) 
iteratorm.next();
             moduleName = description.getName().getLocalPart();
     %><li><%=moduleName%></li>
-    <br>
     <%
-            }
-        }
+            }%>
+       </ul>
+        <%}
         if (operationsList.size() > 0) {
     %><br><i>Available operations</i><%
 } else {
@@ -77,5 +73,4 @@
     <%
         }
     %>
-</body>
-</html>
\ No newline at end of file
+<jsp:include page="include/adminfooter.jsp"></jsp:include>
\ No newline at end of file
Index: modules/core/webapp/listServices.jsp
===================================================================
--- modules/core/webapp/listServices.jsp        (revision 292387)
+++ modules/core/webapp/listServices.jsp        (working copy)
@@ -30,6 +30,7 @@
   </head>
   <body>
   <jsp:include page="include/header.inc"></jsp:include>
+    <jsp:include page="include/link-footer.jsp"></jsp:include>
   <h1>Available services</h1>
   <%String IP=request.getRequestURL().toString();
         int lastindex = IP.lastIndexOf('/');
@@ -91,7 +92,6 @@
             %> There seems to be no services listed! Try hitting refresh <%
         }
        %>
-    <jsp:include page="include/link-footer.jsp"></jsp:include>
     <jsp:include page="include/footer.inc"></jsp:include>
   </body>
 </html>
\ No newline at end of file
Index: modules/core/webapp/enaggingtoanopeartion.jsp
===================================================================
--- modules/core/webapp/enaggingtoanopeartion.jsp       (revision 292387)
+++ modules/core/webapp/enaggingtoanopeartion.jsp       (working copy)
@@ -9,6 +9,7 @@
     String status = 
(String)request.getSession().getAttribute(Constants.ENGAGE_STATUS);
 %>
 <h1>Engage Module for an Operation</h1>
+<p>To engage a module for a operation, first select the module you want to 
engage and then select the operation you like the module to be engaged on and 
click "Engage".</p>
 <form method="get" name="engaginModule" action="listOperations">
 <table border="0" width="100%" cellspacing="1" cellpadding="1">
     <tr>
Index: modules/core/webapp/upload.jsp
===================================================================
--- modules/core/webapp/upload.jsp      (revision 292387)
+++ modules/core/webapp/upload.jsp      (working copy)
@@ -1,111 +1,111 @@
-<%@ page import="org.apache.commons.fileupload.DiskFileUpload,
-                 org.apache.commons.fileupload.FileItem,
-                 org.apache.commons.fileupload.FileUpload,
-                 javax.servlet.ServletContext,
-                 java.io.File,
-                 java.io.IOException,
-                 java.util.Iterator,
-                 java.util.List"%>
-<%@ page contentType="text/html;charset=UTF-8" language="java"
- %>
-<%
-/*
-* Copyright 2002,2004 The Apache Software Foundation.
-*
-* 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.
-*/
-%>
-
-<%!
-    public void jspInit(){
-        ServletContext context = this.getServletConfig().getServletContext();
-        File repoDir = new File(context.getRealPath("/WEB-INF"));
-        File serviceDir = new File(repoDir,"services");
-
-        if (!serviceDir.exists()) {
-            serviceDir.mkdir();
-        }
-        deploymentDirectory = serviceDir;
-    }
-
-    protected static final String SUBMIT_NAME = "upload";
-    protected File deploymentDirectory = null;
-
-    protected void writeSuccessMessage(String fileName,JspWriter out) throws 
IOException {
-        out.print("File saved as " +fileName + "<br/>");
-    }
-
-    protected void writeUnsuccessMessage(String message,JspWriter out) throws 
IOException{
-        out.print("<font color=\"red\">The following error occured <br/>" 
+message +
-                "</font><br/>"
-        );
-
-    }
-%>
-<jsp:include page="include/adminheader.jsp"></jsp:include>
-         <h2>Upload a service jar file</h2>
-        <%
-            boolean isMultipart = FileUpload.isMultipartContent(request);
-            if (isMultipart){
-                try {
-                    // Create a new file upload handler
-                    DiskFileUpload upload = new DiskFileUpload();
-
-                    List items = upload.parseRequest(request);
-
-                    // Process the uploaded items
-                    Iterator iter = items.iterator();
-                    while (iter.hasNext()) {
-                        FileItem item = (FileItem) iter.next();
-
-                        if (!item.isFormField()) {
-
-                            String fileName = item.getName();
-                            String fileExtesion =fileName;
-                            fileExtesion =fileExtesion.toLowerCase();
-//                            fileName = fileName.toLowerCase();
-                            if 
(!(fileExtesion.endsWith(".jar")||fileExtesion.endsWith(".aar"))){
-                                throw new Exception(" Wrong file type! ");
-                            }
-
-                            String fileNameOnly = "";
-                            if (fileName.indexOf("\\")<0){
-                                  fileNameOnly= 
fileName.substring(fileName.lastIndexOf("/")+1,fileName.length());
-                            }else{
-                                 fileNameOnly= 
fileName.substring(fileName.lastIndexOf("\\")+1,fileName.length());
-                            }
-
-
-                            File uploadedFile = new 
File(deploymentDirectory,fileNameOnly);
-                            item.write(uploadedFile);
-                            out.write("<font color=\"green\">File " + fileName 
+ " successfully uploaded </font><br/><br/>");
-
-                        }
-                    }
-                } catch (Exception e) {
-                    out.write(" <font color=\"red\">File upload failed! <br/>" 
+ e.getMessage() + "</font><br/><br/>");
-                }
-            }
-        %>
-
-        <p>You can upload a packaged Axis 2 service using this page with two 
small steps.</p>
-       <ul><li>Browse to the location and select the service archive file you 
wish to upload</li>
-       <li>Click Upload</li></ul>
-       <p>Simple as that!</p>
-<form method="post"  name="Axis2upload" action="upload.jsp" 
enctype="multipart/form-data">
-        <table><tr><td>Service archive : </td><td>
-        <input type="file" name="filename" size="50"/></td></tr>
-        <tr><td>&nbsp;</td><td><input name="<%=SUBMIT_NAME%>" type="submit" 
value=" Upload "/></td></tr>
-       </table>
-</form>
+<%@ page import="org.apache.commons.fileupload.DiskFileUpload,
+                 org.apache.commons.fileupload.FileItem,
+                 org.apache.commons.fileupload.FileUpload,
+                 javax.servlet.ServletContext, javax.servlet.ServletContext,
+                 java.io.File,
+                 java.io.IOException,
+                 java.util.Iterator,
+                 java.util.List"%>
+<%@ page contentType="text/html;charset=UTF-8" language="java"
+ %>
+<%
+/*
+* Copyright 2002,2004 The Apache Software Foundation.
+*
+* 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.
+*/
+%>
+
+<%!
+    public void jspInit(){
+        ServletContext context = this.getServletConfig().getServletContext();
+        File repoDir = new File(context.getRealPath("/WEB-INF"));
+        File serviceDir = new File(repoDir,"services");
+
+        if (!serviceDir.exists()) {
+            serviceDir.mkdir();
+        }
+        deploymentDirectory = serviceDir;
+    }
+
+    protected static final String SUBMIT_NAME = "upload";
+    protected File deploymentDirectory = null;
+
+    protected void writeSuccessMessage(String fileName,JspWriter out) throws 
IOException {
+        out.print("File saved as " +fileName + "<br/>");
+    }
+
+    protected void writeUnsuccessMessage(String message,JspWriter out) throws 
IOException{
+        out.print("<font color=\"red\">The following error occurred <br/>" 
+message +
+                "</font><br/>"
+        );
+
+    }
+%>
+<jsp:include page="include/adminheader.jsp"></jsp:include>
+         <h2>Upload a service jar file</h2>
+        <%
+            boolean isMultipart = FileUpload.isMultipartContent(request);
+            if (isMultipart){
+                try {
+                    // Create a new file upload handler
+                    DiskFileUpload upload = new DiskFileUpload();
+
+                    List items = upload.parseRequest(request);
+
+                    // Process the uploaded items
+                    Iterator iter = items.iterator();
+                    while (iter.hasNext()) {
+                        FileItem item = (FileItem) iter.next();
+
+                        if (!item.isFormField()) {
+
+                            String fileName = item.getName();
+                            String fileExtesion =fileName;
+                            fileExtesion =fileExtesion.toLowerCase();
+//                            fileName = fileName.toLowerCase();
+                            if 
(!(fileExtesion.endsWith(".jar")||fileExtesion.endsWith(".aar"))){
+                                throw new Exception(" Wrong file type! ");
+                            }
+
+                            String fileNameOnly = "";
+                            if (fileName.indexOf("\\")<0){
+                                  fileNameOnly= 
fileName.substring(fileName.lastIndexOf("/")+1,fileName.length());
+                            }else{
+                                 fileNameOnly= 
fileName.substring(fileName.lastIndexOf("\\")+1,fileName.length());
+                            }
+
+
+                            File uploadedFile = new 
File(deploymentDirectory,fileNameOnly);
+                            item.write(uploadedFile);
+                            out.write("<font color=\"green\">File " + fileName 
+ " successfully uploaded </font><br/><br/>");
+
+                        }
+                    }
+                } catch (Exception e) {
+                    out.write(" <font color=\"red\">File upload failed! <br/>" 
+ e.getMessage() + "</font><br/><br/>");
+                }
+            }
+        %>
+
+        <p>You can upload a packaged Axis 2 service using this page with two 
small steps.</p>
+       <ul><li>Browse to the location and select the service archive file you 
wish to upload</li>
+       <li>Click Upload</li></ul>
+       <p>Simple as that!</p>
+<form method="post"  name="Axis2upload" action="upload.jsp" 
enctype="multipart/form-data">
+        <table><tr><td>Service archive : </td><td>
+        <input type="file" name="filename" size="50"/></td></tr>
+        <tr><td>&nbsp;</td><td><input name="<%=SUBMIT_NAME%>" type="submit" 
value=" Upload "/></td></tr>
+       </table>
+</form>
 <jsp:include page="include/adminfooter.jsp"></jsp:include>
\ No newline at end of file
Index: modules/core/webapp/EngageToServiceGroup.jsp
===================================================================
--- modules/core/webapp/EngageToServiceGroup.jsp        (revision 292387)
+++ modules/core/webapp/EngageToServiceGroup.jsp        (working copy)
@@ -7,25 +7,29 @@
 <jsp:include page="include/adminheader.jsp"></jsp:include>
 <%
     String status = 
(String)request.getSession().getAttribute(Constants.ENGAGE_STATUS);
+    HashMap moduels = 
(HashMap)request.getSession().getAttribute(Constants.MODULE_MAP);
+    Collection moduleCol =  moduels.values();
+    Iterator servicesGroups = 
(Iterator)request.getSession().getAttribute(Constants.SERVICE_GROUP_MAP);
 %>
 <h1>Engage Module for a Service Group</h1>
+<p>To engage a module for a set of services grouped a service group, first 
select the module you want to engage and then select the service group you like 
the module to be engaged on and click "Engage".</p>
+<%
+       if (!moduleCol.iterator().hasNext()) {%>
+               <p>No modules are present to be engaged.</p>
+       <%} else {
+               if  (!servicesGroups.hasNext()) {%>
+               <p>No service groups are present to be engaged.</p>
+               <%} else {
+%>
 <form method="get" name="engaginModule" action="engageToServiceGroup">
     <table border="0" width="100%" cellspacing="1" cellpadding="1">
         <tr>
-            <td>
-                &nbsp;
-                &nbsp;
-            </td>
-        </tr>
-        <tr>
             <td>Select a Module :</td>
         </tr>
         <tr>
             <td>
                 <select name="modules">
                     <%
-                HashMap moduels = 
(HashMap)request.getSession().getAttribute(Constants.MODULE_MAP);
-                Collection moduleCol =  moduels.values();
                 for (Iterator iterator = moduleCol.iterator(); 
iterator.hasNext();) {
                     ModuleDescription description = (ModuleDescription) 
iterator.next();
                     String modulename = description.getName().getLocalPart();
@@ -48,11 +52,11 @@
             <td>
                 <select name="service">
                     <%
-                        Iterator servicesGroups = 
(Iterator)request.getSession().getAttribute(Constants.SERVICE_GROUP_MAP);
+
                         while(servicesGroups.hasNext()){
                             ServiceGroupDescription groupDescription = 
(ServiceGroupDescription) servicesGroups.next();
-                            String servicName = 
groupDescription.getServiceGroupName();
-                    %> <option  align="left" 
value="<%=servicName%>"><%=servicName%></option>
+                            String serviceName = 
groupDescription.getServiceGroupName();
+                    %> <option  align="left" 
value="<%=serviceName%>"><%=serviceName%></option>
                     <%
                         }
 
@@ -96,5 +100,9 @@
         </tr>
     </table>
 </form>
+<%
+               }
+       }
+%>
 <jsp:include page="include/adminfooter.jsp"></jsp:include>
 
Index: modules/core/webapp/include/link-footer.jsp
===================================================================
--- modules/core/webapp/include/link-footer.jsp (revision 292387)
+++ modules/core/webapp/include/link-footer.jsp (working copy)
@@ -2,7 +2,7 @@
        <tr><td>
                <table width="950px">
                        <tr>
-                               <td align="center"><a href="index.jsp">Back 
Home</a>&nbsp;&nbsp;|&nbsp;&nbsp; <a href="#" 
onclick="javascript:window.location.reload(true);">Refresh</a></td>
+                               <td align="right"><a href="index.jsp">Back 
Home</a>&nbsp;&nbsp;|&nbsp;&nbsp; <a href="#" 
onclick="javascript:history.go(0);">Refresh</a></td>
                        </tr>
                </table>
        </td>
Index: modules/core/webapp/include/adminheader.jsp
===================================================================
--- modules/core/webapp/include/adminheader.jsp (revision 292387)
+++ modules/core/webapp/include/adminheader.jsp (working copy)
@@ -1,6 +1,7 @@
 <%@ page import="org.apache.axis2.Constants"%>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
 <head>
        <title>Axis2 :: Administrations Page</title>
        <link href="css/axis-style.css" rel="stylesheet" type="text/css"/>
Index: modules/core/webapp/ViewContexts.jsp
===================================================================
--- modules/core/webapp/ViewContexts.jsp        (revision 292387)
+++ modules/core/webapp/ViewContexts.jsp        (working copy)
@@ -13,7 +13,7 @@
 --%>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <jsp:include page="include/adminheader.jsp"></jsp:include>
-<h1>Runing Context hierachy</h1>
+<h1>Running Context hierarchy</h1>
 <%
     ConfigurationContext configContext = 
(ConfigurationContext)request.getSession().getAttribute(
             Constants.CONFIG_CONTEXT);
@@ -46,6 +46,8 @@
     }
     %>  </ul>
         <%
-            }
+            } else {%>
+       <p>No Running Contexts were found on the system.</p>
+            <%}
 %>
 <jsp:include page="include/adminfooter.jsp"></jsp:include>
\ No newline at end of file
Index: modules/core/webapp/happy_axis.jsp
===================================================================
--- modules/core/webapp/happy_axis.jsp  (revision 0)
+++ modules/core/webapp/happy_axis.jsp  (revision 0)
@@ -0,0 +1,481 @@
+<%@ page import="org.apache.axis2.AxisFault,
+                 org.apache.axis2.Constants,
+                 org.apache.axis2.addressing.EndpointReference,
+                 org.apache.axis2.clientapi.Call,
+                 org.apache.axis2.om.OMAbstractFactory,
+                 org.apache.axis2.om.OMElement,
+                 org.apache.axis2.om.OMFactory,
+                 org.apache.axis2.om.OMNamespace,
+                 javax.servlet.ServletContext,
+                 javax.servlet.http.HttpServletRequest,
+                 javax.servlet.http.HttpServletResponse,
+                 javax.xml.namespace.QName,
+                 javax.xml.parsers.SAXParser,
+                 javax.xml.parsers.SAXParserFactory,
+                 javax.xml.stream.XMLOutputFactory"
+   session="false" %>
+<%@ page import="javax.xml.stream.XMLStreamException"%>
+<%@ page import="java.io.IOException"%>
+<%@ page import="java.io.InputStream"%>
+<%@ page import="java.io.StringWriter"%>
+<%
+     /*
+     * Copyright 2002,2004 The Apache Software Foundation.
+     *
+     * 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.
+     */
+
+display_type = request.getParameter("type");
+port =request.getServerPort();
+IP=request.getRequestURL().toString();
+    int lastindex = IP.lastIndexOf('/');
+    IP = IP.substring(0,lastindex);
+    targetEPR = new EndpointReference(IP + "/services/version");
+
+%>
+<%!
+    /*
+    * Happiness tests for axis. These look at the classpath and warn if things
+    * are missing. Normally addng this much code in a JSP page is mad
+    * but here we want to validate JSP compilation too, and have a drop-in
+    * page for easy re-use
+    */
+    int port = 0;
+    String IP;
+    EndpointReference targetEPR ;
+    String display_type = "max";
+    /**
+     * Get a string providing install information.
+     * TODO: make this platform aware and give specific hints
+     */
+    public String getInstallHints(HttpServletRequest request) {
+
+        String hint=
+                "<B><I>Note:</I></B> On Tomcat 4.x and Java1.4, you may need 
to put libraries that contain "
+                +"java.* or javax.* packages into CATALINA_HOME/common/lib"
+                +"<br>jaxrpc.jar and saaj.jar are two such libraries.";
+        return hint;
+    }
+
+    /**
+     * test for a class existing
+     * @param classname
+     * @return class iff present
+     */
+    Class classExists(String classname) {
+        try {
+            return Class.forName(classname);
+        } catch (ClassNotFoundException e) {
+            return null;
+        }
+    }
+
+    /**
+     * test for resource on the classpath
+     * @param resource
+     * @return true iff present
+     */
+    boolean resourceExists(String resource) {
+        boolean found;
+        InputStream instream=this.getClass().getResourceAsStream(resource);
+        found=instream!=null;
+        if(instream!=null) {
+            try {
+                instream.close();
+            } catch (IOException e) {
+            }
+        }
+        return found;
+    }
+
+    /**
+     * probe for a class, print an error message is missing
+     * @param out stream to print stuff
+     * @param category text like "warning" or "error"
+     * @param classname class to look for
+     * @param jarFile where this class comes from
+     * @param errorText extra error text
+     * @param homePage where to d/l the library
+     * @return the number of missing classes
+     * @throws IOException
+     */
+    int probeClass(JspWriter out,
+                   String category,
+                   String classname,
+                   String jarFile,
+                   String description,
+                   String errorText,
+                   String homePage) throws IOException {
+        try {
+            Class clazz = classExists(classname);
+            if(clazz == null)  {
+                String url="";
+                if(homePage!=null) {
+                    url="<br>  See <a href="+homePage+">"+homePage+"</a>";
+                }
+                out.write("<p>"+category+": could not find class "+classname
+                        +" from file <b>"+jarFile
+                        +"</b><br>  "+errorText
+                        +url
+                        +"<p>");
+                return 1;
+            } else {
+                String location = getLocation(out, clazz);
+                if(location == null) {
+                    out.write("Found "+ description + " (" + classname + 
")<br>");
+                }
+                else {
+                    out.write("Found "+ description + " (" + classname + ") at 
<br/><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + location + "</i><br/>");
+                }
+                return 0;
+            }
+        } catch(NoClassDefFoundError ncdfe) {
+            String url="";
+            if(homePage!=null) {
+                url="<br>  See <a href="+homePage+">"+homePage+"</a>";
+            }
+            out.write("<p>"+category+": could not find a dependency"
+                    +" of class "+classname
+                    +" from file <b>"+jarFile
+                    +"</b><br> "+errorText
+                    +url
+                    +"<br>The root cause was: "+ncdfe.getMessage()
+                    +"<br>This can happen e.g. if "+classname+" is in"
+                    +" the 'common' classpath, but a dependency like "
+                    +" activation.jar is only in the webapp classpath."
+                    +"<p>");
+            return 1;
+        }
+    }
+
+    /**
+     * get the location of a class
+     * @param out
+     * @param clazz
+     * @return the jar file or path where a class was found
+     */
+
+    String getLocation(JspWriter out,
+                       Class clazz) {
+        try {
+            java.net.URL url = 
clazz.getProtectionDomain().getCodeSource().getLocation();
+            String location = url.toString();
+            if(location.startsWith("jar")) {
+                url = 
((java.net.JarURLConnection)url.openConnection()).getJarFileURL();
+                location = url.toString();
+            }
+
+            if(location.startsWith("file")) {
+                java.io.File file = new java.io.File(url.getFile());
+                return file.getAbsolutePath();
+            } else {
+                return url.toString();
+            }
+        } catch (Throwable t){
+        }
+        return "an unknown location";
+    }
+
+    /**
+     * a class we need if a class is missing
+     * @param out stream to print stuff
+     * @param classname class to look for
+     * @param jarFile where this class comes from
+     * @param errorText extra error text
+     * @param homePage where to d/l the library
+     * @throws IOException when needed
+     * @return the number of missing libraries (0 or 1)
+     */
+    int needClass(JspWriter out,
+                  String classname,
+                  String jarFile,
+                  String description,
+                  String errorText,
+                  String homePage) throws IOException {
+        return probeClass(out,
+                "<b>Error</b>",
+                classname,
+                jarFile,
+                description,
+                errorText,
+                homePage);
+    }
+
+    /**
+     * print warning message if a class is missing
+     * @param out stream to print stuff
+     * @param classname class to look for
+     * @param jarFile where this class comes from
+     * @param errorText extra error text
+     * @param homePage where to d/l the library
+     * @throws IOException when needed
+     * @return the number of missing libraries (0 or 1)
+     */
+    int wantClass(JspWriter out,
+                  String classname,
+                  String jarFile,
+                  String description,
+                  String errorText,
+                  String homePage) throws IOException {
+        return probeClass(out,
+                "<b>Warning</b>",
+                classname,
+                jarFile,
+                description,
+                errorText,
+                homePage);
+    }
+
+    /**
+     * probe for a resource existing,
+     * @param out
+     * @param resource
+     * @param errorText
+     * @throws Exception
+     */
+    int wantResource(JspWriter out,
+                     String resource,
+                     String errorText) throws Exception {
+        if(!resourceExists(resource)) {
+            out.write("<p><b>Warning</b>: could not find resource "+resource
+                    +"<br>"
+                    +errorText);
+            return 0;
+        } else {
+            out.write("found "+resource+"<br>");
+            return 1;
+        }
+    }
+
+
+    /**
+     *  get servlet version string
+     *
+     */
+
+    public String getServletVersion() {
+        ServletContext context=getServletConfig().getServletContext();
+        int major = context.getMajorVersion();
+        int minor = context.getMinorVersion();
+        return Integer.toString(major) + '.' + Integer.toString(minor);
+    }
+
+
+
+    /**
+     * what parser are we using.
+     * @return the classname of the parser
+     */
+    private String getParserName() {
+        SAXParser saxParser = getSAXParser();
+        if (saxParser == null) {
+            return "Could not create an XML Parser";
+        }
+
+        // check to what is in the classname
+        String saxParserName = saxParser.getClass().getName();
+        return saxParserName;
+    }
+
+    /**
+     * Create a JAXP SAXParser
+     * @return parser or null for trouble
+     */
+    private SAXParser getSAXParser() {
+        SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+        if (saxParserFactory == null) {
+            return null;
+        }
+        SAXParser saxParser = null;
+        try {
+            saxParser = saxParserFactory.newSAXParser();
+        } catch (Exception e) {
+        }
+        return saxParser;
+    }
+
+    /**
+     * get the location of the parser
+     * @return path or null for trouble in tracking it down
+     */
+
+    private String getParserLocation(JspWriter out) {
+        SAXParser saxParser = getSAXParser();
+        if (saxParser == null) {
+            return null;
+        }
+        String location = getLocation(out,saxParser.getClass());
+        return location;
+    }
+
+    private String value;
+    private QName operationName = new QName("getVersion");
+    private OMElement createEnvelope() {
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+        OMNamespace omNs = fac.createOMNamespace("http://localhost/my";, "my");
+        OMElement method = fac.createOMElement("getVersion", omNs);
+        OMElement value = fac.createOMElement("myValue", omNs);
+        method.addChild(value);
+        return method;
+    }
+    public boolean inVokeTheService() {
+        try {
+            OMElement payload = createEnvelope();
+            Call call = new Call();
+            call.setTo(targetEPR);
+            call.setTransportInfo(Constants.TRANSPORT_HTTP, 
Constants.TRANSPORT_HTTP, false);
+
+            OMElement result =
+                    call.invokeBlocking(operationName.getLocalPart(), payload);
+            StringWriter writer = new StringWriter();
+            
result.serializeWithCache(XMLOutputFactory.newInstance().createXMLStreamWriter(writer));
+            writer.flush();
+            value = writer.toString();
+            return true;
+        } catch (AxisFault axisFault) {
+            value = axisFault.getMessage();
+            return false;
+        } catch (XMLStreamException e) {
+            value = e.getMessage();
+            return false;
+        }
+    }
+%>
+<h2>Examining webapp configuration</h2>
+<p>
+<%
+    int needed=0,wanted=0;
+
+    /**
+     * the essentials, without these Axis is not going to work
+     */
+    needed=needClass(out, "org.apache.axis2.transport.http.AxisServlet",
+            "axis2-0.9.jar",
+            "Apache-Axis",
+            "Axis2 will not work",
+            "http://xml.apache.org/axis/";);
+    needed+=needClass(out, "org.apache.commons.logging.Log",
+            "commons-logging.jar",
+            "Jakarta-Commons Logging",
+            "Axis2 will not work",
+            "http://jakarta.apache.org/commons/logging.html";);
+
+    needed+=needClass(out, "org.apache.log4j.Layout",
+            "log4j-1.2.8.jar",
+            "Log4j",
+            "Axis2 may not work",
+            "http://jakarta.apache.org/log4j";);
+    needed+=needClass(out, "javax.xml.stream.XMLStreamReader",
+            "stax-api-1.0.jar",
+            "Streaming API for XML",
+            "Axis2 will not work",
+            "http://dist.codehaus.org/stax/jars/";);
+    needed+=needClass(out, "com.bea.xml.stream.MXParser",
+            "stax-1.1.2-dev.jar",
+            "Streaming API for XML implementation",
+            "Axis2 will not work",
+            "http://dist.codehaus.org/stax/jars/";);
+
+%>
+</p>
+<%
+    /*
+    * resources on the classpath path
+    */
+    /* broken; this is a file, not a resource
+    wantResource(out,"/server-config.wsdd",
+    "There is no server configuration file;"
+    +"run AdminClient to create one");
+    */
+    /* add more libraries here */
+
+    out.write("<p><b>");
+    //is everythng we need here
+    if(needed==0) {
+        //yes, be happy
+        out.write("<i>The core axis libraries are present. </i>");
+    } else {
+        //no, be very unhappy
+        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+        out.write("<i>"
+                +needed
+                +" core axis librar"
+                +(needed==1?"y is":"ies are")
+                +" missing</i>");
+    }
+    //now look at wanted stuff
+
+    out.write("</b></p>");
+%>
+<p>
+<B><I>Note:</I></B> Even if everything this page probes for is present, there 
is no guarantee<br/>your
+web service will work, because there are many configuration options that 
<br/>we do
+not check for. These tests are <i>necessary</i> but not <i>sufficient</i>
+<%if (!display_type.equals("min")) {%>
+
+<h2>Examining echo service</h2>
+    <%
+        boolean serviceStatus = inVokeTheService();
+        if(serviceStatus){
+    %>
+    <p>
+    <font color="blue" >
+    Found the Axis2 default Version service and Axis2 is working properly.Now 
you can drop any web service in
+    to axis2/WEB-INF/service and check if it is working.
+
+    Following output was produced while invoking the version service
+    <br>
+       <%= value%> </font>
+       </p>
+   <%
+        }   else {
+   %>
+   <p>
+   <font color="brown" >
+   You can test the deployement functionality by uploading the echo service 
jar, which can be found in the
+   samples directory of the axis distribution.
+   <br>
+     </font>
+     </p>
+    <%
+        }
+    %>
+    <h2>Examining Application Server</h2>
+    <table>
+    <tr><td>Servlet version</td><td><%=getServletVersion()%></td></tr>
+    
<tr><td>Platform</td><td><%=getServletConfig().getServletContext().getServerInfo()%></td></tr>
+    </table>
+<%
+    out.write("<h2>Examining System Properties</h2>");
+    /**
+     * Dump the system properties
+     */
+    java.util.Enumeration e=null;
+    try {
+        e= System.getProperties().propertyNames();
+    } catch (SecurityException se) {
+    }
+    if(e!=null) {
+        out.write("<pre>");
+        for (;e.hasMoreElements();) {
+            String key = (String) e.nextElement();
+            out.write(key + " = " + System.getProperty(key)+"\n");
+        }
+        out.write("</pre><p>");
+    } else {
+        out.write("System properties are not accessible<p>");
+    }
+}
+%>
+
+

Property changes on: modules/core/webapp/happy_axis.jsp
___________________________________________________________________
Name: svn:executable
   + *

Index: modules/core/webapp/engagingglobally.jsp
===================================================================
--- modules/core/webapp/engagingglobally.jsp    (revision 292387)
+++ modules/core/webapp/engagingglobally.jsp    (working copy)
@@ -33,19 +33,13 @@
 <%
     String status = 
(String)request.getSession().getAttribute(Constants.ENGAGE_STATUS);
 %>
-<h1>Engage Module Gloabally</h1>
+<h1>Engage Module Globally</h1>
+<p>To engage a module on all services across the system, select a module from 
the combo box below and click on the "Engage" button. Any module that needs to 
place handlers into the pre-dispatch phase needs to be engaged globally.</p>
 <form method="get" name="engaginModule" action="engagingglobally">
 <table border="0" width="100%" cellspacing="1" cellpadding="1">
 <tr>
-<td>
-&nbsp;
-&nbsp;
-</td>
-</tr>
-<tr>
-<td>Select a Module :</td>
-</tr><tr>
-<td>
+<td width="15%">Select a Module :</td>
+<td width="75%" align="left">
 <select name="modules">
             <%
                 HashMap moduels = 
(HashMap)request.getSession().getAttribute(Constants.MODULE_MAP);
@@ -59,42 +53,19 @@
              %>
              </td>
              </tr>
-             <tr>
+             <tr><td>&nbsp;</td>
              <td>
-             &nbsp;
-             &nbsp;
-             </td>
-             </tr>
-             <tr>
-             <td>
              <input name="submit" type="submit" value=" Engage " >
              </td>
              </tr>
-
-               <tr>
-             <td>
-             &nbsp;
-             &nbsp;
-             </td>
-             </tr>
-               <tr>
-             <td>
-             &nbsp;
-             &nbsp;
-             </td>
-             </tr>
-             <td>
-              <textarea cols="50"  <%
-              if(status == null){
+             </table>
+             </form>
+              <%
+              if(status != null){
                   %>
-                  style="display:none"
+                  <p><font color="blue"><%=status%></font></p>
                   <%
               } %>
-              ><%=status%></textarea>
-              </td>
-             </tr>
-             </table>
-             </form>
 <jsp:include page="include/adminfooter.jsp"></jsp:include>
 
 
Index: modules/core/webapp/ViewGlobalHandlers.jsp
===================================================================
--- modules/core/webapp/ViewGlobalHandlers.jsp  (revision 292387)
+++ modules/core/webapp/ViewGlobalHandlers.jsp  (working copy)
@@ -38,7 +38,7 @@
                  ArrayList handlers ;
                  ArrayList phases = 
axisConfig.getInPhasesUptoAndIncludingPostDispatch();
                  %>
-                 <h3> In Flow upto and including dispatcher </h3>
+                 <h3> In Flow up to and including dispatcher </h3>
                  <ul>
                  <%
                  for (int i = 0; i < phases.size(); i++) {
Index: modules/core/webapp/RemoveService.jsp
===================================================================
--- modules/core/webapp/RemoveService.jsp       (revision 292387)
+++ modules/core/webapp/RemoveService.jsp       (working copy)
@@ -5,27 +5,19 @@
                  java.util.Iterator"%>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <jsp:include page="include/adminheader.jsp"></jsp:include>
+<h1>Turn off service</h1>
 <form method="get" name="serviceRemove" action="removeService">
   <table width="100%"  border="0">
 <tr>
-    <td>&nbsp;</td>
-    <td>&nbsp;</td>
-  </tr>
-<tr>
   <td colspan="2" >
-    <h1>Turn off service</h1> <p>The service will be removed the from the 
running system, but if the system restarts then the service will be available 
again</p>
+     <p>The service will be removed the from the running system, but if the 
system restarts then the service will be available again</p>
 <%--    <b>Remove Service :</b> The selected service will be removed from the 
file system and if the--%>
 <%--    &nbsp; system restart it wont be there next time--%>
   </td>
   </tr>
-   <tr>
-    <td>&nbsp;</td>
-    <td>&nbsp;
-    </td>
-  </tr>
   <tr>
-    <td width="40%"> Select Service : </td>
-    <td>
+    <td width="20%"> Select Service : </td>
+    <td width="80%">
        <select name="service" class="selectBoxes" >
 
                            <%
@@ -40,28 +32,11 @@
                   </td>
   </tr>
   <tr>
-    <td>&nbsp;</td>
-    <td>&nbsp;</td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>&nbsp;</td>
-  </tr>
-  <tr>
-    <td width="40%">Turn Off Service </td>
-    <td width="60%"><input type="checkbox" name="turnoff">
+    <td width="20%">Turn Off Service </td>
+    <td width="80%"><input type="checkbox" name="turnoff">
     </td>
   </tr>
-<%--  <tr>--%>
-<%--    <td>Remove Service Permanently </td>--%>
-<%--    <td><input type="checkbox" name="remove">--%>
-<%--    </td>--%>
-<%--  </tr>--%>
   <tr>
-    <td>&nbsp;</td>
-    <td>&nbsp;</td>
-  </tr>
-  <tr>
   <td>&nbsp;</td>
   <td>
     <input name="submit" type="submit" value=" Save " >
@@ -69,11 +44,6 @@
   </td>
   </tr>
 
-  <tr>
-    <td>&nbsp;</td>
-    <td>&nbsp;</td>
-  </tr>
-
 </table>
 </form>
 <jsp:include page="include/adminfooter.jsp"></jsp:include>
Index: modules/core/webapp/viewphases.jsp
===================================================================
--- modules/core/webapp/viewphases.jsp  (revision 292387)
+++ modules/core/webapp/viewphases.jsp  (working copy)
@@ -33,7 +33,7 @@
          ArrayList phases = 
(ArrayList)request.getSession().getAttribute(Constants.PHASE_LIST);
          ArrayList tempList;
      %><h2><font color="blue">System pre-defined phases</font></h2>
-     <b>InFlow Upto Dispatcher</b>
+     <b>InFlow Up to Dispatcher</b>
      <blockquote>
          <%
              tempList = (ArrayList)phases.get(0);

Reply via email to