Repository: juddi
Updated Branches:
  refs/heads/master 8f7c669da -> 32fd00534


JUDDI-881 filtering is now togglable, load tests are now performed during junit 
test executing with filtering disabled. For best performance with larger data 
sets, it is recommended to disable this.


Project: http://git-wip-us.apache.org/repos/asf/juddi/repo
Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/32fd0053
Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/32fd0053
Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/32fd0053

Branch: refs/heads/master
Commit: 32fd00534079181b8fef1bfdd2adfab26569c579
Parents: 8f7c669
Author: Alex <[email protected]>
Authored: Thu Dec 25 14:08:54 2014 -0500
Committer: Alex <[email protected]>
Committed: Thu Dec 25 14:08:54 2014 -0500

----------------------------------------------------------------------
 .../en-US/GuideConfigurationServer.asciidoc     |   9 +
 .../apache/juddi/api/impl/InquiryHelper.java    |  55 +++--
 .../java/org/apache/juddi/config/Property.java  |   6 +
 .../impl/API_040_BusinessServiceLoadTest.java   |  18 +-
 .../api/impl/API_050_BindingTemplateTest.java   | 237 +++++++++++--------
 .../apache/juddi/api/impl/API_099_LoadTest.java |   6 +
 .../apache/juddi/v3/tck/TckBindingTemplate.java |   4 +-
 .../uddi_data/joepublisher/bindingTemplate.xml  |   1 +
 8 files changed, 216 insertions(+), 120 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/docs/asciidoc/Guide/en-US/GuideConfigurationServer.asciidoc
----------------------------------------------------------------------
diff --git a/docs/asciidoc/Guide/en-US/GuideConfigurationServer.asciidoc 
b/docs/asciidoc/Guide/en-US/GuideConfigurationServer.asciidoc
index fbe195e..965a67b 100644
--- a/docs/asciidoc/Guide/en-US/GuideConfigurationServer.asciidoc
+++ b/docs/asciidoc/Guide/en-US/GuideConfigurationServer.asciidoc
@@ -156,7 +156,16 @@ Logging properties that can be referenced in the 
_juddiv3.xml_ file.
 |_juddi/logging/logInquirySearchPayloads| Enables request payload logging for 
the Inquiry Find apis    |N| false
 
|===========================================================================================
 
+=== Performance
 
+.These properties are used to enable or disable certain capabilities based on 
performance considerations
+
+Perofrmance properties are referenced in the _juddiv3.xm_ file.
+[options="header"]
+|===========================================================================================
+|Property Name                                 |Description         |Required  
   |Default Value or [Example Value]
+|_juddi/performance/enableFindBusinessTModelBagFiltering| UDDI defines a 
mechansim to filter findBusiness relates based on tModelInstanceInfo within 
their service's binding templates. This is an expensive operation and will 
cause significant performance degredation on larger registries. For spec 
complliance, it should be set to true. We suspect it's not a commonly used 
feature and recommend setting this to false.    |N| true
+|===========
 
 === Deploying two or more jUDDI server on the same application server
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java 
b/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
index af5e6ee..90e4eb8 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
@@ -19,12 +19,17 @@ package org.apache.juddi.api.impl;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.persistence.EntityManager;
 import javax.xml.ws.Holder;
+import org.apache.commons.configuration.ConfigurationException;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.config.AppConfig;
+import org.apache.juddi.config.Property;
 import org.apache.juddi.mapping.MappingModelToApi;
 import org.apache.juddi.query.FetchBindingTemplatesQuery;
 import org.apache.juddi.query.FetchBusinessEntitiesQuery;
@@ -226,28 +231,36 @@ public class InquiryHelper {
 
                // 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);
-                       }
+                
+                boolean enabled = true;
+                try {
+                        
AppConfig.getConfiguration().getBoolean(Property.JUDDI_ENABLE_FIND_BUSINESS_TMODEL_BAG_FILTERING,
 true);
+                } catch (ConfigurationException ex) {
+                        logger.error(ex);
+                }
+                if (enabled) {
+                        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);
+                                }
+                        }
                 }
-
                 
                 
                if (queryResults != null && queryResults.size() > 0)

http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/juddi-core/src/main/java/org/apache/juddi/config/Property.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/config/Property.java 
b/juddi-core/src/main/java/org/apache/juddi/config/Property.java
index 2960c5c..ae8b355 100644
--- a/juddi-core/src/main/java/org/apache/juddi/config/Property.java
+++ b/juddi-core/src/main/java/org/apache/juddi/config/Property.java
@@ -190,4 +190,10 @@ public interface Property {
      * @since 3.2.1
      */
     public final static String JUDDI_LOGGING_FindApiCalls = 
"juddi.logging.logInquirySearchPayloads";
+    /**
+     * The UDDI v3 spec specifically calls for supporting this, however it 
creates significant performance problems in jUDDI when there
+     * are a large number of business and services. Defaults to true if not 
defined
+     * @since 3.3
+     */
+        public static String 
JUDDI_ENABLE_FIND_BUSINESS_TMODEL_BAG_FILTERING="juddi.preformance.enableFindBusinessTModelBagFiltering";
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
 
b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
index 20f1e94..9062a79 100644
--- 
a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
+++ 
b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceLoadTest.java
@@ -20,6 +20,8 @@ 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.config.AppConfig;
+import org.apache.juddi.config.Property;
 import org.apache.juddi.query.util.FindQualifiers;
 import org.apache.juddi.v3.tck.TckBusiness;
 import org.apache.juddi.v3.tck.TckBusinessService;
@@ -29,6 +31,7 @@ import org.apache.juddi.v3.tck.TckTModel;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.uddi.api_v3.BusinessList;
 import org.uddi.api_v3.FindBusiness;
@@ -82,8 +85,14 @@ public class API_040_BusinessServiceLoadTest
         }
         
        @Test
-       public void find20Businesses() throws DispositionReportFaultMessage {
-               tckTModel.saveJoePublisherTmodel(authInfoJoe);
+        //@Ignore
+       public void find20Businesses() throws DispositionReportFaultMessage, 
ConfigurationException {
+                //disable TModelBag filtering
+                logger.info("Disabling findBusiness tModelBag filtering....");
+                
AppConfig.getConfiguration().setProperty(Property.JUDDI_ENABLE_FIND_BUSINESS_TMODEL_BAG_FILTERING,
 false);
+                logger.info("findBusiness tModelBag filtering is enabled: " + 
+                
AppConfig.getConfiguration().getProperty(Property.JUDDI_ENABLE_FIND_BUSINESS_TMODEL_BAG_FILTERING));
+                tckTModel.saveJoePublisherTmodel(authInfoJoe);
                long startSave = System.currentTimeMillis();
                //loading up 100 businesses, with a 100 services each
                tckBusiness.saveJoePublisherBusinesses(authInfoJoe, 
numberOfBusinesses);
@@ -92,7 +101,7 @@ public class API_040_BusinessServiceLoadTest
                }
                long saveDuration = System.currentTimeMillis() - startSave;
                System.out.println("Saved " + numberOfBusinesses + " businesses 
with each " + numberOfServices + " services in " + saveDuration + "ms");
-               
+               System.out.println("Tiggering findBusiness query...");
                //find 20 businesses by name
                FindBusiness fb = new FindBusiness();
                org.uddi.api_v3.FindQualifiers apiFq = new 
org.uddi.api_v3.FindQualifiers();
@@ -109,7 +118,7 @@ public class API_040_BusinessServiceLoadTest
                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);
-                               
+               System.out.println("Tiggering findService query...");           
                FindService fs = new FindService();
                fs.setFindQualifiers(apiFq);
                name.setValue("Service One%");
@@ -122,6 +131,7 @@ public class API_040_BusinessServiceLoadTest
                findDuration = System.currentTimeMillis() - startFind;
                System.out.println("Find " + all + " services took "  +  
findDuration + "ms. Size=" + 
serviceList.getServiceInfos().getServiceInfo().size());
 
+                System.out.println("Tiggering deletion...");
                long startDelete = System.currentTimeMillis();
                for (int i=0; i<numberOfBusinesses; i++) {
                        
tckBusinessService.deleteJoePublisherServices(authInfoJoe, i, numberOfServices);

http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
 
b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
index 6f3dfda..f8c679d 100644
--- 
a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
+++ 
b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
@@ -32,110 +32,161 @@ import org.apache.juddi.v3.tck.TckTModel;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
+import org.uddi.api_v3.BindingDetail;
 import org.uddi.api_v3.FindBinding;
 import org.uddi.api_v3.FindTModel;
 import org.uddi.api_v3.IdentifierBag;
 import org.uddi.api_v3.KeyedReference;
+import org.uddi.api_v3.TModelBag;
 import org.uddi.v3_service.UDDISecurityPortType;
 
 /**
  * @author <a href="mailto:[email protected]";>Jeff Faath</a>
  * @author <a href="mailto:[email protected]";>Kurt T Stam</a>
  */
-public class API_050_BindingTemplateTest 
-{
-       private static Log logger                             = 
LogFactory.getLog(API_050_BindingTemplateTest.class);
-       
-       private static API_010_PublisherTest api010           = new 
API_010_PublisherTest();
-       private static TckTModel tckTModel                    = new 
TckTModel(new UDDIPublicationImpl(), new UDDIInquiryImpl());
-       private static TckBusiness tckBusiness                = new 
TckBusiness(new UDDIPublicationImpl(), new UDDIInquiryImpl());
-       private static TckBusinessService tckBusinessService  = new 
TckBusinessService(new UDDIPublicationImpl(), new UDDIInquiryImpl());
-       private static TckBindingTemplate tckBindingTemplate  = new 
TckBindingTemplate(new UDDIPublicationImpl(), new UDDIInquiryImpl());
-       private static TckFindEntity tckFindEntity            = new 
TckFindEntity(new UDDIInquiryImpl());
-       
-       private static String authInfoJoe                 = null;
-       
-       @BeforeClass
-       public static void setup() throws ConfigurationException {
-               Registry.start();
-               logger.debug("Getting auth token..");
-               try {
-                       api010.saveJoePublisher();
-                       authInfoJoe = TckSecurity.getAuthToken(new 
UDDISecurityImpl(), TckPublisher.getJoePublisherId(),  
TckPublisher.getJoePassword());
-                       UDDISecurityPortType security      = new 
UDDISecurityImpl();
-                       String authInfoUDDI  = 
TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(),  
TckPublisher.getUDDIPassword());
-                       tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
-                       tckTModel.saveTModels(authInfoUDDI, 
TckTModel.TMODELS_XML);
-               } catch (RemoteException e) {
-                       logger.error(e.getMessage(), e);
-                       Assert.fail("Could not obtain authInfo token.");
-               }
-       }
-
-       @AfterClass
-       public static void stopRegistry() throws ConfigurationException {
-               Registry.stop();
-       }
-       
-       @Test
-       public void joepublisher() {
-               try {
-                       tckTModel.saveJoePublisherTmodel(authInfoJoe);
-                       tckBusiness.saveJoePublisherBusiness(authInfoJoe);
-                       tckBusinessService.saveJoePublisherService(authInfoJoe);
-                       tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
-                       
tckBindingTemplate.deleteJoePublisherBinding(authInfoJoe);
-               } finally {
-                       
tckBusinessService.deleteJoePublisherService(authInfoJoe);
-                       tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
-                       tckTModel.deleteJoePublisherTmodel(authInfoJoe);
-               }
-       }
-       
-       @Test
-       public void testSearchBinding() {
-               try {
-                       tckTModel.saveJoePublisherTmodel(authInfoJoe);
-                       tckBusiness.saveJoePublisherBusiness(authInfoJoe);
-                       tckBusinessService.saveJoePublisherService(authInfoJoe);
-                       
-                       
tckFindEntity.findServiceDetail("uddi:uddi.joepublisher.com:serviceone");
-                       tckBindingTemplate.deleteBinding(authInfoJoe, 
"uddi:uddi.joepublisher.com:bindingone");
-                       String serviceKey = tckFindEntity.findService(null);
-                       tckFindEntity.findServiceDetail(serviceKey);
-                       
-                       tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
-                       
-                       serviceKey = tckFindEntity.findService(null);
-                       tckFindEntity.findServiceDetail(serviceKey);
-                       
-                       
tckBindingTemplate.deleteJoePublisherBinding(authInfoJoe);
-                       
-                       tckFindEntity.findService(null);
-                       tckFindEntity.findServiceDetail(serviceKey);
-               } finally {
-                       
tckBusinessService.deleteJoePublisherService(authInfoJoe);
-                       tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
-                       tckTModel.deleteJoePublisherTmodel(authInfoJoe);
-               }
-       }
+public class API_050_BindingTemplateTest {
+
+        private static Log logger = 
LogFactory.getLog(API_050_BindingTemplateTest.class);
+
+        private static API_010_PublisherTest api010 = new 
API_010_PublisherTest();
+        private static TckTModel tckTModel = new TckTModel(new 
UDDIPublicationImpl(), new UDDIInquiryImpl());
+        private static TckBusiness tckBusiness = new TckBusiness(new 
UDDIPublicationImpl(), new UDDIInquiryImpl());
+        private static TckBusinessService tckBusinessService = new 
TckBusinessService(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+        private static TckBindingTemplate tckBindingTemplate = new 
TckBindingTemplate(new UDDIPublicationImpl(), new UDDIInquiryImpl());
+        private static TckFindEntity tckFindEntity = new TckFindEntity(new 
UDDIInquiryImpl());
+
+        private static String authInfoJoe = null;
+
+        @BeforeClass
+        public static void setup() throws ConfigurationException {
+                Registry.start();
+                logger.debug("Getting auth token..");
+                try {
+                        api010.saveJoePublisher();
+                        authInfoJoe = TckSecurity.getAuthToken(new 
UDDISecurityImpl(), TckPublisher.getJoePublisherId(), 
TckPublisher.getJoePassword());
+                        UDDISecurityPortType security = new UDDISecurityImpl();
+                        String authInfoUDDI = 
TckSecurity.getAuthToken(security, TckPublisher.getUDDIPublisherId(), 
TckPublisher.getUDDIPassword());
+                        tckTModel.saveUDDIPublisherTmodel(authInfoUDDI);
+                        tckTModel.saveTModels(authInfoUDDI, 
TckTModel.TMODELS_XML);
+                } catch (RemoteException e) {
+                        logger.error(e.getMessage(), e);
+                        Assert.fail("Could not obtain authInfo token.");
+                }
+        }
+
+        @AfterClass
+        public static void stopRegistry() throws ConfigurationException {
+                Registry.stop();
+        }
+
+        @Test
+        public void joepublisher() {
+                try {
+                        tckTModel.saveJoePublisherTmodel(authInfoJoe);
+                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
+                        
tckBusinessService.saveJoePublisherService(authInfoJoe);
+                        
tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
+                        
tckBindingTemplate.deleteJoePublisherBinding(authInfoJoe);
+                } finally {
+                        
tckBusinessService.deleteJoePublisherService(authInfoJoe);
+                        tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+                        tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+                }
+        }
+
+        @Test
+        public void testSearchBinding() {
+                try {
+                        tckTModel.saveJoePublisherTmodel(authInfoJoe);
+                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
+                        
tckBusinessService.saveJoePublisherService(authInfoJoe);
+
+                        
tckFindEntity.findServiceDetail("uddi:uddi.joepublisher.com:serviceone");
+                        tckBindingTemplate.deleteBinding(authInfoJoe, 
"uddi:uddi.joepublisher.com:bindingone");
+                        String serviceKey = tckFindEntity.findService(null);
+                        tckFindEntity.findServiceDetail(serviceKey);
+
+                        
tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
+
+                        serviceKey = tckFindEntity.findService(null);
+                        tckFindEntity.findServiceDetail(serviceKey);
+
+                        
tckBindingTemplate.deleteJoePublisherBinding(authInfoJoe);
+
+                        tckFindEntity.findService(null);
+                        tckFindEntity.findServiceDetail(serviceKey);
+                } finally {
+                        
tckBusinessService.deleteJoePublisherService(authInfoJoe);
+                        tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+                        tckTModel.deleteJoePublisherTmodel(authInfoJoe);
+                }
+        }
+
         /**
-         * https://issues.apache.org/jira/browse/JUDDI-728
-         * @throws Exception 
+         * https://issues.apache.org/jira/browse/JUDDI-728 Inquiry NPE on
+         * find_binding
+         *
+         * @throws Exception
          */
-    @Test
-    public void testJUDDI_728() throws Exception {
-        UDDIInquiryImpl inquiry = new UDDIInquiryImpl();
-        FindBinding fb = new FindBinding();
-        fb.setAuthInfo(authInfoJoe);
-        org.uddi.api_v3.FindQualifiers fq = new 
org.uddi.api_v3.FindQualifiers();
-        fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
-        fb.setFindQualifiers(fq);
-        fb.setFindTModel(new FindTModel());
-        fb.getFindTModel().setIdentifierBag(new IdentifierBag());
-        fb.getFindTModel().getIdentifierBag().getKeyedReference().add(new 
KeyedReference(WSDMQosConstants.METRIC_FAULT_COUNT_KEY, "%", "%"));
-        inquiry.findBinding(fb);
-    }
-}
+        @Test
+        public void testJUDDI_728() throws Exception {
+                UDDIInquiryImpl inquiry = new UDDIInquiryImpl();
+                FindBinding fb = new FindBinding();
+                fb.setAuthInfo(authInfoJoe);
+                org.uddi.api_v3.FindQualifiers fq = new 
org.uddi.api_v3.FindQualifiers();
+                fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+                fb.setFindQualifiers(fq);
+                fb.setFindTModel(new FindTModel());
+                fb.getFindTModel().setIdentifierBag(new IdentifierBag());
+                
fb.getFindTModel().getIdentifierBag().getKeyedReference().add(new 
KeyedReference(WSDMQosConstants.METRIC_FAULT_COUNT_KEY, "%", "%"));
+                inquiry.findBinding(fb);
+        }
+
+        /**
+         * https://issues.apache.org/jira/browse/JUDDI-899 findBinding by
+         * category bag doesn't work
+         *
+         * @throws Exception
+         */
+        @Test
+        //@Ignore
+        public void testJUDDI_899() throws Exception {
+                UDDIInquiryImpl inquiry = new UDDIInquiryImpl();
+
+                FindBinding fb = new FindBinding();
+                fb.setAuthInfo(authInfoJoe);
+
+                fb.setTModelBag(new TModelBag());
+                //this is stored in joe's binding template
+                
fb.getTModelBag().getTModelKey().add("uddi:uddi.org:protocol:serverauthenticatedssl3");
 
+                BindingDetail findBinding = inquiry.findBinding(fb);
+                Assert.assertNotNull(findBinding);
+                Assert.assertNotNull(findBinding.getBindingTemplate());
+                Assert.assertFalse(findBinding.getBindingTemplate().isEmpty());
+           
+                        for (int i = 0; i < 
findBinding.getBindingTemplate().size(); i++) {
+                                if 
(findBinding.getBindingTemplate().get(i).getBindingKey().equals(TckBindingTemplate.JOE_BINDING_KEY))
 {
+                                        return;
+                                }
+                        }
+                        
+              /*  if (findBinding.isTruncated()==null) {
+                        findBinding.setTruncated(false);
+                }
+                //support for paging
+                while (!findBinding.isTruncated() && 
!findBinding.getBindingTemplate().isEmpty()) {
+                       
+                        findBinding = inquiry.findBinding(fb);
+                        Assert.assertNotNull(findBinding);
+                        
+                         if (findBinding.isTruncated()) {
+                        findBinding.setTruncated(false);
+                }
+                }
+
+                Assert.fail("The expected service wasn't returned");*/
+        }
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java
----------------------------------------------------------------------
diff --git 
a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java 
b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java
index ccd388f..af04f0a 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_099_LoadTest.java
@@ -34,6 +34,7 @@ import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.uddi.api_v3.FindBusiness;
 import org.uddi.api_v3.FindQualifiers;
@@ -81,6 +82,11 @@ public class API_099_LoadTest {
                 Registry.stop();
         }
 
+        /**
+         * create 1000 subscriptions
+         * @throws Exception 
+         */
+        //@Ignore
         @Test
         public void joePublisher() throws Exception {
                 //Assume.assumeTrue(TckPublisher.isLoadTest());

http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBindingTemplate.java
----------------------------------------------------------------------
diff --git 
a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBindingTemplate.java 
b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBindingTemplate.java
index 032e8ef..bb4e836 100644
--- 
a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBindingTemplate.java
+++ 
b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckBindingTemplate.java
@@ -35,8 +35,8 @@ import org.uddi.v3_service.UDDIPublicationPortType;
  */
 public class TckBindingTemplate 
 {
-       final static String JOE_BINDING_XML               = 
"uddi_data/joepublisher/bindingTemplate.xml";
-    final static String JOE_BINDING_KEY               = 
"uddi:uddi.joepublisher.com:bindingtwo";
+       public final static String JOE_BINDING_XML               = 
"uddi_data/joepublisher/bindingTemplate.xml";
+   public final static String JOE_BINDING_KEY               = 
"uddi:uddi.joepublisher.com:bindingtwo";
   
        private Log logger = LogFactory.getLog(this.getClass());
        private UDDIPublicationPortType publication = null;

http://git-wip-us.apache.org/repos/asf/juddi/blob/32fd0053/uddi-tck-base/src/main/resources/uddi_data/joepublisher/bindingTemplate.xml
----------------------------------------------------------------------
diff --git 
a/uddi-tck-base/src/main/resources/uddi_data/joepublisher/bindingTemplate.xml 
b/uddi-tck-base/src/main/resources/uddi_data/joepublisher/bindingTemplate.xml
index 01dd781..983e864 100644
--- 
a/uddi-tck-base/src/main/resources/uddi_data/joepublisher/bindingTemplate.xml
+++ 
b/uddi-tck-base/src/main/resources/uddi_data/joepublisher/bindingTemplate.xml
@@ -19,6 +19,7 @@
   <description xml:lang="en">This is the secure access point for service 
one</description>
   <accessPoint 
useType="endPoint">https://businessone.com/services/serviceone</accessPoint>
   <tModelInstanceDetails>
+      <!-- required for JUDDI_899 -->
     <tModelInstanceInfo 
tModelKey="uddi:uddi.org:protocol:serverauthenticatedssl3"/>
   </tModelInstanceDetails>
   <categoryBag>


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

Reply via email to