Author: kstam
Date: Tue Jan 25 14:38:30 2011
New Revision: 1063303

URL: http://svn.apache.org/viewvc?rev=1063303&view=rev
Log:
JUDDI-342, now bringing up an subscription endpoint in the unit test, so the 
server can call into that.

Added:
    
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/TCK_UDDISubscriptionListenerImpl.java
Removed:
    
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/bindingTemplate.xml
Modified:
    
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
    
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/businessService.xml
    juddi/trunk/uddi-tck/log4j.properties
    
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java

Modified: 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java?rev=1063303&r1=1063302&r2=1063303&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
 (original)
+++ 
juddi/trunk/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSubscriptionListener.java
 Tue Jan 25 14:38:30 2011
@@ -50,11 +50,9 @@ public class TckSubscriptionListener
    
        final static String JOE_SUBSCRIPTION_XML = 
"uddi_data/subscription/subscription1.xml";
     final static String JOE_SUBSCRIPTION_KEY = 
"uddi:uddi.joepublisher.com:subscriptionone";
-       final static String JOE_SUBSCRIPTIONRESULTS_XML = 
"uddi_data/subscription/subscriptionresults1.xml";
-
-       public final static String NOTIFIER_BINDING_XML = 
"uddi_data/subscriptionnotifier/bindingTemplate.xml";
-    public final static String NOTIFIER_BINDING_KEY = 
"uddi:uddi.joepublisher.com:bindingnotifier";    
+       final static String JOE_SUBSCRIPTIONRESULTS_XML = 
"uddi_data/subscription/subscriptionresults1.xml";   
     
+       /** note that the subscription1.xml contains the binding template for 
the UDDI server to call back into */
        public final static String SUBSCRIPTION_XML = 
"uddi_data/subscriptionnotifier/subscription1.xml";
     public final static String SUBSCRIPTION_KEY = 
"uddi:uddi.joepublisher.com:subscriptionone";
     
@@ -75,7 +73,6 @@ public class TckSubscriptionListener
                try {
                        SaveBinding sb = new SaveBinding();
                        sb.setAuthInfo(authInfo);
-                       
                        BindingTemplate btIn = 
(BindingTemplate)EntityCreator.buildFromDoc(bindingXML, "org.uddi.api_v3");
                        sb.getBindingTemplate().add(btIn);
                        publication.saveBinding(sb);            

Modified: 
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/businessService.xml
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/businessService.xml?rev=1063303&r1=1063302&r2=1063303&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/businessService.xml
 (original)
+++ 
juddi/trunk/uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/businessService.xml
 Tue Jan 25 14:38:30 2011
@@ -24,9 +24,9 @@
   <bindingTemplates>
        <bindingTemplate xmlns="urn:uddi-org:api_v3" 
bindingKey="uddi:uddi.joepublisher.com:bindingnotifier">
          <description xml:lang="en">This is the endpoint for the subscription 
listener</description>
-         <accessPoint 
useType="endPoint">http://localhost:8880/juddiv3/services/subscription-listener/</accessPoint>
+         <accessPoint 
useType="endPoint">http://localhost:12345/tcksubscriptionlistener</accessPoint>
          <tModelInstanceDetails>
-           <tModelInstanceInfo 
tModelKey="uddi:uddi.org:protocol:serverauthenticatedssl3"/>
+               <tModelInstanceInfo tModelKey="uddi:uddi.org:transport:http" />
          </tModelInstanceDetails>
          <categoryBag>
            <keyedReference tModelKey="uddi:tmodelkey:categories:bindings" 
keyName="category" keyValue="secure" />

Modified: juddi/trunk/uddi-tck/log4j.properties
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/log4j.properties?rev=1063303&r1=1063302&r2=1063303&view=diff
==============================================================================
--- juddi/trunk/uddi-tck/log4j.properties (original)
+++ juddi/trunk/uddi-tck/log4j.properties Tue Jan 25 14:38:30 2011
@@ -1,4 +1,4 @@
-log4j.logger.org.apache.juddi.api.impl=INFO, UDDICLIENT
+log4j.logger.org.apache.juddi.api.impl=INFO
 log4j.rootLogger=INFO, logfile
 
 # in case any output is given to stdout, format it
@@ -15,14 +15,6 @@ log4j.appender.logfile.MaxBackupIndex=3
 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
 log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
 
-# in case any output is given to stdout, format it
-log4j.appender.UDDICLIENT=org.apache.log4j.FileAppender
-#log4j.appender.UDDICLIENT.File=${java.io.tmpdir}/uddiclient.log
-log4j.appender.UDDICLIENT.File=${catalina.home}/../../temp/uddiclient.log
-log4j.appender.UDDICLIENT.MaxFileSize=512MB
-log4j.appender.UDDICLIENT.layout=org.apache.log4j.PatternLayout
-log4j.appender.UDDICLIENT.layout.ConversionPattern=%m%n
-log4j.appender.UDDICLIENT.Append=false
 
 #log4j.category.org.springframework.beans.property 
editors.CustomDateEditor=DEBUG
 

Added: 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/TCK_UDDISubscriptionListenerImpl.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/TCK_UDDISubscriptionListenerImpl.java?rev=1063303&view=auto
==============================================================================
--- 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/TCK_UDDISubscriptionListenerImpl.java
 (added)
+++ 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/TCK_UDDISubscriptionListenerImpl.java
 Tue Jan 25 14:38:30 2011
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2001-2008 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.StringWriter;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.jws.WebService;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.uddi.api_v3.DispositionReport;
+import org.uddi.api_v3.Result;
+import org.uddi.subr_v3.NotifySubscriptionListener;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+import org.uddi.v3_service.UDDISubscriptionListenerPortType;
+
+/**
+ * WebService which implements the UDDI v3 SubscriptionListener API. This 
service can be
+ * brought during integration testing on the test side. The UDDI server can 
then
+ * call in to it.
+ * 
+ * @author kstam
+ *
+ */
+@WebService(serviceName="UDDISubscriptionListenerService", 
+                       
endpointInterface="org.uddi.v3_service.UDDISubscriptionListenerPortType",
+                       targetNamespace = "urn:uddi-org:v3_service")
+public class TCK_UDDISubscriptionListenerImpl implements
+               UDDISubscriptionListenerPortType {
+       
+       private static Log logger = 
LogFactory.getLog(TCK_UDDISubscriptionListenerImpl.class);
+       public static Integer notificationCount = 0;
+       public static Map<Integer,String> notifcationMap = new 
HashMap<Integer,String>();
+       
+       public DispositionReport notifySubscriptionListener(
+                       NotifySubscriptionListener body)
+                       throws DispositionReportFaultMessage 
+       {
+               try {
+                       JAXBContext context = 
JAXBContext.newInstance(body.getClass());
+                       Marshaller marshaller = context.createMarshaller();
+                       StringWriter sw = new StringWriter();
+                       marshaller.marshal(body, sw);
+                       logger.info("Notification received by 
UDDISubscriptionListenerService : " + sw.toString());
+                       
+                       //Adding the received subscription XML to a Map.
+                       notifcationMap.put(notificationCount++, sw.toString());
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+                       
+               DispositionReport dr = new DispositionReport();
+               Result res = new Result();
+               dr.getResult().add(res);
+               return dr;
+       }
+       
+}

Modified: 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java?rev=1063303&r1=1063302&r2=1063303&view=diff
==============================================================================
--- 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
 (original)
+++ 
juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationTest.java
 Tue Jan 25 14:38:30 2011
@@ -14,9 +14,7 @@ package org.apache.juddi.v3.tck;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
+import javax.xml.ws.Endpoint;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.juddi.v3.client.config.UDDIClerkManager;
@@ -36,28 +34,37 @@ import org.uddi.v3_service.UDDISubscript
  */
 public class UDDI_090_SubscriptionListenerIntegrationTest
 {
+       
+       
        private static Logger logger = 
Logger.getLogger(UDDI_090_SubscriptionListenerIntegrationTest.class);
 
        private static TckTModel tckTModel                    = null;
        private static TckBusiness tckBusiness                = null;
        private static TckBusinessService tckBusinessService  = null;
        private static TckSubscriptionListener tckSubscriptionListener = null;
-
+       private static Endpoint endPoint;
        private static String authInfoJoe = null;
        private static UDDIClerkManager manager;
 
        @AfterClass
        public static void stopManager() throws ConfigurationException {
                manager.stop();
+               //shutting down the TCK SubscriptionListener
+               endPoint.stop();
        }
        
        @BeforeClass
        public static void startManager() throws ConfigurationException {
+               
+               //bring up the TCK SubscriptionListener
+               endPoint = 
Endpoint.publish("http://localhost:12345/tcksubscriptionlistener";, new 
TCK_UDDISubscriptionListenerImpl());
+               
                manager  = new UDDIClerkManager();
                manager.start();
                
                logger.debug("Getting auth tokens..");
                try {
+                        
                         Transport transport = manager.getTransport();
                 UDDISecurityPortType security = 
transport.getUDDISecurityService();
                 authInfoJoe = TckSecurity.getAuthToken(security, 
TckPublisher.getJoePublisherId(),  TckPublisher.getJoePassword());
@@ -84,28 +91,23 @@ public class UDDI_090_SubscriptionListen
                        tckBusiness.saveJoePublisherBusiness(authInfoJoe);
                        tckBusinessService.saveJoePublisherService(authInfoJoe);
                        tckSubscriptionListener.saveService(authInfoJoe);
+                       
                        
tckSubscriptionListener.saveNotifierSubscription(authInfoJoe);
 
                        
tckSubscriptionListener.changeSubscribedObject(authInfoJoe);
                        
-                       String tempdir = System.getProperty("java.io.tmpdir");
-                       String file = tempdir + File.separator + 
"uddiclient.log";
-                       System.out.println("Going to read from file: " + file);
-                       
             //waiting up to 100 seconds for the listener to notice the change.
                        String test="";
                        for (int i=0; i<200; i++) {
                                Thread.sleep(500);
-                               test = readLogAsString(file);
                                System.out.print(".");
-                               if (test.contains("<name 
xml:lang=\"en\">Notifier One</name>")) {
-                                       System.out.print("Found String");
+                               if 
(TCK_UDDISubscriptionListenerImpl.notificationCount > 0) {
                                        break;
                                } else {
                                        System.out.print(test);
                                }
                        }
-                       if (! test.contains("<name xml:lang=\"en\">Notifier 
One</name>")) {
+                       if (TCK_UDDISubscriptionListenerImpl.notificationCount 
== 0 || !TCK_UDDISubscriptionListenerImpl.notifcationMap.get(0).contains("<name 
xml:lang=\"en\">Notifier One</name>")) {
                                Assert.fail("Notification does not contain the 
correct service");
                        }
                        
@@ -114,26 +116,12 @@ public class UDDI_090_SubscriptionListen
 
                        Assert.fail();
                } finally {
+                       
                        
tckSubscriptionListener.deleteNotifierSubscription(authInfoJoe);
                        
tckBusinessService.deleteJoePublisherService(authInfoJoe);
                        tckBusiness.deleteJoePublisherBusiness(authInfoJoe);
                        tckTModel.deleteJoePublisherTmodel(authInfoJoe);
                }
        }       
-       
-    private static String readLogAsString(String filePath)
-    throws java.io.IOException{
-        StringBuffer data = new StringBuffer(1000);
-        BufferedReader reader = new BufferedReader(
-                new FileReader(filePath));
-        char[] buf = new char[1024];
-        int numRead=0;
-        while((numRead=reader.read(buf)) != -1){
-            data.append(buf, 0, numRead);
-        }
-        reader.close();
-        String notify = data.toString().replace("Notification received by 
UDDISubscriptionListenerService : <?xml version=\"1.0\" encoding=\"UTF-8\" 
standalone=\"yes\"?>", "");
-        
-        return notify;
-    }
+    
 }



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

Reply via email to