You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2007/05/27 02:49:23 UTC
svn commit: r541955 - in /incubator/cxf/trunk/rt:
core/src/main/java/org/apache/cxf/attachment/
frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/
frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/
Author: dkulp
Date: Sat May 26 17:49:22 2007
New Revision: 541955
URL: http://svn.apache.org/viewvc?view=rev&rev=541955
Log:
More context scoping fixes
Modified:
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java?view=diff&rev=541955&r1=541954&r2=541955
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java Sat May 26 17:49:22 2007
@@ -201,7 +201,6 @@
loaded.add(input);
CachedOutputStream out = new CachedOutputStream();
IOUtils.copy(input, out);
- out.close();
input.setInputStream(out.getInputStream());
}
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java?view=diff&rev=541955&r1=541954&r2=541955
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java Sat May 26 17:49:22 2007
@@ -120,8 +120,15 @@
}
public Object put(String key, Object value) {
- if (!MessageContext.MESSAGE_OUTBOUND_PROPERTY.equals(key)) {
+ if (!MessageContext.MESSAGE_OUTBOUND_PROPERTY.equals(key)
+ && !scopes.containsKey(key)) {
scopes.put(key, defaultScope);
+ }
+ return contextMap.put(key, value);
+ }
+ public Object put(String key, Object value, Scope scope) {
+ if (!MessageContext.MESSAGE_OUTBOUND_PROPERTY.equals(key)) {
+ scopes.put(key, scope);
}
return contextMap.put(key, value);
}
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java?view=diff&rev=541955&r1=541954&r2=541955
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java Sat May 26 17:49:22 2007
@@ -129,7 +129,7 @@
if (null != responseHeaders) {
context.put(MessageContext.HTTP_RESPONSE_HEADERS, responseHeaders);
}
- mapCxf2Jaxws(context);
+ mapContext(context, cxf2jaxwsMap);
}
private static void mapJaxws2Cxf(Map<String, Object> context) {
@@ -142,16 +142,25 @@
}
}
- private static void mapCxf2Jaxws(Map<String, Object> context) {
- mapContext(context, cxf2jaxwsMap);
+ private static void mapCxf2Jaxws(WrappedMessageContext context) {
+ Set<String> keyset = context.keySet();
+ String[] keys = new String[0];
+ keys = keyset.toArray(keys);
+ for (int i = 0; i < keys.length; i++) {
+ String key = keys[i];
+ String mappingString = cxf2jaxwsMap.get(key);
+ if (null != mappingString) {
+ Object obj = context.get(key);
+ context.put(mappingString, obj, Scope.APPLICATION);
+ }
+ }
if (context.containsKey(AuthorizationPolicy.class.getName())) {
AuthorizationPolicy authPolicy =
(AuthorizationPolicy)context.get(AuthorizationPolicy.class.getName());
- context.put(BindingProvider.USERNAME_PROPERTY, authPolicy.getUserName());
- context.put(BindingProvider.PASSWORD_PROPERTY, authPolicy.getPassword());
+ context.put(BindingProvider.USERNAME_PROPERTY, authPolicy.getUserName(), Scope.APPLICATION);
+ context.put(BindingProvider.PASSWORD_PROPERTY, authPolicy.getPassword(), Scope.APPLICATION);
}
-
}
@@ -162,7 +171,7 @@
}
public static void mapCxf2Jaxws(Exchange exchange, WrappedMessageContext ctx, boolean requestor) {
- mapCxf2Jaxws(ctx.getWrappedMessage());
+ mapCxf2Jaxws(ctx);
Message inMessage = exchange.getInMessage();
Message outMessage = exchange.getOutMessage();
@@ -181,11 +190,13 @@
inMessage.get(Message.PROTOCOL_HEADERS);
if (null != inHeaders) {
if (requestor) {
- ctx.getWrappedMessage().put(MessageContext.HTTP_RESPONSE_HEADERS,
- inHeaders);
+ ctx.put(MessageContext.HTTP_RESPONSE_HEADERS,
+ inHeaders,
+ Scope.APPLICATION);
} else {
- ctx.getWrappedMessage().put(MessageContext.HTTP_REQUEST_HEADERS,
- inHeaders);
+ ctx.put(MessageContext.HTTP_REQUEST_HEADERS,
+ inHeaders,
+ Scope.APPLICATION);
}
outMessage = exchange.getOutMessage();
@@ -206,14 +217,16 @@
outMessage.get(Message.PROTOCOL_HEADERS);
if (outHeaders != null && !requestor) {
- ctx.getWrappedMessage().put(MessageContext.HTTP_REQUEST_HEADERS, outHeaders);
+ ctx.put(MessageContext.HTTP_REQUEST_HEADERS,
+ outHeaders,
+ Scope.APPLICATION);
}
}
}
- private static void addMessageAttachments(MessageContext ctx,
+ private static void addMessageAttachments(WrappedMessageContext ctx,
Message message,
String propertyName) {
Map<String, DataHandler> dataHandlers = null;
@@ -230,7 +243,8 @@
ctx.put(propertyName,
dataHandlers == null ? Collections.EMPTY_MAP
- : Collections.unmodifiableMap(dataHandlers));
+ : Collections.unmodifiableMap(dataHandlers),
+ Scope.APPLICATION);
}
public static void updateWebServiceContext(Exchange exchange, MessageContext ctx) {