From a55719a226a89a77de7b98c182527feaaa5ed7b0 Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Fri, 21 Dec 2007 11:46:56 +0000 Subject: [PATCH] Working on JAXP 1.4 support. --- support/pom.xml | 19 +-- .../monitor/AbstractMonitoringStrategy.java | 12 +- .../monitor/PollingMonitoringStrategy.java | 6 +- .../SimpleTestingMessageReceiver.java | 4 +- .../jms/JmsMessageSenderIntegrationTest.java | 6 +- .../MessageEndpointMessageListenerTest.java | 116 ------------------ .../jms/jms-sender-applicationContext.xml | 2 +- 7 files changed, 17 insertions(+), 148 deletions(-) delete mode 100644 support/src/test/java/org/springframework/ws/transport/jms/MessageEndpointMessageListenerTest.java diff --git a/support/pom.xml b/support/pom.xml index 6a2bd05a..344aa30f 100644 --- a/support/pom.xml +++ b/support/pom.xml @@ -1,4 +1,5 @@ - + spring-ws-parent org.springframework.ws @@ -97,22 +98,6 @@ org.springframework spring-jms - - - xml-apis - xml-apis - provided - - - xalan - xalan - provided - - - xerces - xercesImpl - provided - javax.xml.soap diff --git a/support/src/main/java/org/springframework/ws/transport/mail/monitor/AbstractMonitoringStrategy.java b/support/src/main/java/org/springframework/ws/transport/mail/monitor/AbstractMonitoringStrategy.java index 44d4b619..257506fd 100644 --- a/support/src/main/java/org/springframework/ws/transport/mail/monitor/AbstractMonitoringStrategy.java +++ b/support/src/main/java/org/springframework/ws/transport/mail/monitor/AbstractMonitoringStrategy.java @@ -43,8 +43,8 @@ public abstract class AbstractMonitoringStrategy implements MonitoringStrategy { private boolean deleteMessages = true; /** - * Sets whether messages should be marked as {@link Flags.Flag#DELETED DELETED} after they have been read. Default - * is true. + * Sets whether messages should be marked as {@link javax.mail.Flags.Flag#DELETED DELETED} after they have been + * read. Default is true. */ public void setDeleteMessages(boolean deleteMessages) { this.deleteMessages = deleteMessages; @@ -92,9 +92,9 @@ public abstract class AbstractMonitoringStrategy implements MonitoringStrategy { /** * Retrieves new messages from the given folder. This implementation creates a {@link SearchTerm} that searches for - * all messages in the folder that are {@link Flags.Flag#RECENT RECENT}, not {@link Flags.Flag#ANSWERED ANSWERED}, - * and not {@link Flags.Flag#DELETED DELETED}. The search term is used to {@link Folder#search(SearchTerm) search} - * for new messages. + * all messages in the folder that are {@link javax.mail.Flags.Flag#RECENT RECENT}, not {@link + * javax.mail.Flags.Flag#ANSWERED ANSWERED}, and not {@link javax.mail.Flags.Flag#DELETED DELETED}. The search term + * is used to {@link Folder#search(SearchTerm) search} for new messages. * * @param folder the folder to retrieve new messages from * @return the new messages @@ -134,7 +134,7 @@ public abstract class AbstractMonitoringStrategy implements MonitoringStrategy { /** * Fetches the specified messages from the specified folder. Default implementation {@link Folder#fetch(Message[], - * FetchProfile) fetches} every {@link FetchProfile.Item}. + * FetchProfile) fetches} every {@link javax.mail.FetchProfile.Item}. * * @param folder the folder to fetch messages from * @param messages the messages to fetch diff --git a/support/src/main/java/org/springframework/ws/transport/mail/monitor/PollingMonitoringStrategy.java b/support/src/main/java/org/springframework/ws/transport/mail/monitor/PollingMonitoringStrategy.java index 56163221..8bbbecd3 100644 --- a/support/src/main/java/org/springframework/ws/transport/mail/monitor/PollingMonitoringStrategy.java +++ b/support/src/main/java/org/springframework/ws/transport/mail/monitor/PollingMonitoringStrategy.java @@ -31,9 +31,7 @@ import javax.mail.MessagingException; */ public class PollingMonitoringStrategy extends AbstractMonitoringStrategy { - /** - * Defines the default polling frequency. Set to 1000 * 60 milliseconds (i.e. 1 minute). - */ + /** Defines the default polling frequency. Set to 1000 * 60 milliseconds (i.e. 1 minute). */ public static final long DEFAULT_POLLING_FREQUENCY = 1000 * 60; private long pollingInterval = DEFAULT_POLLING_FREQUENCY; @@ -53,7 +51,7 @@ public class PollingMonitoringStrategy extends AbstractMonitoringStrategy { /** * Invoked after the {@link Thread#sleep(long)} method has been invoked. This implementation calls {@link - * Folder#getMessageCount(), to force new messages to be seen. + * Folder#getMessageCount()}, to force new messages to be seen. * * @param folder the folder to check for new messages * @throws MessagingException in case of JavaMail errors diff --git a/support/src/test/java/org/springframework/ws/transport/SimpleTestingMessageReceiver.java b/support/src/test/java/org/springframework/ws/transport/SimpleTestingMessageReceiver.java index aff2af56..5615573a 100644 --- a/support/src/test/java/org/springframework/ws/transport/SimpleTestingMessageReceiver.java +++ b/support/src/test/java/org/springframework/ws/transport/SimpleTestingMessageReceiver.java @@ -18,15 +18,15 @@ package org.springframework.ws.transport; import javax.xml.transform.Transformer; +import org.springframework.util.Assert; import org.springframework.ws.context.MessageContext; import org.springframework.xml.transform.TransformerObjectSupport; -import org.springframework.util.Assert; public class SimpleTestingMessageReceiver extends TransformerObjectSupport implements WebServiceMessageReceiver { public void receive(MessageContext messageContext) throws Exception { Assert.notNull(messageContext, "MessageContext is null"); - logger.info("Received message"); + logger.info("Received " + messageContext.getRequest()); Transformer transformer = createTransformer(); transformer.transform(messageContext.getRequest().getPayloadSource(), messageContext.getResponse().getPayloadResult()); diff --git a/support/src/test/java/org/springframework/ws/transport/jms/JmsMessageSenderIntegrationTest.java b/support/src/test/java/org/springframework/ws/transport/jms/JmsMessageSenderIntegrationTest.java index 8499c9c2..65e1fc28 100644 --- a/support/src/test/java/org/springframework/ws/transport/jms/JmsMessageSenderIntegrationTest.java +++ b/support/src/test/java/org/springframework/ws/transport/jms/JmsMessageSenderIntegrationTest.java @@ -65,13 +65,14 @@ public class JmsMessageSenderIntegrationTest extends AbstractDependencyInjection public void testSendAndReceiveQueueBytesMessage() throws Exception { WebServiceConnection connection = null; try { - URI uri = new URI("jms:RequestQueue?deliveryMode=NON_PERSISTENT"); + URI uri = new URI("jms:SenderRequestQueue?deliveryMode=NON_PERSISTENT"); connection = messageSender.createConnection(uri); SoapMessage soapRequest = new SaajSoapMessage(messageFactory.createMessage()); soapRequest.setSoapAction(SOAP_ACTION); connection.send(soapRequest); BytesMessage request = (BytesMessage) jmsTemplate.receive(); + assertNotNull("No message received", request); ByteArrayOutputStream bos = new ByteArrayOutputStream(); messageFactory.createMessage().writeTo(bos); final byte[] buf = bos.toByteArray(); @@ -101,13 +102,14 @@ public class JmsMessageSenderIntegrationTest extends AbstractDependencyInjection public void testSendAndReceiveQueueTextMessage() throws Exception { WebServiceConnection connection = null; try { - URI uri = new URI("jms:RequestQueue?deliveryMode=NON_PERSISTENT&messageType=TEXT_MESSAGE"); + URI uri = new URI("jms:SenderRequestQueue?deliveryMode=NON_PERSISTENT&messageType=TEXT_MESSAGE"); connection = messageSender.createConnection(uri); SoapMessage soapRequest = new SaajSoapMessage(messageFactory.createMessage()); soapRequest.setSoapAction(SOAP_ACTION); connection.send(soapRequest); TextMessage request = (TextMessage) jmsTemplate.receive(); + assertNotNull("No message received", request); ByteArrayOutputStream bos = new ByteArrayOutputStream(); messageFactory.createMessage().writeTo(bos); final String text = new String(bos.toByteArray(), "UTF-8"); diff --git a/support/src/test/java/org/springframework/ws/transport/jms/MessageEndpointMessageListenerTest.java b/support/src/test/java/org/springframework/ws/transport/jms/MessageEndpointMessageListenerTest.java deleted file mode 100644 index 72b7cd5e..00000000 --- a/support/src/test/java/org/springframework/ws/transport/jms/MessageEndpointMessageListenerTest.java +++ /dev/null @@ -1,116 +0,0 @@ -/* -*/ -/* - * Copyright 2006 the original author or authors. - * - * 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.springframework.ws.transport.jms; - -import javax.jms.BytesMessage; -import javax.jms.Destination; -import javax.jms.MessageProducer; -import javax.jms.Session; -import javax.jms.StreamMessage; - -import junit.framework.TestCase; -import org.codehaus.activemq.message.ActiveMQBytesMessage; -import org.codehaus.activemq.message.ActiveMQTopic; -import org.easymock.MockControl; -import org.springframework.ws.MockWebServiceMessageFactory; -import org.springframework.ws.context.MessageContext; -import org.springframework.ws.server.endpoint.MessageEndpoint; - -public class MessageEndpointMessageListenerTest extends TestCase { - - private static final String REQUEST = " \n" + " \n" + - " \n" + " DIS\n" + - " \n" + " \n" + ""; - - private WebServiceMessageListener messageListener; - - private BytesMessage request; - - private MockControl sessionControl; - - private Session sessionMock; - - protected void setUp() throws Exception { - messageListener = new WebServiceMessageListener(); - request = new ActiveMQBytesMessage(); - request.writeBytes(REQUEST.getBytes("UTF-8")); - messageListener.setMessageFactory(new MockWebServiceMessageFactory()); - sessionControl = MockControl.createControl(Session.class); - sessionMock = (Session) sessionControl.getMock(); - } - - public void testOnMessageInvalidMessage() throws Exception { - MockControl mockControl = MockControl.createControl(StreamMessage.class); - StreamMessage message = (StreamMessage) mockControl.getMock(); - try { - messageListener.onMessage(message, sessionMock); - fail("Expected IllegalArgumentException"); - } - catch (IllegalArgumentException ex) { - // expected - } - } - - public void testOnMessageNoResponse() throws Exception { - - MessageEndpoint endpoint = new MessageEndpoint() { - - public void invoke(MessageContext messageContext) throws Exception { - } - }; - messageListener.setMessageReceiver(endpoint); - - request.reset(); - messageListener.onMessage(request, sessionMock); - } - - public void testOnMessageResponse() throws Exception { - MockControl producerControl = MockControl.createControl(MessageProducer.class); - MessageProducer producerMock = (MessageProducer) producerControl.getMock(); - BytesMessage response = new ActiveMQBytesMessage(); - String correlationId = "correlationId"; - Destination replyTo = new ActiveMQTopic(); - request.setJMSCorrelationID(correlationId); - request.setJMSReplyTo(replyTo); - request.reset(); - sessionControl.expectAndReturn(sessionMock.createBytesMessage(), response); - sessionControl.expectAndReturn(sessionMock.createProducer(replyTo), producerMock); - producerMock.marshalSendAndReceive(response); - sessionControl.replay(); - producerControl.replay(); - - MessageEndpoint endpoint = new MessageEndpoint() { - - public void invoke(MessageContext messageContext) throws Exception { - messageContext.getResponse(); - } - }; - messageListener.setMessageReceiver(endpoint); - - messageListener.onMessage(request, sessionMock); - - sessionControl.verify(); - producerControl.verify(); - assertEquals("Invalid correlationId", correlationId, response.getJMSCorrelationID()); - } - -}*/ diff --git a/support/src/test/resources/org/springframework/ws/transport/jms/jms-sender-applicationContext.xml b/support/src/test/resources/org/springframework/ws/transport/jms/jms-sender-applicationContext.xml index 3e7a4984..5e24376e 100644 --- a/support/src/test/resources/org/springframework/ws/transport/jms/jms-sender-applicationContext.xml +++ b/support/src/test/resources/org/springframework/ws/transport/jms/jms-sender-applicationContext.xml @@ -7,7 +7,7 @@ - +