You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2014/01/06 03:18:39 UTC

svn commit: r1555648 [3/13] - in /juddi/trunk: ./ docs/examples/auth/ juddi-client/src/main/java/org/apache/juddi/v3/client/config/ juddi-core-openjpa/ juddi-core/src/main/java/org/apache/juddi/api/impl/ juddi-core/src/main/java/org/apache/juddi/subscr...

Modified: juddi/trunk/juddi-core/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/resources/messages.properties?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/resources/messages.properties (original)
+++ juddi/trunk/juddi-core/src/main/resources/messages.properties Mon Jan  6 02:18:37 2014
@@ -104,6 +104,10 @@ errors.savebinding.NoInput=At least one 
 errors.saveclientsubscriptionKey.NoInput=The SubscriptionKey must be provided
 errors.saveClerk.NoInput=At least one Clerk must be provided
 errors.saveNodes.NoInput=At least one Node must be provided
+errors.deleteNode.NoInput=A node id must be specified
+errors.deleteNode.NotFound=The specified node if could not be found.
+errors.deleteClerk.NoInput=A clerk id must be specified
+errors.deleteClerk.NotFound=The specified clerk if could not be found.
 errors.savetmodel.NoInput=At least one tModel must be provided
 errors.addpublisherassertions.NoInput=At least one publisherAssertion must be provided
 errors.businessentity.NullInput=The businessEntity structure cannot be blank
@@ -150,6 +154,7 @@ errors.tmodel.ReferencedKeyDoesNotExist=
 errors.tmodel.ReferentialIntegrityNullConfig=Configuration object is null, I won't be able to process referential integrity checks on tmodel keys
 errors.tmodel.ReferentialIntegrityNullEM=The entity manager is null, I won't be able to process referential integrity checks on tmodel keys
 
+
 errors.contacts.NoInput=At least one contact is required
 errors.contact.NullInput=The contact structure cannot be blank
 errors.contact.NoPersonName=The contact structure must contain at least one personName
@@ -206,6 +211,9 @@ errors.getsubscriptionresult.NonMatching
 errors.getsubscriptionresult.ExpiredChunkToken=The provided chunk token has expired
 errors.subscriptionnotifier.client=Client did not receive notification data
 errors.getregisteredinfo.NoInfoSelection=The infoSelection argument is required
+errors.valuesetvalidation.invalidcontent=The content for tModel value is invalid according to the valid value set defined.
+errors.valuesetvalidation.invalidurl=The URL for validating a checked tModel value is invalid or empty
+errors.valuesetvalidation.noinput=No input was provided
 
 #-- jUDDI-specific API messages
 errors.AdminReqd=An account must have administrative privileges to perform this function
@@ -234,6 +242,7 @@ errors.node.NoSUBL=A subscription listen
 errors.node.NoSUB=A subscription url was not specified
 errors.node.NoProxy=A transport proxy class must be specified. If you're not sure, use 'org.apache.juddi.v3.client.transport.JAXWSTransport'
 errors.node.illegalProxyTransport=The transport proxy class is invalid. If you're not sure, use 'org.apache.juddi.v3.client.transport.JAXWSTransport'
+errors.node.NoRMIData=When using org.apache.juddi.v3.client.transport.RMITransport the factory settings must be specified
 
 #-- Authentication error messages
 errors.auth.AuthRequired=Authentication is required for this API call

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_010_PublisherTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_010_PublisherTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_010_PublisherTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_010_PublisherTest.java Mon Jan  6 02:18:37 2014
@@ -42,195 +42,204 @@ import org.uddi.v3_service.DispositionRe
 import org.uddi.v3_service.UDDISecurityPortType;
 
 /**
- * This test is jUDDI specific, as the publisher methods are an extension
- * to the UDDI api.
+ * This test is jUDDI specific, as the publisher methods are an extension to the
+ * UDDI api.
+ *
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
+ * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
  */
 public class API_010_PublisherTest {
-    
-    private static Log logger = LogFactory.getLog(API_010_PublisherTest.class);
-    
-    private JUDDIApiImpl publisher  = new JUDDIApiImpl();
-	private UDDISecurityPortType security = new UDDISecurityImpl();
-	private static String authInfo = null;
-	
-	@BeforeClass
-	public static void startRegistry() throws ConfigurationException {
-		Registry.start();
-	}
-	
-	@AfterClass
-	public static void stopRegistry() throws ConfigurationException {
-		Registry.stop();
-	}
-	
-	@Test
-	public void testJoePublisher() {
-		//We can only test this if the publisher is not there already.
-		//If it already there is probably has foreign key relationships.
-		//This test should really only run on an empty database. Seed
-		//data will be added if the root publisher is missing.
-		if (!isExistPublisher(TckPublisher.getJoePublisherId())) {
-			saveJoePublisher();
-			deleteJoePublisher();
-		}
-	}
-	
-	@Test
-	public void testSamSyndicator() {
-		//We can only test this if the publisher is not there already.
-		if (!isExistPublisher(TckPublisher.getSamPublisherId())) {
-			saveSamSyndicator();
-			deleteSamSyndicator();
-		}
-	}
-	/**
-	 * Persists Joe Publisher to the database.
-	 * @return - true if the published did not exist already, 
-	 * 		   - false in all other cases.
-	 */
-	public boolean saveJoePublisher() {
-		if (!isExistPublisher(TckPublisher.getJoePublisherId())) {
-			savePublisher(TckPublisher.getJoePublisherId(), TckPublisher.JOE_PUBLISHER_XML);
-			return true;
-		} else {
-			return false;
-		}
-	}
-	/**
-	 * Persists Mary Publisher to the database.
-	 * @return - true if the published did not exist already, 
-	 * 		   - false in all other cases.
-	 */
-	public boolean saveMaryPublisher() {
-		if (!isExistPublisher(TckPublisher.getMaryPublisherId())) {
-			savePublisher(TckPublisher.getMaryPublisherId(), TckPublisher.MARY_PUBLISHER_XML);
-			return true;
-		} else {
-			return false;
-		}
-	}
-	/**
-	 * Removes Joe Publisher from the database, this will fail if there
-	 * are child objects attached; think Services etc.
-	 */
-	public void deleteJoePublisher() {
-		deletePublisher(TckPublisher.getJoePublisherId());
-	}
-	/**
-	 * Persists Sam Syndicator to the database.
-	 * @return publisherId
-	 */
-	public String saveSamSyndicator() {
-		if (!isExistPublisher(TckPublisher.getSamPublisherId())) {
-			savePublisher(TckPublisher.getSamPublisherId(), TckPublisher.SAM_SYNDICATOR_XML);
-		}
-		return TckPublisher.getSamPublisherId();
-	}
-	/**
-	 * Removes Sam Syndicator from the database, this will fail if there
-	 * are child objects attached; think Services etc.
-	 */
-	public void deleteSamSyndicator() {
-		deletePublisher(TckPublisher.getSamPublisherId());
-	}
-	
-	
-	private void savePublisher(String publisherId, String publisherXML) {
-		try {
-			String rootPublisherStr = AppConfig.getConfiguration().getString(Property.JUDDI_ROOT_PUBLISHER);
-			authInfo = TckSecurity.getAuthToken(security, rootPublisherStr, "");
-			logger.debug("Saving new publisher: " + publisherXML);
-			SavePublisher sp = new SavePublisher();
-			sp.setAuthInfo(authInfo);
-			Publisher pubIn = (Publisher)EntityCreator.buildFromDoc(publisherXML, EntityCreator.JUDDIv3_Package);
-			sp.getPublisher().add(pubIn);
-			publisher.savePublisher(sp);
-	
-			// Now get the entity and check the values
-			GetPublisherDetail gp = new GetPublisherDetail();
-			gp.getPublisherId().add(publisherId);
-			gp.setAuthInfo(authInfo);
-			PublisherDetail pd = publisher.getPublisherDetail(gp);
-			List<Publisher> pubOutList = pd.getPublisher();
-			Publisher pubOut = pubOutList.get(0);
-
-			assertEquals(pubIn.getAuthorizedName(), pubOut.getAuthorizedName());
-			assertEquals(pubIn.getPublisherName(), pubOut.getPublisherName());
-			assertEquals(pubIn.getEmailAddress(), pubOut.getEmailAddress());
-			assertEquals(pubIn.getIsAdmin(), pubOut.getIsAdmin());
-			assertEquals(pubIn.getIsEnabled(), pubOut.getIsEnabled());
-			assertEquals(pubIn.getMaxBindingsPerService(), pubOut.getMaxBindingsPerService());
-			assertEquals(pubIn.getMaxBusinesses(), pubOut.getMaxBusinesses());
-			assertEquals(pubIn.getMaxServicePerBusiness(), pubOut.getMaxServicePerBusiness());
-			assertEquals(pubIn.getMaxTModels(), pubOut.getMaxTModels());
-			
-			logger.debug("Querying for publisher: " + publisherXML);
-			//Querying for this publisher to make sure it's really gone
-			//We're expecting a invalid Key exception at this point.
-			PublisherDetail pdBeforeDelete =null;
-			try {
-				pdBeforeDelete = publisher.getPublisherDetail(gp);
-				Assert.assertNotNull(pdBeforeDelete);
-			} catch (InvalidKeyPassedException e) {
-				Assert.fail("We expected to find publisher " + publisherXML);
-			}
-			
-		} catch(Exception e) {
-			logger.error(e.getMessage(), e);
-			Assert.fail("No exception should be thrown");
-		}
-	}
-	
-	private void deletePublisher(String publisherId) {
-		try {
-			String rootPublisherStr = AppConfig.getConfiguration().getString(Property.JUDDI_ROOT_PUBLISHER);
-			authInfo = TckSecurity.getAuthToken(security, rootPublisherStr, "");
-			logger.debug("Delete publisher: " + publisherId);
-			//Now deleting this publisher
-			DeletePublisher dp = new DeletePublisher();
-			dp.setAuthInfo(authInfo);
-			dp.getPublisherId().add(publisherId);
-			publisher.deletePublisher(dp);
-			
-			logger.info("Querying for publisher: " + publisherId + " after deletion.");
-			//Querying for this publisher to make sure it's really gone
-			//We're expecting a invalid Key exception at this point.
-			GetPublisherDetail gp = new GetPublisherDetail();
-			gp.getPublisherId().add(publisherId);
-			gp.setAuthInfo(authInfo);
-			PublisherDetail pdAfterDelete =null;
-			try {
-				pdAfterDelete = publisher.getPublisherDetail(gp);
-				Assert.fail("We did not expect to find this publisher anymore.");
-			} catch (InvalidKeyPassedException e) {
-				Assert.assertNull(pdAfterDelete);
-			}
-			
-		} catch(Exception e) {
-			logger.error(e.getMessage(), e);
-			Assert.fail("No exception should be thrown");
-		}
-	}
-	
-	private boolean isExistPublisher(String publisherId) {
-		GetPublisherDetail gp = new GetPublisherDetail();
-		gp.getPublisherId().add(publisherId);
-		try {
-			publisher.getPublisherDetail(gp);
-			return true;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-	
-	protected String authInfoJoe() throws RemoteException, DispositionReportFaultMessage {
-		return TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-	}
-	
-	protected String authInfoSam() throws RemoteException,  DispositionReportFaultMessage {
-		return TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
-	}
-	
+
+        private static Log logger = LogFactory.getLog(API_010_PublisherTest.class);
+        private JUDDIApiImpl publisher = new JUDDIApiImpl();
+        private UDDISecurityPortType security = new UDDISecurityImpl();
+        
+
+        @BeforeClass
+        public static void startRegistry() throws ConfigurationException {
+                Registry.start();
+        }
+
+        @AfterClass
+        public static void stopRegistry() throws ConfigurationException {
+                Registry.stop();
+        }
+
+        @Test
+        public void testJoePublisher() {
+                //We can only test this if the publisher is not there already.
+                //If it already there is probably has foreign key relationships.
+                //This test should really only run on an empty database. Seed
+                //data will be added if the root publisher is missing.
+                if (!isExistPublisher(TckPublisher.getJoePublisherId())) {
+                        saveJoePublisher();
+                        deleteJoePublisher();
+                }
+        }
+
+        @Test
+        public void testSamSyndicator() {
+                //We can only test this if the publisher is not there already.
+                if (!isExistPublisher(TckPublisher.getSamPublisherId())) {
+                        saveSamSyndicator();
+                        deleteSamSyndicator();
+                }
+        }
+
+        /**
+         * Persists Joe Publisher to the database.
+         *
+         * @return - true if the published did not exist already, - false in all
+         * other cases.
+         */
+        public boolean saveJoePublisher() {
+                if (!isExistPublisher(TckPublisher.getJoePublisherId())) {
+                        savePublisher(TckPublisher.getJoePublisherId(), TckPublisher.JOE_PUBLISHER_XML);
+                        return true;
+                } else {
+                        return false;
+                }
+        }
+
+        /**
+         * Persists Mary Publisher to the database.
+         *
+         * @return - true if the published did not exist already, - false in all
+         * other cases.
+         */
+        public boolean saveMaryPublisher() {
+                if (!isExistPublisher(TckPublisher.getMaryPublisherId())) {
+                        savePublisher(TckPublisher.getMaryPublisherId(), TckPublisher.MARY_PUBLISHER_XML);
+                        return true;
+                } else {
+                        return false;
+                }
+        }
+
+        /**
+         * Removes Joe Publisher from the database, this will fail if there are
+         * child objects attached; think Services etc.
+         */
+        public void deleteJoePublisher() {
+                deletePublisher(TckPublisher.getJoePublisherId());
+        }
+
+        /**
+         * Persists Sam Syndicator to the database.
+         *
+         * @return publisherId
+         */
+        public String saveSamSyndicator() {
+                if (!isExistPublisher(TckPublisher.getSamPublisherId())) {
+                        savePublisher(TckPublisher.getSamPublisherId(), TckPublisher.SAM_SYNDICATOR_XML);
+                }
+                return TckPublisher.getSamPublisherId();
+        }
+
+        /**
+         * Removes Sam Syndicator from the database, this will fail if there are
+         * child objects attached; think Services etc.
+         */
+        public void deleteSamSyndicator() {
+                deletePublisher(TckPublisher.getSamPublisherId());
+        }
+
+        private void savePublisher(String publisherId, String publisherXML) {
+                try {
+                        String rootPublisherStr = AppConfig.getConfiguration().getString(Property.JUDDI_ROOT_PUBLISHER);
+                        logger.info("savePublisher as " + rootPublisherStr);
+                        String authInfo = TckSecurity.getAuthToken(security, rootPublisherStr, "");
+                        logger.debug("Saving new publisher: " + publisherXML);
+                        SavePublisher sp = new SavePublisher();
+                        sp.setAuthInfo(authInfo);
+                        Publisher pubIn = (Publisher) EntityCreator.buildFromDoc(publisherXML, EntityCreator.JUDDIv3_Package);
+                        sp.getPublisher().add(pubIn);
+                        publisher.savePublisher(sp);
+
+                        // Now get the entity and check the values
+                        GetPublisherDetail gp = new GetPublisherDetail();
+                        gp.getPublisherId().add(publisherId);
+                        gp.setAuthInfo(authInfo);
+                        PublisherDetail pd = publisher.getPublisherDetail(gp);
+                        List<Publisher> pubOutList = pd.getPublisher();
+                        Publisher pubOut = pubOutList.get(0);
+
+                        assertEquals(pubIn.getAuthorizedName(), pubOut.getAuthorizedName());
+                        assertEquals(pubIn.getPublisherName(), pubOut.getPublisherName());
+                        assertEquals(pubIn.getEmailAddress(), pubOut.getEmailAddress());
+                        assertEquals(pubIn.getIsAdmin(), pubOut.getIsAdmin());
+                        assertEquals(pubIn.getIsEnabled(), pubOut.getIsEnabled());
+                        assertEquals(pubIn.getMaxBindingsPerService(), pubOut.getMaxBindingsPerService());
+                        assertEquals(pubIn.getMaxBusinesses(), pubOut.getMaxBusinesses());
+                        assertEquals(pubIn.getMaxServicePerBusiness(), pubOut.getMaxServicePerBusiness());
+                        assertEquals(pubIn.getMaxTModels(), pubOut.getMaxTModels());
+
+                        logger.debug("Querying for publisher: " + publisherXML);
+                        //Querying for this publisher to make sure it's really gone
+                        //We're expecting a invalid Key exception at this point.
+                        PublisherDetail pdBeforeDelete = null;
+                        try {
+                                pdBeforeDelete = publisher.getPublisherDetail(gp);
+                                Assert.assertNotNull(pdBeforeDelete);
+                        } catch (InvalidKeyPassedException e) {
+                                Assert.fail("We expected to find publisher " + publisherXML);
+                        }
+
+                } catch (Exception e) {
+                        logger.error(e.getMessage(), e);
+                        Assert.fail("No exception should be thrown");
+                }
+        }
+
+        private void deletePublisher(String publisherId) {
+                try {
+                        String rootPublisherStr = AppConfig.getConfiguration().getString(Property.JUDDI_ROOT_PUBLISHER);
+                        String authInfo = TckSecurity.getAuthToken(security, rootPublisherStr, "");
+                        logger.debug("Delete publisher: " + publisherId);
+                        //Now deleting this publisher
+                        DeletePublisher dp = new DeletePublisher();
+                        dp.setAuthInfo(authInfo);
+                        dp.getPublisherId().add(publisherId);
+                        publisher.deletePublisher(dp);
+
+                        logger.info("Querying for publisher: " + publisherId + " after deletion.");
+                        //Querying for this publisher to make sure it's really gone
+                        //We're expecting a invalid Key exception at this point.
+                        GetPublisherDetail gp = new GetPublisherDetail();
+                        gp.getPublisherId().add(publisherId);
+                        gp.setAuthInfo(authInfo);
+                        PublisherDetail pdAfterDelete = null;
+                        try {
+                                pdAfterDelete = publisher.getPublisherDetail(gp);
+                                Assert.fail("We did not expect to find this publisher anymore.");
+                        } catch (InvalidKeyPassedException e) {
+                                Assert.assertNull(pdAfterDelete);
+                        }
+
+                } catch (Exception e) {
+                        logger.error(e.getMessage(), e);
+                        Assert.fail("No exception should be thrown");
+                }
+        }
+
+        private boolean isExistPublisher(String publisherId) {
+                GetPublisherDetail gp = new GetPublisherDetail();
+                gp.getPublisherId().add(publisherId);
+                try {
+                        publisher.getPublisherDetail(gp);
+                        return true;
+                } catch (Exception e) {
+                        return false;
+                }
+        }
+
+        protected String authInfoJoe() throws RemoteException, DispositionReportFaultMessage {
+                return TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+        }
+
+        protected String authInfoSam() throws RemoteException, DispositionReportFaultMessage {
+                return TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+        }
+
 }

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java Mon Jan  6 02:18:37 2014
@@ -68,7 +68,7 @@ public class API_020_TmodelTest {
 	
 	@Test
 	public void testJoePublisherTmodel() {
-		tckTModel.saveJoePublisherTmodel(authInfoJoe);
+		tckTModel.saveJoePublisherTmodel(authInfoJoe, true);
 		
 		//Now if we use a finder it should be found.
 		TModelList tModelList = tckTModel.findJoeTModelDetail();

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_030_BusinessEntityTest.java Mon Jan  6 02:18:37 2014
@@ -55,6 +55,7 @@ public class API_030_BusinessEntityTest 
         @BeforeClass
         public static void setup() throws ConfigurationException {
                 Registry.start();
+                logger.info("API_030_BusinessEntityTest");
                 logger.debug("Getting auth token..");
                 try {
                         api010.saveJoePublisher();
@@ -73,6 +74,7 @@ public class API_030_BusinessEntityTest 
 
         @AfterClass
         public static void stopRegistry() throws ConfigurationException {
+                tckTModel.deleteCreatedTModels(authInfoJoe);
                 Registry.stop();
         }
 

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTest.java Mon Jan  6 02:18:37 2014
@@ -50,7 +50,9 @@ public class API_040_BusinessServiceTest
 	@BeforeClass
 	public static void setup() throws ConfigurationException {
 		Registry.start();
+                logger.info("API_040_BusinessServiceTest");
 		logger.debug("Getting auth tokens..");
+                
 		try {
 			api010.saveJoePublisher();
 			api010.saveSamSyndicator();
@@ -68,6 +70,7 @@ public class API_040_BusinessServiceTest
 
 	@AfterClass
 	public static void stopRegistry() throws ConfigurationException {
+                tckTModel.deleteCreatedTModels(authInfoJoe);
 		Registry.stop();
 	}
 	

Modified: 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=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_040_BusinessServiceTestPerformance.java Mon Jan  6 02:18:37 2014
@@ -26,6 +26,7 @@ import org.apache.juddi.v3.tck.TckBusine
 import org.apache.juddi.v3.tck.TckPublisher;
 import org.apache.juddi.v3.tck.TckSecurity;
 import org.apache.juddi.v3.tck.TckTModel;
+import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -59,6 +60,7 @@ public class API_040_BusinessServiceTest
 	@BeforeClass
 	public static void setup() throws ConfigurationException {
 		Registry.start();
+                logger.info("API_040_BusinessServiceTestPerformance");
 		logger.debug("Getting auth tokens..");
 		try {
 			api010.saveJoePublisher();
@@ -72,6 +74,13 @@ public class API_040_BusinessServiceTest
 			Assert.fail("Could not obtain authInfo token.");
 		}
 	}
+        
+        @AfterClass
+        public static void shutdown() throws ConfigurationException{
+                tckTModel.deleteCreatedTModels(authInfoJoe);
+                Registry.stop();
+        }
+        
 	@Test
 	public void find20Businesses() throws DispositionReportFaultMessage {
 		tckTModel.saveJoePublisherTmodel(authInfoJoe);

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_051_BindingTemplateWSDLTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_051_BindingTemplateWSDLTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_051_BindingTemplateWSDLTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_051_BindingTemplateWSDLTest.java Mon Jan  6 02:18:37 2014
@@ -61,6 +61,7 @@ public class API_051_BindingTemplateWSDL
 	@BeforeClass
 	public static void setup() throws ConfigurationException {
 		Registry.start();
+                logger.info("API_051_BindingTemplateWSDLTest");
 		logger.debug("Getting auth token..");
 		try {
 			api010.saveJoePublisher();
@@ -77,6 +78,7 @@ public class API_051_BindingTemplateWSDL
 
 	@AfterClass
 	public static void stopRegistry() throws ConfigurationException {
+                tckTModel.deleteCreatedTModels(authInfoJoe);
 		Registry.stop();
 	}
 	

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_070_FindEntityTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_070_FindEntityTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_070_FindEntityTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_070_FindEntityTest.java Mon Jan  6 02:18:37 2014
@@ -32,6 +32,7 @@ import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.uddi.api_v3.TModelList;
 
 /**
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
@@ -71,7 +72,7 @@ public class API_070_FindEntityTest 
 	@Test
 	public void findEntities() {
 		try {
-			tckTModel.saveJoePublisherTmodel(authInfoJoe);
+			tckTModel.saveJoePublisherTmodel(authInfoJoe, true);
 			tckBusiness.saveJoePublisherBusiness(authInfoJoe);
 			tckBusinessService.saveJoePublisherService(authInfoJoe);
 			tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);
@@ -93,7 +94,7 @@ public class API_070_FindEntityTest 
 	@Test
 	public void findSignedEntities() {
 		try {
-			tckTModel.saveJoePublisherTmodel(authInfoJoe);
+			tckTModel.saveJoePublisherTmodel(authInfoJoe, true);
 			tckBusiness.saveJoePublisherBusinessX509Signature(authInfoJoe);
 			tckBusinessService.saveJoePublisherService(authInfoJoe);
 			tckBindingTemplate.saveJoePublisherBinding(authInfoJoe);

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_080_SubscriptionTest.java Mon Jan  6 02:18:37 2014
@@ -53,6 +53,7 @@ public class API_080_SubscriptionTest 
 	@BeforeClass
 	public static void setup() throws ConfigurationException {
 		Registry.start();
+                logger.info("API_080_SubscriptionTest");
 		logger.debug("Getting auth token..");
 		try {
 			api010.saveJoePublisher();
@@ -68,10 +69,12 @@ public class API_080_SubscriptionTest 
 			logger.error(e.getMessage(), e);
 			Assert.fail("Could not obtain authInfo token.");
 		}
+                
 	}
 
 	@AfterClass
 	public static void stopRegistry() throws ConfigurationException {
+                tckTModel.deleteCreatedTModels(authInfoJoe);
 		Registry.stop();
 	}
 	

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_090_SubscriptionListenerIntegrationTest.java Mon Jan  6 02:18:37 2014
@@ -101,7 +101,7 @@ public class API_090_SubscriptionListene
 			//Saving the binding template that will be called by the server for a subscription event
 			tckBusinessService.saveJoePublisherService(authInfoJoe);
 			//Saving the HTTP Listener Service
-			tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort);
+			tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, "localhost");
 			//Saving the HTTP Subscription
 			tckSubscriptionListener.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_XML);
             //Changing the service we subscribed to "JoePublisherService"
@@ -146,7 +146,7 @@ public class API_090_SubscriptionListene
 			//Saving the binding template that will be called by the server for a subscription event
 			tckBusinessService.saveJoePublisherService(authInfoJoe);
 			//Saving the SMTP Listener Service
-			tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_XML, 0);
+			tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_XML, 0, "localhost");
 			//Saving the SMTP Subscription
 			tckSubscriptionListener.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_SMTP_XML);
             //Changing the service we subscribed to "JoePublisherService"
@@ -197,13 +197,13 @@ public class API_090_SubscriptionListene
 			tckBusiness.saveJoePublisherBusiness(authInfoJoe);
 			tckBusinessService.saveJoePublisherService(authInfoJoe);
 			//Saving the Listener Service
-			tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort);
+			tckSubscriptionListener.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, "localhost");
 			//Saving the Subscription
 			tckSubscriptionListener.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_XML);
             //Changing the service we subscribed to "JoePublisherService"
 			Thread.sleep(1000);
 			logger.info("Deleting Business ********** ");
-			tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
+			tckBusiness.updateJoePublisherBusiness(authInfoJoe);
 			
             //waiting up to 100 seconds for the listener to notice the change.
 			String test="";

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_091_RMISubscriptionListenerIntegrationTest.java Mon Jan  6 02:18:37 2014
@@ -120,7 +120,7 @@ public class API_091_RMISubscriptionList
 			tckBusiness.saveJoePublisherBusiness(authInfoJoe);
 			tckBusinessService.saveJoePublisherService(authInfoJoe);
 			//Saving the Listener Service
-			tckSubscriptionListenerRMI.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_RMI_SERVICE_XML, randomPort);
+			tckSubscriptionListenerRMI.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_RMI_SERVICE_XML, randomPort, "localhost");
 			//Saving the Subscription
 			tckSubscriptionListenerRMI.saveNotifierSubscription(authInfoJoe, TckSubscriptionListenerRMI.SUBSCRIPTION_XML_RMI);
 			//Changing the service we subscribed to "JoePublisherService"

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_100_ClientSubscriptionInfoTest.java Mon Jan  6 02:18:37 2014
@@ -15,6 +15,8 @@
 package org.apache.juddi.api.impl;
 
 import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
@@ -142,11 +144,15 @@ public class API_100_ClientSubscriptionI
 			ClientSubscriptionInfoDetail detail = publisher.saveClientSubscriptionInfo(saveClientSubscriptionInfo);
 			Assert.assertEquals("mykey", detail.getClientSubscriptionInfo().get(0).getSubscriptionKey());
 			
-			GetClientSubscriptionInfoDetail getDetail = new GetClientSubscriptionInfoDetail();
-			getDetail.setAuthInfo(authInfoJoe);
-			getDetail.getClientSubscriptionKey().add("mykey");
-			
-			ClientSubscriptionInfoDetail detail2 = publisher.getClientSubscriptionInfoDetail(getDetail);
+			//GetClientSubscriptionInfoDetail getDetail = new GetClientSubscriptionInfoDetail();
+			//getDetail.setAuthInfo(authInfoJoe);
+			//getDetail.getClientSubscriptionKey().add("mykey");
+			List<String>keys = new ArrayList<String>();
+                        keys.add("mykey");
+                        GetClientSubscriptionInfoDetail req = new GetClientSubscriptionInfoDetail();
+                        req.setAuthInfo(authInfoJoe);
+                        req.getClientSubscriptionKey().addAll(keys);
+			ClientSubscriptionInfoDetail detail2 = publisher.getClientSubscriptionInfoDetail(req);
 			Assert.assertEquals("mykey", detail2.getClientSubscriptionInfo().get(0).getSubscriptionKey());
 	
 			DeleteClientSubscriptionInfo deleteInfo = new DeleteClientSubscriptionInfo();
@@ -156,7 +162,8 @@ public class API_100_ClientSubscriptionI
 			
 			try {
 				@SuppressWarnings("unused")
-				ClientSubscriptionInfoDetail detail3 = publisher.getClientSubscriptionInfoDetail(getDetail);
+                                        
+				ClientSubscriptionInfoDetail detail3 = publisher.getClientSubscriptionInfoDetail(req);
 				Assert.fail("We're expecting an InvalidKeyPassedException");
 			} catch (Exception e) {
 				Assert.assertEquals(InvalidKeyPassedException.class, e.getClass());
@@ -188,6 +195,7 @@ public class API_100_ClientSubscriptionI
 		saveNode.getNode().add(node);
 		
 		NodeDetail nodeDetail = publisher.saveNode(saveNode);
+                Assert.fail();
 		
 		
 	}

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/keygen/KeyGeneratorTest.java Mon Jan  6 02:18:37 2014
@@ -42,6 +42,7 @@ public class KeyGeneratorTest 
 			String message = e.getMessage();
 			Assert.assertEquals("The specified Key Generator class 'org.apache.juddi.keygen.FooGenerator' was not found on classpath.", message);
 		}
+                System.clearProperty(Property.JUDDI_KEYGENERATOR);
 	}
 	
 	@Test() 
@@ -56,6 +57,7 @@ public class KeyGeneratorTest 
 			String message = e.getMessage();
 			Assert.assertEquals("The specified Key Generator class 'org.apache.juddi.keygen.KeyGenerator' cannot be instantiated.", message);
 		}
+                System.clearProperty(Property.JUDDI_KEYGENERATOR);
 	}
 	/**
 	 * The DefaultKeyGenerator
@@ -74,6 +76,7 @@ public class KeyGeneratorTest 
 			logger.error(e.getMessage(),e);
 			Assert.fail("unexpected");
 		}
+                System.clearProperty(Property.JUDDI_KEYGENERATOR);
 	}
 	
 }

Modified: juddi/trunk/juddi-examples/more-uddi-samples/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/pom.xml?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/more-uddi-samples/pom.xml (original)
+++ juddi/trunk/juddi-examples/more-uddi-samples/pom.xml Mon Jan  6 02:18:37 2014
@@ -19,7 +19,7 @@
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>3.8.1</version>
+      <version>4.11</version>
       <scope>test</scope>
     </dependency>
     <dependency>

Copied: juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java (from r1555612, juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java?p2=juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java&p1=juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java&r1=1555612&r2=1555648&rev=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java (original)
+++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java Mon Jan  6 02:18:37 2014
@@ -16,48 +16,28 @@
 package org.apache.juddi.samples;
 
 import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import org.apache.juddi.api_v3.AccessPointType;
 import org.apache.juddi.jaxb.PrintUDDI;
-import org.apache.juddi.v3.client.UDDIConstants;
-import org.apache.juddi.v3.client.config.UDDIClerk;
 import org.apache.juddi.v3.client.config.UDDIClient;
-import org.apache.juddi.v3.client.config.UDDIClientContainer;
 import org.apache.juddi.v3.client.ext.wsdm.WSDMQosConstants;
-import org.apache.juddi.v3.client.transport.Transport;
+import org.apache.juddi.v3.client.compare.TModelInstanceDetailsComparator;
 import org.apache.juddi.v3_service.JUDDIApiPortType;
 import org.uddi.api_v3.AccessPoint;
-import org.uddi.api_v3.BindingDetail;
 import org.uddi.api_v3.BindingTemplate;
 import org.uddi.api_v3.BindingTemplates;
-import org.uddi.api_v3.BusinessDetail;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.BusinessService;
 import org.uddi.api_v3.BusinessServices;
-import org.uddi.api_v3.CategoryBag;
 import org.uddi.api_v3.Contact;
 import org.uddi.api_v3.Contacts;
-import org.uddi.api_v3.DeleteBusiness;
 import org.uddi.api_v3.Description;
 import org.uddi.api_v3.DiscoveryURL;
 import org.uddi.api_v3.DiscoveryURLs;
-import org.uddi.api_v3.FindBinding;
-import org.uddi.api_v3.FindService;
-import org.uddi.api_v3.FindTModel;
-import org.uddi.api_v3.GetAuthToken;
-import org.uddi.api_v3.GetBusinessDetail;
-import org.uddi.api_v3.IdentifierBag;
 import org.uddi.api_v3.InstanceDetails;
-import org.uddi.api_v3.KeyedReference;
 import org.uddi.api_v3.Name;
 import org.uddi.api_v3.PersonName;
-import org.uddi.api_v3.SaveBusiness;
 import org.uddi.api_v3.SaveTModel;
-import org.uddi.api_v3.ServiceInfos;
-import org.uddi.api_v3.ServiceList;
 import org.uddi.api_v3.TModel;
-import org.uddi.api_v3.TModelBag;
 import org.uddi.api_v3.TModelInstanceDetails;
 import org.uddi.api_v3.TModelInstanceInfo;
 import org.uddi.v3_service.UDDIInquiryPortType;
@@ -68,7 +48,7 @@ import org.uddi.v3_service.UDDISecurityP
  *
  * @author Alex O'Ree
  */
-public class SearchByQos {
+public class CompareByTModelInstanceInfoQOS {
 
     static PrintUDDI<TModel> pTModel = new PrintUDDI<TModel>();
     static Properties properties = new Properties();
@@ -78,201 +58,37 @@ public class SearchByQos {
     private static UDDIPublicationPortType publish = null;
     private static UDDIInquiryPortType inquiry;
 
-    static void doFindService() throws Exception {
-                // create a manager and read the config in the archive; 
-        // you can use your config file name
-        UDDIClient clerkManager = new UDDIClient("META-INF/simple-publish-uddi.xml");
-        Transport transport = clerkManager.getTransport();
-        // Now you create a reference to the UDDI API
-        security = transport.getUDDISecurityService();
-        publish = transport.getUDDIPublishService();
-        inquiry = transport.getUDDIInquiryService();
-        //step one, get a token
-        GetAuthToken getAuthTokenRoot = new GetAuthToken();
-        getAuthTokenRoot.setUserID("uddi");
-        getAuthTokenRoot.setCred("uddi");
-
-        // Making API call that retrieves the authentication token for the 'root' user.
-        //String rootAuthToken = clerk.getAuthToken(clerk.getUDDINode().getSecurityUrl());
-        String uddi = security.getAuthToken(getAuthTokenRoot).getAuthInfo();
-
-        System.out.println("killing mary's business if it exists");
-        //first check is Mary's business exists and delete
-        DeleteIfExists("uddi:uddi.marypublisher.com:marybusinessone", uddi);
-
-        System.out.println("making mary's tmodel key gen");
-        //make the key gen since our test case uses some custom keys
-        TModel createKeyGenator = UDDIClerk.createKeyGenator("uddi.marypublisher.com", "mary key gen", "en");
-        //clerk.register(createKeyGenator);
-        System.out.println("saving...");
-        SaveTM(createKeyGenator, uddi);
-
-
-        System.out.println("fetching business list");
-        ServiceList before = getServiceList(uddi);
-        if (before.getServiceInfos()== null) {
-            System.out.println("before no service returned!");
-             before.setServiceInfos(new ServiceInfos());
-        } else {
-            System.out.println(before.getServiceInfos().getServiceInfo().size() + " service returned before");
-        }
-
-        System.out.println("saving mary");
-        SaveMary(uddi);
-
-        ServiceList after = getServiceList(uddi);
-        if (after.getServiceInfos().getServiceInfo()== null) {
-            System.out.println("after no service returned!");
-            after.setServiceInfos(new ServiceInfos());
-        } else {
-            System.out.println(after.getServiceInfos().getServiceInfo().size() + " service returned after");
-        }
-        PrintUDDI<ServiceList> p = new PrintUDDI<ServiceList>();
-        if (before.getServiceInfos().getServiceInfo().size()
-                < after.getServiceInfos().getServiceInfo().size()) {
-            System.out.println("hey it worked as advertised, double checking");
-            /*if (CheckFor(after, "uddi:uddi.marypublisher.com:marybusinessone")) {
-             System.out.println("ok!");
-             } else {
-             System.out.println("no good!");
-             }*/
-        } else {
-
-            System.out.println("something's not right, here's the before service listing");
-            System.out.println(p.print(before));
-            System.out.println(p.print(after));
-        }
-
-    }
-
-    static void doFindBinding() throws Exception{
-        // create a manager and read the config in the archive; 
-        // you can use your config file name
-        UDDIClient clerkManager = new UDDIClient("META-INF/simple-publish-uddi.xml");
-        Transport transport = clerkManager.getTransport();
-        // Now you create a reference to the UDDI API
-        security = transport.getUDDISecurityService();
-        publish = transport.getUDDIPublishService();
-        inquiry = transport.getUDDIInquiryService();
-        //step one, get a token
-        GetAuthToken getAuthTokenRoot = new GetAuthToken();
-        getAuthTokenRoot.setUserID("uddi");
-        getAuthTokenRoot.setCred("uddi");
-
-        // Making API call that retrieves the authentication token for the 'root' user.
-        //String rootAuthToken = clerk.getAuthToken(clerk.getUDDINode().getSecurityUrl());
-        String uddi = security.getAuthToken(getAuthTokenRoot).getAuthInfo();
-
-        System.out.println("killing mary's business if it exists");
-        //first check is Mary's business exists and delete
-        DeleteIfExists("uddi:uddi.marypublisher.com:marybusinessone", uddi);
-
-        System.out.println("making mary's tmodel key gen");
-        //make the key gen since our test case uses some custom keys
-        TModel createKeyGenator = UDDIClerk.createKeyGenator("uddi.marypublisher.com", "mary key gen", "en");
-        //clerk.register(createKeyGenator);
-        System.out.println("saving...");
-        SaveTM(createKeyGenator, uddi);
-
-
-        System.out.println("fetching business list");
-        BindingDetail before = getBindingList(uddi);
-        if (before.getBindingTemplate() == null) {
-            System.out.println("before no service returned!");
-            // before.setServiceInfos(new ServiceInfos());
-        } else {
-            System.out.println(before.getBindingTemplate().size() + " service returned before");
-        }
-
-        System.out.println("saving mary");
-        SaveMary(uddi);
-
-        BindingDetail after = getBindingList(uddi);
-        if (after.getBindingTemplate() == null) {
-            System.out.println("after no service returned!");
-            //after.setServiceInfos(new ServiceInfos());
-        } else {
-            System.out.println(after.getBindingTemplate().size() + " service returned after");
-        }
-        PrintUDDI<BindingDetail> p = new PrintUDDI<BindingDetail>();
-        if (before.getBindingTemplate().size()
-                < after.getBindingTemplate().size()) {
-            System.out.println("hey it worked as advertised, double checking");
-            /*if (CheckFor(after, "uddi:uddi.marypublisher.com:marybusinessone")) {
-             System.out.println("ok!");
-             } else {
-             System.out.println("no good!");
-             }*/
-        } else {
-
-            System.out.println("something's not right, here's the before service listing");
-            System.out.println(p.print(before));
-            System.out.println(p.print(after));
-        }
-
-    }
-
+    
+    
     public static void main(String[] args) throws Exception {
-        doFindBinding();
-        
-        doFindService();
-    }
-
-    private static void DeleteIfExists(String key, String authInfo) {
-        GetBusinessDetail gbd = new GetBusinessDetail();
-        gbd.setAuthInfo(authInfo);
-        gbd.getBusinessKey().add(key);
-        boolean found = false;
-        try {
-            BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd);
-            if (businessDetail != null
-                    && !businessDetail.getBusinessEntity().isEmpty()
-                    && businessDetail.getBusinessEntity().get(0).getBusinessKey().equals(key)) {
-                found = true;
-            }
-        } catch (Exception ex) {
-        }
-        if (found) {
-            DeleteBusiness db = new DeleteBusiness();
-            db.setAuthInfo(authInfo);
-            db.getBusinessKey().add(key);
-            try {
-                publish.deleteBusiness(db);
-            } catch (Exception ex) {
-                Logger.getLogger(FindBusinessBugHunt.class.getName()).log(Level.SEVERE, null, ex);
-            }
-        }
+            BusinessEntity mary = CreateMary();
+            BindingTemplate bt1 = mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0);
+            BindingTemplate bt2 = mary.getBusinessServices().getBusinessService().get(1).getBindingTemplates().getBindingTemplate().get(1);
+            
+            TModelInstanceDetailsComparator tidc = new TModelInstanceDetailsComparator(WSDMQosConstants.METRIC_FAULT_COUNT_KEY, true, false, false);
+            int compare = tidc.compare(bt1.getTModelInstanceDetails(), bt2.getTModelInstanceDetails());
+            if (compare > 0)
+                    System.out.println(mary.getBusinessServices().getBusinessService().get(0).getName().get(0).getValue() +
+                            " is greater than " + mary.getBusinessServices().getBusinessService().get(1).getName().get(0).getValue());
+            if (compare < 0)
+                    System.out.println(mary.getBusinessServices().getBusinessService().get(0).getName().get(0).getValue() +
+                            " is less than " + mary.getBusinessServices().getBusinessService().get(1).getName().get(0).getValue());
+            if (compare== 0)
+                    System.out.println(mary.getBusinessServices().getBusinessService().get(0).getName().get(0).getValue() +
+                            " is equal than " + mary.getBusinessServices().getBusinessService().get(1).getName().get(0).getValue());
+            
     }
 
-    private static ServiceList getServiceList(String token) throws Exception {
-        FindService fb = new FindService();
-        fb.setAuthInfo(token);
-        org.uddi.api_v3.FindQualifiers fq = new org.uddi.api_v3.FindQualifiers();
-        fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
-        fb.setFindQualifiers(fq);
-        fb.getName().add((new Name(UDDIConstants.WILDCARD, null)));
-
-        fb.setTModelBag(new TModelBag());
-        fb.getTModelBag().getTModelKey().add(WSDMQosConstants.METRIC_FAULT_COUNT_KEY);
-        return inquiry.findService(fb);
-    }
-
-    private static BindingDetail getBindingList(String token) throws Exception {
-        FindBinding fb = new FindBinding();
-        fb.setAuthInfo(token);
-        fb.setTModelBag(new TModelBag());
-        fb.getTModelBag().getTModelKey().add(WSDMQosConstants.METRIC_FAULT_COUNT_KEY);
-        return inquiry.findBinding(fb);
-    }
+    
 
     /**
-     * adds a business, service, bt with tmodel instance details with qos
+     * creates a business, service, bt with tmodel instance details with qos
      * parameters
      *
      * @param rootAuthToken
      * @throws Exception
      */
-    private static void SaveMary(String rootAuthToken) throws Exception {
+    private static BusinessEntity CreateMary() throws Exception {
         BusinessEntity be = new BusinessEntity();
         be.setBusinessKey("uddi:uddi.marypublisher.com:marybusinessone");
         be.setDiscoveryURLs(new DiscoveryURLs());
@@ -295,7 +111,7 @@ public class SearchByQos {
         bs.getName().add(new Name("name!", "en"));
         bs.setBindingTemplates(new BindingTemplates());
         BindingTemplate bt = new BindingTemplate();
-        bt.setAccessPoint(new AccessPoint("http://localhost", AccessPointType.WSDL_DEPLOYMENT.toString()));
+        bt.setAccessPoint(new AccessPoint("http://localhost/endpoint1BAD", AccessPointType.WSDL_DEPLOYMENT.toString()));
         bt.setTModelInstanceDetails(new TModelInstanceDetails());
         TModelInstanceInfo tii = new TModelInstanceInfo();
         tii.setTModelKey(WSDMQosConstants.METRIC_FAULT_COUNT_KEY);
@@ -305,22 +121,25 @@ public class SearchByQos {
         bt = UDDIClient.addSOAPtModels(bt);
         bt.getTModelInstanceDetails().getTModelInstanceInfo().add(tii);
         bs.getBindingTemplates().getBindingTemplate().add(bt);
-        be.getBusinessServices().getBusinessService().add(bs);
-        SaveBusiness sb = new SaveBusiness();
-        sb.setAuthInfo(rootAuthToken);
-        sb.getBusinessEntity().add(be);
-        publish.saveBusiness(sb);
-    }
+        
+        bt = new BindingTemplate();
+        bt.setAccessPoint(new AccessPoint("http://localhost/endpoint2BETTER", AccessPointType.WSDL_DEPLOYMENT.toString()));
+        bt.setTModelInstanceDetails(new TModelInstanceDetails());
+         tii = new TModelInstanceInfo();
+        tii.setTModelKey(WSDMQosConstants.METRIC_FAULT_COUNT_KEY);
 
-    private static boolean CheckFor(ServiceList list, String key) {
-        for (int i = 0; i < list.getServiceInfos().getServiceInfo().size(); i++) {
-            if (list.getServiceInfos().getServiceInfo().get(i).getServiceKey().equalsIgnoreCase(key)) {
-                return true;
-            }
-        }
-        return false;
+        tii.setInstanceDetails(new InstanceDetails());
+        tii.getInstanceDetails().setInstanceParms("4");
+        bt = UDDIClient.addSOAPtModels(bt);
+        bt.getTModelInstanceDetails().getTModelInstanceInfo().add(tii);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+        
+        
+        be.getBusinessServices().getBusinessService().add(bs);
+        
+        return be;
     }
-
+    
     private static void SaveTM(TModel createKeyGenator, String uddi) throws Exception {
         SaveTModel stm = new SaveTModel();
         stm.setAuthInfo(uddi);

Modified: juddi/trunk/juddi-examples/service-version/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/service-version/pom.xml?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/service-version/pom.xml (original)
+++ juddi/trunk/juddi-examples/service-version/pom.xml Mon Jan  6 02:18:37 2014
@@ -19,7 +19,7 @@
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>3.8.1</version>
+      <version>4.11</version>
       <scope>test</scope>
     </dependency>
     <dependency>

Modified: juddi/trunk/juddi-migration-tool/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-migration-tool/pom.xml?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-migration-tool/pom.xml (original)
+++ juddi/trunk/juddi-migration-tool/pom.xml Mon Jan  6 02:18:37 2014
@@ -22,7 +22,7 @@
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
+			<version>4.11</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>

Modified: juddi/trunk/juddi-rest-cxf/src/main/java/org/apache/juddi/api/impl/rest/UDDIInquiryJAXRS.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-rest-cxf/src/main/java/org/apache/juddi/api/impl/rest/UDDIInquiryJAXRS.java?rev=1555648&r1=1555647&r2=1555648&view=diff
==============================================================================
--- juddi/trunk/juddi-rest-cxf/src/main/java/org/apache/juddi/api/impl/rest/UDDIInquiryJAXRS.java (original)
+++ juddi/trunk/juddi-rest-cxf/src/main/java/org/apache/juddi/api/impl/rest/UDDIInquiryJAXRS.java Mon Jan  6 02:18:37 2014
@@ -195,7 +195,7 @@ public class UDDIInquiryJAXRS {
 
         @GET
         @Path("/XML/getDetail")
-        @Produces("application/json")
+        @Produces("application/xml")
         @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details of a UDDI entity in XML, use query parameters"
                 + "serviceKey,businessKey,tModelKey, bindingKey")
         public Object getDetailXML(@QueryParam("serviceKey") String serviceKey,

Propchange: juddi/trunk/juddi-tck-runner/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Jan  6 02:18:37 2014
@@ -0,0 +1 @@
+target

Added: juddi/trunk/juddi-tck-runner/juddiv3.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tck-runner/juddiv3.xml?rev=1555648&view=auto
==============================================================================
--- juddi/trunk/juddi-tck-runner/juddiv3.xml (added)
+++ juddi/trunk/juddi-tck-runner/juddiv3.xml Mon Jan  6 02:18:37 2014
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"  ?>
+<!--
+################################################################
+#                 jUDDI-v3.0 configuration.                    #
+################################################################
+# Note that the property settings in this                      #
+# file can be overriden by system parameters                   #
+#                                                              #
+################################################################
+-->
+<config>
+	<juddi>
+		<!-- The ${juddi.server.baseurl} token can be referenced in accessPoints and will be resolved at runtime. -->
+		<server>
+			<baseurl>http://localhost:8080/juddiv3</baseurl>
+			<baseurlsecure>https://localhost:8443/juddiv3</baseurlsecure>
+		</server>
+		<!-- The node Id must be unique when setup in a cluster of UDDI servers implementing the replication API
+			don't worry, jUDDI doesn't implement it right now, but it may come in the future -->
+		<nodeId>uddi:juddi.apache.org:node1</nodeId>
+		<!-- The key of the root business that all of the UDDI services are registered in, as defined in the install_data -->
+		<root>
+			<!-- this is the 'root' username, or owner of the node -->
+			<publisher>root</publisher>
+			<!-- The key of the root business that all of the UDDI services are registered in, as defined in the install_data -->
+			<businessId>uddi:juddi.apache.org:businesses-asf</businessId>
+			<partition>uddi:juddi.apache.org</partition>
+		</root>
+		<seed>
+			<always>false</always>
+		</seed>
+
+		<!-- Name of the persistence unit to use (the default, "juddiDatabase" refers to the unit compiled into the juddi library)-->
+		<persistenceunit>
+			<name>juddiDatabase</name>
+		</persistenceunit>
+
+		<!-- Check-the-time-stamp-on-this-file Interval in milli seconds  -->
+		<configuration>
+			<reload>
+				<delay>2000</delay>
+			</reload>
+		</configuration>
+		<!--Default locale-->
+		<locale>en_US</locale>
+
+		<!--The UDDI Operator Contact Email Address-->
+		<operatorEmailAddress>admin@local.localhost</operatorEmailAddress>
+
+		<!-- The maximum name size and maximum number of name elements allows in several of the FindXxxx and SaveXxxx UDDI functions.-->
+		<maxNameLength>255</maxNameLength>
+		<maxNameElementsAllowed>5</maxNameElementsAllowed>
+
+
+		<!-- The maximum number of rows returned in a find_* operation.  Each call can set this independently, but this property defines a global maximum.-->
+		<maxRows>1000</maxRows>
+		<!-- The maximum number of "IN" clause parameters.  Some RDMBS limit the number of parameters allowed in a SQL "IN" clause.-->
+		<maxInClause>1000</maxInClause>
+
+		<!-- The maximum number of UDDI artifacts allowed per publisher. A value of '-1' indicates any  number of artifacts is valid (These values can be overridden at the individual publisher level).-->
+		<maxBusinessesPerPublisher>-1</maxBusinessesPerPublisher>
+		<maxServicesPerBusiness>-1</maxServicesPerBusiness>
+		<maxBindingsPerService>-1</maxBindingsPerService>
+		<maxTModelsPerPublisher>-1</maxTModelsPerPublisher>
+
+		<!-- Days before a transfer request expires-->
+		<transfer>
+			<expiration>
+				<days>3</days>
+			</expiration>
+		</transfer>
+
+		<!-- Days before a subscription expires-->
+		<subscription>
+			<expiration>
+				<days>30</days>
+			</expiration>
+
+			<!-- Minutes before a "chunked" subscription call expires-->
+			<chunkexpiration>
+				<minutes>5</minutes>
+			</chunkexpiration>
+
+			<!--Since 3.1.5 the maxium ammount of returned subscription entities allowed-->
+			<maxentities>1000</maxentities>
+		</subscription>
+
+		<!-- jUDDI UUIDGen implementation to use-->
+		<uuidgen>org.apache.juddi.uuidgen.DefaultUUIDGen</uuidgen>
+
+		<!-- jUDDI Cryptor implementation to use-->
+		<cryptor>org.apache.juddi.cryptor.DefaultCryptor</cryptor>
+
+		<!-- jUDDI Key Generator to use-->
+		<keygenerator>org.apache.juddi.keygen.DefaultKeyGenerator</keygenerator>
+
+		<notification>
+			<!-- Specifies the interval at which the notification timer triggers-->
+			<interval>5000</interval>
+			<!-- Specifies the amount of time to wait before the notification timer initially fires-->
+			<start>
+				<buffer>0</buffer>
+			</start>
+			<acceptableLagtime>1000</acceptableLagtime>
+			<maxTries>3</maxTries>
+			<!-- 10 minutes -->
+			<maxTriesResetInterval>600000</maxTriesResetInterval>
+			<sendAuthTokenWithResultList>false</sendAuthTokenWithResultList>
+		</notification>
+		<!-- All Authentication related settings -->
+		<auth>
+			<!-- Specifies whether the inquiry API requires authentication, all other APIs require authN-->
+			<Inquiry>false</Inquiry>
+			
+			<!-- When using file based authentication, this is the filename to use 
+			<usersfile>juddi-users.xml</usersfile>-->
+			<!-- jUDDI Authentication module to use-->
+			<authenticator>
+				<!-- build in Authenticators:
+				org.apache.juddi.v3.auth.JUDDIAuthenticator - no authentication
+				LDAP Based
+				org.apache.juddi.v3.auth.LdapSimpleAuthenticator - use LDAP
+				org.apache.juddi.v3.auth.LdapExpandedAuthenticator - use LDAP
+				
+				File based, see usersfile
+				org.apache.juddi.v3.auth.XMLDocAuthenticator - XML doc, clear text
+				org.apache.juddi.v3.auth.CryptedXMLDocAuthenticator - XML doc, encrypted
+				org.apache.juddi.v3.auth.MD5XMLDocAuthenticator - XML doc, Hashed
+				-->
+				<class>org.apache.juddi.v3.auth.JUDDIAuthenticator</class>
+				<!-- other settings
+				url
+				initialcontext
+				style
+				ldapexp
+				
+				-->
+			</authenticator>
+
+			<token>
+				<!-- Time in minutes to expire tokes after inactivity-->
+				<Timeout>15</Timeout>
+				<!-- As of 3.1.5 Duration of time for tokens to expire, regardless of inactivity -->
+				<Expiration>15</Expiration>
+			</token>
+		</auth>
+
+
+
+
+		<validation>
+			<!-- As of 3.1.5 This setting will force referential integrity for all tModels (except keyGenerators), category bags, bindingTemplate/AccessPoint/hostingRedirector (referencing another host), tModelinstanceparms and anything else that references a KeyName default value is true.  set to false for backwards compatibility or for a more lax registry-->
+			<enforceReferentialIntegrity>true</enforceReferentialIntegrity>
+		</validation>
+
+		<!--As of 3.1.5 Email delivery options for subscription API functions-->
+		<mail>
+			<smtp>
+				<!--The Operator’s Email address-->
+				<from>sender@local.domain</from>
+
+				<!--the hostname of the SMTP server-->
+				<host>localhost</host>
+
+				<!--The portname of the SMTP server-->
+				<port>25</port>
+
+				<!--If set, specifies the name of a class that implements the javax.net.SocketFactory interface. This class will be used to create SMTP sockets.-->
+				<socketFactory>
+					<!--<class></class>-->
+
+					<!--If set to true, failure to create a socket using the specified socket factory class will cause the socket to be created using the java.net.Socket class. Defaults to true.
+					<fallback>true</fallback>-->
+					<!--Specifies the port to connect to when using the specified socket factory. If not set, the default port will be used.
+					<port>25</port>-->
+				</socketFactory>
+				<!--if true, enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection before issuing any login commands. Note that an appropriate trust store must configured so that the client will trust the server’s certificate. Defaults to false.
+				<starttls>
+					<enabled>false</enabled>
+				</starttls>-->
+
+				<!--If true, attempt to authenticate the user using the AUTH command. Defaults to false.-->
+				<auth>true</auth>
+
+				<!--Username used to authenticate to the SMTP server used only if mail.smtp.auth is true-->
+				<username>sender@local.domain</username>
+
+				<!--Password used to authenticate to the SMTP server, used only if mail.smtp.auth is true-->
+				<password encrypted="false">da_password1</password>
+			</smtp>
+		</mail>
+	</juddi>
+</config>
\ No newline at end of file

Added: juddi/trunk/juddi-tck-runner/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tck-runner/pom.xml?rev=1555648&view=auto
==============================================================================
--- juddi/trunk/juddi-tck-runner/pom.xml (added)
+++ juddi/trunk/juddi-tck-runner/pom.xml Mon Jan  6 02:18:37 2014
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.juddi</groupId>
+    <artifactId>juddi-parent</artifactId>
+    <version>3.2.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.apache.juddi</groupId>
+  <artifactId>juddi-tck-runner</artifactId>
+  <version>3.2-SNAPSHOT</version>
+  <name>juddi-tck-runner</name>
+  <url>http://maven.apache.org</url>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>juddi-client</artifactId>
+      <version>3.2.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>uddi-tck-base</artifactId>
+      <version>3.2.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>uddi-tck</artifactId>
+      <version>3.2.0-SNAPSHOT</version>
+    </dependency>
+			<dependency>
+            <groupId>org.apache.juddi</groupId>
+            <artifactId>uddi-tck</artifactId>
+            <type>test-jar</type>
+            <version>${project.parent.version}</version>
+        </dependency>
+		<dependency>
+			<groupId>org.apache.juddi</groupId>
+			<artifactId>uddi-tck-base</artifactId>
+			<version>${project.parent.version}</version>
+		</dependency>
+  </dependencies>
+  <build>
+		<finalName>${artifactId}-${version}</finalName>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<phase>test</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<tasks>
+								<copy file="${basedir}/uddi.xml" tofile="${basedir}/target/uddi.xml"/>
+								<copy file="${basedir}/tck.properties" tofile="${basedir}/target/tck.properties"/>
+							</tasks>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-assembly-plugin</artifactId>
+				<version>2.4</version>
+				<configuration>
+					<descriptorRefs>
+						<descriptorRef>jar-with-dependencies</descriptorRef>
+					</descriptorRefs>
+					<archive>
+						<manifest>
+							<mainClass>org.apache.juddi.tckrunner.App</mainClass>
+						</manifest>
+					</archive>
+				</configuration>
+				<executions>
+					<execution>
+						<id>make-assembly</id>
+						<phase>package</phase>
+						<goals>
+							<goal>single</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>

Added: juddi/trunk/juddi-tck-runner/readme.txt
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tck-runner/readme.txt?rev=1555648&view=auto
==============================================================================
--- juddi/trunk/juddi-tck-runner/readme.txt (added)
+++ juddi/trunk/juddi-tck-runner/readme.txt Mon Jan  6 02:18:37 2014
@@ -0,0 +1,22 @@
+The jUDDI TCK Runner is a standalone application used for performing live tests on a UDDI server.
+
+Features
+-supports UDDI and HTTP style authentication
+-has test cases for the majority of the UDDI endpoints
+-has test cases for jUDDI specific endpoints
+
+Notes: 
+-This application will start a web service using Jetty.
+-The hostname of the machine running the test must be resolvable by the UDDI server
+-This application requires a number of usernames and passwords for users accounts used on the UDDI server. You'll have to create them ahead of time
+-This application will optionally access a SMTP mail server and scan for subscription alerts send by a UDDI server, if supported
+-Endpoint URLs are loaded from uddi.xml
+-If you are running this against jUDDI and want to setup a temporary mail server, try hMail. A sample server config is provided
+
+
+Exexcute using the following command
+
+java -Duddi.client.xml=uddi.xml -jar juddi-tck-runner-3.3-SNAPSHOT-jar-with-dependencies.jar
+
+
+This application SHOULD have a net zero effect on the registry, however it is recommended to make a backup of your registry server, database and/or content before proceeding. 
\ No newline at end of file

Added: juddi/trunk/juddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java?rev=1555648&view=auto
==============================================================================
--- juddi/trunk/juddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java (added)
+++ juddi/trunk/juddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java Mon Jan  6 02:18:37 2014
@@ -0,0 +1,151 @@
+/*
+ * 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.tckrunner;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
+
+/**
+ * This application will run the majority of the jUDDI project's UDDI Technical
+ * Compatibility Kit (TCK) tests. Some of the tests that are used are slightly
+ * different than when ran with jUDDI's build process.
+ *
+ * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
+ * @since 3.2
+ */
+public class App {
+
+        public static void main(String[] args) throws Exception {
+                System.out.println("_________________________________________________");
+                System.out.println("Running! this can take anywhere from 2-5 minutes!");
+                System.out.println("Configure options using uddi.xml and tck.properties");
+                System.out.println("java -Duddi.client.xml=uddi.xml -jar juddi-tck-runner-{VERSION}-SNAPSHOT-jar-with-dependencies.jar");
+                System.out.println("_________________________________________________");
+                System.out.println();
+
+                if (!new File("tck.properties").exists()) {
+                        System.out.println("tck.properties was not found! I give up!");
+                        System.exit(1);
+                }
+                String s = System.getProperty("uddi.client.xml");
+                if (s == null || !new File(s).exists()) {
+                        System.out.println("The value for option -Duddi.client.xml=" + s + " is either null or the file doesn't exist! I give up!");
+                        System.exit(1);
+                }
+                
+                JUnitCore junit = new JUnitCore();
+                List<Class> items = new ArrayList<Class>();
+                items.add(null);
+                Result result = junit.run(
+                        //the bpel tests really only test wsdl to uddi
+                        org.apache.juddi.v3.bpel.BPEL_010_IntegrationTest.class,
+                        org.apache.juddi.v3.bpel.BPEL_020_IntegrationTest.class,
+                        
+
+                        org.apache.juddi.v3.tck.JUDDI_010_PublisherIntegrationTest.class,
+                        
+                        org.apache.juddi.v3.tck.UDDI_010_PublisherIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_020_TmodelIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_030_BusinessEntityIntegrationTest.class,
+                        
+                        org.apache.juddi.v3.tck.UDDI_030_BusinessEntityLoadIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_040_BusinessServiceIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_040_BusinessServiceLoadIntegrationTest.class,
+                        
+                        org.apache.juddi.v3.tck.UDDI_050_BindingTemplateIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_060_PublisherAssertionIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_070_FindEntityIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_080_SubscriptionIntegrationTest.class,
+                        //note that this is different, there is an IntegrationTest version
+                        //however it's for hosting our own mail server and reconfiguring juddi
+                        org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerExternalTest.class,
+                        org.apache.juddi.v3.tck.JUDDI_091_RMISubscriptionListenerIntegrationTest.class,
+                        org.apache.juddi.v3.tck.JUDDI_100_ClientSubscriptionInfoIntegrationTest.class,
+                        
+                        org.apache.juddi.v3.tck.UDDI_110_FindBusinessIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_120_CombineCategoryBagsFindServiceIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_130_CombineCategoryBagsFindBusinessIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_140_NegativePublicationIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_141_JIRAIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_150_CustodyTransferIntegrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_160_RESTIntergrationTest.class,
+                        org.apache.juddi.v3.tck.UDDI_170_ValueSetValidation.class);
+
+                String filename = "uddi-tck-results-" + new SimpleDateFormat("yyyyMMddhhmm").format(new Date()) + ".txt";
+                FileWriter fw = new FileWriter(filename);
+
+                BufferedWriter bw = new BufferedWriter(fw);
+                bw.write("UDDI-TCK Test Results generated " + new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(new Date()));
+                bw.newLine();
+                bw.write("____________________________________________");
+                bw.newLine();
+                bw.write("Summary");
+                bw.newLine();
+                bw.write("Failed Test Cases: " + result.getFailureCount());
+                bw.newLine();
+                bw.write("Skipped Test Cases: " + result.getIgnoreCount());
+                bw.newLine();
+                bw.write("Ran Test Cases: " + result.getRunCount());
+                bw.newLine();
+                bw.write("Time: " + result.getRunTime());
+                bw.newLine();
+                bw.write("-------------------------------------");
+                bw.newLine();
+                bw.newLine();
+
+                for (int i = 0; i < result.getFailures().size(); i++) {
+                        try{
+                        bw.write(result.getFailures().get(i).getTestHeader());
+                        bw.newLine();
+                        bw.write(result.getFailures().get(i).getDescription().getClassName());
+                        bw.newLine();
+                        bw.write(result.getFailures().get(i).getDescription().getMethodName());
+                        bw.newLine();
+                        bw.write(result.getFailures().get(i).getMessage());
+                        bw.newLine();
+                        //result.getFailures().get(i).getException().printStackTrace();
+
+                        bw.write(result.getFailures().get(i).getTrace());
+                        bw.newLine();
+                        bw.write("____________________________________________");
+                        bw.newLine();
+                        }catch (Exception ex)
+                        {
+                                ex.printStackTrace();
+                        }
+                }
+                System.out.println("____________________________________________");
+                System.out.println("Summary");
+                System.out.println("Failed Test Cases: " + result.getFailureCount());
+                System.out.println("Skipped Test Cases: " + result.getIgnoreCount());
+                System.out.println("Ran Test Cases: " + result.getRunCount());
+                System.out.println("Time: " + result.getRunTime());
+                System.out.println("-------------------------------------");
+                System.out.println("Results written to " + filename);
+
+                bw.close();
+                fw.close();
+                junit = null;
+                System.out.println("Exit code: " + result.getFailureCount());
+                System.exit(result.getFailureCount());
+        }
+}

Added: juddi/trunk/juddi-tck-runner/src/test/java/org/apache/juddi/tckrunner/AppTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tck-runner/src/test/java/org/apache/juddi/tckrunner/AppTest.java?rev=1555648&view=auto
==============================================================================
--- juddi/trunk/juddi-tck-runner/src/test/java/org/apache/juddi/tckrunner/AppTest.java (added)
+++ juddi/trunk/juddi-tck-runner/src/test/java/org/apache/juddi/tckrunner/AppTest.java Mon Jan  6 02:18:37 2014
@@ -0,0 +1,38 @@
+package org.apache.juddi.tckrunner;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Added: juddi/trunk/juddi-tck-runner/tck.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tck-runner/tck.properties?rev=1555648&view=auto
==============================================================================
--- juddi/trunk/juddi-tck-runner/tck.properties (added)
+++ juddi/trunk/juddi-tck-runner/tck.properties Mon Jan  6 02:18:37 2014
@@ -0,0 +1,70 @@
+#some user with administrative rights
+root.publisher = root
+root.password  = root
+
+#the rest of these are regular users with basic CRUD permissions
+uddi.publisher = uddi
+uddi.password  = uddi
+joe.publisher  = joepublisher
+joe.password   = joepublisher
+sam.publisher  = ssyndicator
+sam.password   = ssyndicator
+mary.publisher = marypublisher
+mary.password  = marypublisher
+
+riftsaw.publisher = riftsaw
+riftsaw.password  = riftsaw
+
+#if this is a jUDDI server, use true, otherwise false
+isJuddi = true
+
+# does the UDDI server support RMI transport?
+rmi.enabled=true
+
+#authentication mechanism, uddi=auth token, http for everything else.
+# in general, MS UDDI = HTTP, all others use Auth Token
+auth_mode = uddi
+
+#does the UDDI server support HTTP GET/REST specification identified by the spec?
+rest.enabled = true
+
+#does the UDDI server support the Value Set Validation APIs?
+vsv.enabled = false
+
+#does the UDDI server support the Subscription API?
+sub.enabled=true
+
+#subscription callback timeouts, in seconds
+sub.timeout=60
+
+#does the UDDI server support the Custody Transfer API?
+transfer.enabled=true
+#does the UDDI server support the Replication API?
+replication.enabled=false
+
+
+# if the UDDI server supports SMTP based notification
+smtp.notify.enabled=true
+
+
+
+#if true, use these settings to verify message delivery/notification
+mail.host=localhost
+mail.port=110
+#this can be TLS
+#mail.secureProtocol=TLS
+#mail.implicit=false
+mail.username=juddi@local.domain
+mail.password=da_password1
+mail.to=juddi@local.domain
+
+# for UDDI server callbacks (subscription api, value set validation)
+# use this to override the bind to address, by default it's the hostname of the computer running the tests from
+#bindaddress=localhost
+
+#include Jboss RiftSaw integration tests = This basically tests the jUDDI clients WSDL 2 UDDI functions and creates a few tModels
+bpel.enabled=true
+
+#load tests
+loadtest.enable=false
+loadtest.maxbusinesses=1100
\ No newline at end of file

Added: juddi/trunk/juddi-tck-runner/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tck-runner/uddi.xml?rev=1555648&view=auto
==============================================================================
--- juddi/trunk/juddi-tck-runner/uddi.xml (added)
+++ juddi/trunk/juddi-tck-runner/uddi.xml Mon Jan  6 02:18:37 2014
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<uddi xmlns="urn:juddi-apache-org:v3_client" xsi:schemaLocation="classpath:/xsd/uddi-client.xsd">
+    <reloadDelay>5000</reloadDelay>
+    <client name="test-client">
+        <nodes>
+            <node isHomeJUDDI="true" >
+                <!-- required 'default' node -->
+                <name>default</name> 
+                <description>Main jUDDI node</description>
+                <properties>
+                    <property name="serverName" value="localhost" />
+                    <property name="serverPort" value="8080" />
+                    <!-- for UDDI nodes that use HTTP u/p, using the following 
+                    <property name="basicAuthUsername" value="root" />
+                    <property name="basicAuthPassword" value="password" />
+                    <property name="basicAuthPasswordIsEncrypted" value="false" />
+                    <property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor (an example)" />-->
+                </properties>
+                <!-- JAX-WS Transport -->
+                <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+				
+                <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer</custodyTransferUrl>
+                <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry</inquiryUrl>
+				<!-- optional API -->
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest/XML/getDetail</inquiryRESTUrl>
+                <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish</publishUrl>
+                <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security</securityUrl>
+                <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription</subscriptionUrl>
+                <subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener</subscriptionListenerUrl>
+				<!--<replicationUrl>http://${serverName}:${serverPort}/juddiv3/services/replication?wsdl</replicationUrl>
+				<valueSetValidationUrl>http://${serverName}:${serverPort}/juddiv3/services/valueset-validation</valueSetValidationUrl>
+				<valueSetCachingUrl>http://${serverName}:${serverPort}/juddiv3/services/valueset-caching</valueSetCachingUrl>
+				-->
+				<!-- optional -->
+                <juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
+
+            </node>
+
+        </nodes>
+		
+        <clerks registerOnStartup="false" >
+            <clerk name="default" node="default" publisher="userjoe" password="******" >
+                <!--<wsdl businessKey="" businessName="" keyDomain=""></wsdl>-->
+                <class></class>
+            </clerk>
+        </clerks>
+        <signature>
+			<!-- signing stuff -->
+			<signingKeyStorePath>keystore.jks</signingKeyStorePath>
+			<signingKeyStoreType>JKS</signingKeyStoreType>
+			<signingKeyStoreFilePassword 
+				isPasswordEncrypted="false" 
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</signingKeyStoreFilePassword>
+			<signingKeyPassword
+				isPasswordEncrypted="false" 
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</signingKeyPassword>
+			<signingKeyAlias>my special key</signingKeyAlias>
+                        
+			<canonicalizationMethod>http://www.w3.org/2001/10/xml-exc-c14n#</canonicalizationMethod>
+			<signatureMethod>http://www.w3.org/2000/09/xmldsig#rsa-sha1</signatureMethod>
+			<XML_DIGSIG_NS>http://www.w3.org/2000/09/xmldsig#</XML_DIGSIG_NS>
+
+			<!-- validation stuff 
+			Used whenever someone views an entity that is signed and validation is required	-->
+			<!-- if this doesn't exist or is incorrect, the client will atempt to load the standard jdk trust store-->
+			<trustStorePath>truststore.jks</trustStorePath>
+			<trustStoreType>JKS</trustStoreType>
+			<trustStorePassword
+				isPasswordEncrypted="false" 
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</trustStorePassword>
+			
+			<checkTimestamps>true</checkTimestamps>
+			<checkTrust>true</checkTrust>
+			<checkRevocationCRL>true</checkRevocationCRL>
+			<keyInfoInclusionSubjectDN>false</keyInfoInclusionSubjectDN>
+			<keyInfoInclusionSerial>false</keyInfoInclusionSerial>
+			<keyInfoInclusionBase64PublicKey>true</keyInfoInclusionBase64PublicKey>
+			<digestMethod>http://www.w3.org/2000/09/xmldsig#sha1</digestMethod>
+		</signature>
+        <subscriptionCallbacks>
+            <keyDomain>uddi:somebusiness</keyDomain>
+            <listenUrl>http://MyHostname:4444/callback</listenUrl>
+            <autoRegisterBindingTemplate>false</autoRegisterBindingTemplate>
+            <autoRegisterBusinessServiceKey>uddi:somebusiness:someservicekey</autoRegisterBusinessServiceKey>
+            <signatureBehavior>DoNothing</signatureBehavior>
+            <!--valid values are AbortIfSigned,Sign,DoNothing,SignOnlyIfParentIsntSigned, default is DoNothing-->
+        </subscriptionCallbacks>
+        <XtoWsdl>
+            <IgnoreSSLErrors>false</IgnoreSSLErrors>
+        </XtoWsdl>
+    </client>
+</uddi>
\ No newline at end of file



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