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);
}
}