[jboss-cvs] JBossAS SVN: r99278 - in trunk: component-matrix and 9 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jan 12 04:25:35 EST 2010
Author: wolfc
Date: 2010-01-12 04:25:34 -0500 (Tue, 12 Jan 2010)
New Revision: 99278
Added:
trunk/server/src/main/java/org/jboss/as/
trunk/server/src/main/java/org/jboss/as/javaee/
trunk/server/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleIdentifier.java
trunk/server/src/main/java/org/jboss/as/naming/
trunk/server/src/main/java/org/jboss/as/naming/javaee/
trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEApplicationInformer.java
trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEComponentInformer.java
trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEModuleInformer.java
Modified:
trunk/build/build.xml
trunk/component-matrix/pom.xml
trunk/ejb3/pom.xml
trunk/ejb3/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleInformer.java
trunk/server/pom.xml
trunk/server/src/etc/deployers/core-naming-jboss-beans.xml
Log:
JBAS-7556: initial integration of jboss-reloaded-naming-deployers
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2010-01-12 08:31:04 UTC (rev 99277)
+++ trunk/build/build.xml 2010-01-12 09:25:34 UTC (rev 99278)
@@ -2004,6 +2004,7 @@
<fileset refid="org.jboss.ejb3:jboss-ejb3-timerservice-spi:jar"/>
<fileset refid="org.jboss.ejb3:jboss-ejb3-transactions:jar"/>
<fileset refid="org.jboss.reloaded:jboss-reloaded-naming:jar"/>
+ <fileset refid="org.jboss.reloaded:jboss-reloaded-naming-deployers:jar"/>
<fileset refid="org.hibernate:hibernate-core:jar"/>
<fileset refid="org.hibernate:hibernate-commons-annotations:jar"/>
<fileset refid="org.hibernate:hibernate-entitymanager:jar"/>
Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml 2010-01-12 08:31:04 UTC (rev 99277)
+++ trunk/component-matrix/pom.xml 2010-01-12 09:25:34 UTC (rev 99278)
@@ -115,7 +115,8 @@
<version.org.jboss.mx>6.0.0.Beta1</version.org.jboss.mx>
<version.org.jboss.naming>5.0.4.GA</version.org.jboss.naming>
<version.org.jboss.reflect>2.0.2.GA</version.org.jboss.reflect>
- <version.org.jboss.reloaded.naming>0.1.0-alpha-1</version.org.jboss.reloaded.naming>
+ <version.org.jboss.reloaded.naming>0.1.0-alpha-2</version.org.jboss.reloaded.naming>
+ <version.org.jboss.reloaded.naming.deployers>0.1.0-alpha-1</version.org.jboss.reloaded.naming.deployers>
<version.org.jboss.remoting>2.5.2.SP2</version.org.jboss.remoting>
<version.org.jboss.security>2.1.0.20091223</version.org.jboss.security>
<version.org.jboss.service.binding>1.0.0.GA</version.org.jboss.service.binding>
@@ -1391,6 +1392,12 @@
</dependency>
<dependency>
+ <groupId>org.jboss.reloaded</groupId>
+ <artifactId>jboss-reloaded-naming-deployers</artifactId>
+ <version>${version.org.jboss.reloaded.naming.deployers}</version>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-mdr</artifactId>
<version>${version.org.jboss.mdr}</version>
Modified: trunk/ejb3/pom.xml
===================================================================
--- trunk/ejb3/pom.xml 2010-01-12 08:31:04 UTC (rev 99277)
+++ trunk/ejb3/pom.xml 2010-01-12 09:25:34 UTC (rev 99278)
@@ -280,7 +280,11 @@
<groupId>org.jboss.integration</groupId>
<artifactId>jboss-corba-ots-spi</artifactId>
</dependency>
-
+
+ <dependency>
+ <groupId>org.jboss.reloaded</groupId>
+ <artifactId>jboss-reloaded-naming-deployers</artifactId>
+ </dependency>
</dependencies>
</project>
Modified: trunk/ejb3/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleInformer.java
===================================================================
--- trunk/ejb3/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleInformer.java 2010-01-12 08:31:04 UTC (rev 99277)
+++ trunk/ejb3/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleInformer.java 2010-01-12 09:25:34 UTC (rev 99278)
@@ -23,12 +23,7 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.jpa.javaee.JavaEEModuleInformer;
-import org.jboss.metadata.client.jboss.JBossClientMetaData;
import org.jboss.metadata.ear.jboss.JBossAppMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
/**
* @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
@@ -36,6 +31,9 @@
*/
public class SimpleJavaEEModuleInformer implements JavaEEModuleInformer
{
+ // TODO: wire via SPI or deprecated this construct in favor of a generic JavaEE module informer
+ private SimpleJavaEEModuleIdentifier identifier = new SimpleJavaEEModuleIdentifier();
+
public String getApplicationName(DeploymentUnit unit)
{
DeploymentUnit topLevel = unit.getTopLevel();
@@ -51,32 +49,17 @@
public ModuleType getModuleType(DeploymentUnit unit)
{
- if(unit.isAttachmentPresent(JBossClientMetaData.class))
- return ModuleType.APP_CLIENT;
- if(unit.isAttachmentPresent(JBossMetaData.class) && isReallyAnEjbDeployment(unit))
- return ModuleType.EJB;
- if(unit.isAttachmentPresent(JBossWebMetaData.class))
- return ModuleType.WEB;
- return ModuleType.JAVA;
- }
-
- /*
- * Some hacks to counter problems.
- */
- private boolean isReallyAnEjbDeployment(DeploymentUnit unit)
- {
- JBossMetaData metaData = unit.getAttachment(JBossMetaData.class);
- // JBMETA-69
- if(metaData.getEnterpriseBeans() == null || metaData.getEnterpriseBeans().size() == 0)
- return false;
- // JBMETA-70
- // The chance of a persistence unit being defined with couple of EJB entity beans is
- // pretty slim.
- for(JBossEnterpriseBeanMetaData bean : metaData.getEnterpriseBeans())
+ org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer.ModuleType type = identifier.getModuleType(unit);
+ switch(type)
{
- if(!(bean instanceof JBossEntityBeanMetaData))
- return true;
+ case APP_CLIENT:
+ return ModuleType.APP_CLIENT;
+ case EJB:
+ return ModuleType.EJB;
+ case WEB:
+ return ModuleType.WEB;
+ default:
+ return ModuleType.JAVA;
}
- return false;
}
}
Modified: trunk/server/pom.xml
===================================================================
--- trunk/server/pom.xml 2010-01-12 08:31:04 UTC (rev 99277)
+++ trunk/server/pom.xml 2010-01-12 09:25:34 UTC (rev 99278)
@@ -301,6 +301,11 @@
</dependency>
<dependency>
+ <groupId>org.jboss.reloaded</groupId>
+ <artifactId>jboss-reloaded-naming-deployers</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss.security</groupId>
<artifactId>jbosssx</artifactId>
</dependency>
Modified: trunk/server/src/etc/deployers/core-naming-jboss-beans.xml
===================================================================
--- trunk/server/src/etc/deployers/core-naming-jboss-beans.xml 2010-01-12 08:31:04 UTC (rev 99277)
+++ trunk/server/src/etc/deployers/core-naming-jboss-beans.xml 2010-01-12 09:25:34 UTC (rev 99278)
@@ -13,5 +13,22 @@
</bean>
<bean name="NameSpaces" class="org.jboss.reloaded.naming.service.NameSpaces"/>
-
+
+ <bean name="JavaEEModuleIdentifier" class="org.jboss.as.javaee.SimpleJavaEEModuleIdentifier"/>
+
+ <bean name="NamingJavaEEApplicationInformer" class="org.jboss.as.naming.javaee.NamingJavaEEApplicationInformer"/>
+ <bean name="NamingJavaEEModuleInformer" class="org.jboss.as.naming.javaee.NamingJavaEEModuleInformer">
+ <property name="javaEEModuleIdentifier"><inject bean="JavaEEModuleIdentifier"/></property>
+ </bean>
+ <bean name="NamingJavaEEComponentInformer" class="org.jboss.as.naming.javaee.NamingJavaEEComponentInformer"/>
+
+ <bean name="AppNamingDeployer" class="org.jboss.reloaded.naming.deployers.AppNamingDeployer">
+ <constructor><parameter><inject bean="NamingJavaEEApplicationInformer"/></parameter></constructor>
+ </bean>
+ <bean name="ModuleNamingDeployer" class="org.jboss.reloaded.naming.deployers.ModuleNamingDeployer">
+ <constructor><parameter><inject bean="NamingJavaEEModuleInformer"/></parameter></constructor>
+ </bean>
+ <bean name="ComponentNamingDeployer" class="org.jboss.reloaded.naming.deployers.ComponentNamingDeployer">
+ <constructor><parameter><inject bean="NamingJavaEEComponentInformer"/></parameter></constructor>
+ </bean>
</deployment>
Copied: trunk/server/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleIdentifier.java (from rev 99147, trunk/ejb3/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleInformer.java)
===================================================================
--- trunk/server/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleIdentifier.java (rev 0)
+++ trunk/server/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleIdentifier.java 2010-01-12 09:25:34 UTC (rev 99278)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.as.javaee;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.metadata.client.jboss.JBossClientMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision$
+ */
+public class SimpleJavaEEModuleIdentifier
+{
+ // TODO: this should really be hooked via an incallback visitor which dynamically identifies the deployment unit. So that this class has no tech dependencies.
+
+ private static final String[] REQUIRED_ATTACHMENTS = { JBossClientMetaData.class.getName(), JBossMetaData.class.getName(), JBossWebMetaData.class.getName() };
+
+ public JavaEEModuleInformer.ModuleType getModuleType(DeploymentUnit unit)
+ {
+ if(unit.isAttachmentPresent(JBossClientMetaData.class))
+ return JavaEEModuleInformer.ModuleType.APP_CLIENT;
+ if(unit.isAttachmentPresent(JBossMetaData.class) && isReallyAnEjbDeployment(unit))
+ return JavaEEModuleInformer.ModuleType.EJB;
+ if(unit.isAttachmentPresent(JBossWebMetaData.class))
+ return JavaEEModuleInformer.ModuleType.WEB;
+ return JavaEEModuleInformer.ModuleType.JAVA;
+ }
+
+ public String[] getRequiredAttachments()
+ {
+ return REQUIRED_ATTACHMENTS;
+ }
+
+ /*
+ * Some hacks to counter problems.
+ */
+ private boolean isReallyAnEjbDeployment(DeploymentUnit unit)
+ {
+ JBossMetaData metaData = unit.getAttachment(JBossMetaData.class);
+ // JBMETA-69
+ if(metaData.getEnterpriseBeans() == null || metaData.getEnterpriseBeans().size() == 0)
+ return false;
+ // JBMETA-70
+ // The chance of a persistence unit being defined with couple of EJB entity beans is
+ // pretty slim.
+ for(JBossEnterpriseBeanMetaData bean : metaData.getEnterpriseBeans())
+ {
+ if(!(bean instanceof JBossEntityBeanMetaData))
+ return true;
+ }
+ return false;
+ }
+}
Property changes on: trunk/server/src/main/java/org/jboss/as/javaee/SimpleJavaEEModuleIdentifier.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEApplicationInformer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEApplicationInformer.java (rev 0)
+++ trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEApplicationInformer.java 2010-01-12 09:25:34 UTC (rev 99278)
@@ -0,0 +1,32 @@
+package org.jboss.as.naming.javaee;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEApplicationInformer;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class NamingJavaEEApplicationInformer implements JavaEEApplicationInformer
+{
+ private static final String REQUIRED_ATTACHMENTS[] = { JBossAppMetaData.class.getName() };
+
+ public String getApplicationName(DeploymentUnit deploymentUnit) throws IllegalArgumentException
+ {
+ if(!isJavaEEApplication(deploymentUnit))
+ return null;
+
+ String name = deploymentUnit.getSimpleName();
+ return name.substring(0, name.length() - 4);
+ }
+
+ public boolean isJavaEEApplication(DeploymentUnit deploymentUnit)
+ {
+ return deploymentUnit.isAttachmentPresent(JBossAppMetaData.class);
+ }
+
+ public String[] getRequiredAttachments()
+ {
+ return REQUIRED_ATTACHMENTS;
+ }
+}
Property changes on: trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEApplicationInformer.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEComponentInformer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEComponentInformer.java (rev 0)
+++ trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEComponentInformer.java 2010-01-12 09:25:34 UTC (rev 99278)
@@ -0,0 +1,21 @@
+package org.jboss.as.naming.javaee;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class NamingJavaEEComponentInformer extends NamingJavaEEModuleInformer implements JavaEEComponentInformer
+{
+ public String getComponentName(DeploymentUnit unit)
+ {
+ // FIXME: it's real ugly to analyze the deployment unit at this stage. Better to let the ComponentNamingDeployer be explicitly driven by meta data.
+ return null;
+ }
+
+ public boolean isJavaEEComponent(DeploymentUnit unit)
+ {
+ return false;
+ }
+}
Property changes on: trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEComponentInformer.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEModuleInformer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEModuleInformer.java (rev 0)
+++ trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEModuleInformer.java 2010-01-12 09:25:34 UTC (rev 99278)
@@ -0,0 +1,37 @@
+package org.jboss.as.naming.javaee;
+
+import org.jboss.as.javaee.SimpleJavaEEModuleIdentifier;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class NamingJavaEEModuleInformer extends NamingJavaEEApplicationInformer implements JavaEEModuleInformer
+{
+ // TODO: for now we delegate to the former JPA SPI informer. This informer should be merged with that one into one integration component
+ private SimpleJavaEEModuleIdentifier identifier;
+
+ public String getApplicationName(DeploymentUnit deploymentUnit)
+ {
+ return super.getApplicationName(deploymentUnit.getTopLevel());
+ }
+
+ public String getModulePath(DeploymentUnit deploymentUnit)
+ {
+ String path = deploymentUnit.getRelativePath();
+ if(path == null || path.length() == 0)
+ path = deploymentUnit.getSimpleName();
+ return path.substring(0, path.length() - 4);
+ }
+
+ public ModuleType getModuleType(DeploymentUnit deploymentUnit)
+ {
+ return identifier.getModuleType(deploymentUnit);
+ }
+
+ public void setJavaEEModuleIdentifier(SimpleJavaEEModuleIdentifier identifier)
+ {
+ this.identifier = identifier;
+ }
+}
Property changes on: trunk/server/src/main/java/org/jboss/as/naming/javaee/NamingJavaEEModuleInformer.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
More information about the jboss-cvs-commits
mailing list