Author: dblevins
Date: Wed Sep 12 16:53:12 2007
New Revision: 575130

URL: http://svn.apache.org/viewvc?rev=575130&view=rev
Log:
Fixed ConfigurationFactory/AutoConfig to properly check the types a service 
offers when deciding to "Configure Service..." and auto-link to it.

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ServiceInfo.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.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/assembler/classic/ServiceInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ServiceInfo.java?rev=575130&r1=575129&r2=575130&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ServiceInfo.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ServiceInfo.java
 Wed Sep 12 16:53:12 2007
@@ -23,7 +23,7 @@
 public class ServiceInfo extends InfoObject {
 
     public String service;
-    public List<String> types;
+    public List<String> types = new ArrayList<String>();
     public String description;
     public String id;
     public String displayName;

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=575130&r1=575129&r2=575130&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 16:53:12 2007
@@ -566,7 +566,7 @@
 
     private void processResourceEnvRef(JndiReference ref, EjbDeployment 
ejbDeployment) throws OpenEJBException {
         // skip destinations with a global jndi name
-        String mappedName = ref.getMappedName() + "";
+        String mappedName = (ref.getMappedName() == null)? "": 
ref.getMappedName();
         if (mappedName.startsWith("jndi:")){
             return;
         }

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=575130&r1=575129&r2=575130&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
 Wed Sep 12 16:53:12 2007
@@ -513,6 +513,7 @@
         }
 
         info.service = provider.getService();
+        info.types.addAll(provider.getTypes());
         info.description = provider.getDescription();
         info.displayName = provider.getDisplayName();
         info.className = provider.getClassName();
@@ -630,14 +631,14 @@
 
         OpenEjbConfiguration runningConfig = getRunningConfig();
         for (ResourceInfo resourceInfo : runningConfig.facilities.resources) {
-            if (isResourceType(resourceInfo.service, type)) {
+            if (resourceInfo.types.contains(type)) {
                 resourceIds.add(resourceInfo.id);
             }
         }
 
         if (sys != null) {
             for (ResourceInfo resourceInfo : sys.facilities.resources) {
-                if (isResourceType(resourceInfo.service, type)) {
+                if (resourceInfo.types.contains(type)) {
                     resourceIds.add(resourceInfo.id);
                 }
             }
@@ -646,23 +647,13 @@
             // the above sys instance
             if (openejb != null) {
                 for (Resource resource : openejb.getResource()) {
-                    if (isResourceType(resource.getType(), type)) {
+                    if (resource.getType() != null && 
resource.getType().equals(type)) {
                         resourceIds.add(resource.getId());
                     }
                 }
             }
         }
         return resourceIds;
-    }
-
-    private static boolean isResourceType(String serviceTypes, String type) {
-        if (type == null) return true;
-        if (serviceTypes == null) return false;
-
-        for (String serviceType : serviceTypes.split(" *, *")) {
-            if (serviceType.equals(type)) return true;
-        }
-        return false;
     }
 
     protected List<String> getContainerIds() {

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=575130&r1=575129&r2=575130&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 16:53:12 2007
@@ -42,10 +42,10 @@
 public class AutoConfigTest extends TestCase {
 
 
-    public void test() throws Exception {
+    public void _test() throws Exception {
 
     }
-    public void _test() throws Exception {
+    public void test() throws Exception {
 
         System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, 
InitContextFactory.class.getName());
 


Reply via email to