/** * * Copyright 2003-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. */ package org.apache.geronimo.console.util; import java.net.URI; import java.util.Map; import javax.security.auth.Subject; import javax.security.auth.login.LoginException; import javax.security.auth.spi.LoginModule; import org.apache.geronimo.kernel.repository.Repository; import org.apache.geronimo.management.AppClientModule; import org.apache.geronimo.management.EJB; import org.apache.geronimo.management.EJBModule; import org.apache.geronimo.management.J2EEDeployedObject; import org.apache.geronimo.management.J2EEDomain; import org.apache.geronimo.management.J2EEModule; import org.apache.geronimo.management.J2EEResource; import org.apache.geronimo.management.JCAConnectionFactory; import org.apache.geronimo.management.JDBCDataSource; import org.apache.geronimo.management.JDBCDriver; import org.apache.geronimo.management.JDBCResource; import org.apache.geronimo.management.JMSResource; import org.apache.geronimo.management.ResourceAdapter; import org.apache.geronimo.management.Servlet; import org.apache.geronimo.management.WebModule; import org.apache.geronimo.management.geronimo.EJBConnector; import org.apache.geronimo.management.geronimo.EJBManager; import org.apache.geronimo.management.geronimo.J2EEApplication; 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.JCAResource; import org.apache.geronimo.management.geronimo.JMSBroker; import org.apache.geronimo.management.geronimo.JMSConnector; import org.apache.geronimo.management.geronimo.JMSManager; import org.apache.geronimo.management.geronimo.JVM; import org.apache.geronimo.management.geronimo.ResourceAdapterModule; import org.apache.geronimo.management.geronimo.WebAccessLog; import org.apache.geronimo.management.geronimo.WebConnector; import org.apache.geronimo.management.geronimo.WebContainer; import org.apache.geronimo.management.geronimo.WebManager; import org.apache.geronimo.pool.GeronimoExecutor; import org.apache.geronimo.security.jaas.server.JaasLoginServiceMBean; import org.apache.geronimo.security.realm.SecurityRealm; import org.apache.geronimo.system.logging.SystemLog; import org.apache.geronimo.system.serverinfo.ServerInfo; /** * A helper interface to navigate between management objects. This is not * complete; it will be expanded as necessary. * * @version $Rev$ $Date$ */ public interface ManagementHelper { // root properties J2EEDomain[] getDomains(); // domain properties J2EEServer[] getServers(J2EEDomain domain); // todo: security realm // server properties J2EEDeployedObject[] getDeployedObjects(J2EEServer server); J2EEApplication[] getApplications(J2EEServer server); AppClientModule[] getAppClients(J2EEServer server); WebModule[] getWebModules(J2EEServer server); EJBModule[] getEJBModules(J2EEServer server); ResourceAdapterModule[] getRAModules(J2EEServer server); ResourceAdapterModule[] getOutboundRAModules(J2EEServer server, String connectionFactoryInterface); ResourceAdapterModule[] getOutboundRAModules(J2EEServer server, String[] connectionFactoryInterfaces); ResourceAdapterModule[] getAdminObjectModules(J2EEServer server, String[] adminObjectInterfaces); JCAManagedConnectionFactory[] getOutboundFactories(J2EEServer server, String connectionFactoryInterface); J2EEResource[] getResources(J2EEServer server); JCAResource[] getJCAResources(J2EEServer server); JDBCResource[] getJDBCResources(J2EEServer server); JMSResource[] getJMSResources(J2EEServer server); JVM[] getJavaVMs(J2EEServer server); Repository[] getRepositories(J2EEServer server); SecurityRealm[] getSecurityRealms(J2EEServer server); ServerInfo getServerInfo(J2EEServer server); JaasLoginServiceMBean getLoginService(J2EEServer server); WebManager[] getWebManagers(J2EEServer server); WebAccessLog getWebAccessLog(WebManager manager, WebContainer container); WebAccessLog getWebAccessLog(WebManager manager, String containerObjectName); WebContainer[] getWebContainers(WebManager manager); WebConnector[] getWebConnectorsForContainer(WebManager manager, WebContainer container, String protocol); WebConnector[] getWebConnectorsForContainer(WebManager manager, WebContainer container); WebConnector[] getWebConnectorsForContainer(WebManager manager, String containerObjectName, String protocol); WebConnector[] getWebConnectorsForContainer(WebManager manager, String containerObjectName); WebConnector[] getWebConnectors(WebManager manager, String protocol); WebConnector[] getWebConnectors(WebManager manager); EJBManager[] getEJBManagers(J2EEServer server); //todo EJBContainer[] getEJBContainers(EJBManager manager); //todo EJBConnector[] getEJBConnectors(EJBManager manager, EJBContainer container, String protocol); //todo EJBConnector[] getEJBConnectors(EJBManager manager, EJBContainer container); EJBConnector[] getEJBConnectors(EJBManager container, String protocol); EJBConnector[] getEJBConnectors(EJBManager container); JMSManager[] getJMSManagers(J2EEServer server); JMSBroker[] getJMSBrokers(JMSManager manager); JMSConnector[] getJMSConnectors(JMSManager manager, String protocol); JMSConnector[] getJMSConnectors(JMSManager manager); JMSConnector[] getJMSConnectorsForContainer(JMSManager manager, JMSBroker broker, String protocol); JMSConnector[] getJMSConnectorsForContainer(JMSManager manager, JMSBroker broker); JMSConnector[] getJMSConnectorsForContainer(JMSManager manager, String brokerObjectName, String protocol); JMSConnector[] getJMSConnectorsForContainer(JMSManager manager, String brokerObjectName); GeronimoExecutor[] getThreadPools(J2EEServer server); //todo: repository, embedded database // JVM properties SystemLog getSystemLog(JVM jvm); // application properties J2EEModule[] getModules(J2EEApplication application); AppClientModule[] getAppClients(J2EEApplication application); WebModule[] getWebModules(J2EEApplication application); EJBModule[] getEJBModules(J2EEApplication application); ResourceAdapterModule[] getRAModules(J2EEApplication application); J2EEResource[] getResources(J2EEApplication application); JCAResource[] getJCAResources(J2EEApplication application); JDBCResource[] getJDBCResources(J2EEApplication application); JMSResource[] getJMSResources(J2EEApplication application); // module properties EJB[] getEJBs(EJBModule module); Servlet[] getServlets(WebModule module); ResourceAdapter[] getResourceAdapters(ResourceAdapterModule module); JCAManagedConnectionFactory[] getOutboundFactories(ResourceAdapterModule module); JCAManagedConnectionFactory[] getOutboundFactories(ResourceAdapterModule module, String connectionFactoryInterface); JCAManagedConnectionFactory[] getOutboundFactories(ResourceAdapterModule module, String[] connectionFactoryInterfaces); //todo: create an interface for admin objects JCAAdminObject[] getAdminObjects(ResourceAdapterModule module, String[] adminObjectInterfaces); // resource adapter properties JCAResource[] getRAResources(ResourceAdapter adapter); // resource properties JDBCDataSource[] getDataSource(JDBCResource resource); JDBCDriver[] getDriver(JDBCDataSource dataSource); JCAConnectionFactory[] getConnectionFactories(JCAResource resource); JCAManagedConnectionFactory getManagedConnectionFactory(JCAConnectionFactory factory); // Generic utility methods Object getObject(String objectName); URI getConfigurationNameFor(String objectName); String getGBeanDescription(String objectName); // Misc void testLoginModule(J2EEServer server, LoginModule module, Map options); Subject testLoginModule(J2EEServer server, LoginModule module, Map options, String username, String password) throws LoginException; Object[] findByInterface(Class iface); }