You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by jb...@apache.org on 2009/08/16 08:33:32 UTC

svn commit: r804632 - in /servicemix/components/engines/servicemix-exec/trunk/src: main/java/org/apache/servicemix/exec/marshaler/ test/java/org/apache/servicemix/exec/marshaler/ test/resources/

Author: jbonofre
Date: Sun Aug 16 06:33:32 2009
New Revision: 804632

URL: http://svn.apache.org/viewvc?rev=804632&view=rev
Log:
Add in message XML for unit tests.
Begin to use JAXB into the marshaler to unmarshal in normalized message.

Added:
    servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-jbi-message.xml   (with props)
    servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-message.xml   (with props)
Modified:
    servicemix/components/engines/servicemix-exec/trunk/src/main/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshaler.java
    servicemix/components/engines/servicemix-exec/trunk/src/test/java/org/apache/servicemix/exec/marshaler/DefaultExecMarshalerTest.java

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=804632&r1=804631&r2=804632&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 Sun Aug 16 06:33:32 2009
@@ -17,6 +17,10 @@
 package org.apache.servicemix.exec.marshaler;
 
 import javax.jbi.messaging.NormalizedMessage;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
 import javax.xml.transform.TransformerException;
 
 import org.apache.servicemix.exec.utils.ExecutionData;
@@ -43,6 +47,27 @@
     
     public static final String RESULT_FORMAT = "<%s><%s>%d</%s><%s>%d</%s><%s>%d</%s><%s>%d</%s><%s><![CDATA[%s]]></%s><%s><![CDATA[%s]]></%s></%s>";
     
+    /**
+     * <p>
+     * Unmarshal the incoming message content using JAXB and return the exec command string.
+     * </p>
+     * 
+     * @param in the in normalized message.
+     * @return the exec command string.
+     * @throws TransformerException in case of unmarshalling exception.
+     */
+    public String unmarshalExecMessage(NormalizedMessage in) throws JAXBException {
+        String exec = null;
+        
+        JAXBContext jaxbContext = JAXBContext.newInstance(String.class);
+        Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
+        JAXBElement<String> element = (JAXBElement<String>)jaxbUnmarshaller.unmarshal(in.getContent());
+        
+        exec = element.getValue();
+        
+        return exec;
+    }
+    
     /*
      * (non-Javadoc)
      * @see org.apache.servicemix.exec.marshaler.ExecMarshalerSupport#constructExecCommand(javax.jbi.messaging.NormalizedMessage)

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=804632&r1=804631&r2=804632&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 Sun Aug 16 06:33:32 2009
@@ -71,5 +71,7 @@
         
         assertEquals("ls -lt /tmp", execCommand);
     }
+    
+    
 
 }

Added: servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-jbi-message.xml
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-jbi-message.xml?rev=804632&view=auto
==============================================================================
--- servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-jbi-message.xml (added)
+++ servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-jbi-message.xml Sun Aug 16 06:33:32 2009
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
+             xmlns:msg="http://servicemix.apache.org/exec"
+             type="msg:execute"
+             name="execute"
+             version="1.0">
+    <jbi:part>
+        <exec:execute xmlns:exec="http://servicemix.apache.org/exec">
+            <command>ls</command>
+        </exec:execute>
+    </jbi:part>
+</jbi:message>
\ No newline at end of file

Propchange: servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-jbi-message.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-message.xml
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-message.xml?rev=804632&view=auto
==============================================================================
--- servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-message.xml (added)
+++ servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-message.xml Sun Aug 16 06:33:32 2009
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<exec:execute xmlns:exec="http://servicemix.apache.org/exec"
+              xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
+    <command>ls</command>                  
+</exec:execute>
\ No newline at end of file

Propchange: servicemix/components/engines/servicemix-exec/trunk/src/test/resources/in-message.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain