Author: dblevins
Date: Wed Sep 12 22:07:02 2007
New Revision: 575168
URL: http://svn.apache.org/viewvc?rev=575168&view=rev
Log:
Fixed AutoConfigTest
Removed stack trace from 'Unable to scrape for annotations' warning
Switched logging category of AutoConfig to OpenEJB.startup.config and lowered
some messages to info
Added ability to match the <Resource id="Foo"> in a case insensitive way.
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/AutoConfigTest.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=575168&r1=575167&r2=575168&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
Wed Sep 12 22:07:02 2007
@@ -202,7 +202,7 @@
}
finder = new ClassFinder(ejbModule.getClassLoader(), url);
} catch (MalformedURLException e) {
- DeploymentLoader.logger.warning("Unable to scrape for
@Stateful, @Stateless or @MessageDriven annotations. EjbModule URL not valid: "
+ ejbModule.getJarLocation(), e);
+ DeploymentLoader.logger.warning("Unable to scrape for
@Stateful, @Stateless or @MessageDriven annotations. EjbModule URL not valid: "
+ ejbModule.getJarLocation());
return ejbModule;
}
} else {
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=575168&r1=575167&r2=575168&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Wed Sep 12 22:07:02 2007
@@ -53,8 +53,8 @@
import java.net.URI;
public class AutoConfig implements DynamicDeployer {
- public static Messages messages = new
Messages("org.apache.openejb.util.resources");
- public static Logger logger = Logger.getInstance(LogCategory.OPENEJB,
"org.apache.openejb.util.resources");
+
+ public static Logger logger =
Logger.getInstance(LogCategory.OPENEJB_STARTUP_CONFIG, AutoConfig.class);
private static Set<String> ignoredReferenceTypes = new TreeSet<String>();
static{
@@ -359,7 +359,7 @@
// Queue is the default
destinationType = Queue.class.getName();
}
- logger.warning("Auto-configuring a message driven bean
" + ejbDeployment.getDeploymentId() + " destination " +
properties.getProperty("destination") + " to be destinationType " +
destinationType);
+ logger.info("Auto-configuring a message driven bean "
+ ejbDeployment.getDeploymentId() + " destination " +
properties.getProperty("destination") + " to be destinationType " +
destinationType);
}
if (destinationType != null) {
@@ -551,7 +551,7 @@
if (link == null) {
String id = (mappedName.length() == 0) ? ref.getName() :
mappedName;
id = getResourceId(ejbDeployment.getDeploymentId(), id, refType);
- logger.warning("Auto-linking resource reference '" + refName + "'
in bean " + ejbDeployment.getDeploymentId() + " to Resource(id=" + id + ")");
+ logger.info("Auto-linking resource reference '" + refName + "' in
bean " + ejbDeployment.getDeploymentId() + " to Resource(id=" + id + ")");
link = new ResourceLink();
link.setResId(id);
@@ -588,7 +588,7 @@
// could be a session context ref
return;
}
- logger.warning("Auto-linking resource reference '" + refName + "'
in bean " + ejbDeployment.getDeploymentId() + " to Resource(id=" + id + ")");
+ logger.info("Auto-linking resource reference '" + refName + "' in
bean " + ejbDeployment.getDeploymentId() + " to Resource(id=" + id + ")");
link = new ResourceLink();
link.setResId(id);
@@ -659,14 +659,14 @@
// check for existing resource with specified resourceId
List<String> resourceIds = configFactory.getResourceIds(type);
- if (resourceIds.contains(resourceId)) {
- return resourceId;
+ for (String id : resourceIds) {
+ if (id.equalsIgnoreCase(resourceId)) return id;
}
// check for an existing resource using the short name (everything
ever the final '/')
String shortName = resourceId.replaceFirst(".*/", "");
- if (resourceIds.contains(shortName)) {
- return shortName;
+ for (String id : resourceIds) {
+ if (id.equalsIgnoreCase(shortName)) return id;
}
// throw an exception or log an error
@@ -731,8 +731,8 @@
// check for existing resource with specified resourceId
List<String> resourceIds = configFactory.getResourceIds(type);
- if (resourceIds.contains(resourceId)) {
- return resourceId;
+ for (String id : resourceIds) {
+ if (id.equalsIgnoreCase(resourceId)) return id;
}
// throw an exception or log an error
Modified:
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/AutoConfigTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/AutoConfigTest.java?rev=575168&r1=575167&r2=575168&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/AutoConfigTest.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/AutoConfigTest.java
Wed Sep 12 22:07:02 2007
@@ -18,12 +18,10 @@
import junit.framework.TestCase;
-import javax.naming.InitialContext;
-import javax.ejb.SessionContext;
import javax.annotation.Resource;
import java.util.List;
-import java.util.Arrays;
-import java.util.Stack;
+import java.util.Map;
+import java.util.HashMap;
import org.apache.openejb.core.ivm.naming.InitContextFactory;
import org.apache.openejb.config.ConfigurationFactory;
@@ -32,7 +30,10 @@
import org.apache.openejb.assembler.classic.TransactionServiceInfo;
import org.apache.openejb.assembler.classic.SecurityServiceInfo;
import org.apache.openejb.assembler.classic.ConnectionManagerInfo;
-import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
+import org.apache.openejb.assembler.classic.ResourceInfo;
+import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
+import org.apache.openejb.assembler.classic.ResourceReferenceInfo;
import org.apache.openejb.jee.StatelessBean;
import org.apache.openejb.jee.EjbJar;
@@ -41,10 +42,6 @@
*/
public class AutoConfigTest extends TestCase {
-
- public void _test() throws Exception {
-
- }
public void test() throws Exception {
System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY,
InitContextFactory.class.getName());
@@ -58,16 +55,40 @@
assembler.createConnectionManager(config.configureService(ConnectionManagerInfo.class));
+ assembler.createResource(config.configureService(new
org.apache.openejb.config.sys.Resource("defaultDataSource", null,
"DataSource"), ResourceInfo.class));
+ assembler.createResource(config.configureService(new
org.apache.openejb.config.sys.Resource("yellowDataSource", null, "DataSource"),
ResourceInfo.class));
+ assembler.createResource(config.configureService(new
org.apache.openejb.config.sys.Resource("PurpleDataSource", null, "DataSource"),
ResourceInfo.class));
+
EjbJar ejbJar = new EjbJar();
ejbJar.addEnterpriseBean(new StatelessBean(WidgetBean.class));
- assembler.createApplication(config.configureApplication(ejbJar));
+ EjbJarInfo ejbJarInfo = config.configureApplication(ejbJar);
+
+ EnterpriseBeanInfo beanInfo = ejbJarInfo.enterpriseBeans.get(0);
+
+ Map<String, ResourceReferenceInfo> refs = new
HashMap<String,ResourceReferenceInfo>();
+ for (ResourceReferenceInfo ref : beanInfo.jndiEnc.resourceRefs) {
+ refs.put(ref.referenceName.replaceAll(".*/",""), ref);
+ }
+
+ ResourceReferenceInfo info;
+ info = refs.get("yellowDataSource");
+ assertNotNull(info);
+ assertEquals("yellowDataSource", info.resourceID);
+
+ info = refs.get("orangeDataSource");
+ assertNotNull(info);
+ assertEquals("defaultDataSource", info.resourceID);
+
+ info = refs.get("purpleDataSource");
+ assertNotNull(info);
+ assertEquals("PurpleDataSource", info.resourceID);
- fail();
}
public static interface Widget {
}
+
public static class WidgetBean implements Widget {