Package org.apache.geronimo.console.configcreator

Source Code of org.apache.geronimo.console.configcreator.JSR77_Util$ReferredData

/**
*  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.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;

import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.portlet.PortletRequest;

import org.apache.geronimo.console.util.PortletManager;
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
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.JCAAdminObject;
import org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory;
import org.apache.geronimo.management.geronimo.ResourceAdapterModule;
import org.apache.geronimo.management.geronimo.SecurityRealm;

/**
* Util class for JSR-77 related functions
*
* @version $Rev: 593590 $ $Date: 2007-11-10 00:53:02 +0800 (Sat, 10 Nov 2007) $
*/
public class JSR77_Util {

    public static class ReferredData {
        private String displayName;

        private String patternName;

        public ReferredData(String displayName, String patternName) {
            this.displayName = displayName;
            this.patternName = patternName;
        }

        public String getDisplayName() {
            return displayName;
        }

        public void setDisplayName(String displayName) {
            this.displayName = displayName;
        }

        public String getPatternName() {
            return patternName;
        }

        public void setPatternName(String patternName) {
            this.patternName = patternName;
        }
    }

    protected static List getDeployedEJBs(PortletRequest request) {
        List ejbList = new ArrayList();
        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++) {
                try {
                    ObjectName objectName = ObjectName.getInstance(ejbObjectNames[j]);
                    String ejbName = objectName.getKeyProperty(NameFactory.J2EE_NAME);
                    String configurationName;
                    if ("null".equalsIgnoreCase(objectName.getKeyProperty(NameFactory.J2EE_APPLICATION))) {
                        configurationName = objectName.getKeyProperty(NameFactory.EJB_MODULE) + "/";
                    } else {
                        configurationName = objectName.getKeyProperty(NameFactory.J2EE_APPLICATION) + "/"
                                + objectName.getKeyProperty(NameFactory.EJB_MODULE);
                    }
                    ReferredData data = new ReferredData(ejbName + " (" + configurationName + ")",
                            configurationName + "/" + ejbName);
                    ejbList.add(data);
                } catch (MalformedObjectNameException e) {
                    // log.error(e.getMessage(), e);
                    e.printStackTrace();
                } catch (NullPointerException e) {
                    // log.error(e.getMessage(), e);
                    e.printStackTrace();
                }
            }
        }
        return ejbList;
    }

    protected static List getJMSConnectionFactories(PortletRequest request) {
        // 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 connectionFactories = new ArrayList();

        // Get the list of connection factories
        ResourceAdapterModule[] modules = PortletManager.getOutboundRAModules(request, 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(request,
                        PortletManager.getNameFor(request, module)).toString()
                        + "/";

                JCAManagedConnectionFactory[] factories = PortletManager.getOutboundFactoriesForRA(request,
                        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 getJMSDestinations(PortletRequest request) {
        // 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 jmsDestinations = new ArrayList();

        // Get the list of connection factories
        ResourceAdapterModule[] modules = PortletManager.getOutboundRAModules(request, 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(request,
                        PortletManager.getNameFor(request, module)).toString()
                        + "/";

                JCAAdminObject[] admins = PortletManager.getAdminObjectsForRA(request, 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 getJDBCConnectionPools(PortletRequest request) {
        // 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 list = new ArrayList();
        ResourceAdapterModule[] modules = PortletManager.getOutboundRAModules(request, "javax.sql.DataSource");
        for (int i = 0; i < modules.length; i++) {
            ResourceAdapterModule module = modules[i];
            JCAManagedConnectionFactory[] databases = PortletManager.getOutboundFactoriesForRA(request, module,
                    "javax.sql.DataSource");
            for (int j = 0; j < databases.length; j++) {
                JCAManagedConnectionFactory db = databases[j];
                AbstractName dbName = PortletManager.getManagementHelper(request).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 getJavaMailSessions(PortletRequest request) {
        List mailSessionList = new ArrayList();
        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());
                if (NameFactory.JAVA_MAIL_RESOURCE.equals(objectName.getKeyProperty(NameFactory.J2EE_TYPE))) {
                    String mailSesssionName = objectName.getKeyProperty(NameFactory.J2EE_NAME);
                    String configurationName = objectName.getKeyProperty(NameFactory.SERVICE_MODULE) + "/";
                    ReferredData data = new ReferredData(mailSesssionName + " (" + configurationName + ")",
                            configurationName + "/" + mailSesssionName);
                    mailSessionList.add(data);
                }
            } catch (MalformedObjectNameException e) {
                // log.error(e.getMessage(), e);
                e.printStackTrace();
            } catch (NullPointerException e) {
                // log.error(e.getMessage(), e);
                e.printStackTrace();
            }
        }
        return mailSessionList;
    }

    protected static List getDeployedCredentialStores(PortletRequest request) {
        List credentialStoreList = new ArrayList();
        Object[] objects = PortletManager.getGBeansImplementing(request,
                org.apache.geronimo.security.credentialstore.CredentialStore.class);
        for (int i = 0; i < objects.length; i++) {
            ObjectName objectName = PortletManager.getNameFor(request, 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 getCommonLibs(PortletRequest request) {
        // 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 list = new ArrayList();
        ListableRepository[] repos = PortletManager.getCurrentServer(request).getRepositories();
        for (int i = 0; i < repos.length; i++) {
            ListableRepository repo = repos[i];
            final SortedSet artifacts = repo.list();
            for (Iterator iterator = artifacts.iterator(); iterator.hasNext();) {
                String fileName = iterator.next().toString();
                list.add(fileName);
            }
        }
        return list;
    }

    public static SecurityRealm[] getDeployedSecurityRealms(PortletRequest request) {
        return PortletManager.getCurrentServer(request).getSecurityRealms();
    }
}
TOP

Related Classes of org.apache.geronimo.console.configcreator.JSR77_Util$ReferredData

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.