Author: slaws
Date: Mon Jun 14 11:35:36 2010
New Revision: 954414

URL: http://svn.apache.org/viewvc?rev=954414&view=rev
Log:
Add a little bit more structure to message header storage to generally avoid 
having to loop across headers to find the right one. 

Modified:
    
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java
    
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java
    
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
    
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java
    
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/MessageImpl.java
    
tuscany/sca-java-2.x/trunk/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java?rev=954414&r1=954413&r2=954414&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java
 Mon Jun 14 11:35:36 2010
@@ -297,7 +297,7 @@ public class JSONRPCServiceServlet exten
         Message requestMessage = messageFactory.createMessage();
         requestMessage.setOperation(jsonOperation);
 
-        requestMessage.getHeaders().add(request);
+        requestMessage.getHeaders().put("RequestMessage", request);
 
         requestMessage.setBody(args);
 

Modified: 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java?rev=954414&r1=954413&r2=954414&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java
 Mon Jun 14 11:35:36 2010
@@ -19,6 +19,7 @@
 package org.apache.tuscany.sca.invocation;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.tuscany.sca.assembly.Endpoint;
 import org.apache.tuscany.sca.assembly.EndpointReference;
@@ -113,7 +114,7 @@ public interface Message {
      * 
      * @return
      */
-    List<Object> getHeaders();
+    Map<String, Object> getHeaders();
 
     /**
      * Returns the binding context in force for this message

Modified: 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java?rev=954414&r1=954413&r2=954414&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
 Mon Jun 14 11:35:36 2010
@@ -45,7 +45,7 @@ public class RequestContextImpl implemen
     public Subject getSecuritySubject() {
         Subject subject = null;
         
-        for (Object header : 
ThreadMessageContext.getMessageContext().getHeaders()){
+        for (Object header : 
ThreadMessageContext.getMessageContext().getHeaders().values()){
             if (header instanceof Subject){
                 subject  = (Subject)header;
                 break;

Modified: 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java?rev=954414&r1=954413&r2=954414&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java
 Mon Jun 14 11:35:36 2010
@@ -19,6 +19,7 @@
 package org.apache.tuscany.sca.core.invocation;
 
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -170,7 +171,7 @@ public class NonBlockingInterceptor impl
             throw new UnsupportedOperationException();
         }
         
-        public List<Object> getHeaders() {
+        public Map<String, Object> getHeaders() {
             return null;
         }        
         public <T> T getBindingContext() {

Modified: 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/MessageImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/MessageImpl.java?rev=954414&r1=954413&r2=954414&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/MessageImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/MessageImpl.java
 Mon Jun 14 11:35:36 2010
@@ -18,8 +18,8 @@
  */
 package org.apache.tuscany.sca.core.invocation.impl;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.tuscany.sca.assembly.Endpoint;
 import org.apache.tuscany.sca.assembly.EndpointReference;
@@ -32,7 +32,7 @@ import org.apache.tuscany.sca.invocation
  * @version $Rev $Date$
  */
 public class MessageImpl implements Message { 
-    private List<Object> headers = new ArrayList<Object>();
+    private Map<String, Object> headers = new HashMap<String, Object>();
     private Object body;
     private Object messageID;
     private boolean isFault;
@@ -99,7 +99,7 @@ public class MessageImpl implements Mess
         this.operation = op;
     }
     
-    public List<Object> getHeaders() {
+    public Map<String, Object> getHeaders() {
         return headers;
     }    
 

Modified: 
tuscany/sca-java-2.x/trunk/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java?rev=954414&r1=954413&r2=954414&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java
 Mon Jun 14 11:35:36 2010
@@ -33,20 +33,16 @@ import org.apache.tuscany.sca.invocation
  */
 public class SecurityUtil {
     
+    public static String SubjectString = "Subject";
+    public static String PrincipalString = "Principal";
+    
     public static Subject getSubject(Message msg){
         
-        Subject subject = null;
-        
-        for (Object header : msg.getHeaders()){
-            if (header instanceof Subject){
-                subject  = (Subject)header;
-                break;
-            }
-        }
+        Subject subject = (Subject)msg.getHeaders().get(SubjectString);
         
         if (subject == null){
             subject = new Subject(); 
-            msg.getHeaders().add(subject); 
+            msg.getHeaders().put(SubjectString, subject); 
         }
         
         return subject;
@@ -64,15 +60,6 @@ public class SecurityUtil {
     
     public static Principal getPrincipal(Message msg){
         
-        Principal principal = null;
-        
-        for (Object header : msg.getHeaders()){
-            if (header instanceof Principal){
-                principal  = (Principal)header;
-                break;
-            }
-        }
-        
-        return principal;
+        return (Principal)msg.getHeaders().get(PrincipalString);
     }    
 }


Reply via email to