Author: ffang
Date: Thu Aug 19 07:07:20 2010
New Revision: 987041

URL: http://svn.apache.org/viewvc?rev=987041&view=rev
Log:
[SMX4-578]Ensure that SecuritySubject is properly conveyed by cxf-nmr transport

Modified:
    
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
    
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
    
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
    
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
    
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java

Modified: 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
 (original)
+++ 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRConduitOutputStream.java
 Thu Aug 19 07:07:20 2010
@@ -32,6 +32,7 @@ import java.util.logging.Logger;
 
 import javax.activation.DataHandler;
 import javax.jws.WebService;
+import javax.security.auth.Subject;
 import javax.xml.namespace.QName;
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
@@ -139,6 +140,8 @@ public class NMRConduitOutputStream exte
                 }
             }
             
+            //copy securitySubject
+            inMsg.setSecuritySubject((Subject) 
message.get(NMRTransportFactory.NMR_SECURITY_SUBJECT));
             
             LOG.info("service for exchange " + serviceName);
 
@@ -185,6 +188,9 @@ public class NMRConduitOutputStream exte
                        }
                 }
                 
+                //copy securitySubject
+                inMessage.put(NMRTransportFactory.NMR_SECURITY_SUBJECT, 
nm.getSecuritySubject());
+                
                 conduit.getMessageObserver().onMessage(inMessage);
 
                 xchng.setStatus(Status.Done);

Modified: 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
 (original)
+++ 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestination.java
 Thu Aug 19 07:07:20 2010
@@ -140,6 +140,9 @@ public class NMRDestination extends Abst
                }
             }
             
+            //copy securitySubject
+            inMessage.put(NMRTransportFactory.NMR_SECURITY_SUBJECT, 
nm.getSecuritySubject());
+            
             inMessage.setDestination(this);
             getMessageObserver().onMessage(inMessage);
 

Modified: 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
 (original)
+++ 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
 Thu Aug 19 07:07:20 2010
@@ -27,6 +27,7 @@ import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import javax.security.auth.Subject;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.transform.dom.DOMSource;
@@ -112,7 +113,8 @@ public class NMRDestinationOutputStream 
                         }
                     }
 
-
+                    //copy securitySubject
+                    xchng.getOut().setSecuritySubject((Subject) 
outMessage.get(NMRTransportFactory.NMR_SECURITY_SUBJECT));
                     xchng.getOut().setBody(new DOMSource(doc));
                 }
                 LOG.fine(new 
org.apache.cxf.common.i18n.Message("POST.DISPATCH", LOG).toString());

Modified: 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
 (original)
+++ 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
 Thu Aug 19 07:07:20 2010
@@ -48,6 +48,7 @@ public class NMRTransportFactory extends
     DestinationFactory {
     
     public static final String TRANSPORT_ID = 
"http://cxf.servicemix.apache.org/transport/nmr";;
+    public static String NMR_SECURITY_SUBJECT = "NMR_SECURITY_SUBJECT";
     
     private NMR nmr;
     private Bus bus;

Modified: 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java?rev=987041&r1=987040&r2=987041&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java
 (original)
+++ 
servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/test/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationTest.java
 Thu Aug 19 07:07:20 2010
@@ -63,7 +63,7 @@ public class NMRDestinationTest extends 
         
         
         org.apache.servicemix.nmr.api.Exchange messageExchange = 
control.createMock(org.apache.servicemix.nmr.api.Exchange.class);
-        EasyMock.expect(messageExchange.getOut()).andReturn(normalizedMessage);
+        
EasyMock.expect(messageExchange.getOut()).andReturn(normalizedMessage).times(2);
         message.put(org.apache.servicemix.nmr.api.Exchange.class, 
messageExchange);
         channel.send(messageExchange);
         EasyMock.replay(channel);


Reply via email to