Author: geirm
Date: Thu Feb 10 18:19:27 2005
New Revision: 153318

URL: http://svn.apache.org/viewcvs?view=rev&rev=153318
Log:
Basic implementation of findService()

Modified:
    
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java

Modified: 
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
URL: 
http://svn.apache.org/viewcvs/webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java?view=diff&r1=153317&r2=153318
==============================================================================
--- 
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
 (original)
+++ 
webservices/scout/trunk/modules/scout/src/java/org/apache/ws/scout/registry/BusinessQueryManagerImpl.java
 Thu Feb 10 18:19:27 2005
@@ -27,6 +27,9 @@
 import org.apache.juddi.datatype.response.TModelInfo;
 import org.apache.juddi.datatype.response.TModelInfos;
 import org.apache.juddi.datatype.response.TModelList;
+import org.apache.juddi.datatype.response.ServiceList;
+import org.apache.juddi.datatype.response.ServiceInfos;
+import org.apache.juddi.datatype.response.ServiceInfo;
 import org.apache.juddi.datatype.tmodel.TModel;
 import org.apache.juddi.error.RegistryException;
 import org.apache.ws.scout.registry.infomodel.ClassificationSchemeImpl;
@@ -410,12 +413,77 @@
         return null;
     }
 
+
+    /**
+     * Finds all Service objects that match all of the criteria specified by
+     * the parameters of this call.  This is a logical AND operation between
+     * all non-null parameters
+     *
+     * TODO - support findQualifiers, classifications and specifications
+     *
+     * @param orgKey
+     * @param findQualifiers
+     * @param namePatterns
+     * @param classifications
+     * @param specificationa
+     * @return
+     * @throws JAXRException
+     */
     public BulkResponse findServices(Key orgKey, Collection findQualifiers,
-                                     Collection namePattersn,
+                                     Collection namePatterns,
                                      Collection classifications,
                                      Collection specificationa) throws 
JAXRException
     {
-        return null;
+        BulkResponseImpl blkRes = new BulkResponseImpl();
+
+        IRegistry iRegistry = registryService.getRegistry();
+        FindQualifiers juddiFindQualifiers = mapFindQualifiers(findQualifiers);
+
+        try
+        {
+            /*
+             * first, convert to JUDDI names
+             */
+            Vector juddiNames = new Vector();
+
+            Iterator it = namePatterns.iterator();
+
+            while(it.hasNext()) {
+                juddiNames.add(new org.apache.juddi.datatype.Name((String) 
it.next()));
+            }
+
+            /*
+             * hit the registry.  I dont' know why we limit to 10
+             */
+            ServiceList l = iRegistry.findService(orgKey.getId(), juddiNames,
+                    null, null, juddiFindQualifiers, 10);
+
+            /*
+             * now convert  from jUDDI ServiceInfo objects to JAXR Services
+             */
+            if (l != null) {
+
+                ServiceInfos serviceInfos = l.getServiceInfos();
+
+                Vector v = (serviceInfos != null ? 
serviceInfos.getServiceInfoVector() : null);
+
+                Collection col = new ArrayList();
+
+                for (int i=0; v != null && i < v.size(); i++) {
+                    ServiceInfo si = (ServiceInfo) v.elementAt(i);
+                    col.add(ScoutUddiJaxrHelper.getService(si,
+                            registryService.getBusinessLifeCycleManager()));
+                }
+
+                blkRes.setCollection(col);
+            }
+        }
+        catch (RegistryException e) {
+            e.printStackTrace();
+            throw new JAXRException(e.getLocalizedMessage());
+        }
+
+        return blkRes;
     }
 
     public RegistryObject getRegistryObject(String id) throws JAXRException



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to