You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2006/12/02 10:40:33 UTC
svn commit: r481533 - in
/webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2:
Sandesha2Constants.java SandeshaModule.java
util/AcknowledgementManager.java util/SandeshaUtil.java
Author: chamikara
Date: Sat Dec 2 01:40:33 2006
New Revision: 481533
URL: http://svn.apache.org/viewvc?view=rev&rev=481533
Log:
Corrected the SandeshaUtil to get property names from module.xml when creating relatedMsgContexts.
Modified:
webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/SandeshaModule.java
webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/AcknowledgementManager.java
webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/SandeshaUtil.java
Modified: webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=481533&r1=481532&r2=481533
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/Sandesha2Constants.java Sat Dec 2 01:40:33 2006
@@ -546,6 +546,10 @@
String RETRANSMITTABLE_PHASES = "RMRetransmittablePhases";
+ String propertiesToCopyFromReferenceMessage = "propertiesToCopyFromReferenceMessage";
+
+ String propertiesToCopyFromReferenceRequestMessage = "propertiesToCopyFromReferenceRequestMessage";
+
String [] SPEC_NS_URIS = {
SPEC_2005_02.NS_URI,
SPEC_2006_08.NS_URI
Modified: webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/SandeshaModule.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/SandeshaModule.java?view=diff&rev=481533&r1=481532&r2=481533
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/SandeshaModule.java (original)
+++ webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/SandeshaModule.java Sat Dec 2 01:40:33 2006
@@ -57,6 +57,9 @@
//init the i18n messages
SandeshaMessageHelper.innit();
+ //storing the module as a static variable
+ SandeshaUtil.setAxisModule(module);
+
// continueUncompletedSequences (storageManager,configCtx);
SandeshaPolicyBean constantPropertyBean = PropertyManager.loadPropertiesFromDefaultValues();
Modified: webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/AcknowledgementManager.java?view=diff&rev=481533&r1=481532&r2=481533
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/AcknowledgementManager.java Sat Dec 2 01:40:33 2006
@@ -73,6 +73,7 @@
throws SandeshaException {
if (log.isDebugEnabled())
log.debug("Enter: AcknowledgementManager::piggybackAcksIfPresent");
+
ConfigurationContext configurationContext = rmMessageContext.getConfigurationContext();
@@ -224,7 +225,6 @@
MessageContext referenceMsg = referenceRMMessage.getMessageContext();
- ConfigurationContext configurationContext = referenceRMMessage.getMessageContext().getConfigurationContext();
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
// Setting the ack depending on AcksTo.
@@ -259,6 +259,8 @@
// the
// RMMsgCreator
+ ackMsgCtx.setServerSide(referenceMsg.isServerSide());
+
ackMsgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
RMMsgContext ackRMMsgCtx = MsgInitializer.initializeMessage(ackMsgCtx);
Modified: webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=481533&r1=481532&r2=481533
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/SandeshaUtil.java (original)
+++ webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/util/SandeshaUtil.java Sat Dec 2 01:40:33 2006
@@ -18,13 +18,9 @@
package org.apache.sandesha2.util;
import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
import java.io.OutputStream;
-import java.io.StringBufferInputStream;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.StringTokenizer;
@@ -34,7 +30,6 @@
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.om.OMElement;
@@ -57,6 +52,7 @@
import org.apache.axis2.context.ServiceContext;
import org.apache.axis2.context.ServiceGroupContext;
import org.apache.axis2.description.AxisDescription;
+import org.apache.axis2.description.AxisModule;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.AxisServiceGroup;
@@ -68,7 +64,6 @@
import org.apache.axis2.util.UUIDGenerator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.rampart.RampartMessageData;
import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
@@ -89,7 +84,6 @@
import org.apache.sandesha2.wsrm.CloseSequenceResponse;
import org.apache.sandesha2.wsrm.Sequence;
import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
-import org.apache.ws.security.handler.WSHandlerConstants;
/**
* Contains utility methods that are used in many plases of Sandesha2.
@@ -100,6 +94,15 @@
// private static Hashtable storedMsgContexts = new Hashtable();
private static Log log = LogFactory.getLog(SandeshaUtil.class);
+ private static AxisModule axisModule = null;
+
+ public static AxisModule getAxisModule() {
+ return axisModule;
+ }
+
+ public static void setAxisModule(AxisModule module) {
+ axisModule = module;
+ }
/**
* Create a new UUID.
@@ -631,11 +634,50 @@
newMessageContext.setProperty(MessageContext.TRANSPORT_OUT, referenceMessage
.getProperty(MessageContext.TRANSPORT_OUT));
- //TODO - move these to a property file.
- newMessageContext.setProperty(RampartMessageData.KEY_RAMPART_POLICY, referenceMessage
- .getProperty(RampartMessageData.KEY_RAMPART_POLICY));
- newMessageContext.setProperty(WSHandlerConstants.RECV_RESULTS,
- referenceMessage.getProperty(WSHandlerConstants.RECV_RESULTS));
+
+ //copyint properties as configured in the module.xml properties. Module xml has several
+ //properties which gives comma seperated lists of property names that have to be copited
+ //from various places when creating related messages.
+
+ AxisModule axisModule = SandeshaUtil.getAxisModule();
+
+ Parameter propertiesFromRefMsg = axisModule.getParameter(Sandesha2Constants.propertiesToCopyFromReferenceMessage);
+ if (propertiesFromRefMsg!=null) {
+ String value = (String) propertiesFromRefMsg.getValue();
+ if (value!=null) {
+ value = value.trim();
+ String[] propertyNames = value.split(",");
+ for (int i=0;i<propertyNames.length;i++) {
+ String propertyName = propertyNames[i];
+ Object val = referenceMessage.getProperty(propertyName);
+ if (val!=null) {
+ newMessageContext.setProperty(propertyName,val);
+ }
+ }
+ }
+ }
+
+ Parameter propertiesFromRefReqMsg = axisModule.getParameter(Sandesha2Constants.propertiesToCopyFromReferenceRequestMessage);
+ OperationContext referenceOpCtx = referenceMessage.getOperationContext();
+ MessageContext referenceRequestMessage = null;
+ if (referenceOpCtx!=null)
+ referenceRequestMessage=referenceOpCtx.getMessageContext(OperationContextFactory.MESSAGE_LABEL_IN_VALUE);
+
+ if (propertiesFromRefReqMsg!=null && referenceRequestMessage!=null) {
+ String value = (String) propertiesFromRefReqMsg.getValue();
+ if (value!=null) {
+ value = value.trim();
+ String[] propertyNames = value.split(",");
+ for (int i=0;i<propertyNames.length;i++) {
+ String propertyName = propertyNames[i];
+ Object val = referenceRequestMessage.getProperty(propertyName);
+ if (val!=null) {
+ newMessageContext.setProperty(propertyName,val);
+ }
+ }
+ }
+ }
+
newMessageContext.setExecutionChain(referenceMessage.getExecutionChain());
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org