Author: tcunning
Date: Sat Apr 11 04:45:49 2009
New Revision: 764163

URL: http://svn.apache.org/viewvc?rev=764163&view=rev
Log:
SCOUT-75
Lazy load the Organization when service is queried for by getRegistryObject

Modified:
    
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
    
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/infomodel/ServiceImpl.java

Modified: 
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java?rev=764163&r1=764162&r2=764163&view=diff
==============================================================================
--- 
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
 (original)
+++ 
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
 Sat Apr 11 04:45:49 2009
@@ -48,6 +48,7 @@
 import org.apache.ws.scout.registry.infomodel.InternationalStringImpl;
 import org.apache.ws.scout.registry.infomodel.KeyImpl;
 import org.apache.ws.scout.registry.infomodel.ServiceBindingImpl;
+import org.apache.ws.scout.registry.infomodel.ServiceImpl;
 import org.apache.ws.scout.uddi.AssertionStatusItem;
 import org.apache.ws.scout.uddi.AssertionStatusReport;
 import org.apache.ws.scout.uddi.AuthToken;
@@ -780,19 +781,8 @@
     protected Service getServiceFromBusinessService(BusinessService bs, 
LifeCycleManager lcm)
         throws JAXRException {
 
-        Service service  = ScoutUddiJaxrHelper.getService(bs, lcm);
-
-        /*
-         * now get the Organization if we can
-         */
-
-        String busKey = bs.getBusinessKey();
-
-        if (busKey != null) {
-            Organization o = (Organization) getRegistryObject(busKey,
-                    LifeCycleManager.ORGANIZATION);
-            service.setProvidingOrganization(o);
-        }
+        ServiceImpl service  = (ServiceImpl) 
ScoutUddiJaxrHelper.getService(bs, lcm);
+        service.setSubmittingOrganizationKey(bs.getBusinessKey());
 
         return service;
     }
@@ -914,7 +904,7 @@
                     for (int i=0; a != null && i < a.length; i++) {
 
                         Service service = getServiceFromBusinessService(a[i], 
lcm);
-
+                        
                         col.add(service);
                     }
                 }

Modified: 
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/infomodel/ServiceImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/infomodel/ServiceImpl.java?rev=764163&r1=764162&r2=764163&view=diff
==============================================================================
--- 
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/infomodel/ServiceImpl.java
 (original)
+++ 
webservices/scout/trunk/scout/src/main/java/org/apache/ws/scout/registry/infomodel/ServiceImpl.java
 Sat Apr 11 04:45:49 2009
@@ -20,9 +20,12 @@
 import java.util.Collection;
 import java.util.Iterator;
 
+import javax.xml.registry.BusinessQueryManager;
 import javax.xml.registry.JAXRException;
 import javax.xml.registry.LifeCycleManager;
+import javax.xml.registry.RegistryService;
 import javax.xml.registry.UnexpectedObjectException;
+import javax.xml.registry.infomodel.Key;
 import javax.xml.registry.infomodel.Organization;
 import javax.xml.registry.infomodel.Service;
 import javax.xml.registry.infomodel.ServiceBinding;
@@ -38,7 +41,8 @@
 
     private Organization org = null;
     private Collection<ServiceBinding> serviceBindings = new 
ArrayList<ServiceBinding>();
-
+    private String orgKey = null;
+    
     /**
      * Creates a new instance of ServiceImpl
      */
@@ -72,7 +76,18 @@
     public Organization getProvidingOrganization()
             throws JAXRException
     {
-        if (org == null) return super.getSubmittingOrganization();
+        if (org == null) {
+               if (super.getSubmittingOrganization() != null) {
+                       return super.getSubmittingOrganization();
+               } else {
+                       RegistryService rs = 
super.getLifeCycleManager().getRegistryService();
+                       BusinessQueryManager bqm = rs.getBusinessQueryManager();
+                Organization o = (Organization) bqm.getRegistryObject(orgKey,
+                        LifeCycleManager.ORGANIZATION);
+                setProvidingOrganization(o);   
+                return o;
+               }
+        }
         return org;
     }
 
@@ -98,4 +113,12 @@
     {
         this.org = organization;
     }
+    
+    public void setSubmittingOrganizationKey(String key) {
+       orgKey = key;
+    }
+    
+    public String getSubmittingOrganizationKey() {
+       return orgKey;
+    }   
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to