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/02/28 18:34:39 UTC

[1/6] JUDDI-856 added but needs testing JUDDI-751 refactor for rmi, http and smtp

Repository: juddi
Updated Branches:
  refs/heads/master c11d3d877 -> 8eff90e46


http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpExternalTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpExternalTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpExternalTest.java
new file mode 100644
index 0000000..bc04c2a
--- /dev/null
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpExternalTest.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright 2014 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.v3.tck;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Iterator;
+import java.util.Random;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.xml.ws.Endpoint;
+import org.apache.commons.configuration.ConfigurationException;
+import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerIntegrationBase.logger;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.BeforeClass;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class UDDI_090_HttpExternalTest extends UDDI_090_SubscriptionListenerIntegrationBase {
+
+        private static Endpoint endPoint=null;
+        private static String hostname=null;
+        private static int port = 0;
+
+        @AfterClass
+        public static void stop() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                stopManager();
+                endPoint.stop();
+                endPoint = null;
+
+        }
+
+        @BeforeClass
+        public static void startup() throws Exception {
+                if (!TckPublisher.isEnabled()) return;
+                startManager();
+                hostname = TckPublisher.getProperties().getProperty("bindaddress");
+                if (hostname == null) {
+                        hostname = InetAddress.getLocalHost().getHostName();
+                }
+                port = 9600;
+                //bring up the TCK SubscriptionListener
+                String httpEndpoint = "http://" + hostname + ":" + port + "/tcksubscriptionlistener";
+                System.out.println("Bringing up SubscriptionListener endpoint at " + httpEndpoint);
+                endPoint = Endpoint.publish(httpEndpoint, new UDDISubscriptionListenerImpl());
+                int count = 0;
+                while (!endPoint.isPublished()) {
+                        port = 9600 + new Random().nextInt(99);
+                        httpEndpoint = "http://" + hostname + ":" + port + "/tcksubscriptionlistener";
+                        System.out.println("Bringing up SubscriptionListener endpoint at " + httpEndpoint);
+                        endPoint = Endpoint.publish(httpEndpoint, new UDDISubscriptionListenerImpl());
+                        count++;
+                        if (count > 10) {
+                                Assert.fail("unable to bring up endpoint");
+                        }
+                }
+        }
+
+        @Override
+        public boolean verifyDelivery(String findMe) {
+                for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
+                        try {
+                                Thread.sleep(1000);
+                        } catch (InterruptedException ex) {
+                        }
+                        System.out.print(".");
+                        if (UDDISubscriptionListenerImpl.notificationCount > 0) {
+                        }
+                }
+                logger.info("RX " + UDDISubscriptionListenerImpl.notificationCount + " notifications");
+                Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
+                boolean found = false;
+
+                while (it.hasNext()) {
+                        String test = it.next();
+                        if (TckCommon.isDebug()) {
+                                logger.info("Notification: " + test);
+                        }
+                        if (test.toLowerCase().contains(findMe.toLowerCase())) {
+                                found = true;
+                        }
+                }
+                return found;
+        }
+
+        @Override
+        public void reset() {
+                UDDISubscriptionListenerImpl.notifcationMap.clear();
+                UDDISubscriptionListenerImpl.notificationCount = 0;
+        }
+
+        @Override
+        public String getXMLLocationOfServiceForDelivery() {
+                return TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML;
+        }
+
+        @Override
+        public String getTransport() {
+                return "HTTP_MAVEN";
+        }
+
+        @Override
+        public int getPort() {
+                return port;
+        }
+
+        @Override
+        public String getHostame() {
+                if (hostname == null) {
+                        hostname = TckPublisher.getProperties().getProperty("bindaddress");
+                        if (hostname == null) {
+                                try {
+                                        hostname = InetAddress.getLocalHost().getHostName();
+                                } catch (UnknownHostException ex) {
+                                        Logger.getLogger(UDDI_090_HttpExternalTest.class.getName()).log(Level.SEVERE, null, ex);
+                                }
+                        }
+                }
+                return hostname;
+        }
+
+        @Override
+        public String getSubscription1XML() {
+                return TckSubscriptionListener.SUBSCRIPTION_XML;
+        }
+
+        @Override
+        public String getSubscription2XML() {
+                return TckSubscriptionListener.SUBSCRIPTION2_XML;
+        }
+
+        @Override
+        public String getSubscription3XML() {
+                return TckSubscriptionListener.SUBSCRIPTION3_XML;
+        }
+
+        @Override
+        public String getSubscriptionKey1() {
+                return TckSubscriptionListener.SUBSCRIPTION_KEY;
+        }
+
+        @Override
+        public String getSubscriptionKey2() {
+                return TckSubscriptionListener.SUBSCRIPTION_KEY;
+        }
+
+        @Override
+        public String getSubscriptionKey3() {
+                return TckSubscriptionListener.SUBSCRIPTION_KEY;
+        }
+
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java
new file mode 100644
index 0000000..52f35e4
--- /dev/null
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright 2014 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.v3.tck;
+
+import java.net.InetAddress;
+import java.util.Iterator;
+import java.util.Random;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.xml.ws.Endpoint;
+import org.apache.commons.configuration.ConfigurationException;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.BeforeClass;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class UDDI_090_HttpMavenIntegrationTest extends UDDI_090_SubscriptionListenerIntegrationBase {
+
+        private static Endpoint endPoint;
+        private static String hostname;
+        private static int port = 0;
+
+        @AfterClass
+        public static void stop() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                stopManager();
+                endPoint.stop();
+                endPoint = null;
+
+        }
+
+        @BeforeClass
+        public static void startup() throws Exception {
+
+                if (!TckPublisher.isEnabled()) return;
+                startManager();
+                hostname = "localhost";
+                //bring up the TCK SubscriptionListener
+                port = 9600;
+                String httpEndpoint = "http://" + hostname + ":" + port + "/tcksubscriptionlistener";
+                System.out.println("Bringing up SubscriptionListener endpoint at " + httpEndpoint);
+                endPoint = Endpoint.publish(httpEndpoint, new UDDISubscriptionListenerImpl());
+                int count = 0;
+                while (!endPoint.isPublished()) {
+                        port = 9600 + new Random().nextInt(99);
+                        httpEndpoint = "http://" + hostname + ":" + port + "/tcksubscriptionlistener";
+                        System.out.println("Bringing up SubscriptionListener endpoint at " + httpEndpoint);
+                        endPoint = Endpoint.publish(httpEndpoint, new UDDISubscriptionListenerImpl());
+                        count++;
+                        if (count > 10) {
+                                Assert.fail("unable to bring up endpoint");
+                        }
+                }
+        }
+
+        @Override
+        public boolean verifyDelivery(String findMe) {
+                for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
+                        try {
+                                Thread.sleep(1000);
+                        } catch (InterruptedException ex) {
+                        }
+                        System.out.print(".");
+                        //if (UDDISubscriptionListenerImpl.notificationCount > 0) {                        }
+                }
+                logger.info("RX " + UDDISubscriptionListenerImpl.notificationCount + " notifications");
+                Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
+                boolean found = false;
+
+                while (it.hasNext()) {
+                        String test = it.next();
+                        if (TckCommon.isDebug()) {
+                                logger.info("Notification: " + test);
+                        }
+                        if (test.toLowerCase().contains(findMe.toLowerCase())) {
+                                found = true;
+                        }
+                }
+                return found;
+        }
+
+        @Override
+        public void reset() {
+                UDDISubscriptionListenerImpl.notifcationMap.clear();
+                UDDISubscriptionListenerImpl.notificationCount = 0;
+        }
+
+        @Override
+        public String getXMLLocationOfServiceForDelivery() {
+                return TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML;
+        }
+
+        @Override
+        public String getTransport() {
+                return "HTTP_MAVEN";
+        }
+
+        @Override
+        public int getPort() {
+                return port;
+        }
+
+        @Override
+        public String getHostame() {
+                return hostname;
+        }
+
+        @Override
+        public String getSubscription1XML() {
+                return TckSubscriptionListener.SUBSCRIPTION_XML;
+        }
+
+        @Override
+        public String getSubscription2XML() {
+                return TckSubscriptionListener.SUBSCRIPTION2_XML;
+        }
+
+        @Override
+        public String getSubscription3XML() {
+                return TckSubscriptionListener.SUBSCRIPTION3_XML;
+        }
+
+        @Override
+        public String getSubscriptionKey1() {
+                return TckSubscriptionListener.SUBSCRIPTION_KEY;
+        }
+
+        @Override
+        public String getSubscriptionKey2() {
+                return TckSubscriptionListener.SUBSCRIPTION_KEY;
+        }
+
+        @Override
+        public String getSubscriptionKey3() {
+                return TckSubscriptionListener.SUBSCRIPTION_KEY;
+        }
+
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java
new file mode 100644
index 0000000..5e925a8
--- /dev/null
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_RMIIntegrationTest.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2014 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.v3.tck;
+
+import java.net.InetAddress;
+import java.net.URI;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import java.util.Iterator;
+import java.util.Random;
+import javax.xml.ws.Endpoint;
+import org.apache.commons.configuration.ConfigurationException;
+import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerIntegrationBase.logger;
+import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerIntegrationBase.startManager;
+import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerIntegrationBase.stopManager;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.BeforeClass;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class UDDI_090_RMIIntegrationTest extends UDDI_090_SubscriptionListenerIntegrationBase {
+
+        private static UDDISubscriptionListenerImpl rmiSubscriptionListenerService = null;
+        private static TckSubscriptionListenerRMI rmiSubscriptionListener = null;
+        private static Registry registry;
+        private static Integer randomPort = null;
+        private static String hostname = null;
+
+        @AfterClass
+        public static void stop() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                stopManager();
+
+        }
+
+        @BeforeClass
+        public static void startup() throws Exception {
+
+                if (!TckPublisher.isEnabled()) return;
+                startManager();
+
+                randomPort = 19800 + new Random().nextInt(99);
+                System.out.println("RMI Random port=" + randomPort);
+                //bring up the RMISubscriptionListener
+                URI rmiEndPoint = new URI("rmi://localhost:" + randomPort + "/tck/rmisubscriptionlistener");
+                registry = LocateRegistry.createRegistry(rmiEndPoint.getPort());
+                String path = rmiEndPoint.getPath();
+                hostname = InetAddress.getLocalHost().getHostName();
+                //starting the service
+                rmiSubscriptionListenerService = new UDDISubscriptionListenerImpl(0);
+                //binding to the RMI Registry
+                registry.bind(path, rmiSubscriptionListenerService);
+
+                //double check that the service is bound in the local Registry
+                Registry registry2 = LocateRegistry.getRegistry(rmiEndPoint.getHost(), rmiEndPoint.getPort());
+                registry2.lookup(rmiEndPoint.getPath());
+
+        }
+
+        @Override
+        public boolean verifyDelivery(String findMe) {
+                for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
+                        try {
+                                Thread.sleep(1000);
+                        } catch (InterruptedException ex) {
+                        }
+                        System.out.print(".");
+                        //if (UDDISubscriptionListenerImpl.notificationCount > 0) {                        }
+                }
+                logger.info("RX " + UDDISubscriptionListenerImpl.notificationCount + " notifications");
+                Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
+                boolean found = false;
+
+                while (it.hasNext()) {
+                        String test = it.next();
+                        if (TckCommon.isDebug()) {
+                                logger.info("Notification: " + test);
+                        }
+                        if (test.toLowerCase().contains(findMe.toLowerCase())) {
+                                found = true;
+                        }
+                }
+                return found;
+        }
+
+        @Override
+        public void reset() {
+                UDDISubscriptionListenerImpl.notifcationMap.clear();
+                UDDISubscriptionListenerImpl.notificationCount = 0;
+
+        }
+
+        @Override
+        public String getXMLLocationOfServiceForDelivery() {
+                return TckSubscriptionListener.LISTENER_RMI_SERVICE_XML;
+        }
+
+        @Override
+        public String getTransport() {
+                return "RMI";
+        }
+
+        @Override
+        public int getPort() {
+                return randomPort;
+        }
+
+        @Override
+        public String getHostame() {
+                return hostname;
+        }
+
+        @Override
+        public String getSubscription1XML() {
+                return TckSubscriptionListenerRMI.SUBSCRIPTION_XML_RMI;
+        }
+
+        @Override
+        public String getSubscription2XML() {
+                return TckSubscriptionListenerRMI.SUBSCRIPTION_XML2_RMI;
+        }
+
+        @Override
+        public String getSubscription3XML() {
+                return TckSubscriptionListenerRMI.SUBSCRIPTION_XML3_RMI;
+        }
+
+        @Override
+        public String getSubscriptionKey1() {
+                return TckSubscriptionListenerRMI.SUBSCRIPTION_KEY_RMI;
+        }
+
+        @Override
+        public String getSubscriptionKey2() {
+                return TckSubscriptionListenerRMI.SUBSCRIPTION_KEY_RMI;
+        }
+
+        @Override
+        public String getSubscriptionKey3() {
+                return TckSubscriptionListenerRMI.SUBSCRIPTION_KEY_RMI;
+        }
+
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_Smtp_ExternalTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_Smtp_ExternalTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_Smtp_ExternalTest.java
new file mode 100644
index 0000000..998bf19
--- /dev/null
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_Smtp_ExternalTest.java
@@ -0,0 +1,229 @@
+/*
+ * Copyright 2014 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.v3.tck;
+
+import java.io.BufferedInputStream;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.Properties;
+import java.util.Random;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.mail.Flags;
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.Session;
+import javax.mail.Store;
+import javax.mail.internet.MimeMessage;
+import javax.xml.ws.Endpoint;
+import org.apache.commons.codec.net.QuotedPrintableCodec;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.mail.util.MimeMessageParser;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.BeforeClass;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class UDDI_090_Smtp_ExternalTest extends UDDI_090_SubscriptionListenerIntegrationBase {
+
+        public UDDI_090_Smtp_ExternalTest(){
+                super();
+        }
+        @AfterClass
+        public static void stop() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                stopManager();
+
+        }
+
+        @BeforeClass
+        public static void start() throws Exception {
+                if (!TckPublisher.isEnabled()) return;
+                startManager();
+                email = TckPublisher.getProperties().getProperty("mail.pop3.to");
+        }
+
+        static String  email = TckPublisher.getProperties().getProperty("mail.pop3.to");
+
+        @Override
+        public boolean verifyDelivery(String findMe) {
+                logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery, searching for " + findMe);
+                boolean received = false;
+                for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
+                        try {
+                                Thread.sleep(1000);
+                        } catch (InterruptedException ex) {
+                        }
+                        System.out.print(".");
+                        if (fetchMail(findMe) > 0) {
+                                logger.info("Received Email Notification");
+                                received = true;
+                                break;
+                        }
+                }
+                return received;
+        }
+
+        @Override
+        public void reset() {
+
+        }
+
+        @Override
+        public String getXMLLocationOfServiceForDelivery() {
+                return TckSubscriptionListener.LISTENER_SMTP_SERVICE_EXTERNAL_XML;
+        }
+
+        @Override
+        public String getTransport() {
+                return "SMTP";
+        }
+
+        @Override
+        public int getPort() {
+                return 0;
+        }
+
+        @Override
+        public String getHostame() {
+                return TckPublisher.getProperties().getProperty("mail.pop3.to");
+        }
+
+        /**
+         * gets all current messages from the mail server and returns the number
+         * of messages containing the string, messages containing the string are
+         * deleted from the mail server String is the body of each message
+         *
+         * @return number of matching and deleted messages
+         * @param contains a string to search for
+         */
+        private static int fetchMail(String contains) {
+
+                //final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
+
+                /* Set the mail properties */
+                Properties properties = TckPublisher.getProperties();
+                // Set manual Properties
+
+                int found = 0;
+                Session session = Session.getDefaultInstance(properties, null);
+                Store store = null;
+                try {
+                        store = session.getStore("pop3");
+
+                        store.connect(properties.getProperty("mail.pop3.host"), Integer.parseInt(properties.getProperty("mail.pop3.port", "110")), properties.getProperty("mail.pop3.username"), properties.getProperty("mail.pop3.password"));
+                        /* Mention the folder name which you want to read. */
+                        // inbox = store.getDefaultFolder();
+                        // inbox = inbox.getFolder("INBOX");
+                        Folder inbox = store.getFolder("INBOX");
+
+                        /* Open the inbox using store. */
+                        inbox.open(Folder.READ_WRITE);
+
+                        Message messages[] = inbox.getMessages();
+
+                        for (int i = 0; i < messages.length; i++) {
+
+                                MimeMessageParser p = new MimeMessageParser(new MimeMessage(session, messages[i].getInputStream()));
+                                Enumeration allHeaders = p.getMimeMessage().getAllHeaders();
+                                while (allHeaders.hasMoreElements()) {
+                                        Object j = allHeaders.nextElement();
+                                        if (j instanceof javax.mail.Header) {
+                                                javax.mail.Header msg = (javax.mail.Header) j;
+                                                logger.info("XML as message header is " + msg.getValue());
+                                                if (msg.getValue().contains(contains)) {
+                                                        //found it
+                                                        messages[i].setFlag(Flags.Flag.DELETED, true);
+                                                        found++;
+                                                }
+                                        }
+                                }
+                                for (int k = 0; k < p.getAttachmentList().size(); k++) {
+                                        InputStream is = p.getAttachmentList().get((k)).getInputStream();
+                                        QuotedPrintableCodec qp = new QuotedPrintableCodec();
+                                        // If "is" is not already buffered, wrap a BufferedInputStream
+                                        // around it.
+                                        if (!(is instanceof BufferedInputStream)) {
+                                                is = new BufferedInputStream(is);
+                                        }
+                                        int c;
+                                        StringBuilder sb = new StringBuilder();
+                                        System.out.println("Message : ");
+                                        while ((c = is.read()) != -1) {
+                                                sb.append(c);
+                                                System.out.write(c);
+                                        }
+                                        is.close();
+                                        String decoded = qp.decode(sb.toString());
+                                        logger.info("decode message is " + decoded);
+                                        if (decoded.contains(contains)) {
+                                                //found it
+                                                messages[i].setFlag(Flags.Flag.DELETED, true);
+                                                found++;
+                                        }
+                                }
+
+                        }
+                        inbox.close(true);
+
+                } catch (Exception ex) {
+                        ex.printStackTrace();
+                } finally {
+                        if (store != null) {
+                                try {
+                                        store.close();
+                                } catch (Exception ex) {
+                                }
+                        }
+                }
+                return found;
+        }
+
+        @Override
+        public String getSubscription1XML() {
+                 return TckSubscriptionListener.SUBSCRIPTION_SMTP_XML;
+        }
+
+        @Override
+        public String getSubscription2XML() {
+                 return TckSubscriptionListener.SUBSCRIPTION2_SMTP_XML;
+        }
+
+        @Override
+        public String getSubscription3XML() {
+                return  TckSubscriptionListener.SUBSCRIPTION3_SMTP_XML;
+        }
+
+        @Override
+        public String getSubscriptionKey1() {
+                return TckSubscriptionListener.SUBSCRIPTION_SMTP_KEY;
+        }
+
+        @Override
+        public String getSubscriptionKey2() {
+                return TckSubscriptionListener.SUBSCRIPTION_SMTP_KEY;
+        }
+
+        @Override
+        public String getSubscriptionKey3() {
+                return TckSubscriptionListener.SUBSCRIPTION_SMTP_KEY;
+        }
+
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java
index 7db18e9..95b789d 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java
@@ -115,7 +115,7 @@ public class UDDI_090_SubscriptionListenerExternalTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelMary.deleteCreatedTModels(authInfoMary);
                 manager.stop();
@@ -126,7 +126,7 @@ public class UDDI_090_SubscriptionListenerExternalTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 try {
                         httpPort = 9600 + new Random().nextInt(99);
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java
new file mode 100644
index 0000000..54e624a
--- /dev/null
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java
@@ -0,0 +1,509 @@
+/*
+ * Copyright 2014 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.v3.tck;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.ws.BindingProvider;
+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.v3.client.config.UDDIClient;
+import org.apache.juddi.v3.client.transport.Transport;
+import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerExternalTest.updatePublisherBusiness;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.Description;
+import org.uddi.api_v3.GetBusinessDetail;
+import org.uddi.api_v3.GetTModelDetail;
+import org.uddi.api_v3.SaveTModel;
+import org.uddi.api_v3.TModel;
+import org.uddi.sub_v3.DeleteSubscription;
+import org.uddi.sub_v3.Subscription;
+import org.uddi.sub_v3.SubscriptionFilter;
+import org.uddi.v3_service.UDDIInquiryPortType;
+import org.uddi.v3_service.UDDIPublicationPortType;
+import org.uddi.v3_service.UDDISecurityPortType;
+import org.uddi.v3_service.UDDISubscriptionPortType;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public abstract class UDDI_090_SubscriptionListenerIntegrationBase {
+
+        protected static Log logger = LogFactory.getLog(UDDI_090_SubscriptionListenerIntegrationBase.class);
+        private static UDDISubscriptionPortType subscriptionMary = null;
+        private static UDDIInquiryPortType inquiryMary = null;
+        private static TckTModel tckTModelMary = null;
+        private static TckBusiness tckBusinessMary = null;
+        private static TckBusinessService tckBusinessServiceMary = null;
+        private static TckSubscriptionListener tckSubscriptionListenerMary = null;
+        private static String hostname = null;
+        private static UDDISubscriptionPortType subscriptionJoe = null;
+        private static UDDIInquiryPortType inquiryJoe = null;
+        private static UDDIPublicationPortType publicationMary = null;
+        private static UDDIPublicationPortType publicationJoe = null;
+        private static TckTModel tckTModelJoe = null;
+        private static TckBusiness tckBusinessJoe = null;
+        private static TckBusinessService tckBusinessServiceJoe = null;
+        private static TckSubscriptionListener tckSubscriptionListenerJoe = null;
+
+        private static String authInfoJoe = null;
+        private static String authInfoMary = null;
+        private static UDDIClient manager;
+
+        public static void stopManager() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                tckTModelJoe.deleteCreatedTModels(authInfoJoe);
+                tckTModelMary.deleteCreatedTModels(authInfoMary);
+                manager.stop();
+                //shutting down the TCK SubscriptionListener
+
+        }
+
+        public static void startManager() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                try {
+                        /*                 smtpPort = 9700 + new Random().nextInt(99);
+                         httpPort = 9600 + new Random().nextInt(99);
+                         Properties properties = new Properties();
+                         properties.setProperty("juddi.mail.smtp.host", "localhost");
+                         properties.setProperty("juddi.mail.smtp.port", String.valueOf(smtpPort));
+                         properties.setProperty("juddi.mail.smtp.from", "jUDDI@example.org");
+                         String version = Release.getRegistryVersion().replaceAll(".SNAPSHOT", "-SNAPSHOT");
+                         String curDir = System.getProperty("user.dir");
+                         if (!curDir.endsWith("uddi-tck")) {
+                         curDir += "/uddi-tck";
+                         }
+                         String path = curDir + "/target/juddi-tomcat-" + version + "/temp/";
+                         System.out.println("Saving jUDDI email properties to " + path);
+                         File tmpDir = new File(path);
+                         File tmpFile = new File(tmpDir + "/juddi-mail.properties");
+                         if (!tmpFile.createNewFile()) {
+                         tmpFile.delete();
+                         tmpFile.createNewFile();
+                         }
+                         properties.store(new FileOutputStream(tmpFile), "tmp email settings");
+                         */
+
+                        manager = new UDDIClient();
+                        manager.start();
+
+                        logger.debug("Getting auth tokens..");
+
+                        Transport transport = manager.getTransport("uddiv3");
+                        UDDISecurityPortType security = transport.getUDDISecurityService();
+                        authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+                        authInfoMary = TckSecurity.getAuthToken(security, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
+                        //Assert.assertNotNull(authInfoJoe);
+
+                        publicationJoe = transport.getUDDIPublishService();
+                        inquiryJoe = transport.getUDDIInquiryService();
+                        subscriptionJoe = transport.getUDDISubscriptionService();
+                        if (!TckPublisher.isUDDIAuthMode()) {
+                                TckSecurity.setCredentials((BindingProvider) publicationJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+                                TckSecurity.setCredentials((BindingProvider) inquiryJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+                                TckSecurity.setCredentials((BindingProvider) subscriptionJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+                        }
+
+                        tckTModelJoe = new TckTModel(publicationJoe, inquiryJoe);
+                        tckBusinessJoe = new TckBusiness(publicationJoe, inquiryJoe);
+                        tckBusinessServiceJoe = new TckBusinessService(publicationJoe, inquiryJoe);
+                        tckSubscriptionListenerJoe = new TckSubscriptionListener(subscriptionJoe, publicationJoe);
+
+                        transport = manager.getTransport("uddiv3");
+                        publicationMary = transport.getUDDIPublishService();
+                        inquiryMary = transport.getUDDIInquiryService();
+                        subscriptionMary = transport.getUDDISubscriptionService();
+                        if (!TckPublisher.isUDDIAuthMode()) {
+                                TckSecurity.setCredentials((BindingProvider) publicationMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
+                                TckSecurity.setCredentials((BindingProvider) inquiryMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
+                                TckSecurity.setCredentials((BindingProvider) subscriptionMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
+                        }
+
+                        tckTModelMary = new TckTModel(publicationMary, inquiryMary);
+                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
+
+                        tckBusinessMary = new TckBusiness(publicationMary, inquiryMary);
+                        tckBusinessServiceMary = new TckBusinessService(publicationMary, inquiryMary);
+                        tckSubscriptionListenerMary = new TckSubscriptionListener(subscriptionMary, publicationMary);
+
+                } catch (Exception e) {
+                        logger.error(e.getMessage(), e);
+                        Assert.fail("Could not obtain authInfo token.");
+                }
+        }
+
+        /**
+         * verifies the delivery of the notification, will block until timeout
+         * or success
+         *
+         * @param findMe
+         * @return true is success
+         */
+        public abstract boolean verifyDelivery(String findMe);
+
+        /**
+         * reform transport specific resets of the listener
+         */
+        public abstract void reset();
+
+        public abstract String getXMLLocationOfServiceForDelivery();
+
+        /**
+         * used for logging purposes
+         * @return 
+         */
+        public abstract String getTransport();
+
+        /**
+         * listener port
+         * @return 
+         */
+        public abstract int getPort();
+
+        /**
+         * either returns localhost hostname or an email or delivery address
+         * @return 
+         */
+        public abstract String getHostame();
+
+        @Test
+        public void joePublisherUpdate_FIND_SERVICE() {
+                Assume.assumeTrue(TckPublisher.isEnabled());
+                Assume.assumeNotNull(getHostame());
+                logger.info("joePublisherUpdate_" + getTransport() + "_FIND_SERVICE");
+                try {
+                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
+                        String before = TckCommon.DumpAllServices(authInfoJoe, inquiryJoe);
+                        reset();
+
+                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
+                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
+                        //Saving the binding template that will be called by the server for a subscription event
+                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
+                        //Saving the HTTP Listener Service
+                        tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame());
+                        //Saving the HTTP Subscription
+                        String saveNotifierSubscription = tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe,getSubscription1XML());
+                        //Changing the service we subscribed to "JoePublisherService"
+                        Thread.sleep(1000);
+                        logger.info("Updating Service ********** ");
+                        tckBusinessServiceJoe.updateJoePublisherService(authInfoJoe, "Service One");
+
+                        boolean found = verifyDelivery("Service One");
+
+                        if (!found) {
+                                logger.warn("Test failed, dumping service list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllServices(authInfoJoe, inquiryJoe));
+                                //if (!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name xml:lang=\"en\">Service One</name>")) {
+                                Assert.fail("Notification does not contain the correct service");
+                        }
+                } catch (Exception e) {
+                        logger.error("No exceptions please.");
+                        e.printStackTrace();
+
+                        Assert.fail();
+                } finally {
+                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, getSubscriptionKey1());
+                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
+                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
+                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
+                }
+        }
+
+        @Test
+        public void joePublisherUpdate_FIND_BUSINESS() {
+                Assume.assumeTrue(TckPublisher.isEnabled());
+                Assume.assumeNotNull(getHostame());
+                logger.info("joePublisherUpdate_" + getTransport() + "_FIND_BUSINESS");
+                try {
+                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
+                        TckCommon.DeleteBusiness(TckBusiness.MARY_BUSINESS_KEY, authInfoMary, publicationMary);
+                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
+
+                        reset();
+
+                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
+                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
+                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
+                        //Saving the Listener Service
+                        logger.info("Saving Joe's callback endpoint ********** ");
+                        tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame());
+                        //Saving the Subscription
+                        logger.info("Saving Joe's subscription********** ");
+                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, getSubscription2XML());
+                        //Changing the service we subscribed to "JoePublisherService"
+
+                        logger.info("Saving Mary's Business ********** ");
+                        tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
+
+                        boolean found = verifyDelivery("mary");
+
+                        if (!found) {
+                                logger.warn("Test failed, dumping business list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
+                                Assert.fail("Notification does not contain the correct service");
+                        }
+                } catch (Exception e) {
+                        logger.error("No exceptions please.");
+                        e.printStackTrace();
+
+                        Assert.fail();
+                } finally {
+                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, getSubscriptionKey2());
+                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
+                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
+                        TckCommon.DeleteBusiness(TckBusiness.MARY_BUSINESS_KEY, authInfoMary, publicationMary);
+                        //tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
+                }
+        }
+
+        public abstract String getSubscription1XML();
+        public abstract String getSubscription2XML();
+        public abstract String getSubscription3XML();
+        public abstract String getSubscriptionKey1();
+        public abstract String getSubscriptionKey2();
+        public abstract String getSubscriptionKey3();
+        //tmodel tests
+        @Test
+        public void joePublisherUpdate_FIND_TMODEL() {
+                Assume.assumeTrue(TckPublisher.isEnabled());
+                Assume.assumeNotNull(getHostame());
+                logger.info("joePublisherUpdate_" + getTransport() + "_FIND_TMODEL " + getXMLLocationOfServiceForDelivery() + " " + getPort() + " " + getHostame());
+                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
+                try {
+                        reset();
+
+                        String before = TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
+                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
+                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
+                        //Saving the Listener Service
+
+                        tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame());
+                        //Saving the Subscription
+                        String saveNotifierSubscription = tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, getSubscription3XML());
+                        logger.info("subscription saved for " + saveNotifierSubscription);
+                        //Changing the service we subscribed to "JoePublisherService"
+                        Thread.sleep(1000);
+                        logger.info("Deleting tModel ********** ");
+                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY);
+
+                        boolean found = verifyDelivery("tModel One");
+
+                        if (!found) {
+                                logger.warn("Test failed, dumping business list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
+                                Assert.fail("Notification does not contain the correct service");
+                        }
+
+                } catch (Exception e) {
+                        logger.error("No exceptions please.");
+                        e.printStackTrace();
+
+                        Assert.fail();
+                } finally {
+                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, getSubscriptionKey3());
+                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
+                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
+                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+                }
+        }
+
+        /**
+         * getBusiness tests joe want's updates on mary's business
+         *
+         * @throws Exception
+         */
+        @Test
+        public void joePublisherUpdate_GET_BUSINESS_DETAIL() throws Exception {
+                Assume.assumeTrue(TckPublisher.isEnabled());
+                Assume.assumeNotNull(getHostame());
+                logger.info("joePublisherUpdate_" + getTransport() + "_GET_BUSINESS_DETAIL");
+                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
+                Holder<List<Subscription>> holder = null;
+                try {
+                        reset();
+
+                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
+
+                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+
+                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
+                        BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
+
+                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
+                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
+                        //Saving the Listener Service
+                        String bindingkey = tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame());
+
+                        //Saving the Subscription
+                        holder = new Holder<List<Subscription>>();
+                        holder.value = new ArrayList<Subscription>();
+                        Subscription sub = new Subscription();
+                        sub.setBindingKey(bindingkey);
+                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
+                        sub.setSubscriptionFilter(new SubscriptionFilter());
+                        sub.getSubscriptionFilter().setGetBusinessDetail(new GetBusinessDetail());
+                        sub.getSubscriptionFilter().getGetBusinessDetail().getBusinessKey().add(TckBusiness.MARY_BUSINESS_KEY);
+
+                        holder.value.add(sub);
+                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
+                        logger.info("subscription saved for " + holder.value.get(0).getSubscriptionKey());
+                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
+                        //Changing the service we subscribed to "JoePublisherService"
+                        Thread.sleep(1000);
+                        logger.info("updating Mary's business ********** ");
+                        updatePublisherBusiness(authInfoMary, saveMaryPublisherBusiness, publicationMary);
+
+                        boolean found = verifyDelivery("Updated Name");
+
+                        if (!found) {
+                                logger.warn("Test failed, dumping business list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
+                                Assert.fail("Notification does not contain the correct service.");
+                        }
+
+                } catch (Exception e) {
+                        logger.error("No exceptions please.");
+                        e.printStackTrace();
+
+                        Assert.fail();
+                } finally {
+                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
+                        DeleteSubscription ds = new DeleteSubscription();
+                        ds.setAuthInfo(authInfoJoe);
+                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
+                        subscriptionJoe.deleteSubscription(ds);
+                        tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
+                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
+
+                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
+                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
+                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+
+                }
+        }
+
+        /**
+         * getBusiness tests joe want's updates on mary's business
+         *
+         * @throws Exception
+         */
+        @Test
+        public void joePublisherUpdate_GET_TMODEL_DETAIL() throws Exception {
+                Assume.assumeTrue(TckPublisher.isEnabled());
+                Assume.assumeNotNull(getHostame());
+                logger.info("joePublisherUpdate_" + getTransport() + "_GET_TMODEL_DETAIL");
+                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
+                Holder<List<Subscription>> holder = null;
+                try {
+                        reset();
+
+                        String before = TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
+
+                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+                        TModel saveMaryPublisherTmodel = tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
+
+                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
+                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
+                        //Saving the Listener Service
+                        String bindingkey = tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame());
+
+                        //Saving the Subscription
+                        holder = new Holder<List<Subscription>>();
+                        holder.value = new ArrayList<Subscription>();
+                        Subscription sub = new Subscription();
+                        sub.setBindingKey(bindingkey);
+                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
+                        sub.setSubscriptionFilter(new SubscriptionFilter());
+                        sub.getSubscriptionFilter().setGetTModelDetail(new GetTModelDetail());
+                        sub.getSubscriptionFilter().getGetTModelDetail().getTModelKey().add(TckTModel.MARY_PUBLISHER_TMODEL_KEY);
+
+                        holder.value.add(sub);
+                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
+                        logger.info("subscription saved for " + holder.value.get(0).getSubscriptionKey());
+                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
+                        //Changing the service we subscribed to "JoePublisherService"
+                        Thread.sleep(1000);
+                        logger.info("updating Mary's tModel ********** ");
+                        updateTModel(authInfoMary, saveMaryPublisherTmodel, publicationMary);
+
+                        boolean found = verifyDelivery("a new description");
+
+                        if (!found) {
+                                logger.warn("Test failed, dumping business list");
+                                logger.warn("BEFORE " + before);
+                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
+                                Assert.fail("Notification does not contain the correct service.");
+                        }
+
+                } catch (Exception e) {
+                        logger.error("No exceptions please.");
+                        e.printStackTrace();
+
+                        Assert.fail();
+                } finally {
+                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
+                        DeleteSubscription ds = new DeleteSubscription();
+                        ds.setAuthInfo(authInfoJoe);
+                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
+                        subscriptionJoe.deleteSubscription(ds);
+                        //tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
+                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
+
+                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
+                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
+                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
+                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
+
+                }
+        }
+
+        //get service detail
+        //get binding detail
+        //get pub assertion
+        //find publisher assertions
+        //find binding
+        //TODO If a subscriber specifies a maximum number of entries to be returned with a subscription and the amount of data to be returned exceeds 
+//this limit, or if the node determines based on its policy that there are too many entries to be returned in a single group, 
+        //then the node SHOULD provide a chunkToken with results.  
+        //TODO  If no more results are pending, the value of the chunkToken MUST be "0".
+        public static void updateTModel(String authInfoMary, TModel saveMaryPublisherTmodel, UDDIPublicationPortType publicationMary) throws Exception {
+                saveMaryPublisherTmodel.getDescription().add(new Description("a new description", null));
+                SaveTModel stm = new SaveTModel();
+                stm.setAuthInfo(authInfoMary);
+                stm.getTModel().add(saveMaryPublisherTmodel);
+                publicationMary.saveTModel(stm);
+        }
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
index 6cec5b0..5c43eeb 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
@@ -95,7 +95,7 @@ public class UDDI_090_SubscriptionListenerIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelMary.deleteCreatedTModels(authInfoMary);
                 manager.stop();
@@ -106,7 +106,7 @@ public class UDDI_090_SubscriptionListenerIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 try {
                         smtpPort = 9700 + new Random().nextInt(99);
                         httpPort = 9600 + new Random().nextInt(99);

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
index d27a359..53215b6 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_110_FindBusinessIntegrationTest.java
@@ -65,7 +65,7 @@ public class UDDI_110_FindBusinessIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
                 tckTModel01.deleteCreatedTModels(authInfoJoe);
                 tckTModel02.deleteCreatedTModels(authInfoJoe);
@@ -74,7 +74,7 @@ public class UDDI_110_FindBusinessIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_120_CombineCategoryBagsFindServiceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_120_CombineCategoryBagsFindServiceIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_120_CombineCategoryBagsFindServiceIntegrationTest.java
index 2538ae0..786a086 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_120_CombineCategoryBagsFindServiceIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_120_CombineCategoryBagsFindServiceIntegrationTest.java
@@ -75,14 +75,14 @@ public class UDDI_120_CombineCategoryBagsFindServiceIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
                 manager.stop();
         }
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_130_CombineCategoryBagsFindBusinessIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_130_CombineCategoryBagsFindBusinessIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_130_CombineCategoryBagsFindBusinessIntegrationTest.java
index e004834..badb884 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_130_CombineCategoryBagsFindBusinessIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_130_CombineCategoryBagsFindBusinessIntegrationTest.java
@@ -80,14 +80,14 @@ public class UDDI_130_CombineCategoryBagsFindBusinessIntegrationTest
 
 	@AfterClass
 	public static void stopManager() throws ConfigurationException {
-          Assume.assumeTrue(TckPublisher.isEnabled());
+          if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
 		manager.stop();
 	}
 
 	@BeforeClass
 	public static void startManager() throws ConfigurationException {
-          Assume.assumeTrue(TckPublisher.isEnabled());
+          if (!TckPublisher.isEnabled()) return;
 		manager  = new UDDIClient();
 		manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_140_NegativePublicationIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_140_NegativePublicationIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_140_NegativePublicationIntegrationTest.java
index 1b47f4c..db1d5ac 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_140_NegativePublicationIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_140_NegativePublicationIntegrationTest.java
@@ -104,14 +104,14 @@ public class UDDI_140_NegativePublicationIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 manager.stop();
         }
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_141_JIRAIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_141_JIRAIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_141_JIRAIntegrationTest.java
index 4aa099d..44ea3fe 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_141_JIRAIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_141_JIRAIntegrationTest.java
@@ -93,7 +93,7 @@ public class UDDI_141_JIRAIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();
@@ -101,7 +101,7 @@ public class UDDI_141_JIRAIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 logger.info("UDDI_141_JIRAIntegrationTest");
                 manager = new UDDIClient();
                 manager.start();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_142_DigitalSignatureIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_142_DigitalSignatureIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_142_DigitalSignatureIntegrationTest.java
index a8eefb7..7291724 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_142_DigitalSignatureIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_142_DigitalSignatureIntegrationTest.java
@@ -77,7 +77,7 @@ public class UDDI_142_DigitalSignatureIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();
@@ -85,7 +85,7 @@ public class UDDI_142_DigitalSignatureIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 logger.info("UDDI_142_DigitalSignatureIntegrationTests");
                 manager = new UDDIClient();
                 manager.start();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java
index 48a9de4..5d29914 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_150_CustodyTransferIntegrationTest.java
@@ -79,14 +79,14 @@ public class UDDI_150_CustodyTransferIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 manager.stop();
         }
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
index 267c6ec..0c8d56f 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
@@ -66,7 +66,7 @@ public class UDDI_160_RESTIntergrationTest {
         @BeforeClass
         public static void startRegistry() throws ConfigurationException {
 
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 
@@ -81,7 +81,7 @@ public class UDDI_160_RESTIntergrationTest {
 
         @AfterClass
         public static void stopRegistry() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager.stop();
         }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_170_ValueSetValidation.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_170_ValueSetValidation.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_170_ValueSetValidation.java
index 774eefa..a8dbf6a 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_170_ValueSetValidation.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_170_ValueSetValidation.java
@@ -82,7 +82,7 @@ public class UDDI_170_ValueSetValidation implements UDDIValueSetValidationPortTy
 
         @BeforeClass
         public static void startRegistry() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
                 
@@ -105,7 +105,7 @@ public class UDDI_170_ValueSetValidation implements UDDIValueSetValidationPortTy
         
         @AfterClass
         public static void stopRegistry() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager.stop();
         }
         final static String VSV_KEY = "uddi:juddi.apache.org:businesses-asf";


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


[2/6] git commit: JUDDI-856 added but needs testing JUDDI-751 refactor for rmi, http and smtp

Posted by al...@apache.org.
JUDDI-856 added but needs testing
JUDDI-751 refactor for rmi, http and smtp


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

Branch: refs/heads/master
Commit: f0099f0da89269b4073485e460b1b9fbfa729737
Parents: c11d3d8
Author: alexoree <al...@apache.org>
Authored: Tue Feb 25 21:17:32 2014 -0500
Committer: alexoree <al...@apache.org>
Committed: Tue Feb 25 21:17:32 2014 -0500

----------------------------------------------------------------------
 .../juddi/api/impl/AuthenticatedService.java    |   2 +-
 .../java/org/apache/juddi/config/Property.java  |   9 +
 .../org/apache/juddi/v3/auth/Authenticator.java |  11 +-
 .../v3/auth/CryptedXMLDocAuthenticator.java     |   3 +
 .../v3/auth/HTTPContainerAuthenticator.java     | 115 +++++
 .../juddi/v3/auth/HTTPHeaderAuthenticator.java  | 120 +++++
 .../juddi/v3/auth/JUDDIAuthenticator.java       |   3 +-
 .../v3/auth/LdapExpandedAuthenticator.java      |   3 +-
 .../juddi/v3/auth/LdapSimpleAuthenticator.java  |   3 +-
 .../juddi/v3/auth/XMLDocAuthenticator.java      |   5 +-
 .../src/main/resources/messages.properties      |   3 +-
 uddi-migration-tool/pom.xml                     |   2 +-
 .../juddi/v3/tck/TckSubscriptionListener.java   |  79 ++-
 .../v3/tck/TckSubscriptionListenerRMI.java      |   2 +
 uddi-tck-base/src/main/resources/tck.properties |   2 +-
 .../subscriptionnotifier/subscription2RMI.xml   |  32 ++
 .../subscriptionnotifier/subscription3RMI.xml   |  32 ++
 uddi-tck-runner/pom.xml                         |   6 +-
 .../java/org/apache/juddi/tckrunner/App.java    |  34 +-
 .../v2/tck/UDDI_020_TmodelIntegrationTest.java  |   4 +-
 .../UDDI_030_BusinessEntityIntegrationTest.java |   4 +-
 ...UDDI_040_BusinessServiceIntegrationTest.java |   4 +-
 ...UDDI_050_BindingTemplateIntegrationTest.java |   4 +-
 ...I_060_PublisherAssertionIntegrationTest.java |   4 +-
 .../tck/UDDI_070_FindEntityIntegrationTest.java |   4 +-
 .../UDDI_110_FindBusinessIntegrationTest.java   |   4 +-
 .../tck/JUDDI_010_PublisherIntegrationTest.java |   3 +-
 ..._RMISubscriptionListenerIntegrationTest.java |   3 +-
 ...0_ClientSubscriptionInfoIntegrationTest.java |   4 +-
 ...tSubscriptionCallbackAPIIntegrationTest.java |   4 +-
 .../v3/tck/JUDDI_200_GUI_IntegrationTest.java   |   1 +
 .../tck/UDDI_010_PublisherIntegrationTest.java  |   4 +
 .../v3/tck/UDDI_020_TmodelIntegrationTest.java  |   4 +-
 .../UDDI_030_BusinessEntityIntegrationTest.java |  17 +-
 ...I_030_BusinessEntityLoadIntegrationTest.java |   4 +-
 ...UDDI_040_BusinessServiceIntegrationTest.java |   4 +-
 ...UDDI_050_BindingTemplateIntegrationTest.java |   4 +-
 ...I_060_PublisherAssertionIntegrationTest.java |   4 +-
 .../tck/UDDI_070_FindEntityIntegrationTest.java |   4 +-
 .../UDDI_080_SubscriptionIntegrationTest.java   |   4 +-
 .../juddi/v3/tck/UDDI_090_HttpExternalTest.java | 170 +++++++
 .../tck/UDDI_090_HttpMavenIntegrationTest.java  | 155 ++++++
 .../v3/tck/UDDI_090_RMIIntegrationTest.java     | 160 ++++++
 .../v3/tck/UDDI_090_Smtp_ExternalTest.java      | 229 +++++++++
 ...DI_090_SubscriptionListenerExternalTest.java |   4 +-
 ...090_SubscriptionListenerIntegrationBase.java | 509 +++++++++++++++++++
 ...090_SubscriptionListenerIntegrationTest.java |   4 +-
 .../UDDI_110_FindBusinessIntegrationTest.java   |   4 +-
 ...eCategoryBagsFindServiceIntegrationTest.java |   4 +-
 ...CategoryBagsFindBusinessIntegrationTest.java |   4 +-
 ..._140_NegativePublicationIntegrationTest.java |   4 +-
 .../v3/tck/UDDI_141_JIRAIntegrationTest.java    |   4 +-
 ...DDI_142_DigitalSignatureIntegrationTest.java |   4 +-
 ...UDDI_150_CustodyTransferIntegrationTest.java |   4 +-
 .../v3/tck/UDDI_160_RESTIntergrationTest.java   |   4 +-
 .../v3/tck/UDDI_170_ValueSetValidation.java     |   4 +-
 56 files changed, 1712 insertions(+), 113 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
index 052c21e..38665b6 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
@@ -137,7 +137,7 @@ public abstract class AuthenticatedService {
                     
                 }
 		Authenticator authenticator = AuthenticatorFactory.getAuthenticator();
-		UddiEntityPublisher entityPublisher = authenticator.identify(authInfo, modelAuthToken.getAuthorizedName());
+		UddiEntityPublisher entityPublisher = authenticator.identify(authInfo, modelAuthToken.getAuthorizedName(), ctx);
 		
 		// Must make sure the returned publisher has all the necessary fields filled
 		if (entityPublisher == null) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/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 0168c86..358da8d 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
@@ -68,6 +68,9 @@ public interface Property {
      */
     public final static String JUDDI_AUTH_TOKEN_ENFORCE_SAME_IP = "juddi.auth.token.enforceSameIPRule";
     
+    /**
+     * This points to the class of the authenticator
+     */
     public final static String JUDDI_AUTHENTICATOR = "juddi.auth.authenticator.class";
     /**
      * @see LdapSimpleAuthenticator
@@ -175,4 +178,10 @@ public interface Property {
      * @since 3.2, used for Apache Commons Configuration XML config file
      */
     public static final String ENCRYPTED_ATTRIBUTE="[@encrypted]";
+    
+    /**
+     * Used for HTTP Header based authentication for web proxies
+     * @since 3.2.1
+     */
+    public static final String JUDDI_AUTHENTICATOR_HTTP_HEADER_NAME="juddi.auth.authenticator.header";
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/Authenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/Authenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/Authenticator.java
index 3799d89..35bb1b3 100644
--- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/Authenticator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/Authenticator.java
@@ -17,6 +17,7 @@
 
 package org.apache.juddi.v3.auth;
 
+import javax.xml.ws.WebServiceContext;
 import org.apache.juddi.model.UddiEntityPublisher;
 import org.apache.juddi.v3.error.AuthenticationException;
 import org.apache.juddi.v3.error.FatalErrorException;
@@ -36,13 +37,15 @@ import org.apache.juddi.v3.error.FatalErrorException;
 public interface Authenticator {
 
 	/**
-	 * 
+	 * This function is called from the Security API's GetAuthToken().
+         * 
 	 * @param authorizedName - userId of the user making the registry request
 	 * @param cred   - some authentical creditial (i.e. a password) which can be used to 
 	 * 		           authenticate the user.
 	 * 
 	 * @return The publisherID for this user
-	 * @throws {@link AuthenticationException}, {@link FatalErrorException}
+         * @throws org.apache.juddi.v3.error.AuthenticationException
+         * @throws org.apache.juddi.v3.error.FatalErrorException
 	 */
 	String authenticate(String authorizedName, String cred) throws AuthenticationException, FatalErrorException;
 	
@@ -51,8 +54,8 @@ public interface Authenticator {
 	 * 
 	 * @param authInfo - the authorization token
 	 * @param authorizedName - the authorized Name
-	 * 
+	 * @param ctx - WebServiceContext, used for HTTP based authentication if desired (since 3.2.1)
 	 * @return - The entity publisher
 	 */
-	UddiEntityPublisher identify(String authInfo, String authorizedName) throws AuthenticationException, FatalErrorException;
+	UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException, FatalErrorException;
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
index 117606b..eab3420 100644
--- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/CryptedXMLDocAuthenticator.java
@@ -65,6 +65,9 @@ public class CryptedXMLDocAuthenticator extends XMLDocAuthenticator {
 	}
 	/**
 	 *
+         * @return user id
+         * @throws org.apache.juddi.v3.error.AuthenticationException 
+         * @throws org.apache.juddi.v3.error.FatalErrorException 
 	 */
 	public String authenticate(String userID, String credential)
 	throws AuthenticationException, FatalErrorException {

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
new file mode 100644
index 0000000..35b3123
--- /dev/null
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPContainerAuthenticator.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright 2014 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.v3.auth;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
+import javax.servlet.http.HttpServletRequest;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.handler.MessageContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.config.AppConfig;
+import org.apache.juddi.config.PersistenceManager;
+import org.apache.juddi.config.Property;
+import org.apache.juddi.model.Publisher;
+import org.apache.juddi.model.UddiEntityPublisher;
+import org.apache.juddi.v3.error.AuthenticationException;
+import org.apache.juddi.v3.error.ErrorMessage;
+import org.apache.juddi.v3.error.FatalErrorException;
+import org.apache.juddi.v3.error.UnknownUserException;
+
+/**
+ * This authenticator trust's what's provided by the container, such as HTTP
+ * BASIC, DIGEST, or CLIENT CERT
+ *
+ * @author Alex O'Ree
+ */
+public class HTTPContainerAuthenticator implements Authenticator {
+
+        private Log log = LogFactory.getLog(this.getClass());
+        @Override
+        public String authenticate(String authorizedName, String cred) throws AuthenticationException, FatalErrorException {
+                throw new UnknownUserException(new ErrorMessage("errros.UnsupportedAuthenticator"));
+        }
+
+        @Override
+        public UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException, FatalErrorException {
+                int MaxBindingsPerService = -1;
+                int MaxServicesPerBusiness = -1;
+                int MaxTmodels = -1;
+                int MaxBusinesses = -1;
+                try {
+                        MaxBindingsPerService = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, -1);
+                        MaxServicesPerBusiness = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, -1);
+                        MaxTmodels = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, -1);
+                        MaxBusinesses = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER, -1);
+                } catch (Exception ex) {
+                        MaxBindingsPerService = -1;
+                        MaxServicesPerBusiness = -1;
+                        MaxTmodels = -1;
+                        MaxBusinesses = -1;
+                        log.error("config exception! " + authorizedName, ex);
+                }
+                EntityManager em = PersistenceManager.getEntityManager();
+                EntityTransaction tx = em.getTransaction();
+                try {
+                        String user = null;
+                        if (ctx==null)
+                                throw new UnknownUserException(new ErrorMessage("errors.auth.NoPublisher", "no web service context!"));
+                        if (ctx.getUserPrincipal() != null) {
+                                user = ctx.getUserPrincipal().getName();
+                        }
+                        if (user == null) {
+                                MessageContext mc = ctx.getMessageContext();
+                                HttpServletRequest req = null;
+                                if (mc != null) {
+                                        req = (HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST);
+                                }
+                                if (req != null && req.getUserPrincipal()!=null) {
+                                        user = req.getUserPrincipal().getName();
+                                }
+                        }
+                        if (user==null || user.length()==0){
+                                throw new UnknownUserException(new ErrorMessage("errors.auth.NoPublisher"));
+                        }
+                        tx.begin();
+                        Publisher publisher = em.find(Publisher.class, user);
+                        if (publisher == null) {
+                                log.warn("Publisher \"" + authorizedName + "\" was not found, adding the publisher in on the fly.");
+                                publisher = new Publisher();
+                                publisher.setAuthorizedName(authorizedName);
+                                publisher.setIsAdmin("false");
+                                publisher.setIsEnabled("true");
+                                publisher.setMaxBindingsPerService(MaxBindingsPerService);
+                                publisher.setMaxBusinesses(MaxBusinesses);
+                                publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness);
+                                publisher.setMaxTmodels(MaxTmodels);
+                                publisher.setPublisherName("Unknown");
+                                em.persist(publisher);
+                                tx.commit();
+                        }
+                        
+                        return publisher;
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
+        }
+
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
new file mode 100644
index 0000000..902d1e5
--- /dev/null
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/HTTPHeaderAuthenticator.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2014 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.v3.auth;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
+import javax.servlet.http.HttpServletRequest;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.handler.MessageContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.config.AppConfig;
+import org.apache.juddi.config.PersistenceManager;
+import org.apache.juddi.config.Property;
+import org.apache.juddi.model.Publisher;
+import org.apache.juddi.model.UddiEntityPublisher;
+import org.apache.juddi.v3.error.AuthenticationException;
+import org.apache.juddi.v3.error.ErrorMessage;
+import org.apache.juddi.v3.error.FatalErrorException;
+import org.apache.juddi.v3.error.UnknownUserException;
+
+/**
+ * Authenticates via a trusted web proxy via an HTTP HEADER. <br>
+ * Examples:<ul>
+ * <li>via Apache HTTPD</li>
+ * <li>Bluecoat</li>
+ * <li>Reverse SSL Proxies</li>
+ * </ul>
+ * Requires the config setting:
+ * {@link Property#JUDDI_AUTHENTICATOR_HTTP_HEADER_NAME}
+ *
+ * @author Alex O'Ree
+ */
+public class HTTPHeaderAuthenticator implements Authenticator {
+
+        private Log log = LogFactory.getLog(this.getClass());
+
+        @Override
+        public String authenticate(String authorizedName, String cred) throws AuthenticationException, FatalErrorException {
+                throw new UnknownUserException(new ErrorMessage("errros.UnsupportedAuthenticator"));
+        }
+
+        @Override
+        public UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException, FatalErrorException {
+                int MaxBindingsPerService = -1;
+                int MaxServicesPerBusiness = -1;
+                int MaxTmodels = -1;
+                int MaxBusinesses = -1;
+                String http_header_name = null;
+                try {
+                        http_header_name = AppConfig.getConfiguration().getString(Property.JUDDI_AUTHENTICATOR_HTTP_HEADER_NAME);
+                        MaxBindingsPerService = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BINDINGS_PER_SERVICE, -1);
+                        MaxServicesPerBusiness = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_SERVICES_PER_BUSINESS, -1);
+                        MaxTmodels = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_TMODELS_PER_PUBLISHER, -1);
+                        MaxBusinesses = AppConfig.getConfiguration().getInt(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER, -1);
+                } catch (Exception ex) {
+                        MaxBindingsPerService = -1;
+                        MaxServicesPerBusiness = -1;
+                        MaxTmodels = -1;
+                        MaxBusinesses = -1;
+                        log.error("config exception! " + authorizedName, ex);
+                }
+                if (http_header_name == null) {
+                        throw new UnknownUserException(new ErrorMessage("errors.auth.NoPublisher", "misconfiguration!"));
+                }
+                EntityManager em = PersistenceManager.getEntityManager();
+                EntityTransaction tx = em.getTransaction();
+                try {
+                        String user = null;
+
+                        MessageContext mc = ctx.getMessageContext();
+                        HttpServletRequest req = null;
+                        if (mc != null) {
+                                req = (HttpServletRequest) mc.get(MessageContext.SERVLET_REQUEST);
+                                user = req.getHeader(http_header_name);
+                        }
+                        
+                        if (user == null || user.length() == 0) {
+                                throw new UnknownUserException(new ErrorMessage("errors.auth.NoPublisher"));
+                        }
+                        tx.begin();
+                        Publisher publisher = em.find(Publisher.class, user);
+                        if (publisher == null) {
+                                log.warn("Publisher \"" + authorizedName + "\" was not found, adding the publisher in on the fly.");
+                                publisher = new Publisher();
+                                publisher.setAuthorizedName(authorizedName);
+                                publisher.setIsAdmin("false");
+                                publisher.setIsEnabled("true");
+                                publisher.setMaxBindingsPerService(MaxBindingsPerService);
+                                publisher.setMaxBusinesses(MaxBusinesses);
+                                publisher.setMaxServicesPerBusiness(MaxServicesPerBusiness);
+                                publisher.setMaxTmodels(MaxTmodels);
+                                publisher.setPublisherName("Unknown");
+                                em.persist(publisher);
+                                tx.commit();
+                        }
+
+                        return publisher;
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
+        }
+
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/JUDDIAuthenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/JUDDIAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/JUDDIAuthenticator.java
index 0854907..add0e16 100644
--- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/JUDDIAuthenticator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/JUDDIAuthenticator.java
@@ -18,6 +18,7 @@ package org.apache.juddi.v3.auth;
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityTransaction;
+import javax.xml.ws.WebServiceContext;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -100,7 +101,7 @@ public class JUDDIAuthenticator implements Authenticator {
                 }
         }
 
-        public UddiEntityPublisher identify(String authInfo, String authorizedName) throws AuthenticationException {
+        public UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException {
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
index 3fb9ca7..eb9018d 100644
--- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapExpandedAuthenticator.java
@@ -25,6 +25,7 @@ import javax.naming.ldap.InitialLdapContext;
 import javax.naming.ldap.LdapContext;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityTransaction;
+import javax.xml.ws.WebServiceContext;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -193,7 +194,7 @@ public class LdapExpandedAuthenticator implements Authenticator {
         return authorizedName;
     }
 
-    public UddiEntityPublisher identify(String authInfo, String authorizedName) throws AuthenticationException, FatalErrorException {
+    public UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException, FatalErrorException {
         EntityManager em = PersistenceManager.getEntityManager();
         EntityTransaction tx = em.getTransaction();
         try {

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
index c97ec96..f8793bf 100644
--- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/LdapSimpleAuthenticator.java
@@ -23,6 +23,7 @@ import javax.naming.ldap.InitialLdapContext;
 import javax.naming.ldap.LdapContext;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityTransaction;
+import javax.xml.ws.WebServiceContext;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -194,7 +195,7 @@ public class LdapSimpleAuthenticator implements Authenticator {
         return authorizedName;
     }
 
-    public UddiEntityPublisher identify(String authInfo, String authorizedName) throws AuthenticationException, FatalErrorException {
+    public UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException, FatalErrorException {
         EntityManager em = PersistenceManager.getEntityManager();
         EntityTransaction tx = em.getTransaction();
         try {

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java b/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
index 09fbf6c..5264885 100644
--- a/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/v3/auth/XMLDocAuthenticator.java
@@ -31,6 +31,7 @@ import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Unmarshaller;
 import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.WebServiceContext;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
@@ -121,6 +122,8 @@ public class XMLDocAuthenticator implements Authenticator
 
 	/**
 	 *
+         * @param userID
+         * @param credential
 	 */
 	public String authenticate(String userID,String credential)
 	throws AuthenticationException, FatalErrorException
@@ -145,7 +148,7 @@ public class XMLDocAuthenticator implements Authenticator
 		return userID;
 	}
 	
-	public UddiEntityPublisher identify(String authInfo, String authorizedName) throws AuthenticationException {
+	public UddiEntityPublisher identify(String authInfo, String authorizedName, WebServiceContext ctx) throws AuthenticationException {
 
 		EntityManager em = PersistenceManager.getEntityManager();
 		EntityTransaction tx = em.getTransaction();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/juddi-core/src/main/resources/messages.properties
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/resources/messages.properties b/juddi-core/src/main/resources/messages.properties
index c2e4f95..caf30bc 100644
--- a/juddi-core/src/main/resources/messages.properties
+++ b/juddi-core/src/main/resources/messages.properties
@@ -1,4 +1,4 @@
-errors.businessentity.SignedButNoKey#/*
+#/*
 # * Copyright 2001-2008 The Apache Software Foundation.
 # * 
 # * Licensed under the Apache License, Version 2.0 (the "License");
@@ -64,6 +64,7 @@ E_valueNotAllowed=A value did not pass validation because of contextual issues.
 errors.DatatypeFactor=Can't create a DatatypeFactory instance.
 errors.Unspecified=An unspecified error occurred
 errors.Unsupported=This version does not support this feature or API
+errros.UnsupportedAuthenticator=This selected authenticator does not support AuthTokens.
 errors.Unsupported.findQualifier=An invalid or unsupported findQualifier value was passed
 errors.configuration.Retrieval=An error occurred attempting to retrieve configuration information
 errors.install.AlreadyInstalled=It appears that the application is already installed.  Please un-install before proceeding.

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-migration-tool/pom.xml
----------------------------------------------------------------------
diff --git a/uddi-migration-tool/pom.xml b/uddi-migration-tool/pom.xml
index 1459458..a335eb8 100644
--- a/uddi-migration-tool/pom.xml
+++ b/uddi-migration-tool/pom.xml
@@ -27,7 +27,7 @@
 		<dependency>
 			<groupId>${project.groupId}</groupId>
 			<artifactId>juddi-client</artifactId>
-			<version>3.2.1-SNAPSHOT</version>
+			<version>${project.parent.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>commons-cli</groupId>

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
index ac0e3ef..3ad6da4 100644
--- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
+++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
@@ -14,8 +14,6 @@ package org.apache.juddi.v3.tck;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -85,8 +83,8 @@ public class TckSubscriptionListener {
         private SaveService ss = null;
 
         public TckSubscriptionListener(
-                UDDISubscriptionPortType subscription,
-                UDDIPublicationPortType publication) {
+             UDDISubscriptionPortType subscription,
+             UDDIPublicationPortType publication) {
                 super();
                 this.subscription = subscription;
                 this.publication = publication;
@@ -122,21 +120,29 @@ public class TckSubscriptionListener {
 
         }
 
-        public void saveService(String authInfo, String listenerService, Integer port, String hostname) {
+        /**
+         *
+         * @param authInfo
+         * @param listenerService
+         * @param port
+         * @param hostname
+         * @return the first binding key if it exists
+         */
+        public String saveService(String authInfo, String listenerService, Integer port, String hostname) {
                 try {
                         // First save the entity
                         ss = new SaveService();
                         ss.setAuthInfo(authInfo);
 
                         org.uddi.api_v3.BusinessService bsIn = (org.uddi.api_v3.BusinessService) EntityCreator.buildFromDoc(listenerService, "org.uddi.api_v3");
-                       // if (port > 0) {
-                                for (BindingTemplate btIn : bsIn.getBindingTemplates().getBindingTemplate()) {
-                                        String value = btIn.getAccessPoint().getValue();
-                                        value = value.replace("{randomPort}", port.toString());
-                                        value = value.replace("{hostname}", hostname);
-                                        btIn.getAccessPoint().setValue(value);
-                                        logger.info("service " + bsIn.getServiceKey() + " access point " + btIn.getAccessPoint().getValue() + " key:" + btIn.getBindingKey());
-                                }
+                        // if (port > 0) {
+                        for (BindingTemplate btIn : bsIn.getBindingTemplates().getBindingTemplate()) {
+                                String value = btIn.getAccessPoint().getValue();
+                                value = value.replace("{randomPort}", port.toString());
+                                value = value.replace("{hostname}", hostname);
+                                btIn.getAccessPoint().setValue(value);
+                                logger.info("service " + bsIn.getServiceKey() + " access point " + btIn.getAccessPoint().getValue() + " key:" + btIn.getBindingKey());
+                        }
                         //}
                         ss.getBusinessService().add(bsIn);
                         ServiceDetail bsOut = publication.saveService(ss);
@@ -145,37 +151,54 @@ public class TckSubscriptionListener {
                         if (bsIn.getBindingTemplates() != null) {
                                 Assert.assertNotNull(bsOut.getBusinessService().get(0).getBindingTemplates());
                                 Assert.assertEquals(bsOut.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().size(), bsIn.getBindingTemplates().getBindingTemplate().size());
-                                for (int i=0; i < bsIn.getBindingTemplates().getBindingTemplate().size(); i++) {
-                                        Assert.assertEquals(bsIn.getBindingTemplates().getBindingTemplate().get(i).getAccessPoint().getValue(), 
-                                                bsOut.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(i).getAccessPoint().getValue());
-                                        
+                                for (int i = 0; i < bsIn.getBindingTemplates().getBindingTemplate().size(); i++) {
+                                        Assert.assertEquals(bsIn.getBindingTemplates().getBindingTemplate().get(i).getAccessPoint().getValue(),
+                                             bsOut.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(i).getAccessPoint().getValue());
+
                                 }
                         }
                         Assert.assertEquals(bsOut.getBusinessService().get(0).getServiceKey(), bsIn.getServiceKey());
                         logger.info("service " + bsIn.getServiceKey() + " saved");
+                        if (bsOut.getBusinessService().get(0).getBindingTemplates() != null && !bsOut.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().isEmpty()) {
+                                return bsOut.getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0).getBindingKey();
+                        }
 
                 } catch (Exception e) {
                         logger.error(e.getMessage(), e);
                         Assert.fail("No exception should be thrown.");
                 }
+                return null;
         }
 
-        public void saveNotifierSubscription(String authInfo, String subscriptionXML) {
-                saveSubscription(authInfo, subscriptionXML, SUBSCRIPTION_KEY);
+        /**
+         * returns subscription key
+         *
+         * @param authInfo
+         * @param subscriptionXML
+         * @return
+         */
+        public String saveNotifierSubscription(String authInfo, String subscriptionXML) {
+                return saveSubscription(authInfo, subscriptionXML, SUBSCRIPTION_KEY);
         }
 
         public void deleteNotifierSubscription(String authInfo, String subscriptionKey) {
                 deleteSubscription(authInfo, subscriptionKey);
         }
 
-        public void saveSubscription(String authInfo, String subscriptionXML, String subscriptionKey) {
-                saveSubscription(authInfo, subscriptionXML, subscriptionKey, null);
-        }
-
-        public void saveSubscription(String authInfo, String subscriptionXML, String subscriptionKey, String bindingkey) {
+        /**
+         * returns subscription key
+         *
+         * @param authInfo
+         * @param subscriptionXML
+         * @param subscriptionKey
+         * @return
+         */
+        public String saveSubscription(String authInfo, String subscriptionXML, String subscriptionKey) {
                 try {
-                        logger.info("saving subscription " + subscriptionKey + " " + subscriptionXML + " " + bindingkey);
                         Subscription subIn = (Subscription) EntityCreator.buildFromDoc(subscriptionXML, "org.uddi.sub_v3");
+                        logger.info("saving subscription " + subscriptionKey + " " + subscriptionXML + " " + subIn.getBindingKey());
+                        if (subscriptionKey!=null && !subscriptionKey.equalsIgnoreCase(subIn.getSubscriptionKey()))
+                                logger.warn("subscription key mismatch");
                         List<Subscription> subscriptionList = new ArrayList<Subscription>();
                         subscriptionList.add(subIn);
                         Holder<List<Subscription>> subscriptionHolder = new Holder<List<Subscription>>();
@@ -190,12 +213,11 @@ public class TckSubscriptionListener {
                         Assert.assertNotNull(outSubscriptionList);
                         Subscription subOut = outSubscriptionList.get(0);
 
-
-
                         Assert.assertEquals(subDirectOut.getExpiresAfter().getMonth(), subOut.getExpiresAfter().getMonth());
                         Assert.assertEquals(subDirectOut.getExpiresAfter().getDay(), subOut.getExpiresAfter().getDay());
                         Assert.assertEquals(subDirectOut.getExpiresAfter().getYear(), subOut.getExpiresAfter().getYear());
 
+                        return subDirectOut.getSubscriptionKey();
                         //assertEquals(subIn.getSubscriptionFilter().getFindService().getName().get(0).getValue(), 
                         //			 subOut.getSubscriptionFilter().getFindService().getName().get(0).getValue());
 
@@ -203,6 +225,7 @@ public class TckSubscriptionListener {
                         logger.error(e.getMessage(), e);
                         Assert.fail("No exception should be thrown");
                 }
+                return null;
         }
 
         public void deleteSubscription(String authInfo, String subscriptionKey) {
@@ -218,4 +241,4 @@ public class TckSubscriptionListener {
                         Assert.fail("No exception should be thrown.");
                 }
         }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListenerRMI.java
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListenerRMI.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListenerRMI.java
index 5e36b7d..6a98546 100644
--- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListenerRMI.java
+++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListenerRMI.java
@@ -29,6 +29,8 @@ public class TckSubscriptionListenerRMI extends TckSubscriptionListener
 
 	/** note that the subscription1.xml contains the binding template for the UDDI server to call back into */
 	public final static String SUBSCRIPTION_XML_RMI = "uddi_data/subscriptionnotifier/subscription1RMI.xml";
+        public final static String SUBSCRIPTION_XML2_RMI = "uddi_data/subscriptionnotifier/subscription2RMI.xml";
+        public final static String SUBSCRIPTION_XML3_RMI = "uddi_data/subscriptionnotifier/subscription3RMI.xml";
     public final static String SUBSCRIPTION_KEY_RMI = "uddi:uddi.joepublisher.com:subscriptiononermi";
     
     public TckSubscriptionListenerRMI(

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck-base/src/main/resources/tck.properties
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/resources/tck.properties b/uddi-tck-base/src/main/resources/tck.properties
index f0e3f6d..27182bb 100644
--- a/uddi-tck-base/src/main/resources/tck.properties
+++ b/uddi-tck-base/src/main/resources/tck.properties
@@ -32,7 +32,7 @@ vsv.enabled = true
 #does the UDDI server support the Subscription API?
 sub.enabled=true
 #subscription callback timeouts, in seconds
-sub.timeout=60
+sub.timeout=15
 
 #does the UDDI server support the Custody Transfer API?
 transfer.enabled=true

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription2RMI.xml
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription2RMI.xml b/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription2RMI.xml
new file mode 100644
index 0000000..8554504
--- /dev/null
+++ b/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription2RMI.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+ *
+ */
+-->
+<subscription xmlns="urn:uddi-org:sub_v3">
+  <subscriptionKey>uddi:uddi.joepublisher.com:subscriptiononermi</subscriptionKey>
+  <subscriptionFilter>
+    <find_business xmlns="urn:uddi-org:api_v3" xmlns:xml="http://www.w3.org/XML/1998/namespace">
+      <findQualifiers>
+        <findQualifier>approximateMatch</findQualifier>
+      </findQualifiers>
+      <name >%</name>
+    </find_business>
+  </subscriptionFilter>
+  <bindingKey xmlns="urn:uddi-org:api_v3">uddi:uddi.joepublisher.com:bindinglistenerrmi</bindingKey>
+  <notificationInterval>PT5S</notificationInterval>
+  <maxEntities>1000</maxEntities>
+</subscription>

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription3RMI.xml
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription3RMI.xml b/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription3RMI.xml
new file mode 100644
index 0000000..bb87c02
--- /dev/null
+++ b/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/subscription3RMI.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+ *
+ */
+-->
+<subscription xmlns="urn:uddi-org:sub_v3">
+  <subscriptionKey>uddi:uddi.joepublisher.com:subscriptiononermi</subscriptionKey>
+  <subscriptionFilter>
+      <find_tModel xmlns="urn:uddi-org:api_v3" xmlns:xml="http://www.w3.org/XML/1998/namespace">
+      <findQualifiers>
+        <findQualifier>exactMatch</findQualifier>
+      </findQualifiers>
+      <name xml:lang="en">tModel One</name>
+    </find_tModel>
+  </subscriptionFilter>
+  <bindingKey xmlns="urn:uddi-org:api_v3">uddi:uddi.joepublisher.com:bindinglistenerrmi</bindingKey>
+  <notificationInterval>PT5S</notificationInterval>
+  <maxEntities>1000</maxEntities>
+</subscription>

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck-runner/pom.xml
----------------------------------------------------------------------
diff --git a/uddi-tck-runner/pom.xml b/uddi-tck-runner/pom.xml
index ee1c44d..a50ed1b 100644
--- a/uddi-tck-runner/pom.xml
+++ b/uddi-tck-runner/pom.xml
@@ -22,17 +22,17 @@
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>juddi-client</artifactId>
-      <version>3.2.1-SNAPSHOT</version>
+      <version>${project.parent.version}</version>
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>uddi-tck-base</artifactId>
-      <version>3.2.0-SNAPSHOT</version>
+      <version>${project.parent.version}</version>
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>uddi-tck</artifactId>
-      <version>3.2.0-SNAPSHOT</version>
+      <version>${project.parent.version}</version>
     </dependency>
 			<dependency>
             <groupId>org.apache.juddi</groupId>

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
----------------------------------------------------------------------
diff --git a/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java b/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
index e623303..d192a2b 100644
--- a/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
+++ b/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
@@ -87,6 +87,8 @@ public class App {
                                 //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.UDDI_090_HttpExternalTest.class,
+                                org.apache.juddi.v3.tck.UDDI_090_Smtp_ExternalTest.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,
@@ -138,17 +140,37 @@ public class App {
 
                 for (int i = 0; i < result.getFailures().size(); i++) {
                         try {
-                                bw.write(result.getFailures().get(i).getTestHeader());
+                                try {
+                                        bw.write(result.getFailures().get(i).getTestHeader());
+                                } catch (Exception ex) {
+                                        bw.write(ex.getMessage());
+                                }
                                 bw.newLine();
-                                bw.write(result.getFailures().get(i).getDescription().getClassName());
+                                try {
+                                        bw.write(result.getFailures().get(i).getDescription().getClassName());
+                                }
+                                catch (Exception ex) {
+                                        bw.write(ex.getMessage());
+                                }
                                 bw.newLine();
-                                bw.write(result.getFailures().get(i).getDescription().getMethodName());
+                                try {
+                                        bw.write(result.getFailures().get(i).getDescription().getMethodName() == null ? "null method!" : result.getFailures().get(i).getDescription().getMethodName());
+                                } catch (Exception ex) {
+                                        bw.write(ex.getMessage());
+                                }
                                 bw.newLine();
-                                bw.write(result.getFailures().get(i).getMessage());
+                                try {
+                                        bw.write(result.getFailures().get(i).getMessage() == null ? "no message" : result.getFailures().get(i).getMessage());
+                                } catch (Exception ex) {
+                                        bw.write(ex.getMessage());
+                                }
                                 bw.newLine();
                                 //result.getFailures().get(i).getException().printStackTrace();
-
-                                bw.write(result.getFailures().get(i).getTrace());
+                                try {
+                                        bw.write(result.getFailures().get(i).getTrace());
+                                } catch (Exception ex) {
+                                        bw.write(ex.getMessage());
+                                }
                                 bw.newLine();
                                 bw.write("____________________________________________");
                                 bw.newLine();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_020_TmodelIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_020_TmodelIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_020_TmodelIntegrationTest.java
index 75fd720..82c8b5d 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_020_TmodelIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_020_TmodelIntegrationTest.java
@@ -47,7 +47,7 @@ public class UDDI_020_TmodelIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
                 logger.debug("Getting auth tokens..");
@@ -85,7 +85,7 @@ public class UDDI_020_TmodelIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_030_BusinessEntityIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_030_BusinessEntityIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_030_BusinessEntityIntegrationTest.java
index 82ed78f..ef3c635 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_030_BusinessEntityIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_030_BusinessEntityIntegrationTest.java
@@ -50,7 +50,7 @@ public class UDDI_030_BusinessEntityIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();
@@ -58,7 +58,7 @@ public class UDDI_030_BusinessEntityIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
                 logger.info("UDDI_030_BusinessEntityIntegrationTest");

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_040_BusinessServiceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_040_BusinessServiceIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_040_BusinessServiceIntegrationTest.java
index 185c2a4..1508f73 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_040_BusinessServiceIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_040_BusinessServiceIntegrationTest.java
@@ -51,7 +51,7 @@ public class UDDI_040_BusinessServiceIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();
@@ -59,7 +59,7 @@ public class UDDI_040_BusinessServiceIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_050_BindingTemplateIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_050_BindingTemplateIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_050_BindingTemplateIntegrationTest.java
index 3d343c2..324bf72 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_050_BindingTemplateIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_050_BindingTemplateIntegrationTest.java
@@ -46,7 +46,7 @@ public class UDDI_050_BindingTemplateIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
                 
                 manager.stop();
@@ -54,7 +54,7 @@ public class UDDI_050_BindingTemplateIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_060_PublisherAssertionIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_060_PublisherAssertionIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_060_PublisherAssertionIntegrationTest.java
index 104962f..e5138b5 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_060_PublisherAssertionIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_060_PublisherAssertionIntegrationTest.java
@@ -51,7 +51,7 @@ public class UDDI_060_PublisherAssertionIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 tckTModelMary.deleteCreatedTModels(authInfoMary);
@@ -60,7 +60,7 @@ public class UDDI_060_PublisherAssertionIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_070_FindEntityIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_070_FindEntityIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_070_FindEntityIntegrationTest.java
index 744bb4e..50a0a0a 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_070_FindEntityIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_070_FindEntityIntegrationTest.java
@@ -63,14 +63,14 @@ public class UDDI_070_FindEntityIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
                 manager.stop();
         }
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
index c28ad8f..21e5cd6 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v2/tck/UDDI_110_FindBusinessIntegrationTest.java
@@ -64,7 +64,7 @@ public class UDDI_110_FindBusinessIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
                 tckTModel01.deleteCreatedTModels(authInfoJoe);
                 tckTModel02.deleteCreatedTModels(authInfoJoe);
@@ -73,7 +73,7 @@ public class UDDI_110_FindBusinessIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_010_PublisherIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_010_PublisherIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_010_PublisherIntegrationTest.java
index 8a4bfce..974bdee 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_010_PublisherIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_010_PublisherIntegrationTest.java
@@ -59,7 +59,7 @@ public class JUDDI_010_PublisherIntegrationTest {
         @BeforeClass
         public static void startManager() throws ConfigurationException {
                 Assume.assumeTrue(TckPublisher.isJUDDI());
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 
@@ -83,6 +83,7 @@ public class JUDDI_010_PublisherIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
                 manager.stop();
         }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
index 671c7fd..4e36c5f 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_091_RMISubscriptionListenerIntegrationTest.java
@@ -59,6 +59,7 @@ public class JUDDI_091_RMISubscriptionListenerIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
                 manager.stop();
                 //shutting down the TCK SubscriptionListener
                 //re
@@ -67,7 +68,7 @@ public class JUDDI_091_RMISubscriptionListenerIntegrationTest {
         @BeforeClass
         public static void startManager() throws ConfigurationException {
 
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 try {
                         //bring up the RMISubscriptionListener
                         //random port

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_100_ClientSubscriptionInfoIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_100_ClientSubscriptionInfoIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_100_ClientSubscriptionInfoIntegrationTest.java
index fb15dde..1034943 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_100_ClientSubscriptionInfoIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_100_ClientSubscriptionInfoIntegrationTest.java
@@ -52,7 +52,7 @@ public class JUDDI_100_ClientSubscriptionInfoIntegrationTest {
 
         @BeforeClass
         public static void startRegistry() throws ConfigurationException {
-Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 
@@ -81,7 +81,7 @@ Assume.assumeTrue(TckPublisher.isEnabled());
 
         @Test
         public void addClientSubscriptionInfo() throws Exception {
-Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
              Assume.assumeTrue(TckPublisher.isJUDDI());
 
                 ClientSubscriptionInfo clientSubscriptionInfo = new ClientSubscriptionInfo();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_101_ClientSubscriptionCallbackAPIIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_101_ClientSubscriptionCallbackAPIIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_101_ClientSubscriptionCallbackAPIIntegrationTest.java
index dff155c..a33b76a 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_101_ClientSubscriptionCallbackAPIIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_101_ClientSubscriptionCallbackAPIIntegrationTest.java
@@ -70,7 +70,7 @@ public class JUDDI_101_ClientSubscriptionCallbackAPIIntegrationTest implements I
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
                 Iterator<Node> iterator = manager.getClientConfig().getUDDINodeList().iterator();
@@ -98,7 +98,7 @@ public class JUDDI_101_ClientSubscriptionCallbackAPIIntegrationTest implements I
         @Test
         public void SubscriptionCallbackTest1() throws Exception {
                 //first some setup
-                Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 reset();
 
                 TModel createKeyGenator = UDDIClerk.createKeyGenator("somebusiness", "A test key domain SubscriptionCallbackTest1", "SubscriptionCallbackTest1");

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_200_GUI_IntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_200_GUI_IntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_200_GUI_IntegrationTest.java
index a829dff..743d78d 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_200_GUI_IntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_200_GUI_IntegrationTest.java
@@ -53,6 +53,7 @@ public class JUDDI_200_GUI_IntegrationTest {
         @BeforeClass
         public static void startManager() throws ConfigurationException {
 
+                 if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 baseurl = manager.getClientConfig().getConfiguration().getString("client.nodes.node(0).juddigui");
                 if (baseurl != null) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_010_PublisherIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_010_PublisherIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_010_PublisherIntegrationTest.java
index d7a999f..2f6dee9 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_010_PublisherIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_010_PublisherIntegrationTest.java
@@ -36,12 +36,16 @@ public class UDDI_010_PublisherIntegrationTest {
 
 	@BeforeClass
 	public static void startRegistry() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                if (!TckPublisher.isJUDDI()) return;
 		manager  = new UDDIClient();
 		manager.start();
 	}
 	
 	@AfterClass
 	public static void stopRegistry() throws ConfigurationException {
+                if (!TckPublisher.isEnabled()) return;
+                if (!TckPublisher.isJUDDI()) return;
 		manager.stop();
 	}
 	

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_020_TmodelIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_020_TmodelIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_020_TmodelIntegrationTest.java
index bc2cc24..fb9c9c8 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_020_TmodelIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_020_TmodelIntegrationTest.java
@@ -48,7 +48,7 @@ public class UDDI_020_TmodelIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-Assume.assumeTrue(TckPublisher.isEnabled());
+if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
                 logger.debug("Getting auth tokens..");
@@ -87,7 +87,7 @@ Assume.assumeTrue(TckPublisher.isEnabled());
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityIntegrationTest.java
index 77a8853..81f0bbe 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityIntegrationTest.java
@@ -51,7 +51,9 @@ public class UDDI_030_BusinessEntityIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) {
+                        return;
+                }
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();
@@ -59,7 +61,7 @@ public class UDDI_030_BusinessEntityIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+                if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
                 logger.info("UDDI_030_BusinessEntityIntegrationTest");
@@ -108,7 +110,6 @@ public class UDDI_030_BusinessEntityIntegrationTest {
                         tckTModelUddi.saveUDDIPublisherTmodel(authInfoUDDI);
                         tckTModelUddi.saveTModels(authInfoUDDI, TckTModel.TMODELS_XML);
 
-
                 } catch (Exception e) {
                         logger.error(e.getMessage(), e);
                         Assert.fail("Could not obtain authInfo token.");
@@ -117,7 +118,7 @@ public class UDDI_030_BusinessEntityIntegrationTest {
 
         @Test
         public void testJoePublisherBusinessEntitySignature() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+                Assume.assumeTrue(TckPublisher.isEnabled());
                 try {
                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
                         tckBusinessJoe.saveJoePublisherBusinessX509Signature(authInfoJoe);
@@ -129,8 +130,8 @@ public class UDDI_030_BusinessEntityIntegrationTest {
         }
 
         @Test
-        public void testJoePublisherBusinessEntity() throws Exception{
-             Assume.assumeTrue(TckPublisher.isEnabled());
+        public void testJoePublisherBusinessEntity() throws Exception {
+                Assume.assumeTrue(TckPublisher.isEnabled());
                 try {
                         tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
                         tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
@@ -142,8 +143,8 @@ public class UDDI_030_BusinessEntityIntegrationTest {
         }
 
         @Test
-        public void testSamSyndicatorBusiness() throws Exception{
-             Assume.assumeTrue(TckPublisher.isEnabled());
+        public void testSamSyndicatorBusiness() throws Exception {
+                Assume.assumeTrue(TckPublisher.isEnabled());
                 try {
                         tckTModelSam.saveSamSyndicatorTmodel(authInfoSam);
                         tckBusinessSam.saveSamSyndicatorBusiness(authInfoSam);

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityLoadIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityLoadIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityLoadIntegrationTest.java
index b27d055..f857441 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityLoadIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_030_BusinessEntityLoadIntegrationTest.java
@@ -34,14 +34,14 @@ public class UDDI_030_BusinessEntityLoadIntegrationTest extends UDDI_030_Busines
 
         @BeforeClass
         public static void setup() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 UDDI_030_BusinessEntityIntegrationTest.startManager();
         }
 
         @Test
         @Override
         public void testJoePublisherBusinessEntity() throws Exception {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 Assume.assumeTrue(TckPublisher.isLoadTest());
 
                 numberOfBusinesses = TckPublisher.getMaxLoadServices();

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceIntegrationTest.java
index 154f99a..2df607c 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_040_BusinessServiceIntegrationTest.java
@@ -51,7 +51,7 @@ public class UDDI_040_BusinessServiceIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();
@@ -59,7 +59,7 @@ public class UDDI_040_BusinessServiceIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_050_BindingTemplateIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_050_BindingTemplateIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_050_BindingTemplateIntegrationTest.java
index 665d7fb..0d58c0c 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_050_BindingTemplateIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_050_BindingTemplateIntegrationTest.java
@@ -47,7 +47,7 @@ public class UDDI_050_BindingTemplateIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
                 
                 manager.stop();
@@ -55,7 +55,7 @@ public class UDDI_050_BindingTemplateIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_060_PublisherAssertionIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_060_PublisherAssertionIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_060_PublisherAssertionIntegrationTest.java
index 1d28758..97ab126 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_060_PublisherAssertionIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_060_PublisherAssertionIntegrationTest.java
@@ -56,7 +56,7 @@ public class UDDI_060_PublisherAssertionIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 tckTModelMary.deleteCreatedTModels(authInfoMary);
@@ -65,7 +65,7 @@ public class UDDI_060_PublisherAssertionIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_070_FindEntityIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_070_FindEntityIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_070_FindEntityIntegrationTest.java
index 4edfad3..ea11f9c 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_070_FindEntityIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_070_FindEntityIntegrationTest.java
@@ -72,14 +72,14 @@ public class UDDI_070_FindEntityIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModel.deleteCreatedTModels(authInfoJoe);
                 manager.stop();
         }
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/f0099f0d/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_080_SubscriptionIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_080_SubscriptionIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_080_SubscriptionIntegrationTest.java
index 76a51c3..6a1646f 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_080_SubscriptionIntegrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_080_SubscriptionIntegrationTest.java
@@ -87,7 +87,7 @@ public class UDDI_080_SubscriptionIntegrationTest {
 
         @AfterClass
         public static void stopManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 tckTModelJoe.deleteCreatedTModels(authInfoJoe);
                 tckTModelSam.deleteCreatedTModels(authInfoSam);
                 manager.stop();
@@ -95,7 +95,7 @@ public class UDDI_080_SubscriptionIntegrationTest {
 
         @BeforeClass
         public static void startManager() throws ConfigurationException {
-             Assume.assumeTrue(TckPublisher.isEnabled());
+             if (!TckPublisher.isEnabled()) return;
                 manager = new UDDIClient();
                 manager.start();
 


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


[4/6] JUDDI-841 revised test cases to fix max key length problems JUDDI-751 completed JUDDI-863 fixed

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/juddi/blob/2c06b736/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
deleted file mode 100644
index 5c43eeb..0000000
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
+++ /dev/null
@@ -1,620 +0,0 @@
-package org.apache.juddi.v3.tck;
-
-/*
- * 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.
- */
-import java.io.File;
-import java.io.FileOutputStream;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Random;
-
-import javax.xml.ws.Endpoint;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.juddi.v3.client.Release;
-import org.apache.juddi.v3.client.config.UDDIClient;
-import org.apache.juddi.v3.client.transport.Transport;
-import org.uddi.v3_service.UDDIInquiryPortType;
-import org.uddi.v3_service.UDDIPublicationPortType;
-import org.uddi.v3_service.UDDISecurityPortType;
-import org.uddi.v3_service.UDDISubscriptionPortType;
-
-import java.net.InetAddress;
-import java.rmi.RemoteException;
-import java.util.ArrayList;
-import java.util.List;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.Holder;
-import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerExternalTest.updatePublisherBusiness;
-
-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.BusinessEntity;
-import org.uddi.api_v3.Description;
-import org.uddi.api_v3.GetBusinessDetail;
-import org.uddi.api_v3.GetTModelDetail;
-import org.uddi.api_v3.SaveTModel;
-import org.uddi.api_v3.TModel;
-import org.uddi.sub_v3.DeleteSubscription;
-import org.uddi.sub_v3.Subscription;
-import org.uddi.sub_v3.SubscriptionFilter;
-
-/**
- * Used during the Maven build process for testing against jUDDI for Subscription Callbacks
- * via the Subscription Listener service. Covers HTTP transport tests only<br><br>
- * WARNING, when adding changes to this class, you MUST always add the corresponding functions
- * to UDDI_090_SubscriptionListenerExternalTest
- *
- * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
- * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
- * @see UDDI_090_SubscriptionListenerExternalTest
- */
-public class UDDI_090_SubscriptionListenerIntegrationTest {
-
-        private static Log logger = LogFactory.getLog(UDDI_090_SubscriptionListenerIntegrationTest.class);
-        private static UDDISubscriptionPortType subscriptionMary = null;
-        private static UDDIInquiryPortType inquiryMary = null;
-        private static TckTModel tckTModelMary = null;
-        private static TckBusiness tckBusinessMary = null;
-        private static TckBusinessService tckBusinessServiceMary = null;
-        private static TckSubscriptionListener tckSubscriptionListenerMary = null;
-        private static String hostname = null;
-        private static UDDISubscriptionPortType subscriptionJoe = null;
-        private static UDDIInquiryPortType inquiryJoe = null;
-        private static UDDIPublicationPortType publicationMary = null;
-        private static UDDIPublicationPortType publicationJoe = null;
-        private static TckTModel tckTModelJoe = null;
-        private static TckBusiness tckBusinessJoe = null;
-        private static TckBusinessService tckBusinessServiceJoe = null;
-        private static TckSubscriptionListener tckSubscriptionListenerJoe = null;
-        private static Endpoint endPoint;
-        private static String authInfoJoe = null;
-        private static String authInfoMary = null;
-        private static UDDIClient manager;
-        private static Integer smtpPort = 25;
-        private static Integer httpPort = 80;
-
-        @AfterClass
-        public static void stopManager() throws ConfigurationException {
-             if (!TckPublisher.isEnabled()) return;
-                tckTModelJoe.deleteCreatedTModels(authInfoJoe);
-                tckTModelMary.deleteCreatedTModels(authInfoMary);
-                manager.stop();
-                //shutting down the TCK SubscriptionListener
-                endPoint.stop();
-                endPoint = null;
-        }
-
-        @BeforeClass
-        public static void startManager() throws ConfigurationException {
-             if (!TckPublisher.isEnabled()) return;
-                try {
-                        smtpPort = 9700 + new Random().nextInt(99);
-                        httpPort = 9600 + new Random().nextInt(99);
-                        Properties properties = new Properties();
-                        properties.setProperty("juddi.mail.smtp.host", "localhost");
-                        properties.setProperty("juddi.mail.smtp.port", String.valueOf(smtpPort));
-                        properties.setProperty("juddi.mail.smtp.from", "jUDDI@example.org");
-                        String version = Release.getRegistryVersion().replaceAll(".SNAPSHOT", "-SNAPSHOT");
-                        String curDir = System.getProperty("user.dir");
-                        if (!curDir.endsWith("uddi-tck")) {
-                                curDir += "/uddi-tck";
-                        }
-                        String path = curDir + "/target/juddi-tomcat-" + version + "/temp/";
-                        System.out.println("Saving jUDDI email properties to " + path);
-                        File tmpDir = new File(path);
-                        File tmpFile = new File(tmpDir + "/juddi-mail.properties");
-                        if (!tmpFile.createNewFile()) {
-                                tmpFile.delete();
-                                tmpFile.createNewFile();
-                        }
-                        properties.store(new FileOutputStream(tmpFile), "tmp email settings");
-
-                        hostname = InetAddress.getLocalHost().getHostName();
-                        //bring up the TCK SubscriptionListener
-                        String httpEndpoint = "http://" + hostname + ":" + httpPort + "/tcksubscriptionlistener";
-                        System.out.println("Bringing up SubscriptionListener endpoint at " + httpEndpoint);
-                        endPoint = Endpoint.publish(httpEndpoint, new UDDISubscriptionListenerImpl());
-                        int count = 0;
-                        while (!endPoint.isPublished()) {
-                                httpPort = 9600 + new Random().nextInt(99);
-                                httpEndpoint = "http://" + hostname + ":" + httpPort + "/tcksubscriptionlistener";
-                                System.out.println("Bringing up SubscriptionListener endpoint at " + httpEndpoint);
-                                endPoint = Endpoint.publish(httpEndpoint, new UDDISubscriptionListenerImpl());
-                                count++;
-                                if (count > 10) {
-                                        Assert.fail("unable to bring up endpoint");
-                                }
-                        }
-
-                        manager = new UDDIClient();
-                        manager.start();
-
-                        logger.debug("Getting auth tokens..");
-
-
-                        Transport transport = manager.getTransport("uddiv3");
-                        UDDISecurityPortType security = transport.getUDDISecurityService();
-                        authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                        authInfoMary = TckSecurity.getAuthToken(security, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-                        //Assert.assertNotNull(authInfoJoe);
-
-
-
-                        publicationJoe = transport.getUDDIPublishService();
-                        inquiryJoe = transport.getUDDIInquiryService();
-                        subscriptionJoe = transport.getUDDISubscriptionService();
-                        if (!TckPublisher.isUDDIAuthMode()) {
-                                TckSecurity.setCredentials((BindingProvider) publicationJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                                TckSecurity.setCredentials((BindingProvider) inquiryJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                                TckSecurity.setCredentials((BindingProvider) subscriptionJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                        }
-
-
-                        tckTModelJoe = new TckTModel(publicationJoe, inquiryJoe);
-                        tckBusinessJoe = new TckBusiness(publicationJoe, inquiryJoe);
-                        tckBusinessServiceJoe = new TckBusinessService(publicationJoe, inquiryJoe);
-                        tckSubscriptionListenerJoe = new TckSubscriptionListener(subscriptionJoe, publicationJoe);
-
-
-
-
-                        transport = manager.getTransport("uddiv3");
-                        publicationMary = transport.getUDDIPublishService();
-                        inquiryMary = transport.getUDDIInquiryService();
-                        subscriptionMary = transport.getUDDISubscriptionService();
-                        if (!TckPublisher.isUDDIAuthMode()) {
-                                TckSecurity.setCredentials((BindingProvider) publicationMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-                                TckSecurity.setCredentials((BindingProvider) inquiryMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-                                TckSecurity.setCredentials((BindingProvider) subscriptionMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-                        }
-
-
-                        tckTModelMary = new TckTModel(publicationMary, inquiryMary);
-                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-
-                        tckBusinessMary = new TckBusiness(publicationMary, inquiryMary);
-                        tckBusinessServiceMary = new TckBusinessService(publicationMary, inquiryMary);
-                        tckSubscriptionListenerMary = new TckSubscriptionListener(subscriptionMary, publicationMary);
-
-                } catch (Exception e) {
-                        logger.error(e.getMessage(), e);
-                        Assert.fail("Could not obtain authInfo token.");
-                }
-        }
-
-        @Test
-        public void joePublisherUpdate_HTTP_FIND_SERVICE() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_FIND_SERVICE");
-                try {
-                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                        String before = TckCommon.DumpAllServices(authInfoJoe, inquiryJoe);
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        //Saving the binding template that will be called by the server for a subscription event
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the HTTP Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-                        //Saving the HTTP Subscription
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, "uddi_data/subscriptionnotifier/subscription1.xml");
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("Updating Service ********** ");
-                        tckBusinessServiceJoe.updateJoePublisherService(authInfoJoe, "foo");
-
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-                                        logger.info("Received HTTP Notification");
-                                        break;
-                                }
-                        }
-                        Iterator<String> iterator = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                        boolean found = false;
-                        while (iterator.hasNext()) {
-                                String test = iterator.next();
-                                if (test.toLowerCase().contains("service one")) {
-                                        found = true;
-                                }
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping service list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllServices(authInfoJoe, inquiryJoe));
-                                //if (!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name xml:lang=\"en\">Service One</name>")) {
-                                Assert.fail("Notification does not contain the correct service");
-                        }
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, "uddi:uddi.joepublisher.com:subscriptionone");
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                }
-        }
-
-        
-        @Test
-        public void joePublisherUpdate_HTTP_FIND_BUSINESS() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_FIND_BUSINESS");
-                try {
-                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                        TckCommon.DeleteBusiness(TckBusiness.MARY_BUSINESS_KEY, authInfoMary, publicationMary);
-                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
-                        Thread.sleep(5000);
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        logger.info("Saving Joe's callback endpoint ********** ");
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-                        //Saving the Subscription
-                        logger.info("Saving Joe's subscription********** ");
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, "uddi_data/subscriptionnotifier/subscription2.xml");
-                        //Changing the service we subscribed to "JoePublisherService"
-
-                        logger.info("Clearing the inbox********** ");
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        Thread.sleep(2000);
-                        logger.info("Saving Mary's Business ********** ");
-                        tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
-
-                        //waiting up to 10 seconds for the listener to notice the change.
-
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                //if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-
-                                //}
-                        }
-                        logger.info("RX " + UDDISubscriptionListenerImpl.notificationCount + " notifications");
-                        Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                        boolean found = false;
-                        while (it.hasNext()) {
-                                String msg = it.next();
-                                if (TckCommon.isDebug()) {
-                                        logger.info("Notification: " + msg);
-                                }
-                                if (msg.toLowerCase().contains("mary")) {
-                                        found = true;
-                                }
-
-                        }
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("Notification does not contain the correct service");
-                        }
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, "uddi:uddi.joepublisher.com:subscriptionone");
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        TckCommon.DeleteBusiness(TckBusiness.MARY_BUSINESS_KEY, authInfoMary, publicationMary);
-                        //tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                }
-        }
-
-        
-        //tmodel tests
-        @Test
-        public void joePublisherUpdate_HTTP_FIND_TMODEL() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_FIND_TMODEL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before=TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-                        //Saving the Subscription
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("Deleting tModel ********** ");
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY);
-
-                        //waiting up to 100 seconds for the listener to notice the change.
-
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-                                        logger.info("Received Notification");
-                                        break;
-                                }
-                        }
-                        
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        if (!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name xml:lang=\"en\">tModel One</name>")) {
-                                Assert.fail("Notification does not contain the correct service");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                }
-        }
-
-        /**
-         * getBusiness tests
-         * joe want's updates on mary's business
-         * @throws Exception 
-         */
-        @Test
-        public void joePublisherUpdate_HTTP_GET_BUSINESS_DETAIL() throws Exception{
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_GET_BUSINESS_DETAIL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                Holder<List<Subscription>> holder=null;
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
-
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        
-                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-                        BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
-                        
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-                        
-                        //Saving the Subscription
-                        holder = new Holder<List<Subscription>>();
-                        holder.value = new ArrayList<Subscription>();
-                        Subscription sub = new Subscription();
-                        sub.setBindingKey("uddi:uddi.joepublisher.com:bindinglistener");
-                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
-                        sub.setSubscriptionFilter(new SubscriptionFilter());
-                        sub.getSubscriptionFilter().setGetBusinessDetail(new GetBusinessDetail());
-                        sub.getSubscriptionFilter().getGetBusinessDetail().getBusinessKey().add(TckBusiness.MARY_BUSINESS_KEY);
-                        
-                        holder.value.add(sub);
-                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
-                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("updating Mary's business ********** ");
-                        updatePublisherBusiness(authInfoMary,saveMaryPublisherBusiness, publicationMary);
-                        
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-                                    //    logger.info("Received Notification");
-//                                        break;
-                                }
-                        }
-                        
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                         StringBuilder sb = new StringBuilder();
-                        boolean found = false;
-                        while (it.hasNext()) {
-                                String test = it.next();
-                                sb.append("Message: " + test + System.getProperty("line.separator"));
-                                if (test.contains("Updated Name")) {
-                                        found = true;
-                                        break;
-                                }
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("Notification does not contain the correct service. Messages received: " + sb.toString());
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        DeleteSubscription ds = new DeleteSubscription();
-                        ds.setAuthInfo(authInfoJoe);
-                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
-                        subscriptionJoe.deleteSubscription(ds);
-                        tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-                        
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        
-                }
-        }
-
-
-        
-        
-                /**
-         * getBusiness tests
-         * joe want's updates on mary's business
-         * @throws Exception 
-         */
-        @Test
-        public void joePublisherUpdate_HTTP_GET_TMODEL_DETAIL() throws Exception{
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_GET_TMODEL_DETAIL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                Holder<List<Subscription>> holder=null;
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before = TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
-
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        TModel saveMaryPublisherTmodel = tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-                        
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-                        
-                        //Saving the Subscription
-                        holder = new Holder<List<Subscription>>();
-                        holder.value = new ArrayList<Subscription>();
-                        Subscription sub = new Subscription();
-                        sub.setBindingKey("uddi:uddi.joepublisher.com:bindinglistener");
-                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
-                        sub.setSubscriptionFilter(new SubscriptionFilter());
-                        sub.getSubscriptionFilter().setGetTModelDetail(new GetTModelDetail());
-                        sub.getSubscriptionFilter().getGetTModelDetail().getTModelKey().add(TckTModel.MARY_PUBLISHER_TMODEL_KEY);
-                        
-                        holder.value.add(sub);
-                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
-                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("updating Mary's tModel ********** ");
-                        updateTModel(authInfoMary,saveMaryPublisherTmodel, publicationMary);
-                        
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-                                    //    logger.info("Received Notification");
-//                                        break;
-                                }
-                        }
-                        
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                         StringBuilder sb = new StringBuilder();
-                        boolean found = false;
-                        while (it.hasNext()) {
-                                String test = it.next();
-                                sb.append("Message: " + test + System.getProperty("line.separator"));
-                                if (test.contains("a new description")) {
-                                        found = true;
-                                        break;
-                                }
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                logger.warn("Messages RX " + sb.toString());
-                                Assert.fail("Notification does not contain the correct service. Messages received: " + sb.toString());
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        DeleteSubscription ds = new DeleteSubscription();
-                        ds.setAuthInfo(authInfoJoe);
-                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
-                        subscriptionJoe.deleteSubscription(ds);
-                        //tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-                        
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        
-                }
-        }
-
-        
-        //TODO If a subscriber specifies a maximum number of entries to be returned with a subscription and the amount of data to be returned exceeds 
-//this limit, or if the node determines based on its policy that there are too many entries to be returned in a single group, 
-        //then the node SHOULD provide a chunkToken with results.  
-        //TODO  If no more results are pending, the value of the chunkToken MUST be "0".
-
-        public static void updateTModel(String authInfoMary, TModel saveMaryPublisherTmodel, UDDIPublicationPortType publicationMary) throws Exception {
-                saveMaryPublisherTmodel.getDescription().add(new Description("a new description",null));
-                SaveTModel stm = new SaveTModel();
-                stm.setAuthInfo(authInfoMary);
-                stm.getTModel().add(saveMaryPublisherTmodel);
-                publicationMary.saveTModel(stm);
-        }
-}


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


[3/6] git commit: JUDDI-863 fixed JUDDI-751 complete all test pass via mvn and tck-runner

Posted by al...@apache.org.
JUDDI-863 fixed
JUDDI-751 complete all test pass via mvn and tck-runner


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

Branch: refs/heads/master
Commit: 6eda22894c15585a6cc9d013d45b531b1d2920b9
Parents: f0099f0
Author: alexoree <al...@apache.org>
Authored: Thu Feb 27 06:57:17 2014 -0500
Committer: alexoree <al...@apache.org>
Committed: Thu Feb 27 06:57:17 2014 -0500

----------------------------------------------------------------------
 .../java/org/apache/juddi/validation/ValidatePublish.java     | 2 +-
 .../org/apache/juddi/validation/ValidateSubscription.java     | 3 ++-
 .../src/main/java/org/apache/juddi/tckrunner/App.java         | 7 ++++---
 uddi-tck-runner/uddi.xml                                      | 2 +-
 uddi-tck/src/main/resources/META-INF/uddi.xml                 | 2 +-
 5 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/6eda2289/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
index 413ecb4..184a68e 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
@@ -1660,7 +1660,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 }
         }
 
-        private static void validateKeyLength(String value) throws ValueNotAllowedException {
+        public static void validateKeyLength(String value) throws ValueNotAllowedException {
                 if (value != null && value.length() > ValidationConstants.MAX_Key) {
                         throw new ValueNotAllowedException(new ErrorMessage("errors.keys.TooLong"));
                 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/6eda2289/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
index f334f78..f067a1e 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateSubscription.java
@@ -91,7 +91,7 @@ public class ValidateSubscription extends ValidateUDDIApi {
             // Per section 4.4: keys must be case-folded
             entityKey = entityKey.toLowerCase();
             subscription.setSubscriptionKey(entityKey);
-
+            ValidatePublish.validateKeyLength(entityKey);
             Object obj = em.find(org.apache.juddi.model.Subscription.class, entityKey);
             if (obj != null) {
                 entityExists = true;
@@ -106,6 +106,7 @@ public class ValidateSubscription extends ValidateUDDIApi {
 
                 // Validate key and then check to see that the proposed key is valid for this publisher
                 ValidateUDDIKey.validateUDDIv3Key(entityKey);
+                
                 if (!publisher.isValidPublisherKey(em, entityKey)) {
                     throw new KeyUnavailableException(new ErrorMessage("errors.keyunavailable.BadPartition", entityKey));
                 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/6eda2289/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
----------------------------------------------------------------------
diff --git a/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java b/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
index d192a2b..9de092c 100644
--- a/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
+++ b/uddi-tck-runner/src/main/java/org/apache/juddi/tckrunner/App.java
@@ -86,10 +86,11 @@ public class App {
                                 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.UDDI_090_SubscriptionListenerExternalTest.class,
                                 org.apache.juddi.v3.tck.UDDI_090_HttpExternalTest.class,
                                 org.apache.juddi.v3.tck.UDDI_090_Smtp_ExternalTest.class,
-                                org.apache.juddi.v3.tck.JUDDI_091_RMISubscriptionListenerIntegrationTest.class,
+                                org.apache.juddi.v3.tck.UDDI_090_RMIIntegrationTest.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,
@@ -137,7 +138,7 @@ public class App {
                 bw.write("Failed Test cases");
                 bw.newLine();
                 bw.write("____________________________________________");
-
+                bw.newLine();
                 for (int i = 0; i < result.getFailures().size(); i++) {
                         try {
                                 try {

http://git-wip-us.apache.org/repos/asf/juddi/blob/6eda2289/uddi-tck-runner/uddi.xml
----------------------------------------------------------------------
diff --git a/uddi-tck-runner/uddi.xml b/uddi-tck-runner/uddi.xml
index 652c8e5..1d74e72 100644
--- a/uddi-tck-runner/uddi.xml
+++ b/uddi-tck-runner/uddi.xml
@@ -24,7 +24,7 @@
 						<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>
-						<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
+						<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>

http://git-wip-us.apache.org/repos/asf/juddi/blob/6eda2289/uddi-tck/src/main/resources/META-INF/uddi.xml
----------------------------------------------------------------------
diff --git a/uddi-tck/src/main/resources/META-INF/uddi.xml b/uddi-tck/src/main/resources/META-INF/uddi.xml
index fb2e7ca..7fbed44 100644
--- a/uddi-tck/src/main/resources/META-INF/uddi.xml
+++ b/uddi-tck/src/main/resources/META-INF/uddi.xml
@@ -25,7 +25,7 @@
                                 <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>
-                                <inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
+                                <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>


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


[6/6] git commit: JUDDI-841 adding hooks to check for key generator max lengths when pulled from the publisher profile

Posted by al...@apache.org.
JUDDI-841 adding hooks to check for key generator max lengths when pulled from the publisher profile


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

Branch: refs/heads/master
Commit: 8eff90e467ad2ab439299c7b96ff57fdcaacf634
Parents: 2c06b73
Author: alexoree <al...@apache.org>
Authored: Fri Feb 28 12:34:10 2014 -0500
Committer: alexoree <al...@apache.org>
Committed: Fri Feb 28 12:34:10 2014 -0500

----------------------------------------------------------------------
 .../org/apache/juddi/keygen/DefaultKeyGenerator.java   |  3 ++-
 .../api/impl/API_140_NegativePublicationTest.java      | 13 ++-----------
 2 files changed, 4 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/8eff90e4/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java b/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
index 80c61d0..f6b59ca 100644
--- a/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
+++ b/juddi-core/src/main/java/org/apache/juddi/keygen/DefaultKeyGenerator.java
@@ -25,6 +25,7 @@ import org.apache.commons.configuration.ConfigurationException;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.Property;
 import org.apache.juddi.model.UddiEntityPublisher;
+import org.apache.juddi.v3.client.UDDIConstants;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
 import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -69,7 +70,7 @@ public class DefaultKeyGenerator implements KeyGenerator {
 			while (iter.hasNext()) {
 				String thisDomain = iter.next();
 				String[] parts = thisDomain.split(":");
-				if (domain == null || (2 <= parts.length && parts.length < partsMax)) {
+				if ((domain == null || (2 <= parts.length && parts.length < partsMax)) && thisDomain.length() + 37 < 255) {
 					partsMax = parts.length;
 					domain = thisDomain;
 				}

http://git-wip-us.apache.org/repos/asf/juddi/blob/8eff90e4/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
index db5e2a6..803a1e3 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
@@ -362,7 +362,7 @@ public class API_140_NegativePublicationTest {
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
         Name n = new Name();
-        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
+
         n.setValue("A Test business");
         Description d = new Description();
         d.setValue(str255);
@@ -440,7 +440,6 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
-        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
 
         n.setValue("A Test business");
@@ -909,7 +908,6 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
-        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
@@ -928,7 +926,6 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
-        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
@@ -1311,14 +1308,11 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
-        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
         be.setBusinessServices(new BusinessServices());
         BusinessService bs = new BusinessService();
-        bs.setBusinessKey(be.getBusinessKey());
-        bs.setServiceKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         n = new Name();
         n.setValue(str255);
         bs.getName().add(n);
@@ -2041,19 +2035,16 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
-        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
         be.setBusinessServices(new BusinessServices());
         BusinessService bs = new BusinessService();
-        bs.setServiceKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
-        bs.setBusinessKey(be.getBusinessKey());
+
         n = new Name();
         n.setValue(str255);
         bs.getName().add(n);
         BindingTemplate bt = new BindingTemplate();
-        bt.setBindingKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         bs.setBindingTemplates(new BindingTemplates());
         bt.setAccessPoint(new AccessPoint());
         bt.getAccessPoint().setValue(str4096);


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


[5/6] git commit: JUDDI-841 revised test cases to fix max key length problems JUDDI-751 completed JUDDI-863 fixed

Posted by al...@apache.org.
JUDDI-841 revised test cases to fix max key length problems
JUDDI-751 completed
JUDDI-863 fixed


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

Branch: refs/heads/master
Commit: 2c06b736e0b911441888e1b150ba47ec170e3676
Parents: 6eda228
Author: alexoree <al...@apache.org>
Authored: Thu Feb 27 23:07:03 2014 -0500
Committer: alexoree <al...@apache.org>
Committed: Thu Feb 27 23:07:03 2014 -0500

----------------------------------------------------------------------
 .../juddi/api/impl/UDDIPublicationImpl.java     |   11 +-
 .../impl/API_140_NegativePublicationTest.java   |   19 +-
 .../apache/juddi/api/impl/API_141_JIRATest.java |   11 +
 ...DI_090_SubscriptionListenerExternalTest.java | 1048 ------------------
 ...090_SubscriptionListenerIntegrationBase.java |   18 +-
 ...090_SubscriptionListenerIntegrationTest.java |  620 -----------
 6 files changed, 52 insertions(+), 1675 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/2c06b736/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
index 2f896ce..2e1fdbb 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIPublicationImpl.java
@@ -17,6 +17,7 @@
 
 package org.apache.juddi.api.impl;
 
+import java.io.StringWriter;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -25,6 +26,7 @@ import java.util.ArrayList;
 import javax.jws.WebService;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityTransaction;
+import javax.xml.bind.JAXB;
 import javax.xml.ws.Holder;
 
 import org.uddi.api_v3.AddPublisherAssertions;
@@ -593,6 +595,7 @@ public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPub
 				MappingApiToModel.mapBusinessEntity(apiBusinessEntity, modelBusinessEntity);
 
 				setOperationalInfo(em, modelBusinessEntity, publisher);
+                                log.debug("Saving business " + modelBusinessEntity.getEntityKey());
 	
 				em.persist(modelBusinessEntity);
 	
@@ -613,7 +616,13 @@ public class UDDIPublicationImpl extends AuthenticatedService implements UDDIPub
                     serviceCounter.update(PublicationQuery.SAVE_BUSINESS, 
                             QueryStatus.FAILED, procTime);                      
                     throw drfm;                                                                 	
-		} finally {
+		} catch (Exception ex){
+                        StringWriter sw = new StringWriter();
+                        if (body!=null)
+                        JAXB.marshal(body, sw);
+                  log.fatal("unexpected error!" + sw.toString(), ex);
+                  throw new FatalErrorException(new ErrorMessage("E_fatalError", ex.getMessage()));
+                } finally {
 			if (tx.isActive()) {
 				tx.rollback();
 			}

http://git-wip-us.apache.org/repos/asf/juddi/blob/2c06b736/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
index ba1f10c..db5e2a6 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_140_NegativePublicationTest.java
@@ -98,7 +98,7 @@ public class API_140_NegativePublicationTest {
     static final String str11 = "01234567890";
     static final String str80 = "01234567890123456789012345678901234567890123456789012345678901234567890123456789";
     static final String str81 = "012345678901234567890123456789012345678901234567890123456789012345678901234567891";
-    static final String TRANS = "The transaction has been rolled back";
+    static final String TRANS = "rolled back";
     static final String str4096 = "12345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXX";
     static final String str4097 = "12345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234567000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXXZ";
     static final String str51 = "111111111111111111111111111111111111111111111111111";
@@ -135,8 +135,8 @@ public class API_140_NegativePublicationTest {
 	        System.err.println("Error caught of type " + ex.getClass().getCanonicalName());
 	        ex.printStackTrace();
     	}
-        Assert.assertFalse(ex.getMessage().contains(TRANS));
-        Assert.assertFalse(ex.getMessage().contains(MISSING_RESOURCE));
+        Assert.assertFalse(ex.getMessage().toLowerCase().contains(TRANS.toLowerCase()));
+        Assert.assertFalse(ex.getMessage().toLowerCase().contains(MISSING_RESOURCE.toLowerCase()));
         if (! (ex instanceof ValueNotAllowedException)) {
             Assert.fail();
         }
@@ -362,7 +362,7 @@ public class API_140_NegativePublicationTest {
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
         Name n = new Name();
-
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         n.setValue("A Test business");
         Description d = new Description();
         d.setValue(str255);
@@ -440,6 +440,7 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
 
         n.setValue("A Test business");
@@ -908,6 +909,7 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
@@ -926,6 +928,7 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
@@ -1308,11 +1311,14 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
         be.setBusinessServices(new BusinessServices());
         BusinessService bs = new BusinessService();
+        bs.setBusinessKey(be.getBusinessKey());
+        bs.setServiceKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         n = new Name();
         n.setValue(str255);
         bs.getName().add(n);
@@ -2035,16 +2041,19 @@ public class API_140_NegativePublicationTest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("A Test business");
         be.getName().add(n);
         be.setBusinessServices(new BusinessServices());
         BusinessService bs = new BusinessService();
-
+        bs.setServiceKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
+        bs.setBusinessKey(be.getBusinessKey());
         n = new Name();
         n.setValue(str255);
         bs.getName().add(n);
         BindingTemplate bt = new BindingTemplate();
+        bt.setBindingKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         bs.setBindingTemplates(new BindingTemplates());
         bt.setAccessPoint(new AccessPoint());
         bt.getAccessPoint().setValue(str4096);

http://git-wip-us.apache.org/repos/asf/juddi/blob/2c06b736/juddi-core/src/test/java/org/apache/juddi/api/impl/API_141_JIRATest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_141_JIRATest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_141_JIRATest.java
index 5f71361..42ad8bb 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_141_JIRATest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_141_JIRATest.java
@@ -17,6 +17,7 @@ package org.apache.juddi.api.impl;
 import java.security.cert.CertificateException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.UUID;
 import java.util.concurrent.atomic.AtomicReference;
 
 import javax.xml.soap.SOAPFault;
@@ -161,12 +162,14 @@ public class API_141_JIRATest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("JUDDI_JIRA_571_Part1_Test no lang");
         be.getName().add(n);
         sb.getBusinessEntity().add(be);
 
         be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         n = new Name();
         n.setValue("JUDDI_JIRA_571_Part1_Test with lang");
         n.setLang("en");
@@ -260,6 +263,7 @@ public class API_141_JIRATest {
         SaveBusiness sb = new SaveBusiness();
         sb.setAuthInfo(authInfoJoe);
         BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("JUDDI_JIRA_571_Part2_Test no lang");
         be.getName().add(n);
@@ -267,12 +271,16 @@ public class API_141_JIRATest {
 
         BusinessService bs = new BusinessService();
         n = new Name();
+        bs.setServiceKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
+        bs.setBusinessKey(be.getBusinessKey());
         n.setValue("Service1 No Lang");
         bs.getName().add(n);
         be.setBusinessServices(new BusinessServices());
         be.getBusinessServices().getBusinessService().add(bs);
 
         bs = new BusinessService();
+        bs.setServiceKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
+        bs.setBusinessKey(be.getBusinessKey());
         n = new Name();
         n.setValue("Service2 Lang");
         n.setLang("en");
@@ -366,12 +374,14 @@ public class API_141_JIRATest {
         SaveTModel sb = new SaveTModel();
         sb.setAuthInfo(authInfoJoe);
         TModel be = new TModel();
+        be.setTModelKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("JUDDI_571_Part3_Test no lang");
         be.setName(n);
         sb.getTModel().add(be);
 
         be = new TModel();
+        be.setTModelKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         n = new Name();
         n.setValue("JUDDI_571_Part3_Test lang");
         n.setLang("en");
@@ -464,6 +474,7 @@ public class API_141_JIRATest {
         SaveTModel sb = new SaveTModel();
         sb.setAuthInfo(authInfoJoe);
         TModel be = new TModel();
+        be.setTModelKey(TckTModel.JOE_PUBLISHER_KEY_PREFIX + UUID.randomUUID().toString());
         Name n = new Name();
         n.setValue("JUDDI_574");
         n.setLang("en");

http://git-wip-us.apache.org/repos/asf/juddi/blob/2c06b736/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java
deleted file mode 100644
index 95b789d..0000000
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerExternalTest.java
+++ /dev/null
@@ -1,1048 +0,0 @@
-package org.apache.juddi.v3.tck;
-
-/*
- * 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.
- */
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Random;
-
-import javax.xml.ws.Endpoint;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.juddi.v3.client.config.UDDIClient;
-import org.apache.juddi.v3.client.transport.Transport;
-import org.uddi.v3_service.UDDIInquiryPortType;
-import org.uddi.v3_service.UDDIPublicationPortType;
-import org.uddi.v3_service.UDDISecurityPortType;
-import org.uddi.v3_service.UDDISubscriptionPortType;
-
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.mail.Flags;
-import javax.mail.Folder;
-import javax.mail.Message;
-import javax.mail.Session;
-import javax.mail.Store;
-import javax.mail.internet.MimeMessage;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.Holder;
-import org.apache.commons.codec.net.QuotedPrintableCodec;
-import org.apache.commons.mail.util.MimeMessageParser;
-//import org.apache.commons.io.IOUtils;
-import org.apache.commons.net.PrintCommandListener;
-import org.apache.commons.net.pop3.POP3Client;
-import org.apache.commons.net.pop3.POP3MessageInfo;
-import org.apache.commons.net.pop3.POP3SClient;
-import static org.apache.juddi.v3.tck.TckBusiness.MARY_BUSINESS_XML;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.uddi.api_v3.BusinessEntity;
-import org.uddi.api_v3.Description;
-import org.uddi.api_v3.GetBusinessDetail;
-import org.uddi.api_v3.GetTModelDetail;
-import org.uddi.api_v3.Name;
-import org.uddi.api_v3.SaveBusiness;
-import org.uddi.api_v3.SaveTModel;
-import org.uddi.api_v3.TModel;
-import org.uddi.sub_v3.DeleteSubscription;
-import org.uddi.sub_v3.Subscription;
-import org.uddi.sub_v3.SubscriptionFilter;
-
-/**
- * Used only when running the TCK against a running UDDI server (could be
- * something other than jUDDI) from the juddi-tck-runner application. The
- * 'external' part is really managing hostnames for callbacks, and for using an
- * external smtp server for smtp based notifications.<br><br>
- * WARNING, when adding changes to this class, you MUST always add the
- * corresponding functions.<br><br>
- * to UDDI_090_SubscriptionListenerIntegrationTest
- *
- * @see UDDI_090_SubscriptionListenerIntegrationTest
- * @author <a href="mailto:tcunning@apache.org">Tom Cunningham</a>
- * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
- */
-public class UDDI_090_SubscriptionListenerExternalTest {
-
-        private static Log logger = LogFactory.getLog(UDDI_090_SubscriptionListenerExternalTest.class);
-        private static UDDISubscriptionPortType subscriptionMary = null;
-        private static UDDIInquiryPortType inquiryMary = null;
-        private static TckTModel tckTModelMary = null;
-        private static TckBusiness tckBusinessMary = null;
-        private static TckBusinessService tckBusinessServiceMary = null;
-        private static TckSubscriptionListener tckSubscriptionListenerMary = null;
-        private static String hostname = null;
-        private static UDDISubscriptionPortType subscriptionJoe = null;
-        private static UDDIInquiryPortType inquiryJoe = null;
-        private static TckTModel tckTModelJoe = null;
-        private static TckBusiness tckBusinessJoe = null;
-        private static TckBusinessService tckBusinessServiceJoe = null;
-        private static TckSubscriptionListener tckSubscriptionListenerJoe = null;
-        private static Endpoint endPoint;
-        private static String authInfoJoe = null;
-        private static String authInfoMary = null;
-        private static UDDIClient manager;
-        private static String email = null;
-        private static Integer httpPort = 80;
-        private static UDDIPublicationPortType publicationMary = null;
-
-        @AfterClass
-        public static void stopManager() throws ConfigurationException {
-             if (!TckPublisher.isEnabled()) return;
-                tckTModelJoe.deleteCreatedTModels(authInfoJoe);
-                tckTModelMary.deleteCreatedTModels(authInfoMary);
-                manager.stop();
-                //shutting down the TCK SubscriptionListener
-                endPoint.stop();
-                endPoint = null;
-        }
-
-        @BeforeClass
-        public static void startManager() throws ConfigurationException {
-             if (!TckPublisher.isEnabled()) return;
-                try {
-                        httpPort = 9600 + new Random().nextInt(99);
-
-                        hostname = TckPublisher.getProperties().getProperty("bindaddress");
-                        if (hostname == null) {
-                                hostname = InetAddress.getLocalHost().getHostName();
-                        }
-
-                        //bring up the TCK SubscriptionListener
-                        String httpEndpoint = "http://" + hostname + ":" + httpPort + "/tcksubscriptionlistener";
-                        System.out.println("Bringing up SubscriptionListener endpoint at " + httpEndpoint);
-                        endPoint = Endpoint.publish(httpEndpoint, new UDDISubscriptionListenerImpl());
-
-                        manager = new UDDIClient();
-                        manager.start();
-
-                        logger.debug("Getting auth tokens..");
-
-                        Transport transport = manager.getTransport("uddiv3");
-                        UDDISecurityPortType security = transport.getUDDISecurityService();
-                        authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                        authInfoMary = TckSecurity.getAuthToken(security, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-
-                        UDDIPublicationPortType publication = transport.getUDDIPublishService();
-                        inquiryJoe = transport.getUDDIInquiryService();
-                        subscriptionJoe = transport.getUDDISubscriptionService();
-                        if (!TckPublisher.isUDDIAuthMode()) {
-                                TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                                TckSecurity.setCredentials((BindingProvider) inquiryJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                                TckSecurity.setCredentials((BindingProvider) subscriptionJoe, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
-                        }
-
-                        tckTModelJoe = new TckTModel(publication, inquiryJoe);
-                        tckBusinessJoe = new TckBusiness(publication, inquiryJoe);
-                        tckBusinessServiceJoe = new TckBusinessService(publication, inquiryJoe);
-                        tckSubscriptionListenerJoe = new TckSubscriptionListener(subscriptionJoe, publication);
-
-                        transport = manager.getTransport("uddiv3");
-                        publication = transport.getUDDIPublishService();
-                        publicationMary = publication;
-                        inquiryMary = transport.getUDDIInquiryService();
-                        subscriptionMary = transport.getUDDISubscriptionService();
-                        if (!TckPublisher.isUDDIAuthMode()) {
-                                TckSecurity.setCredentials((BindingProvider) publication, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-                                TckSecurity.setCredentials((BindingProvider) inquiryMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-                                TckSecurity.setCredentials((BindingProvider) subscriptionMary, TckPublisher.getMaryPublisherId(), TckPublisher.getMaryPassword());
-                        }
-
-                        tckTModelMary = new TckTModel(publication, inquiryMary);
-                        tckBusinessMary = new TckBusiness(publication, inquiryMary);
-                        tckBusinessServiceMary = new TckBusinessService(publication, inquiryMary);
-                        tckSubscriptionListenerMary = new TckSubscriptionListener(subscriptionMary, publication);
-
-                        email = TckPublisher.getProperties().getProperty("mail.pop3.to");
-
-                } catch (Exception e) {
-                        logger.error(e.getMessage(), e);
-                        Assert.fail("Could not obtain authInfo token.");
-                }
-        }
-
-        @Test
-        public void joePublisherUpdate_HTTP_FIND_SERVICE() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_FIND_SERVICE");
-                try {
-                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                        String before = TckCommon.DumpAllServices(authInfoJoe, inquiryJoe);
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        //Saving the binding template that will be called by the server for a subscription event
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the HTTP Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, "uddi_data/subscriptionnotifier/listenerService.xml", httpPort, hostname);
-                        //Saving the HTTP Subscription
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, "uddi_data/subscriptionnotifier/subscription1.xml");
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("Updating Service ********** ");
-                        tckBusinessServiceJoe.updateJoePublisherService(authInfoJoe, "foo");
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                        }
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                Assert.fail("No HttpNotification was sent");
-                        }
-                        Iterator<String> iterator = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                        boolean found = false;
-                        while (iterator.hasNext()) {
-                                String test = iterator.next();
-                                if (test.toLowerCase().contains("service one")) {
-                                        found = true;
-                                }
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping service list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllServices(authInfoJoe, inquiryJoe));
-                                //if (!UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name xml:lang=\"en\">Service One</name>")) {
-                                Assert.fail("Notification does not contain the correct service");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, "uddi:uddi.joepublisher.com:subscriptionone");
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                }
-        }
-
-        /**
-         * gets all current messages from the mail server and returns the number
-         * of messages containing the string, messages containing the string are deleted from the mail server
-         * String is the body of each message
-         * @return number of matching and deleted messages
-         * @param contains a string to search for
-         */
-        private static int fetchMail(String contains) {
-
-                //final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
-
-                /* Set the mail properties */
-                Properties properties = TckPublisher.getProperties();
-                // Set manual Properties
-
-                int found = 0;
-                Session session = Session.getDefaultInstance(properties, null);
-                Store store = null;
-                try {
-                        store = session.getStore("pop3");
-
-                        store.connect(properties.getProperty("mail.pop3.host"), Integer.parseInt(properties.getProperty("mail.pop3.port", "110")), properties.getProperty("mail.pop3.username"), properties.getProperty("mail.pop3.password"));
-                        /* Mention the folder name which you want to read. */
-                        // inbox = store.getDefaultFolder();
-                        // inbox = inbox.getFolder("INBOX");
-                        Folder inbox = store.getFolder("INBOX");
-
-                        /* Open the inbox using store. */
-                        inbox.open(Folder.READ_WRITE);
-
-                        Message messages[] = inbox.getMessages();
-
-                        for (int i = 0; i < messages.length; i++) {
-
-                                MimeMessageParser p = new MimeMessageParser(new MimeMessage(session, messages[i].getInputStream()));
-                                Enumeration allHeaders = p.getMimeMessage().getAllHeaders();
-                                while (allHeaders.hasMoreElements()) {
-                                        Object j = allHeaders.nextElement();
-                                        if (j instanceof javax.mail.Header) {
-                                                javax.mail.Header msg = (javax.mail.Header) j;
-                                                logger.info("XML as message header is " + msg.getValue());
-                                                if (msg.getValue().contains(contains)) {
-                                                        //found it
-                                                        messages[i].setFlag(Flags.Flag.DELETED, true);
-                                                        found++;
-                                                }
-                                        }
-                                }
-                                for (int k = 0; k < p.getAttachmentList().size(); k++) {
-                                        InputStream is = p.getAttachmentList().get((k)).getInputStream();
-                                        QuotedPrintableCodec qp = new QuotedPrintableCodec();
-                                        // If "is" is not already buffered, wrap a BufferedInputStream
-                                        // around it.
-                                        if (!(is instanceof BufferedInputStream)) {
-                                                is = new BufferedInputStream(is);
-                                        }
-                                        int c;
-                                        StringBuilder sb = new StringBuilder();
-                                        System.out.println("Message : ");
-                                        while ((c = is.read()) != -1) {
-                                                sb.append(c);
-                                                System.out.write(c);
-                                        }
-                                        is.close();
-                                        String decoded = qp.decode(sb.toString());
-                                        logger.info("decode message is " + decoded);
-                                        if (decoded.contains(contains)) {
-                                                //found it
-                                                messages[i].setFlag(Flags.Flag.DELETED, true);
-                                                found++;
-                                        }
-                                }
-
-                        }
-                        inbox.close(true);
-
-                } catch (Exception ex) {
-                        ex.printStackTrace();
-                } finally {
-                        if (store != null) {
-                                try {
-                                        store.close();
-                                } catch (Exception ex) {
-                                }
-                        }
-                }
-                return found;
-        }
-
-        
-  
-        @Test
-        public void joePublisher_SMTP_FIND_SERVICE() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                Assume.assumeNotNull(email);
-                logger.info("joePublisher_SMTP_FIND_SERVICE");
-                try {
-                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-
-                        String before = TckCommon.DumpAllServices(authInfoJoe, inquiryJoe);
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the SMTP Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_EXTERNAL_XML, 0, email);
-                        //Saving the SMTP Subscription
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_SMTP_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("Updating Service ********** ");
-
-                        tckBusinessServiceJoe.updateJoePublisherService(authInfoJoe, "foo");
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        boolean received = false;
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (fetchMail("Service One") > 0) {
-                                        logger.info("Received Email Notification");
-                                        received = true;
-                                        break;
-                                }
-                        }
-                        if (!received) {
-                                logger.warn("Test failed, dumping service list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllServices(authInfoJoe, inquiryJoe));
-                        }
-                        Assert.assertTrue("No email was received", received);
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_SMTP_KEY);
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                }
-        }
-
-        @Test
-        public void joePublisherUpdate_HTTP_FIND_BUSINESS() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_FIND_BUSINESS");
-                try {
-                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        logger.info("Saving Joe's callback endpoint ********** ");
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, "uddi_data/subscriptionnotifier/listenerService.xml", httpPort, hostname);
-                        //Saving the Subscription
-                        logger.info("Saving Joe's subscription********** ");
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, "uddi_data/subscriptionnotifier/subscription2.xml");
-
-                        logger.info("Clearing the WS inbox********** ");
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        Thread.sleep(1000);
-                        logger.info("Saving Mary's tModel ********** ");
-                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-                        logger.info("Saving Mary's Business ********** ");
-                        tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 10 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-                                }
-                        }
-                        logger.info("RX " + UDDISubscriptionListenerImpl.notificationCount + " notifications");
-                        Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                        boolean found = false;
-
-                        while (it.hasNext()) {
-                                String test = it.next();
-                                if (TckCommon.isDebug()) {
-                                        logger.info("Notification: " + test);
-                                }
-                                if (test.toLowerCase().contains("marybusinessone")) {
-                                        found = true;
-                                }
-                        }
-
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("Notification does not contain the correct service");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, "uddi:uddi.joepublisher.com:subscriptionone");
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-                        tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                }
-        }
-
-        @Test
-        public void joePublisherUpdate_SMTP_FIND_BUSINESS() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                Assume.assumeNotNull(email);
-                logger.info("joePublisherUpdate_SMTP_FIND_BUSINESS");
-                try {
-                        TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_EXTERNAL_XML, 0, email);
-
-                        //Saving the Subscription
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION2_SMTP_XML);
-
-                        Thread.sleep(3000);
-                        logger.info("Saving Mary's tModel ********** ");
-                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-                        logger.info("Saving Mary's Business ********** ");
-                        tckBusinessMary.saveBusiness(authInfoMary, MARY_BUSINESS_XML, "uddi:uddi.marypublisher.com:marybusinessone");
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        boolean received = false;
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                if (fetchMail("marybusinessone") > 0) {
-                                        logger.info("Received Email Notification");
-                                        received = true;
-                                        break;
-                                }
-                        }
-                        if (!received) {
-                                logger.warn("Test failed, dumping before and after business list");
-                                logger.warn("Before " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("No email was received");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_SMTP_KEY);
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-                }
-        }
-
-        //tmodel tests
-        @Test
-        public void joePublisherUpdate_HTTP_FIND_TMODEL() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_FIND_TMODEL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before = TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
-
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-                        //Saving the Subscription
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("Deleting tModel ********** ");
-
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, true);
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-                                        logger.info("Received Notification");
-                                        break;
-                                }
-                        }
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                        boolean found = false;
-                        while (it.hasNext()) {
-                                String test = it.next();
-                                if (test.contains("tModel One")) {
-                                        found = true;
-                                        break;
-                                }
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
-                                Assert.fail("Notification does not contain the correct service");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                }
-        }
-
-        @Test
-        public void joePublisherUpdate_SMTP_FIND_TMODEL() {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                Assume.assumeNotNull(email);
-                logger.info("joePublisherUpdate_SMTP_FIND_TMODEL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                try {
-
-                        String before = TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_EXTERNAL_XML, 0, email);
-                        //Saving the Subscription
-                        tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_SMTP_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("Deleting tModel ********** ");
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, true);
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        boolean received = false;
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (fetchMail("tModel One") > 0) {
-                                        logger.info("Received Email Notification");
-                                        received = true;
-                                        break;
-                                }
-                        }
-                        if (!received) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
-                                Assert.fail("No email was received");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_SMTP_KEY);
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                }
-        }
-        //TODO If a subscriber specifies a maximum number of entries to be returned with a subscription and the amount of data to be returned exceeds this limit, or if the node determines based on its policy that there are too many entries to be returned in a single group, then the node SHOULD provide a chunkToken with results.  
-        //TODO  If no more results are pending, the value of the chunkToken MUST be "0".
-
-        /**
-         * getBusiness tests joe want's updates on mary's business
-         *
-         * @throws Exception
-         */
-        @Test
-        //@Ignore
-        public void joePublisherUpdate_HTTP_GET_BUSINESS_DETAIL() throws Exception {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_GET_BUSINESS_DETAIL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                Holder<List<Subscription>> holder = null;
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
-
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-
-                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-                        BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
-
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-                        //Saving the Subscription
-                        holder = new Holder<List<Subscription>>();
-                        holder.value = new ArrayList<Subscription>();
-                        Subscription sub = new Subscription();
-                        sub.setBindingKey("uddi:uddi.joepublisher.com:bindinglistener");
-                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
-                        sub.setSubscriptionFilter(new SubscriptionFilter());
-                        sub.getSubscriptionFilter().setGetBusinessDetail(new GetBusinessDetail());
-                        sub.getSubscriptionFilter().getGetBusinessDetail().getBusinessKey().add(TckBusiness.MARY_BUSINESS_KEY);
-
-                        holder.value.add(sub);
-                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
-                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("updating Mary's business ********** ");
-                        updatePublisherBusiness(authInfoMary, saveMaryPublisherBusiness, publicationMary);
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                        }
-
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                        StringBuilder sb = new StringBuilder();
-                        boolean found = false;
-                        while (it.hasNext()) {
-                                String test = it.next();
-                                sb.append("Message: " + test + System.getProperty("line.separator"));
-                                if (test.contains("Updated Name")) {
-                                        found = true;
-                                        break;
-                                }
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("Notification does not contain the correct service. Messages received: " + sb.toString());
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        DeleteSubscription ds = new DeleteSubscription();
-                        ds.setAuthInfo(authInfoJoe);
-                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
-                        subscriptionJoe.deleteSubscription(ds);
-                        tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-
-                }
-        }
-
-        /**
-         * getBusiness tests joe want's updates on mary's business
-         *
-         * @throws Exception
-         */
-        @Test
-        //@Ignore
-        public void joePublisherUpdate_SMTP_GET_BUSINESS_DETAIL() throws Exception {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_SMTP_GET_BUSINESS_DETAIL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                Holder<List<Subscription>> holder = null;
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe);
-
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-
-                        tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-                        BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary);
-
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_EXTERNAL_XML, 0, email);
-                        //Saving the Subscription
-                        holder = new Holder<List<Subscription>>();
-                        holder.value = new ArrayList<Subscription>();
-                        Subscription sub = new Subscription();
-                        sub.setBindingKey("uddi:uddi.joepublisher.com:bindinglistenersmtp");
-                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
-                        sub.setSubscriptionFilter(new SubscriptionFilter());
-                        sub.getSubscriptionFilter().setGetBusinessDetail(new GetBusinessDetail());
-                        sub.getSubscriptionFilter().getGetBusinessDetail().getBusinessKey().add(TckBusiness.MARY_BUSINESS_KEY);
-
-                        holder.value.add(sub);
-                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
-                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("updating Mary's business ********** ");
-                        updatePublisherBusiness(authInfoMary, saveMaryPublisherBusiness, publicationMary);
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        boolean received = false;
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (fetchMail("Updated Name") > 0) {
-                                        logger.info("Received Email Notification");
-                                        received = true;
-                                        break;
-                                }
-                        }
-
-                        if (!received) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        DeleteSubscription ds = new DeleteSubscription();
-                        ds.setAuthInfo(authInfoJoe);
-                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
-                        subscriptionJoe.deleteSubscription(ds);
-                        tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-
-                }
-        }
-
-        /**
-         * adds a new name to the business, then resaves it
-         *
-         * @param auth
-         * @param biz
-         * @param pub
-         */
-        public static void updatePublisherBusiness(String auth, BusinessEntity biz, UDDIPublicationPortType pub) throws Exception {
-                biz.getName().add(new Name("Updated Name", "en"));
-                SaveBusiness sb = new SaveBusiness();
-                sb.setAuthInfo(auth);
-                sb.getBusinessEntity().add(biz);
-                pub.saveBusiness(sb);
-        }
-
-        /**
-         * getBusiness tests joe want's updates on mary's business
-         *
-         * @throws Exception
-         */
-        @Test
-        public void joePublisherUpdate_HTTP_GET_TMODEL_DETAIL() throws Exception {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_HTTP_GET_TMODEL_DETAIL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                Holder<List<Subscription>> holder = null;
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before = TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
-
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        TModel saveMaryPublisherTmodel = tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_HTTP_SERVICE_XML, httpPort, hostname);
-
-                        //Saving the Subscription
-                        holder = new Holder<List<Subscription>>();
-                        holder.value = new ArrayList<Subscription>();
-                        Subscription sub = new Subscription();
-                        sub.setBindingKey("uddi:uddi.joepublisher.com:bindinglistener");
-                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
-                        sub.setSubscriptionFilter(new SubscriptionFilter());
-                        sub.getSubscriptionFilter().setGetTModelDetail(new GetTModelDetail());
-                        sub.getSubscriptionFilter().getGetTModelDetail().getTModelKey().add(TckTModel.MARY_PUBLISHER_TMODEL_KEY);
-
-                        holder.value.add(sub);
-                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
-                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("updating Mary's tModel ********** ");
-                        updateTModel(authInfoMary, saveMaryPublisherTmodel, publicationMary);
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (UDDISubscriptionListenerImpl.notificationCount > 0) {
-                                        //    logger.info("Received Notification");
-//                                        break;
-                                }
-                        }
-
-                        if (UDDISubscriptionListenerImpl.notificationCount == 0) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-                        Iterator<String> it = UDDISubscriptionListenerImpl.notifcationMap.values().iterator();
-                        StringBuilder sb = new StringBuilder();
-                        boolean found = false;
-                        while (it.hasNext()) {
-                                String test = it.next();
-                                sb.append("Message: " + test + System.getProperty("line.separator"));
-                                if (test.contains("a new description")) {
-                                        found = true;
-                                        break;
-                                }
-                        }
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe));
-                                logger.warn("Messages RX " + sb.toString());
-                                Assert.fail("Notification does not contain the correct service. Messages received: " + sb.toString());
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        DeleteSubscription ds = new DeleteSubscription();
-                        ds.setAuthInfo(authInfoJoe);
-                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
-                        subscriptionJoe.deleteSubscription(ds);
-                        //tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-
-                }
-        }
-
-        /**
-         * getBusiness tests joe want's updates on mary's business
-         *
-         * @throws Exception
-         */
-        @Test
-        public void joePublisherUpdate_SMTP_GET_TMODEL_DETAIL() throws Exception {
-             Assume.assumeTrue(TckPublisher.isEnabled());
-                logger.info("joePublisherUpdate_SMTP_GET_TMODEL_DETAIL");
-                TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe);
-                Holder<List<Subscription>> holder = null;
-                try {
-                        UDDISubscriptionListenerImpl.notifcationMap.clear();
-                        UDDISubscriptionListenerImpl.notificationCount = 0;
-                        String before = TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe);
-
-                        tckTModelJoe.saveJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-                        TModel saveMaryPublisherTmodel = tckTModelMary.saveMaryPublisherTmodel(authInfoMary);
-
-                        tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe);
-                        tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe);
-                        //Saving the Listener Service
-                        tckSubscriptionListenerJoe.saveService(authInfoJoe, TckSubscriptionListener.LISTENER_SMTP_SERVICE_EXTERNAL_XML, 0, email);
-                        //Saving the Subscription
-                        holder = new Holder<List<Subscription>>();
-                        holder.value = new ArrayList<Subscription>();
-                        Subscription sub = new Subscription();
-                        sub.setBindingKey("uddi:uddi.joepublisher.com:bindinglistenersmtp");
-                        sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000));
-                        sub.setSubscriptionFilter(new SubscriptionFilter());
-                        sub.getSubscriptionFilter().setGetTModelDetail(new GetTModelDetail());
-                        sub.getSubscriptionFilter().getGetTModelDetail().getTModelKey().add(TckTModel.MARY_PUBLISHER_TMODEL_KEY);
-
-                        holder.value.add(sub);
-                        subscriptionJoe.saveSubscription(authInfoJoe, holder);
-                        //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML);
-                        //Changing the service we subscribed to "JoePublisherService"
-                        Thread.sleep(1000);
-                        logger.info("updating Mary's tModel ********** ");
-                        updateTModel(authInfoMary, saveMaryPublisherTmodel, publicationMary);
-
-                        logger.info("Waiting " + TckPublisher.getSubscriptionTimeout() + " seconds for delivery");
-                        //waiting up to 100 seconds for the listener to notice the change.
-                        boolean found = false;
-                        for (int i = 0; i < TckPublisher.getSubscriptionTimeout(); i++) {
-                                Thread.sleep(1000);
-                                System.out.print(".");
-                                if (fetchMail("a new description") > 0) {
-                                        found = true;
-                                        break;
-                                }
-                        }
-
-                        if (!found) {
-                                logger.warn("Test failed, dumping business list");
-                                logger.warn("BEFORE " + before);
-                                logger.warn("After " + TckCommon.DumpAllTModels(authInfoJoe, inquiryJoe));
-                                Assert.fail("No Notification was sent");
-                        }
-
-                } catch (Exception e) {
-                        logger.error("No exceptions please.");
-                        e.printStackTrace();
-
-                        Assert.fail();
-                } finally {
-                        //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY);
-                        DeleteSubscription ds = new DeleteSubscription();
-                        ds.setAuthInfo(authInfoJoe);
-                        ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey());
-                        subscriptionJoe.deleteSubscription(ds);
-                        //tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary);
-                        tckTModelMary.deleteMaryPublisherTmodel(authInfoMary);
-
-                        tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe);
-                        tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe);
-                        tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe);
-                        tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3);
-
-                }
-        }
-
-        //TODO If a subscriber specifies a maximum number of entries to be returned with a subscription and the amount of data to be returned exceeds 
-//this limit, or if the node determines based on its policy that there are too many entries to be returned in a single group, 
-        //then the node SHOULD provide a chunkToken with results.  
-        //TODO  If no more results are pending, the value of the chunkToken MUST be "0".
-        public static void updateTModel(String authInfoMary, TModel saveMaryPublisherTmodel, UDDIPublicationPortType publicationMary) throws Exception {
-                saveMaryPublisherTmodel.getDescription().add(new Description("a new description", null));
-                SaveTModel stm = new SaveTModel();
-                stm.setAuthInfo(authInfoMary);
-                stm.getTModel().add(saveMaryPublisherTmodel);
-                publicationMary.saveTModel(stm);
-        }
-}

http://git-wip-us.apache.org/repos/asf/juddi/blob/2c06b736/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java
index 54e624a..ba7d0bc 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java
@@ -25,7 +25,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.v3.client.config.UDDIClient;
 import org.apache.juddi.v3.client.transport.Transport;
-import static org.apache.juddi.v3.tck.UDDI_090_SubscriptionListenerExternalTest.updatePublisherBusiness;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Assume;
@@ -35,6 +34,8 @@ import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.Description;
 import org.uddi.api_v3.GetBusinessDetail;
 import org.uddi.api_v3.GetTModelDetail;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.SaveBusiness;
 import org.uddi.api_v3.SaveTModel;
 import org.uddi.api_v3.TModel;
 import org.uddi.sub_v3.DeleteSubscription;
@@ -506,4 +507,19 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase {
                 stm.getTModel().add(saveMaryPublisherTmodel);
                 publicationMary.saveTModel(stm);
         }
+                /**
+         * adds a new name to the business, then resaves it
+         *
+         * @param auth
+         * @param biz
+         * @param pub
+         */
+        public static void updatePublisherBusiness(String auth, BusinessEntity biz, UDDIPublicationPortType pub) throws Exception {
+                biz.getName().add(new Name("Updated Name", "en"));
+                SaveBusiness sb = new SaveBusiness();
+                sb.setAuthInfo(auth);
+                sb.getBusinessEntity().add(biz);
+                pub.saveBusiness(sb);
+        }
+
 }


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