You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2011/01/25 15:38:31 UTC

svn commit: r1063303 - in /juddi/trunk: uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/ uddi-tck-base/src/main/resources/uddi_data/subscriptionnotifier/ uddi-tck/ uddi-tck/src/test/java/org/apache/juddi/v3/tck/

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: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org