Ear.java

00001 
00027 package org.objectweb.jonas.ear;
00028 
00029 import java.net.URL;
00030 import java.util.ArrayList;
00031 
00032 import javax.management.MalformedObjectNameException;
00033 import javax.management.ObjectName;
00034 
00035 import org.objectweb.jonas.jmx.J2eeObjectName;
00036 import org.objectweb.jonas.management.j2eemanagement.J2EEDeployedObject;
00037 
00049 public class Ear extends J2EEDeployedObject implements EarMBean {
00050 
00054     private URL[] ejbJars = null;
00055 
00056 
00060     private URL[] wars = null;
00061 
00065     private URL[] rars = null;
00066 
00070     private URL earUrl = null;
00071 
00075     private String name = null;
00076 
00080     private String unpackName = null;
00081 
00085     private String[] modules = null;
00086 
00090     private String[] webModules = null;
00091 
00103     public Ear(String objectName, String pName, String pUnpackName, URL earUrl, String deploymentDescriptor, URL[] ejbJars, URL[] wars,
00104             URL[] rars) {
00105         super(objectName);
00106         this.earUrl = earUrl;
00107         //this.deploymentDescriptor = deploymentDescriptor;
00108         setDeploymentDescriptor(deploymentDescriptor);
00109         this.ejbJars = ejbJars;
00110         this.wars = wars;
00111         this.rars = rars;
00112         name = pName;
00113         unpackName = pUnpackName;
00114         setModules();
00115         setWebModules();
00116     }
00117 
00122     public URL getEarUrl() {
00123         return earUrl;
00124     }
00125 
00130     public URL[] getEjbJars() {
00131         return ejbJars;
00132     }
00133 
00138     public URL[] getWars() {
00139         return wars;
00140     }
00141 
00146     public URL[] getRars() {
00147         return rars;
00148     }
00149 
00154     public String getName() {
00155         return name;
00156     }
00157 
00162     public String getUnpackName() {
00163         return unpackName;
00164     }
00165 
00169     private void setModules() {
00170         ArrayList al = new ArrayList();
00171         try {
00172             // ear ObjectName
00173             ObjectName on = ObjectName.getInstance(getObjectName());
00174             String domain = on.getDomain();
00175             String serverName = on.getKeyProperty(J2EE_TYPE_SERVER);
00176             String appName = on.getKeyProperty(NAME);
00177             // Add EJBModules
00178             ObjectName modulesOn = J2eeObjectName.getEJBModules(domain, serverName, appName);
00179             al.addAll(J2eeObjectName.queryStrings(modulesOn));
00180             // Add WebModules
00181             modulesOn = J2eeObjectName.getWebModules(domain, serverName, appName);
00182             al.addAll(J2eeObjectName.queryStrings(modulesOn));
00183             // Add ResourceAdapterModules
00184             modulesOn = J2eeObjectName.getResourceAdapterModules(domain, serverName, appName);
00185             al.addAll(J2eeObjectName.queryStrings(modulesOn));
00186             // Add AppClientModules
00187             modulesOn = J2eeObjectName.getAppClientModules(domain, serverName, appName);
00188             al.addAll(J2eeObjectName.queryStrings(modulesOn));
00189         } catch (MalformedObjectNameException e) {
00190             // none action
00191             throw new RuntimeException("Error while using an objectname :" + e.getMessage());
00192         }
00193         modules = ((String[]) al.toArray(new String[al.size()]));
00194     }
00199     public String[] getModules() {
00200         return modules;
00201     }
00205     public String[] getWebModules() {
00206         return webModules;
00207     }
00211     public void setWebModules() {
00212         ArrayList al = new ArrayList();
00213         try {
00214             // ear ObjectName
00215             ObjectName on = ObjectName.getInstance(getObjectName());
00216             String domain = on.getDomain();
00217             String serverName = on.getKeyProperty(J2EE_TYPE_SERVER);
00218             String appName = on.getKeyProperty(NAME);
00219             // Add WebModules
00220             ObjectName modulesOn = J2eeObjectName.getWebModules(domain, serverName, appName);
00221             al.addAll(J2eeObjectName.queryStrings(modulesOn));
00222         } catch (MalformedObjectNameException e) {
00223             // none action
00224             throw new RuntimeException("Error while using an objectname :" + e.getMessage());
00225         }
00226         webModules = ((String[]) al.toArray(new String[al.size()]));
00227     }
00228 }

Generated on Tue Feb 15 15:05:15 2005 for JOnAS by  doxygen 1.3.9.1