Why can't GEP use JMX to get this information? Why expose this type of
information using a Servlet and return serialized data? I would be ok
with this if the servlet returned XML or JSON formatted data and work
in RESTful way or something (so that we could write a nice AJAX based
console) but otherwise I don't see a point to it (unless I missed
something).

Jarek

On Wed, Jul 9, 2008 at 11:03 AM,  <[EMAIL PROTECTED]> wrote:
> Author: shivahr
> Date: Wed Jul  9 08:03:08 2008
> New Revision: 675220
>
> URL: http://svn.apache.org/viewvc?rev=675220&view=rev
> Log:
> GERONIMO-4189 Enable Geronimo Eclipse Plug-in (GEP) to get dynamic 
> information from server
>
> Added:
>    
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java
>    (with props)
> Modified:
>    
> geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/util/PortletManager.java
>    
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/JSR77_Util.java
>    
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/webapp/WEB-INF/web.xml
>
> Modified: 
> geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/util/PortletManager.java
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/util/PortletManager.java?rev=675220&r1=675219&r2=675220&view=diff
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/util/PortletManager.java
>  (original)
> +++ 
> geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/util/PortletManager.java
>  Wed Jul  9 08:03:08 2008
> @@ -40,7 +40,9 @@
>  import org.apache.geronimo.kernel.proxy.GeronimoManagedBean;
>  import org.apache.geronimo.kernel.repository.Artifact;
>  import org.apache.geronimo.kernel.repository.Repository;
> +import org.apache.geronimo.management.EJBModule;
>  import org.apache.geronimo.management.J2EEDeployedObject;
> +import org.apache.geronimo.management.J2EEResource;
>  import org.apache.geronimo.management.geronimo.J2EEDomain;
>  import org.apache.geronimo.management.geronimo.J2EEServer;
>  import org.apache.geronimo.management.geronimo.JCAAdminObject;
> @@ -121,7 +123,15 @@
>             request.getPortletSession().setAttribute(DOMAIN_KEY, domain, 
> PortletSession.APPLICATION_SCOPE);
>         }
>         return domain;
> +    }
>
> +    public static J2EEDomain getCurrentDomain(HttpSession session) {
> +        J2EEDomain domain = (J2EEDomain) session.getAttribute(DOMAIN_KEY);
> +        if (domain == null) {
> +            domain = getManagementHelper(session).getDomains()[0]; //todo: 
> some day, select a domain
> +            session.setAttribute(DOMAIN_KEY, domain);
> +        }
> +        return domain;
>     }
>
>     public static J2EEServer getCurrentServer(PortletRequest request) {
> @@ -135,6 +145,17 @@
>         return server;
>     }
>
> +    public static J2EEServer getCurrentServer(HttpSession session) {
> +        J2EEServer server = (J2EEServer) session.getAttribute(SERVER_KEY);
> +        if (server == null) {
> +            server = getCurrentDomain(session).getServerInstances()[0]; 
> //todo: some day, select a server from the domain
> +            session.setAttribute(SERVER_KEY, server);
> +        } else {
> +            // to do     handle "should not occur" error   - message?
> +        }
> +        return server;
> +    }
> +
>     public static JVM getCurrentJVM(PortletRequest request) {
>         JVM jvm = (JVM) request.getPortletSession(true).getAttribute(JVM_KEY, 
> PortletSession.APPLICATION_SCOPE);
>         if (jvm == null) {
> @@ -155,15 +176,43 @@
>         return helper.testLoginModule(getCurrentServer(request), module, 
> options, username, password);
>     }
>
> +    public static EJBModule[] getEJBModules(PortletRequest request) {
> +        ManagementHelper helper = getManagementHelper(request);
> +        return 
> helper.getEJBModules(PortletManager.getCurrentServer(request));
> +    }
> +
> +    public static EJBModule[] getEJBModules(HttpSession session) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return 
> helper.getEJBModules(PortletManager.getCurrentServer(session));
> +    }
> +
> +    public static J2EEResource[] getJ2EEResources(PortletRequest request) {
> +        ManagementHelper helper = getManagementHelper(request);
> +        return helper.getResources(PortletManager.getCurrentServer(request));
> +    }
> +
> +    public static J2EEResource[] getJ2EEResources(HttpSession session) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getResources(PortletManager.getCurrentServer(session));
> +    }
> +
>     public static ResourceAdapterModule[] getOutboundRAModules(PortletRequest 
> request, String iface) {
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getOutboundRAModules(getCurrentServer(request), iface);
>     }
> +    public static ResourceAdapterModule[] getOutboundRAModules(HttpSession 
> session, String iface) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getOutboundRAModules(getCurrentServer(session), iface);
> +    }
>
>     public static ResourceAdapterModule[] getOutboundRAModules(PortletRequest 
> request, String[] iface) {
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getOutboundRAModules(getCurrentServer(request), iface);
>     }
> +    public static ResourceAdapterModule[] getOutboundRAModules(HttpSession 
> session, String[] iface) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getOutboundRAModules(getCurrentServer(session), iface);
> +    }
>
>     public static ResourceAdapterModule[] 
> getAdminObjectModules(PortletRequest request, String[] ifaces) {
>         ManagementHelper helper = getManagementHelper(request);
> @@ -194,17 +243,29 @@
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getOutboundFactories(module, iface);
>     }
> +    public static JCAManagedConnectionFactory[] 
> getOutboundFactoriesForRA(HttpSession session, ResourceAdapterModule module, 
> String iface) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getOutboundFactories(module, iface);
> +    }
>
>     public static JCAManagedConnectionFactory[] 
> getOutboundFactoriesForRA(PortletRequest request, ResourceAdapterModule 
> module, String[] iface) {
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getOutboundFactories(module, iface);
>     }
> +    public static JCAManagedConnectionFactory[] 
> getOutboundFactoriesForRA(HttpSession session, ResourceAdapterModule module, 
> String[] iface) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getOutboundFactories(module, iface);
> +    }
>
>     //todo: Create an interface for admin objects
>     public static JCAAdminObject[] getAdminObjectsForRA(PortletRequest 
> request, ResourceAdapterModule module, String[] ifaces) {
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getAdminObjects(module, ifaces);
>     }
> +    public static JCAAdminObject[] getAdminObjectsForRA(HttpSession session, 
> ResourceAdapterModule module, String[] ifaces) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getAdminObjects(module, ifaces);
> +    }
>
>     public static WebManager[] getWebManagers(PortletRequest request) {
>         return getCurrentServer(request).getWebManagers();
> @@ -336,11 +397,19 @@
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getConfigurationNameFor(objectName);
>     }
> +    public static Artifact getConfigurationFor(HttpSession session, 
> AbstractName objectName) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getConfigurationNameFor(objectName);
> +    }
>
>     public static AbstractName getNameFor(PortletRequest request, Object 
> component) {
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getNameFor(component);
>     }
> +    public static AbstractName getNameFor(HttpSession session, Object 
> component) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getNameFor(component);
> +    }
>
>     public static File getRepositoryEntry(PortletRequest request, String 
> repositoryURI) {
>         J2EEServer server = getCurrentServer(request);
> @@ -377,6 +446,10 @@
>         ManagementHelper helper = getManagementHelper(request);
>         return helper.getGBeansImplementing(iface);
>     }
> +    public static Object[] getGBeansImplementing(HttpSession session, Class 
> iface) {
> +        ManagementHelper helper = getManagementHelper(session);
> +        return helper.getGBeansImplementing(iface);
> +    }
>
>     /**
>      * This methods adds a GBean to an existing configuration.
>
> Modified: 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/JSR77_Util.java
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/JSR77_Util.java?rev=675220&r1=675219&r2=675220&view=diff
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/JSR77_Util.java
>  (original)
> +++ 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/JSR77_Util.java
>  Wed Jul  9 08:03:08 2008
> @@ -23,6 +23,7 @@
>  import javax.management.MalformedObjectNameException;
>  import javax.management.ObjectName;
>  import javax.portlet.PortletRequest;
> +import javax.servlet.http.HttpSession;
>
>  import org.apache.geronimo.console.util.PortletManager;
>  import org.apache.geronimo.gbean.AbstractName;
> @@ -31,6 +32,7 @@
>  import org.apache.geronimo.kernel.repository.ListableRepository;
>  import org.apache.geronimo.management.EJBModule;
>  import org.apache.geronimo.management.J2EEResource;
> +import org.apache.geronimo.management.geronimo.J2EEServer;
>  import org.apache.geronimo.management.geronimo.JCAAdminObject;
>  import org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory;
>  import org.apache.geronimo.management.geronimo.ResourceAdapterModule;
> @@ -71,9 +73,13 @@
>     }
>
>     protected static List<ReferredData> getDeployedEJBs(PortletRequest 
> request) {
> +        return getDeployedEJBs(PortletManager.getEJBModules(request));
> +    }
> +    protected static List<ReferredData> getDeployedEJBs(HttpSession session) 
> {
> +        return getDeployedEJBs(PortletManager.getEJBModules(session));
> +    }
> +    private static List<ReferredData> getDeployedEJBs(EJBModule[] 
> ejbModules) {
>         List<ReferredData> ejbList = new ArrayList<ReferredData>();
> -        EJBModule[] ejbModules = 
> PortletManager.getManagementHelper(request).getEJBModules(
> -                PortletManager.getCurrentServer(request));
>         for (int i = 0; ejbModules != null && i < ejbModules.length; i++) {
>             String[] ejbObjectNames = ejbModules[i].getEjbs();
>             for (int j = 0; j < ejbObjectNames.length; j++) {
> @@ -116,12 +122,44 @@
>             for (int i = 0; i < modules.length; i++) {
>                 ResourceAdapterModule module = modules[i];
>                 String configurationName = 
> PortletManager.getConfigurationFor(request,
> -                        PortletManager.getNameFor(request, 
> module)).toString()
> -                        + "/";
> +                        PortletManager.getNameFor(request, 
> module)).toString() + "/";
>
>                 JCAManagedConnectionFactory[] factories = 
> PortletManager.getOutboundFactoriesForRA(request,
> -                        module, new String[] { 
> "javax.jms.ConnectionFactory", "javax.jms.QueueConnectionFactory",
> -                                "javax.jms.TopicConnectionFactory", });
> +                        module, new String[] { "javax.jms.ConnectionFactory",
> +                        "javax.jms.QueueConnectionFactory", 
> "javax.jms.TopicConnectionFactory", });
> +                for (int j = 0; j < factories.length; j++) {
> +                    JCAManagedConnectionFactory factory = factories[j];
> +                    String factoryName = 
> ObjectName.getInstance(factory.getObjectName()).getKeyProperty(
> +                            NameFactory.J2EE_NAME);
> +                    ReferredData data = new ReferredData(factoryName + " (" 
> + configurationName + ")",
> +                            configurationName + "/" + factoryName);
> +                    connectionFactories.add(data);
> +                }
> +            }
> +        } catch (MalformedObjectNameException e) {
> +            // log.error(e.getMessage(), e);
> +        }
> +        return connectionFactories;
> +    }
> +    protected static List<ReferredData> 
> getJMSConnectionFactories(HttpSession session) {
> +        // TODO this is a duplicate of the code from
> +        // 
> org.apache.geronimo.console.jmsmanager.wizard.ListScreenHandler.populateExistingList()
> +        // TODO need to eliminate this duplicate code probably by putting it 
> in a common place
> +        List<ReferredData> connectionFactories = new 
> ArrayList<ReferredData>();
> +
> +        // Get the list of connection factories
> +        ResourceAdapterModule[] modules = 
> PortletManager.getOutboundRAModules(session, new String[] {
> +                "javax.jms.ConnectionFactory", 
> "javax.jms.QueueConnectionFactory",
> +                "javax.jms.TopicConnectionFactory", });
> +        try {
> +            for (int i = 0; i < modules.length; i++) {
> +                ResourceAdapterModule module = modules[i];
> +                String configurationName = 
> PortletManager.getConfigurationFor(session,
> +                        PortletManager.getNameFor(session, 
> module)).toString() + "/";
> +
> +                JCAManagedConnectionFactory[] factories = 
> PortletManager.getOutboundFactoriesForRA(session,
> +                        module, new String[] { "javax.jms.ConnectionFactory",
> +                        "javax.jms.QueueConnectionFactory", 
> "javax.jms.TopicConnectionFactory", });
>                 for (int j = 0; j < factories.length; j++) {
>                     JCAManagedConnectionFactory factory = factories[j];
>                     String factoryName = 
> ObjectName.getInstance(factory.getObjectName()).getKeyProperty(
> @@ -170,6 +208,38 @@
>         }
>         return jmsDestinations;
>     }
> +    protected static List<ReferredData> getJMSDestinations(HttpSession 
> session) {
> +        // TODO this is a duplicate of the code from
> +        // 
> org.apache.geronimo.console.jmsmanager.wizard.ListScreenHandler.populateExistingList()
> +        // TODO need to eliminate this duplicate code probably by putting it 
> in a common place
> +        List<ReferredData> jmsDestinations = new ArrayList<ReferredData>();
> +
> +        // Get the list of connection factories
> +        ResourceAdapterModule[] modules = 
> PortletManager.getOutboundRAModules(session, new String[] {
> +                "javax.jms.ConnectionFactory", 
> "javax.jms.QueueConnectionFactory",
> +                "javax.jms.TopicConnectionFactory", });
> +        try {
> +            for (int i = 0; i < modules.length; i++) {
> +                ResourceAdapterModule module = modules[i];
> +                String configurationName = 
> PortletManager.getConfigurationFor(session,
> +                        PortletManager.getNameFor(session, 
> module)).toString() + "/";
> +
> +                JCAAdminObject[] admins = 
> PortletManager.getAdminObjectsForRA(session, module, new String[] {
> +                        "javax.jms.Queue", "javax.jms.Topic" });
> +                for (int j = 0; j < admins.length; j++) {
> +                    JCAAdminObject admin = admins[j];
> +                    String destinationName = 
> ObjectName.getInstance(admin.getObjectName()).getKeyProperty(
> +                            NameFactory.J2EE_NAME);
> +                    ReferredData data = new ReferredData(destinationName + " 
> (" + configurationName + ")",
> +                            configurationName + "/" + destinationName);
> +                    jmsDestinations.add(data);
> +                }
> +            }
> +        } catch (MalformedObjectNameException e) {
> +            // log.error(e.getMessage(), e);
> +        }
> +        return jmsDestinations;
> +    }
>
>     protected static List<ReferredData> getJDBCConnectionPools(PortletRequest 
> request) {
>         // TODO this is a duplicate of the code from
> @@ -193,11 +263,37 @@
>         }
>         return list;
>     }
> +    protected static List<ReferredData> getJDBCConnectionPools(HttpSession 
> session) {
> +        // TODO this is a duplicate of the code from
> +        // 
> org.apache.geronimo.console.databasemanager.wizard.DatabasePoolPortlet.populatePoolList()
> +        // TODO need to eliminate this duplicate code probably by putting it 
> in a common place
> +        List<ReferredData> list = new ArrayList<ReferredData>();
> +        ResourceAdapterModule[] modules = 
> PortletManager.getOutboundRAModules(session, "javax.sql.DataSource");
> +        for (int i = 0; i < modules.length; i++) {
> +            ResourceAdapterModule module = modules[i];
> +            JCAManagedConnectionFactory[] databases = 
> PortletManager.getOutboundFactoriesForRA(session, module,
> +                    "javax.sql.DataSource");
> +            for (int j = 0; j < databases.length; j++) {
> +                JCAManagedConnectionFactory db = databases[j];
> +                AbstractName dbName = 
> PortletManager.getManagementHelper(session).getNameFor(db);
> +                String poolName = (String) 
> dbName.getName().get(NameFactory.J2EE_NAME);
> +                String configurationName = dbName.getArtifact().toString() + 
> "/";
> +                ReferredData data = new ReferredData(poolName + " (" + 
> configurationName + ")",
> +                        configurationName + "/" + poolName);
> +                list.add(data);
> +            }
> +        }
> +        return list;
> +    }
>
>     protected static List<ReferredData> getJavaMailSessions(PortletRequest 
> request) {
> +        return getJavaMailSessions(PortletManager.getJ2EEResources(request));
> +    }
> +    protected static List<ReferredData> getJavaMailSessions(HttpSession 
> session) {
> +        return getJavaMailSessions(PortletManager.getJ2EEResources(session));
> +    }
> +    private static List<ReferredData> getJavaMailSessions(J2EEResource[] 
> j2eeResources) {
>         List<ReferredData> mailSessionList = new ArrayList<ReferredData>();
> -        J2EEResource[] j2eeResources = 
> PortletManager.getManagementHelper(request).getResources(
> -                PortletManager.getCurrentServer(request));
>         for (int i = 0; i < j2eeResources.length; i++) {
>             try {
>                 ObjectName objectName = 
> ObjectName.getInstance(j2eeResources[i].getObjectName());
> @@ -233,13 +329,33 @@
>         }
>         return credentialStoreList;
>     }
> +    protected static List<ReferredData> 
> getDeployedCredentialStores(HttpSession session) {
> +        List<ReferredData> credentialStoreList = new 
> ArrayList<ReferredData>();
> +        Object[] objects = PortletManager.getGBeansImplementing(session,
> +                
> org.apache.geronimo.security.credentialstore.CredentialStore.class);
> +        for (int i = 0; i < objects.length; i++) {
> +            ObjectName objectName = PortletManager.getNameFor(session, 
> objects[i]).getObjectName();
> +            String credentialStoreName = 
> objectName.getKeyProperty(NameFactory.J2EE_NAME);
> +            String configurationName = 
> objectName.getKeyProperty(NameFactory.SERVICE_MODULE) + "/";
> +            ReferredData data = new ReferredData(credentialStoreName + " (" 
> + configurationName + ")",
> +                    configurationName + "/" + credentialStoreName);
> +            credentialStoreList.add(data);
> +        }
> +        return credentialStoreList;
> +    }
>
>     protected static List<String> getCommonLibs(PortletRequest request) {
> +        return getCommonLibs(PortletManager.getCurrentServer(request));
> +    }
> +    protected static List<String> getCommonLibs(HttpSession session) {
> +        return getCommonLibs(PortletManager.getCurrentServer(session));
> +    }
> +    private static List<String> getCommonLibs(J2EEServer server) {
>         // TODO this is a duplicate of the code from
>         // 
> org.apache.geronimo.console.repository.RepositoryViewPortlet.doView()
>         // TODO need to eliminate this duplicate code probably by putting it 
> in a common place
>         List<String> list = new ArrayList<String>();
> -        ListableRepository[] repos = 
> PortletManager.getCurrentServer(request).getRepositories();
> +        ListableRepository[] repos = server.getRepositories();
>         for (int i = 0; i < repos.length; i++) {
>             ListableRepository repo = repos[i];
>             for (Iterator<Artifact> iterator = repo.list().iterator(); 
> iterator.hasNext();) {
> @@ -250,7 +366,10 @@
>         return list;
>     }
>
> -    public static SecurityRealm[] getDeployedSecurityRealms(PortletRequest 
> request) {
> +    protected static SecurityRealm[] getDeployedSecurityRealms(HttpSession 
> session) {
> +        return PortletManager.getCurrentServer(session).getSecurityRealms();
> +    }
> +    protected static SecurityRealm[] 
> getDeployedSecurityRealms(PortletRequest request) {
>         return PortletManager.getCurrentServer(request).getSecurityRealms();
>     }
>  }
>
> Added: 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java?rev=675220&view=auto
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java
>  (added)
> +++ 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java
>  Wed Jul  9 08:03:08 2008
> @@ -0,0 +1,128 @@
> +/**
> + *  Licensed to the Apache Software Foundation (ASF) under one or more
> + *  contributor license agreements.  See the NOTICE file distributed with
> + *  this work for additional information regarding copyright ownership.
> + *  The ASF licenses this file to You 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.configcreator;
> +
> +import java.io.IOException;
> +import java.io.ObjectOutputStream;
> +import java.util.List;
> +
> +import javax.servlet.ServletException;
> +import javax.servlet.http.HttpServletRequest;
> +import javax.servlet.http.HttpServletResponse;
> +import javax.servlet.http.HttpSession;
> +
> +import org.apache.geronimo.console.configcreator.JSR77_Util.ReferredData;
> +import org.apache.geronimo.management.geronimo.SecurityRealm;
> +
> +/**
> + * @version $Rev$ $Date$
> + */
> +public class ServerInfoServlet extends javax.servlet.http.HttpServlet 
> implements javax.servlet.Servlet {
> +    /* (non-Java-doc)
> +    * @see javax.servlet.http.HttpServlet#HttpServlet()
> +    */
> +    public ServerInfoServlet() {
> +        super();
> +    }
> +
> +    public static String REQUESTED_INFO = "requestedInfo";
> +    public static String DEPLOYED_EJBS = "deployedEJBs";
> +    public static String JMS_CONNECTION_FACTORIES = "jmsConnectionFactories";
> +    public static String JMS_DESTINATIONS = "jmsDestinations";
> +    public static String JDBC_CONNECTION_POOLS = "jdbcConnectionPools";
> +    public static String JAVA_MAIL_SESSIONS = "javaMailSessions";
> +    public static String DEPLOLYED_CREDENTIAL_STORES = 
> "deployedCredentialStores";
> +    public static String COMMON_LIBS = "commonLibs";
> +    public static String DEPLOYED_SECURITY_REALMS = "deployedSecurityRealms";
> +
> +    /* (non-Java-doc)
> +     * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, 
> HttpServletResponse response)
> +     */
> +    protected void doGet(HttpServletRequest request, HttpServletResponse 
> response) throws ServletException, IOException {
> +        response.setContentType("bin/obj");
> +        ObjectOutputStream oout = new 
> ObjectOutputStream(response.getOutputStream());
> +        String requestedInfo = request.getParameter(REQUESTED_INFO);
> +        HttpSession session = request.getSession();
> +        if (DEPLOYED_EJBS.equalsIgnoreCase(requestedInfo)) {
> +            writeDeployedEJBs(session, oout);
> +        } else if (JMS_CONNECTION_FACTORIES.equalsIgnoreCase(requestedInfo)) 
> {
> +            writeJMSConnectionFactories(session, oout);
> +        } else if (JMS_DESTINATIONS.equalsIgnoreCase(requestedInfo)) {
> +            writeJMSDestinations(session, oout);
> +        } else if (JDBC_CONNECTION_POOLS.equalsIgnoreCase(requestedInfo)) {
> +            writeJDBCConnectionPools(session, oout);
> +        } else if (JAVA_MAIL_SESSIONS.equalsIgnoreCase(requestedInfo)) {
> +            writeJavaMailSessions(session, oout);
> +        } else if 
> (DEPLOLYED_CREDENTIAL_STORES.equalsIgnoreCase(requestedInfo)) {
> +            writeDeployedCredentialStores(session, oout);
> +        } else if (COMMON_LIBS.equalsIgnoreCase(requestedInfo)) {
> +            writeCommonLibs(session, oout);
> +        } else if (DEPLOYED_SECURITY_REALMS.equalsIgnoreCase(requestedInfo)) 
> {
> +            writeDeployedSecurityRealms(session, oout);
> +        }
> +    }
> +
> +    protected void writeDeployedEJBs(HttpSession session, ObjectOutputStream 
> oout) throws IOException {
> +        writeList(JSR77_Util.getDeployedEJBs(session), oout);
> +    }
> +
> +    protected void writeJMSConnectionFactories(HttpSession session, 
> ObjectOutputStream oout) throws IOException {
> +        writeList(JSR77_Util.getJMSConnectionFactories(session), oout);
> +    }
> +
> +    protected void writeJMSDestinations(HttpSession session, 
> ObjectOutputStream oout) throws IOException {
> +        writeList(JSR77_Util.getJMSDestinations(session), oout);
> +    }
> +
> +    protected void writeJDBCConnectionPools(HttpSession session, 
> ObjectOutputStream oout) throws IOException {
> +        writeList(JSR77_Util.getJDBCConnectionPools(session), oout);
> +    }
> +
> +    protected void writeJavaMailSessions(HttpSession session, 
> ObjectOutputStream oout) throws IOException {
> +        writeList(JSR77_Util.getJavaMailSessions(session), oout);
> +    }
> +
> +    protected void writeDeployedCredentialStores(HttpSession session, 
> ObjectOutputStream oout) throws IOException {
> +        writeList(JSR77_Util.getDeployedCredentialStores(session), oout);
> +    }
> +
> +    private void writeList(List<ReferredData> list, ObjectOutputStream oout) 
> throws IOException {
> +        for (int i = 0; i < list.size(); ++i) {
> +            ReferredData refData = list.get(i);
> +            oout.writeObject(refData.getPatternName());
> +            oout.flush();
> +        }
> +    }
> +
> +    protected void writeCommonLibs(HttpSession session, ObjectOutputStream 
> oout) throws IOException {
> +        List<String> list = JSR77_Util.getCommonLibs(session);
> +        for (int i = 0; i < list.size(); ++i) {
> +            String libName = list.get(i);
> +            oout.writeObject(libName);
> +            oout.flush();
> +        }
> +    }
> +
> +    protected void writeDeployedSecurityRealms(HttpSession session, 
> ObjectOutputStream oout) throws IOException {
> +        SecurityRealm[] realms = 
> JSR77_Util.getDeployedSecurityRealms(session);
> +        for (int i = 0; i < realms.length; ++i) {
> +            String realmName = realms[i].getRealmName();
> +            oout.writeObject(realmName);
> +            oout.flush();
> +        }
> +    }
> +}
> \ No newline at end of file
>
> Propchange: 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Propchange: 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java
> ------------------------------------------------------------------------------
>    svn:keywords = Date Revision
>
> Propchange: 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/ServerInfoServlet.java
> ------------------------------------------------------------------------------
>    svn:mime-type = text/plain
>
> Modified: 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/webapp/WEB-INF/web.xml
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/webapp/WEB-INF/web.xml?rev=675220&r1=675219&r2=675220&view=diff
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/webapp/WEB-INF/web.xml
>  (original)
> +++ 
> geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/webapp/WEB-INF/web.xml
>  Wed Jul  9 08:03:08 2008
> @@ -51,6 +51,17 @@
>       </init-param>
>     </servlet>
>
> +    <servlet>
> +        <display-name>ServerInfoServlet</display-name>
> +        <servlet-name>ServerInfoServlet</servlet-name>
> +        
> <servlet-class>org.apache.geronimo.console.configcreator.ServerInfoServlet</servlet-class>
> +    </servlet>
> +
> +    <servlet-mapping>
> +        <servlet-name>ServerInfoServlet</servlet-name>
> +        <url-pattern>/ServerInfoServlet</url-pattern>
> +    </servlet-mapping>
> +
>     <servlet-mapping>
>         <servlet-name>PlanCreator</servlet-name>
>         <url-pattern>/PlutoInvoker/PlanCreator</url-pattern>
>
>
>

Reply via email to