Thread: [Ejtools-cvs] CVS: applications/deployment/src/main/net/sourceforge/ejtools/deploy/factories Deploym
Brought to you by:
letiemble
From: Laurent E. <let...@us...> - 2002-04-30 21:23:04
|
Update of /cvsroot/ejtools/applications/deployment/src/main/net/sourceforge/ejtools/deploy/factories In directory usw-pr-cvs1:/tmp/cvs-serv11826/applications/deployment/src/main/net/sourceforge/ejtools/deploy/factories Added Files: DeploymentFactoryManagerProxy.java FactoryManagerService.java FactoryManagerServiceProvider.java Log Message: Initial Import --- NEW FILE: DeploymentFactoryManagerProxy.java --- package net.sourceforge.ejtools.deploy.factories; import java.awt.*; import javax.swing.*; import javax.swing.border.*; import java.beans.Customizer; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextChildComponentProxy; import java.beans.beancontext.BeanContextServiceRevokedListener; import java.beans.beancontext.BeanContextServiceProvider; import java.beans.beancontext.BeanContextServices; import java.beans.beancontext.BeanContextServicesSupport; import java.util.Iterator; import java.util.Vector; import java.net.URLClassLoader; import java.net.URL; import java.net.JarURLConnection; import java.util.jar.Attributes; import javax.enterprise.deploy.spi.factories.*; import javax.enterprise.deploy.spi.exceptions.*; import javax.enterprise.deploy.spi.*; import net.sourceforge.ejtools.awt.GenericCustomizer; /** * Description of the Class * * @author letiembl * @created 13 décembre 2001 */ public class DeploymentFactoryManagerProxy extends BeanContextServicesSupport implements DeploymentFactoryManager, BeanContextChildComponentProxy { protected transient Component c = null; protected DeploymentFactoryManager factoryManager=null; public DeploymentFactoryManagerProxy(DeploymentFactoryManager factoryManager) { this.factoryManager = factoryManager; } public Component getComponent() { if (c == null) { c = createPanel(); } return c; } public String toString() { return factoryManager.getClass().getName(); } public void registerDeploymentFactory(DeploymentFactory factory) { factoryManager.registerDeploymentFactory(factory); } public DeploymentFactory[] getDeploymentFactories() { return factoryManager.getDeploymentFactories(); } public DeploymentManager getDisconnectedDeploymentManager(String uri) throws DeploymentManagerCreationException { return factoryManager.getDisconnectedDeploymentManager(uri); } public DeploymentManager getDeploymentManager(String uri, String username, String password) throws DeploymentManagerCreationException { return factoryManager.getDeploymentManager(uri,username,password); } protected JPanel createPanel() { JPanel panel = null; JLabel jlabel = null; JList list = null; GridBagConstraints gridbagconstraints = new GridBagConstraints(); gridbagconstraints.insets = new Insets(3, 3, 3, 3); gridbagconstraints.anchor = GridBagConstraints.NORTH; panel= new JPanel(new GridBagLayout()); panel.setBorder(new TitledBorder(BorderFactory.createEtchedBorder(), "DeploymentFactoryManager")); jlabel = new JLabel("Class Name :", JLabel.RIGHT); jlabel.setToolTipText("Class Name of the DeploymentFactoryManager"); gridbagconstraints.weightx = 0.0D; gridbagconstraints.weighty = 0.0D; gridbagconstraints.gridwidth = GridBagConstraints.RELATIVE; gridbagconstraints.fill = GridBagConstraints.HORIZONTAL; panel.add(jlabel, gridbagconstraints); jlabel = new JLabel(factoryManager.getClass().getName()); gridbagconstraints.gridwidth = GridBagConstraints.REMAINDER; gridbagconstraints.weightx = 1.0D; panel.add(jlabel , gridbagconstraints); jlabel = new JLabel("Deployment Factories :", JLabel.RIGHT); jlabel.setToolTipText("Available Deployment Factories"); gridbagconstraints.weightx = 0.0D; gridbagconstraints.weighty = 1.0D; gridbagconstraints.gridwidth = GridBagConstraints.RELATIVE; gridbagconstraints.fill = GridBagConstraints.HORIZONTAL; panel.add(jlabel, gridbagconstraints); Vector factories = new Vector(); for(int i =0; i < getDeploymentFactories().length; i++) { DeploymentFactory df = getDeploymentFactories()[i]; factories.add(df.getDisplayname() + " " + df.getProductVersion()); } list = new JList(factories); // list.setEnabled(false); gridbagconstraints.gridwidth = GridBagConstraints.REMAINDER; gridbagconstraints.weightx = 1.0D; panel.add(list , gridbagconstraints); return panel; } } --- NEW FILE: FactoryManagerService.java --- package net.sourceforge.ejtools.deploy.factories; import java.util.Set; import java.util.Iterator; import javax.management.Attribute; import javax.management.MBeanInfo; import javax.management.ObjectName; import javax.management.QueryExp; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; import org.jboss.jmx.adaptor.interfaces.Adaptor; import org.jboss.jmx.adaptor.interfaces.AdaptorHome; /** * Description of the Class * * @author letiembl * @created 13 décembre 2001 */ public interface FactoryManagerService { public void loadFactories(); public Iterator listFactories(); } --- NEW FILE: FactoryManagerServiceProvider.java --- package net.sourceforge.ejtools.deploy.factories; import java.beans.beancontext.BeanContextServiceProvider; import java.beans.beancontext.BeanContextServices; import java.beans.beancontext.BeanContextServicesSupport; import java.util.Iterator; import java.util.Vector; import java.net.URLClassLoader; import java.net.URL; import java.net.JarURLConnection; import java.util.jar.Attributes; import javax.enterprise.deploy.spi.factories.DeploymentFactoryManager; /** * Description of the Class * * @author letiembl * @created 13 décembre 2001 */ public class FactoryManagerServiceProvider extends BeanContextServicesSupport implements BeanContextServiceProvider, FactoryManagerService { protected final static String TAG = "J2EE-DeploymentFactoryManager-Implementation-Class"; public void loadFactories() { try { // Find list of managers URL[] urls = ((URLClassLoader) Thread.currentThread().getContextClassLoader()).getURLs(); for (int i = 0; i < urls.length; i++) { if (urls[i].getFile().endsWith(".jar")) { Attributes attr = ((JarURLConnection) new URL("jar:" + urls[i] + "!/").openConnection()).getMainAttributes(); String factoryClass = attr.getValue(FactoryManagerServiceProvider.TAG); System.out.println("URL " + urls[i] + " " + factoryClass); if (factoryClass != null) { try { DeploymentFactoryManager manager = (DeploymentFactoryManager) Class.forName(factoryClass).newInstance(); System.out.println("manager " + manager); // add(manager); DeploymentFactoryManagerProxy proxy = new DeploymentFactoryManagerProxy(manager); add(proxy); }catch(Exception e){ e.printStackTrace(); } } } } }catch(Exception e){ e.printStackTrace(); } } public Iterator listFactories() { return iterator(); } /** * Getter for the currentServiceSelectors attribute * * @param bcs Description of Parameter * @param serviceClass Description of Parameter * @return The value */ public Iterator getCurrentServiceSelectors(BeanContextServices bcs, java.lang.Class serviceClass) { return (new Vector()).iterator(); } /** * Getter for the service attribute * * @param bcs Description of Parameter * @param requestor Description of Parameter * @param serviceClass Description of Parameter * @param serviceSelector Description of Parameter * @return The value */ public Object getService(BeanContextServices bcs, java.lang.Object requestor, java.lang.Class serviceClass, java.lang.Object serviceSelector) { return this; } /** * Description of the Method * * @param bcs Description of Parameter * @param requestor Description of Parameter * @param service Description of Parameter */ public void releaseService(BeanContextServices bcs, java.lang.Object requestor, java.lang.Object service) { } /** Description of the Method */ protected void initializeBeanContextResources() { ((BeanContextServices) getBeanContext()).addService(FactoryManagerService.class, this); } protected void releaseBeanContextResources() { ((BeanContextServices) getBeanContext()).revokeService(FactoryManagerService.class, this, true); } } |