[jboss-cvs] JBossAS SVN: r58179 - trunk/server/src/main/org/jboss/ejb/deployers

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 7 08:18:18 EST 2006


Author: alex.loubyansky at jboss.com
Date: 2006-11-07 08:18:17 -0500 (Tue, 07 Nov 2006)
New Revision: 58179

Modified:
   trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
Log:
create the EjbModule

Modified: trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2006-11-07 13:10:54 UTC (rev 58178)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2006-11-07 13:18:17 UTC (rev 58179)
@@ -101,8 +101,49 @@
    public void deploy(DeploymentUnit unit, ApplicationMetaData deployment)
       throws DeploymentException
    {
-      // TODO Auto-generated method stub
-      
+      // TODO: use BeanVerifier to validate the metadata in the DDs
+
+      ServiceMetaData ejbModule = new ServiceMetaData();
+      ejbModule.setCode(EjbModule.class.getName());
+
+      String moduleName = deployment.getJmxName();
+      if( moduleName == null )
+      {
+         String unitShortName = unit.getName();
+         if (unitShortName.endsWith("/"))
+         {
+            unitShortName = unitShortName.substring(0, unitShortName.length() - 1);
+         }
+         else
+         {
+            unitShortName = unitShortName.substring(unitShortName.lastIndexOf("/") + 1);
+         }
+
+         moduleName = EjbModule.BASE_EJB_MODULE_NAME + ",module=" + unitShortName;
+      }
+
+      // Build an escaped JMX name including deployment shortname
+      ObjectName moduleObjectName = null;
+      try
+      {
+         moduleObjectName = ObjectNameConverter.convert(moduleName);
+      }
+      catch(MalformedObjectNameException e)
+      {
+         throw new DeploymentException("Failed to create EJB module " + unit.getName() +
+            ": malformed EjbModule name " + moduleName, e);
+      }
+
+      ejbModule.setObjectName(moduleObjectName);
+
+      ServiceConstructorMetaData ctor = new ServiceConstructorMetaData();
+      ctor.setSignature(
+         new String[]{DeploymentUnit.class.getName(), ApplicationMetaData.class.getName()}
+      );
+      ctor.setParameters(new Object[]{unit, deployment});
+      ejbModule.setConstructor(ctor);
+
+      unit.addAttachment(ServiceMetaData.class, ejbModule);
    }
 
    @Override




More information about the jboss-cvs-commits mailing list