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