[jboss-cvs] jboss-seam/src/main/org/jboss/seam ...
Norman Richards
norman.richards at jboss.com
Tue Jun 19 17:36:38 EDT 2007
User: nrichards
Date: 07/06/19 17:36:38
Modified: src/main/org/jboss/seam Seam.java
Log:
JBSEAM-955
Revision Changes Path
1.32 +57 -41 jboss-seam/src/main/org/jboss/seam/Seam.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Seam.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/Seam.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- Seam.java 3 Jun 2007 23:02:25 -0000 1.31
+++ Seam.java 19 Jun 2007 21:36:38 -0000 1.32
@@ -1,4 +1,4 @@
-//$Id: Seam.java,v 1.31 2007/06/03 23:02:25 gavin Exp $
+//$Id: Seam.java,v 1.32 2007/06/19 21:36:38 nrichards Exp $
package org.jboss.seam;
import static org.jboss.seam.ComponentType.ENTITY_BEAN;
@@ -23,6 +23,8 @@
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.contexts.Lifecycle;
import org.jboss.seam.core.ServletSession;
+import org.jboss.seam.init.DeploymentDescriptorInfo;
+import org.jboss.seam.init.DeploymentDescriptorInfo.EjbInfo;
import org.jboss.seam.util.Strings;
/**
@@ -33,6 +35,7 @@
*/
public class Seam
{
+ private static DeploymentDescriptorInfo deploymentInfo = new DeploymentDescriptorInfo();
private static final Map<Class, String> COMPONENT_NAME_CACHE = new ConcurrentHashMap<Class, String>();
@@ -63,24 +66,20 @@
*/
public static ComponentType getComponentType(Class<?> clazz)
{
- if ( clazz.isAnnotationPresent(STATEFUL) )
- {
+ if (clazz.isAnnotationPresent(STATEFUL)) {
return STATEFUL_SESSION_BEAN;
- }
- else if ( clazz.isAnnotationPresent(STATELESS) )
- {
+ } else if (clazz.isAnnotationPresent(STATELESS)) {
return STATELESS_SESSION_BEAN;
- }
- else if ( clazz.isAnnotationPresent(MESSAGE_DRIVEN) )
- {
+ } else if (clazz.isAnnotationPresent(MESSAGE_DRIVEN)) {
return MESSAGE_DRIVEN_BEAN;
- }
- else if ( clazz.isAnnotationPresent(Entity.class) )
- {
+ } else if (clazz.isAnnotationPresent(Entity.class)) {
return ENTITY_BEAN;
+ } else {
+ EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName());
+ if (info != null) {
+ return info.getBeanType();
}
- else
- {
+
return JAVA_BEAN;
}
}
@@ -163,20 +162,34 @@
public static String getEjbName(Class<?> clazz)
{
- switch ( getComponentType(clazz) )
- {
+ switch (getComponentType(clazz)) {
case ENTITY_BEAN:
case JAVA_BEAN:
return null;
case STATEFUL_SESSION_BEAN:
- String statefulName = name( clazz.getAnnotation(STATEFUL) );
+ if (clazz.isAnnotationPresent(STATEFUL)) {
+ String statefulName = name(clazz.getAnnotation(STATEFUL));
return statefulName.equals("") ? unqualifyClassName(clazz) : statefulName;
+ } else {
+ EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName());
+ return info.getName();
+ }
case STATELESS_SESSION_BEAN:
- String statelessName = name( clazz.getAnnotation(STATELESS) );
+ if (clazz.isAnnotationPresent(STATELESS)) {
+ String statelessName = name(clazz.getAnnotation(STATELESS));
return statelessName.equals("") ? unqualifyClassName(clazz) : statelessName;
+ } else {
+ EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName());
+ return info.getName();
+ }
case MESSAGE_DRIVEN_BEAN:
- String mdName = name( clazz.getAnnotation(MESSAGE_DRIVEN) );
+ if (clazz.isAnnotationPresent(MESSAGE_DRIVEN)) {
+ String mdName = name(clazz.getAnnotation(MESSAGE_DRIVEN));
return mdName.equals("") ? unqualifyClassName(clazz) : mdName;
+ } else {
+ EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName());
+ return info.getName();
+ }
default:
throw new IllegalArgumentException();
}
@@ -256,6 +269,9 @@
return (pkg != null ? pkg.getImplementationVersion() : null);
}
+
+
+
public static void clearComponentNameCache()
{
COMPONENT_NAME_CACHE.clear();
More information about the jboss-cvs-commits
mailing list