Author: jbonofre
Date: Mon Jul 27 20:12:40 2009
New Revision: 798272
URL: http://svn.apache.org/viewvc?rev=798272&view=rev
Log:
Generate the servicemix-exec WSDL using CXF on the marshaler interface.
Refactor the marshaler to be compliant with WSDL generation.
Modified:
servicemix/components/engines/servicemix-exec/trunk/pom.xml
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/ExecEndpoint.java
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshaler.java
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/ExecMarshalerSupport.java
servicemix/components/engines/servicemix-exec/trunk/src/test/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshalerTest.java
Modified: servicemix/components/engines/servicemix-exec/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-exec/trunk/pom.xml?rev=798272&r1=798271&r2=798272&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-exec/trunk/pom.xml (original)
+++ servicemix/components/engines/servicemix-exec/trunk/pom.xml Mon Jul 27
20:12:40 2009
@@ -137,6 +137,42 @@
</executions>
</plugin>
<plugin>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-java2ws-plugin</artifactId>
+ <version>2.1.3</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+
<artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>2.1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+
<artifactId>cxf-rt-frontend-simple</artifactId>
+ <version>2.1.3</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>process-classes</id>
+ <phase>process-classes</phase>
+ <configuration>
+
<className>org.apache.servicemix.exec.marshaler.ExecMarshalerSupport</className>
+
<outputFile>${project.build.directory}/generated/wsdl/servicemix-exec.wsdl</outputFile>
+
<servicename>servicemix-exec</servicename>
+
<targetNameSpace>http://servicemix.apache.org/exec</targetNameSpace>
+ <genWsdl>true</genWsdl>
+ <genClient>false</genClient>
+ <genServer>false</genServer>
+ <verbose>true</verbose>
+ </configuration>
+ <goals>
+ <goal>java2ws</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
Modified:
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/ExecEndpoint.java
URL:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/ExecEndpoint.java?rev=798272&r1=798271&r2=798272&view=diff
==============================================================================
---
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/ExecEndpoint.java
(original)
+++
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/ExecEndpoint.java
Mon Jul 27 20:12:40 2009
@@ -27,6 +27,7 @@
import org.apache.servicemix.exec.marshaler.ExecMarshalerSupport;
import org.apache.servicemix.exec.utils.ExecUtils;
import org.apache.servicemix.exec.utils.ExecutionData;
+import org.apache.servicemix.jbi.jaxp.SourceTransformer;
import org.apache.servicemix.jbi.jaxp.StringSource;
import org.apache.servicemix.soap.util.DomUtil;
import org.springframework.core.io.ClassPathResource;
@@ -158,7 +159,8 @@
// gets the in message
NormalizedMessage in =
exchange.getMessage("in");
// parses the in message and get the execution
command
- exec = marshaler.constructExecCommand(in);
+ SourceTransformer transformer = new
SourceTransformer();
+ exec =
marshaler.constructExecCommand(transformer.toDOMDocument(in));
}
// fall back to static command if extracted is null or
empty
Modified:
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshaler.java
URL:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshaler.java?rev=798272&r1=798271&r2=798272&view=diff
==============================================================================
---
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshaler.java
(original)
+++
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshaler.java
Mon Jul 27 20:12:40 2009
@@ -47,13 +47,9 @@
* (non-Javadoc)
* @see
org.apache.servicemix.exec.marshaler.ExecMarshalerSupport#constructExecCommand(javax.jbi.messaging.NormalizedMessage)
*/
- public String constructExecCommand(NormalizedMessage message) throws
TransformerException {
+ public String constructExecCommand(Document document) throws
TransformerException {
String execString = null;
- // create a source transformer
- SourceTransformer transformer = new SourceTransformer();
try {
- // transform the message content into a DOM document
- Document document = transformer.toDOMDocument(message);
document.getDocumentElement().normalize();
// get the command node
Modified:
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/ExecMarshalerSupport.java
URL:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/ExecMarshalerSupport.java?rev=798272&r1=798271&r2=798272&view=diff
==============================================================================
---
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/ExecMarshalerSupport.java
(original)
+++
servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/ExecMarshalerSupport.java
Mon Jul 27 20:12:40 2009
@@ -16,10 +16,10 @@
*/
package org.apache.servicemix.exec.marshaler;
-import javax.jbi.messaging.NormalizedMessage;
import javax.xml.transform.TransformerException;
import org.apache.servicemix.exec.utils.ExecutionData;
+import org.w3c.dom.Document;
/**
* This interface describes the behavior of an exec marshaler.
@@ -34,11 +34,11 @@
* to constructs the execution command.
* </p>
*
- * @param message the <code>NormalizedMessage</code>.
+ * @param document the DOM contained in the <code>NormalizedMessage</code>.
* @return the execution command.
* @throws TransformerException in case of error during command
construction.
*/
- public String constructExecCommand(NormalizedMessage message) throws
TransformerException;
+ public String constructExecCommand(Document document) throws
TransformerException;
/**
* <p>
Modified:
servicemix/components/engines/servicemix-exec/trunk/src/test/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshalerTest.java
URL:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-exec/trunk/src/test/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshalerTest.java?rev=798272&r1=798271&r2=798272&view=diff
==============================================================================
---
servicemix/components/engines/servicemix-exec/trunk/src/test/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshalerTest.java
(original)
+++
servicemix/components/engines/servicemix-exec/trunk/src/test/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshalerTest.java
Mon Jul 27 20:12:40 2009
@@ -26,6 +26,7 @@
import org.apache.servicemix.id.IdGenerator;
import org.apache.servicemix.jbi.helper.MessageExchangePattern;
+import org.apache.servicemix.jbi.jaxp.SourceTransformer;
import org.apache.servicemix.jbi.jaxp.StringSource;
import org.apache.servicemix.jbi.messaging.MessageExchangeFactoryImpl;
@@ -65,8 +66,8 @@
NormalizedMessage message = exchange.createMessage();
message.setContent(new StringSource(MSG_VALID));
exchange.setMessage(message, "in");
-
- String execCommand = marshaler.constructExecCommand(message);
+ SourceTransformer transformer = new SourceTransformer();
+ String execCommand =
marshaler.constructExecCommand(transformer.toDOMDocument(message));
assertEquals("ls -lt /tmp", execCommand);
}