You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2013/04/05 02:20:48 UTC

svn commit: r1464796 - in /juddi/trunk: juddi-core/src/main/java/org/apache/juddi/api/impl/ juddi-core/src/test/java/org/apache/juddi/api/impl/ uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/ uddi-tck/src/test/java/org/apache/juddi/v3/tck/

Author: kstam
Date: Fri Apr  5 00:20:47 2013
New Revision: 1464796

URL: http://svn.apache.org/r1464796
Log:
JUDDI-573 fixing performance issue while querying for busineses with lots of services. There is no need o re-query each service in this case. This optimization brought the query time down to less then 1 second.

Added:
    juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java
Modified:
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
    juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java
    juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceLoadTest.java
    juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindServicesIntegrationTest.java

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java?rev=1464796&r1=1464795&r2=1464796&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java Fri Apr  5 00:20:47 2013
@@ -201,6 +201,9 @@ public class InquiryHelper {
 		keysFound = FindBusinessByCategoryGroupQuery.select(em, findQualifiers, body.getCategoryBag(), keysFound);
 		keysFound = FindBusinessByNameQuery.select(em, findQualifiers, body.getName(), keysFound);
 		
+		// If there no keys in the bag then remove the empty TModelBag
+		if (body.getTModelBag().getTModelKey().size()==0) body.setTModelBag(null);
+				
 		return keysFound;
 	}
 
@@ -208,7 +211,6 @@ public class InquiryHelper {
 		return getBusinessListFromKeys(body, findQualifiers, em, keysFound, null, null, null, null);
 	}
 	
-	@SuppressWarnings("unchecked")
 	public static BusinessList getBusinessListFromKeys(FindBusiness body, FindQualifiers findQualifiers, EntityManager em, List<?> keysFound,
 													   Date modifiedAfter, Date modifiedBefore, Holder<Integer> subscriptionStartIndex, Integer subscriptionMaxRows)
 				   throws DispositionReportFaultMessage {
@@ -218,28 +220,8 @@ public class InquiryHelper {
 		result.setListDescription(listDesc);
 
 		// Sort and retrieve the final results taking paging into account
-		List<?> queryResults = FetchBusinessEntitiesQuery.select(em, findQualifiers, keysFound, body.getMaxRows(), body.getListHead(), listDesc);
-		List<?> serviceResults = null;
-		for (int i = 0; i<queryResults.size(); i++) {
-			org.apache.juddi.model.BusinessEntity be = (org.apache.juddi.model.BusinessEntity) queryResults.get(i);
-			
-			List<Object> keysIn = new ArrayList<Object>();
-			List<org.apache.juddi.model.BusinessService> services = be.getBusinessServices();
-			for (int j = 0; j<services.size(); j++) {
-				keysIn.add(services.get(j).getEntityKey());
-			}
-
-			serviceResults = FindServiceByTModelKeyQuery.select(em, findQualifiers, body.getTModelBag(), null, keysIn);
-			if (serviceResults == null) {
-				be.setBusinessServices(null);
-			} else { 
-				ListDescription ldesc = new ListDescription();
-				result.setListDescription(listDesc);
-				List<?> srvcs = FetchBusinessServicesQuery.select(em, findQualifiers, serviceResults, body.getMaxRows(), 
-						body.getListHead(), ldesc);
-				be.setBusinessServices((List<org.apache.juddi.model.BusinessService>)srvcs);
-			}
-		}
+		List<?> queryResults = FetchBusinessEntitiesQuery.select(
+				em, findQualifiers, keysFound, body.getMaxRows(), body.getListHead(), listDesc);
 			
 		if (queryResults != null && queryResults.size() > 0)
 			result.setBusinessInfos(new org.uddi.api_v3.BusinessInfos());
@@ -304,7 +286,6 @@ public class InquiryHelper {
 			body.setTModelBag(new TModelBag());
 		doFindTModelEmbeddedSearch(em, body.getFindQualifiers(), body.getFindTModel(), body.getTModelBag());
 		
-		
 		keysFound = FindServiceByTModelKeyQuery.select(em, findQualifiers, body.getTModelBag(), body.getBusinessKey(), keysFound);
                 if (findQualifiers.isCombineCategoryBags()) {
 		    keysFound = FindServiceByCombinedCategoryQuery.select(em, findQualifiers, body.getCategoryBag(), body.getBusinessKey(), keysFound);
@@ -347,7 +328,7 @@ public class InquiryHelper {
 			org.apache.juddi.model.BusinessService modelBusinessService = (org.apache.juddi.model.BusinessService)item;
 			org.uddi.api_v3.ServiceInfo apiServiceInfo = new org.uddi.api_v3.ServiceInfo();
 			
-			logger.info(modelBusinessService.getEntityKey() + " is modified " + modelBusinessService.getModifiedIncludingChildren() + " " + modelBusinessService.getModifiedIncludingChildren().getTime() );
+			logger.debug(modelBusinessService.getEntityKey() + " is modified " + modelBusinessService.getModifiedIncludingChildren() + " " + modelBusinessService.getModifiedIncludingChildren().getTime() );
 			if (modifiedAfter != null && modifiedAfter.after(modelBusinessService.getModifiedIncludingChildren())) {
 				currentIndex++;
 				continue;

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java?rev=1464796&r1=1464795&r2=1464796&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java Fri Apr  5 00:20:47 2013
@@ -33,6 +33,7 @@ import org.apache.juddi.config.AppConfig
 import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.config.Property;
 import org.apache.juddi.mapping.MappingModelToApi;
+import org.apache.juddi.query.util.FindQualifiers;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.InvalidKeyPassedException;
 import org.apache.juddi.validation.ValidateInquiry;
@@ -232,12 +233,12 @@ public class UDDIInquiryImpl extends Aut
 
 		        if (keysFound.size() == 0) {
 		            if (body.getBusinessKey() != null) {
-		                // Check that we were passed a valid serviceKey per
+		                // Check that we were passed a valid businessKey per
         	                // 5.1.12.4 of the UDDI v3 spec
         	                String businessKey = body.getBusinessKey();
         	                org.apache.juddi.model.BusinessEntity modelBusinessEntity = em.find(org.apache.juddi.model.BusinessEntity.class, businessKey);
         	                if (modelBusinessEntity == null) {
-        	                    throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.ServiceNotFound", businessKey));
+        	                    throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.BusinessNotFound", businessKey));
         	                }
 		            }
 		        }

Added: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java?rev=1464796&view=auto
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java (added)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java Fri Apr  5 00:20:47 2013
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2001-2009 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.api.impl;
+
+import java.rmi.RemoteException;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.Registry;
+import org.apache.juddi.query.util.FindQualifiers;
+import org.apache.juddi.v3.tck.TckBusiness;
+import org.apache.juddi.v3.tck.TckBusinessService;
+import org.apache.juddi.v3.tck.TckPublisher;
+import org.apache.juddi.v3.tck.TckSecurity;
+import org.apache.juddi.v3.tck.TckTModel;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.uddi.api_v3.BusinessList;
+import org.uddi.api_v3.FindBusiness;
+import org.uddi.api_v3.FindService;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.ServiceList;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+import org.uddi.v3_service.UDDISecurityPortType;
+
+/**
+ * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ */
+public class API_040_BusinessServiceTestPerformance
+{	
+	private static Log logger                        = LogFactory.getLog(API_040_BusinessServiceTest.class);
+	
+	private static API_010_PublisherTest api010      = new API_010_PublisherTest();
+	protected static TckTModel tckTModel               = new TckTModel(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+	protected static TckBusiness tckBusiness           = new TckBusiness(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+	protected static TckBusinessService tckBusinessService  = new TckBusinessService(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+	private static UDDIInquiryImpl inquiry             = new UDDIInquiryImpl();
+	
+	int numberOfBusinesses=100;
+	int numberOfServices=100;
+	
+	protected static String authInfoJoe                = null;
+	protected static String authInfoSam                = null;
+	
+	@BeforeClass
+	public static void setup() throws ConfigurationException {
+		Registry.start();
+		logger.debug("Getting auth tokens..");
+		try {
+			api010.saveJoePublisher();
+			UDDISecurityPortType security      = new UDDISecurityImpl();
+			authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(),  TckPublisher.getJoePassword());
+		} catch (RemoteException e) {
+			logger.error(e.getMessage(), e);
+			Assert.fail("Could not obtain authInfo token.");
+		}
+	}
+	@Test
+	public void find20Businesses() throws DispositionReportFaultMessage {
+		tckTModel.saveJoePublisherTmodel(authInfoJoe);
+		long startSave = System.currentTimeMillis();
+		//loading up 100 businesses, with a 100 services each
+		tckBusiness.saveJoePublisherBusinesses(authInfoJoe, numberOfBusinesses);
+		for (int i=0; i<numberOfBusinesses; i++) {
+			tckBusinessService.saveJoePublisherServices(authInfoJoe, i, numberOfServices);
+		}
+		long saveDuration = System.currentTimeMillis() - startSave;
+		System.out.println("Saved " + numberOfBusinesses + " businesses with each " + numberOfServices + " services in " + saveDuration + "ms");
+		
+		//find 20 businesses by name
+		FindBusiness fb = new FindBusiness();
+		org.uddi.api_v3.FindQualifiers apiFq = new org.uddi.api_v3.FindQualifiers();
+		apiFq.getFindQualifier().add(FindQualifiers.APPROXIMATE_MATCH);
+		apiFq.getFindQualifier().add(FindQualifiers.CASE_INSENSITIVE_MATCH);
+		fb.setFindQualifiers(apiFq);
+		Name name = new Name();
+		name.setValue("John%");
+		fb.getName().add(name);
+		fb.setMaxRows(20);
+		long startFind = System.currentTimeMillis();
+		BusinessList result = inquiry.findBusiness(fb);
+		long findDuration = System.currentTimeMillis() - startFind;
+		System.out.println("Find 20 businesses took "  +  findDuration + "ms. Size=" + result.getBusinessInfos().getBusinessInfo().size());
+		// it takes less then 1 second, make sure it stays faster then 5 seconds
+		Assert.assertTrue(findDuration < 5000);
+				
+		long startDelete = System.currentTimeMillis();
+		for (int i=0; i<numberOfBusinesses; i++) {
+			tckBusinessService.deleteJoePublisherServices(authInfoJoe, i, numberOfServices);
+		}
+		long deleteDuration = System.currentTimeMillis() - startDelete;
+		System.out.println("Delete all business and services in " + deleteDuration + "ms");
+		tckBusiness.deleteJoePublisherBusinesses(authInfoJoe, numberOfBusinesses);
+		tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+	}
+	
+}

Modified: juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java?rev=1464796&r1=1464795&r2=1464796&view=diff
==============================================================================
--- juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java (original)
+++ juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBusinessService.java Fri Apr  5 00:20:47 2013
@@ -22,6 +22,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.jaxb.EntityCreator;
 import org.junit.Assert;
+import org.uddi.api_v3.BindingTemplate;
 import org.uddi.api_v3.BusinessService;
 import org.uddi.api_v3.DeleteService;
 import org.uddi.api_v3.FindQualifiers;
@@ -76,8 +77,8 @@ public class TckBusinessService 
 		saveService2(authInfoJoe, JOE_SERVICE_KEY, JOE_SERVICE_XML_2, JOE_SERVICE_KEY_2);
 	}
 
-	public void saveJoePublisherServices(String authInfoJoe, int numberOfCopies) {
-		saveServices(authInfoJoe, JOE_SERVICE_XML, JOE_SERVICE_KEY, numberOfCopies);
+	public void saveJoePublisherServices(String authInfoJoe, int businessInt, int numberOfCopies) {
+		saveServices(authInfoJoe, businessInt, JOE_SERVICE_XML, JOE_SERVICE_KEY, numberOfCopies);
 	}
 	
 	public void deleteJoePublisherService(String authInfoJoe) {
@@ -97,40 +98,48 @@ public class TckBusinessService 
 	}
 
 	
-	public void deleteJoePublisherServices(String authInfoJoe, int numberOfCopies) {
-		deleteServices(authInfoJoe, JOE_SERVICE_KEY, numberOfCopies);
+	public void deleteJoePublisherServices(String authInfoJoe, int businessInt, int numberOfCopies) {
+		deleteServices(authInfoJoe, businessInt,JOE_SERVICE_KEY, numberOfCopies);
 	}
 	
 	public void saveSamSyndicatorService(String authInfoSam) {
 		saveService(authInfoSam, SAM_SERVICE_XML, SAM_SERVICE_KEY);
 	}
 	
-	public void saveSamSyndicatorServices(String authInfoSam, int numberOfCopies) {
-		saveServices(authInfoSam, SAM_SERVICE_XML, SAM_SERVICE_KEY, numberOfCopies);
+	public void saveSamSyndicatorServices(String authInfoSam, int businessInt, int numberOfCopies) {
+		saveServices(authInfoSam, businessInt, SAM_SERVICE_XML, SAM_SERVICE_KEY, numberOfCopies);
 	}
 	
 	public void deleteSamSyndicatorService(String authInfoSam) {
 		deleteService(authInfoSam, SAM_SERVICE_KEY);
 	}
 	
-	public void deleteSamSyndicatorServices(String authInfoSam, int numberOfCopies) {
-		deleteServices(authInfoSam, SAM_SERVICE_KEY, numberOfCopies);
+	public void deleteSamSyndicatorServices(String authInfoSam, int businessInt, int numberOfCopies) {
+		deleteServices(authInfoSam, businessInt, SAM_SERVICE_KEY, numberOfCopies);
 	}
 	
-	public void saveServices(String authInfo, String serviceXML, String serviceKey, int numberOfCopies) {
+	public void saveServices(String authInfo, int businessInt, String serviceXML, String serviceKey, int numberOfCopies) {
+		SaveService ss = null;
 		try {
 			org.uddi.api_v3.BusinessService bsIn = (org.uddi.api_v3.BusinessService)EntityCreator.buildFromDoc(serviceXML, "org.uddi.api_v3");
 			String serviceName = bsIn.getName().get(0).getValue();
 			String bindingKey = bsIn.getBindingTemplates().getBindingTemplate().get(0).getBindingKey();
 			for (int i=0; i<numberOfCopies; i++) {
 			    // save the entity
-				SaveService ss = new SaveService();
+				ss = new SaveService();
 				ss.setAuthInfo(authInfo);
 				bsIn.getName().get(0).setValue(serviceName + "-" + i);
-				
-				bsIn.setServiceKey(serviceKey + "-" + i);
-				bsIn.getBindingTemplates().getBindingTemplate().get(0).setBindingKey(bindingKey + "-" + i);
+				bsIn.setBusinessKey(TckBusiness.JOE_BUSINESS_KEY + "-" + businessInt);
+				bsIn.setServiceKey(serviceKey + "-" + businessInt + "-" + i);
+				bsIn.getBindingTemplates().getBindingTemplate().get(0).setBindingKey(bindingKey + "-" + businessInt + "-" + i);
+				bsIn.getBindingTemplates().getBindingTemplate().get(0).setServiceKey(serviceKey + "-" + businessInt + "-" + i);
 				ss.getBusinessService().add(bsIn);
+				
+				BindingTemplate bt = bsIn.getBindingTemplates().getBindingTemplate().get(0);
+				if (! bt.getServiceKey().equals(serviceKey + "-" + businessInt + "-" + i)) {
+					System.out.println("not the same");
+				}
+				
 				publication.saveService(ss);
 				logger.debug("Add service with key " + bsIn.getServiceKey());
 			}
@@ -223,16 +232,15 @@ public class TckBusinessService 
 		}
 	}
 	
-	public void deleteServices(String authInfo, String serviceKey, int numberOfCopies) {
+	public void deleteServices(String authInfo, int businessInt, String serviceKey, int numberOfCopies) {
 		try {
 			for (int i=0; i<numberOfCopies; i++) {
 				// Delete the entity and make sure it is removed
 				DeleteService ds = new DeleteService();
 				ds.setAuthInfo(authInfo);
-				
-				ds.getServiceKey().add(serviceKey + "-" + i);
+				ds.getServiceKey().add(serviceKey + "-" + businessInt + "-" + i);
 				publication.deleteService(ds);
-				logger.debug("Deleted Service with key " + serviceKey + "-" + i);
+				logger.debug("Deleted Service with key " + businessInt + "-" + serviceKey + "-" + i);
 			}
 		}
 		catch(Exception e) {

Modified: juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceLoadTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceLoadTest.java?rev=1464796&r1=1464795&r2=1464796&view=diff
==============================================================================
--- juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceLoadTest.java (original)
+++ juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceLoadTest.java Fri Apr  5 00:20:47 2013
@@ -27,11 +27,11 @@ public class UDDI_040_BusinessServiceLoa
 		tckTModel.saveJoePublisherTmodel(authInfoJoe);
 		tckBusiness.saveJoePublisherBusiness(authInfoJoe);
 		long startSave = System.currentTimeMillis();
-		tckBusinessService.saveJoePublisherServices(authInfoJoe, numberOfServices);
+		tckBusinessService.saveJoePublisherServices(authInfoJoe, 0, numberOfServices);
 		long saveDuration = System.currentTimeMillis() - startSave;
 		System.out.println("Save " + numberOfServices + " Joes Services Duration=" + saveDuration);
 		long startDelete = System.currentTimeMillis();
-		tckBusinessService.deleteJoePublisherServices(authInfoJoe, numberOfServices);
+		tckBusinessService.deleteJoePublisherServices(authInfoJoe, 0, numberOfServices);
 		long deleteDuration = System.currentTimeMillis() - startDelete;
 		System.out.println("Delete " + numberOfServices + " Joes Services Duration= " + deleteDuration);
 		tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
@@ -43,11 +43,11 @@ public class UDDI_040_BusinessServiceLoa
 		tckTModel.saveSamSyndicatorTmodel(authInfoSam);
 		tckBusiness.saveSamSyndicatorBusiness(authInfoSam);
 		long startSave = System.currentTimeMillis();
-		tckBusinessService.saveSamSyndicatorServices(authInfoSam, numberOfServices);
+		tckBusinessService.saveSamSyndicatorServices(authInfoSam, 0, numberOfServices);
 		long saveDuration = System.currentTimeMillis() - startSave;
 		System.out.println("Save " + numberOfServices + " Sams Services Duration=" + saveDuration);
 		long startDelete = System.currentTimeMillis();
-		tckBusinessService.deleteSamSyndicatorServices(authInfoSam, numberOfServices);
+		tckBusinessService.deleteSamSyndicatorServices(authInfoSam, 0, numberOfServices);
 		long deleteDuration = System.currentTimeMillis() - startDelete;
 		System.out.println("Delete " + numberOfServices + " Sams Services Duration= " + deleteDuration);
 		tckBusiness.deleteSamSyndicatorBusiness(authInfoSam);

Modified: juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindServicesIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindServicesIntegrationTest.java?rev=1464796&r1=1464795&r2=1464796&view=diff
==============================================================================
--- juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindServicesIntegrationTest.java (original)
+++ juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindServicesIntegrationTest.java Fri Apr  5 00:20:47 2013
@@ -123,8 +123,8 @@ public class UDDI_110_FindServicesIntegr
 							+ "found " + size);
 				} else {
 					List<BusinessInfo> biList = bl.getBusinessInfos().getBusinessInfo();
-					if (biList.get(0).getServiceInfos().getServiceInfo().size() != 1) {
-						Assert.fail("Should have found only one ServiceInfo");
+					if (biList.get(0).getServiceInfos().getServiceInfo().size() != 2) {
+						Assert.fail("Should have found two ServiceInfos");
 					} else {
 							List<ServiceInfo> siList = biList.get(0).getServiceInfos().getServiceInfo();
 							ServiceInfo si = siList.get(0);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org