You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ga...@apache.org on 2010/08/09 04:41:42 UTC
svn commit: r983506 -
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Author: gawor
Date: Mon Aug 9 02:41:42 2010
New Revision: 983506
URL: http://svn.apache.org/viewvc?rev=983506&view=rev
Log:
OPENEJB-1324: Recognize Enum and Class as environment entry types
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=983506&r1=983505&r2=983506&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Mon Aug 9 02:41:42 2010
@@ -183,6 +183,30 @@ public class AnnotationDeployer implemen
public static final Logger startupLogger = Logger.getInstance(LogCategory.OPENEJB_STARTUP_CONFIG, "org.apache.openejb.util.resources");
private static final ThreadLocal<DeploymentModule> currentModule = new ThreadLocal<DeploymentModule>();
+ public static final Set<String> knownResourceEnvTypes = new TreeSet<String>(asList(
+ "javax.ejb.SessionContext",
+ "javax.ejb.EntityContext",
+ "javax.ejb.MessageDrivenContext",
+ "javax.transaction.UserTransaction",
+ "javax.jms.Queue",
+ "javax.jms.Topic",
+ "javax.xml.ws.WebServiceContext",
+ "javax.ejb.TimerService"
+ ));
+
+ public static final Set<String> knownEnvironmentEntries = new TreeSet<String>(asList(
+ "boolean", "java.lang.Boolean",
+ "char", "java.lang.Character",
+ "byte", "java.lang.Byte",
+ "short", "java.lang.Short",
+ "int", "java.lang.Integer",
+ "long", "java.lang.Long",
+ "float", "java.lang.Float",
+ "double", "java.lang.Double",
+ "java.lang.String",
+ "java.lang.Class"
+ ));
+
private final DiscoverAnnotatedBeans discoverAnnotatedBeans;
private final ProcessAnnotatedBeans processAnnotatedBeans;
private final EnvEntriesPropertiesDeployer envEntriesPropertiesDeployer;
@@ -243,31 +267,12 @@ public class AnnotationDeployer implemen
}
}
+ public static boolean isKnownEnvironmentEntryType(Class type) {
+ return knownEnvironmentEntries.contains(type.getName()) || type.isEnum();
+ }
+
public static class DiscoverAnnotatedBeans implements DynamicDeployer {
- public static final Set<String> knownResourceEnvTypes = new TreeSet<String>(asList(
- "javax.ejb.SessionContext",
- "javax.ejb.EntityContext",
- "javax.ejb.MessageDrivenContext",
- "javax.transaction.UserTransaction",
- "javax.jms.Queue",
- "javax.jms.Topic",
- "javax.xml.ws.WebServiceContext",
- "javax.ejb.TimerService"
- ));
-
- public static final Set<String> knownEnvironmentEntries = new TreeSet<String>(asList(
- "boolean", "java.lang.Boolean",
- "char", "java.lang.Character",
- "byte", "java.lang.Byte",
- "short", "java.lang.Short",
- "int", "java.lang.Integer",
- "long", "java.lang.Long",
- "float", "java.lang.Float",
- "double", "java.lang.Double",
- "java.lang.String"
- ));
-
public AppModule deploy(AppModule appModule) throws OpenEJBException {
for (EjbModule ejbModule : appModule.getEjbModules()) {
setModule(ejbModule);
@@ -640,28 +645,7 @@ public class AnnotationDeployer implemen
}
public static class ProcessAnnotatedBeans implements DynamicDeployer {
- public static final Set<String> knownResourceEnvTypes = new TreeSet<String>(asList(
- "javax.ejb.SessionContext",
- "javax.ejb.EntityContext",
- "javax.ejb.MessageDrivenContext",
- "javax.transaction.UserTransaction",
- "javax.jms.Queue",
- "javax.jms.Topic",
- "javax.xml.ws.WebServiceContext",
- "javax.ejb.TimerService"
- ));
-
- public static final Set<String> knownEnvironmentEntries = new TreeSet<String>(asList(
- "boolean", "java.lang.Boolean",
- "char", "java.lang.Character",
- "byte", "java.lang.Byte",
- "short", "java.lang.Short",
- "int", "java.lang.Integer",
- "long", "java.lang.Long",
- "float", "java.lang.Float",
- "double", "java.lang.Double",
- "java.lang.String"
- ));
+
private static final String STRICT_INTERFACE_DECLARATION = "openejb.strict.interface.declaration";
public AppModule deploy(AppModule appModule) throws OpenEJBException {
@@ -2656,14 +2640,14 @@ public class AnnotationDeployer implemen
if (shouldReturn) return;
}
- String type;
+ Class type;
if (resource.type() != java.lang.Object.class) {
- type = resource.type().getName();
+ type = resource.type();
} else {
- type = member.getType().getName();
+ type = member.getType();
}
- if (knownResourceEnvTypes.contains(type)) {
+ if (knownResourceEnvTypes.contains(type.getName())) {
/*
* @Resource <resource-env-ref>
*/
@@ -2675,14 +2659,10 @@ public class AnnotationDeployer implemen
}
if (resourceEnvRef.getResourceEnvRefType() == null || ("").equals(resourceEnvRef.getResourceEnvRefType())) {
- if (resource.type() != java.lang.Object.class) {
- resourceEnvRef.setResourceEnvRefType(resource.type().getName());
- } else {
- resourceEnvRef.setResourceEnvRefType(member.getType().getName());
- }
+ resourceEnvRef.setResourceEnvRefType(type.getName());
}
reference = resourceEnvRef;
- } else if (!knownEnvironmentEntries.contains(type)) {
+ } else if (!isKnownEnvironmentEntryType(type)) {
/*
* @Resource <resource-ref>
*/
@@ -2703,11 +2683,7 @@ public class AnnotationDeployer implemen
}
if (resourceRef.getResType() == null || ("").equals(resourceRef.getResType())) {
- if (resource.type() != java.lang.Object.class) {
- resourceRef.setResType(resource.type().getName());
- } else {
- resourceRef.setResType(member.getType().getName());
- }
+ resourceRef.setResType(type.getName());
}
if (resourceRef.getResSharingScope() == null) {