You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2011/10/23 18:53:54 UTC

svn commit: r1187929 - in /axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2: FaultData.java util/FaultManager.java

Author: veithen
Date: Sun Oct 23 16:53:54 2011
New Revision: 1187929

URL: http://svn.apache.org/viewvc?rev=1187929&view=rev
Log:
* Fault code should also be a QName.
* Some code simplifications using features available in Axiom.

Modified:
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/FaultData.java
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java

Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/FaultData.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/FaultData.java?rev=1187929&r1=1187928&r2=1187929&view=diff
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/FaultData.java (original)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/FaultData.java Sun Oct 23 16:53:54 2011
@@ -32,7 +32,7 @@ public class FaultData {
 
 	private int type;
 
-	private String code;
+	private QName code;
 
 	private QName subcode;
 
@@ -89,11 +89,11 @@ public class FaultData {
 		this.type = type;
 	}
 
-	public String getCode() {
+	public QName getCode() {
 		return code;
 	}
 
-	public void setCode(String code) {
+	public void setCode(QName code) {
 		this.code = code;
 	}
 

Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java?rev=1187929&r1=1187928&r2=1187929&view=diff
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java (original)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java Sun Oct 23 16:53:54 2011
@@ -36,6 +36,7 @@ import org.apache.axiom.soap.SOAPFaultRe
 import org.apache.axiom.soap.SOAPFaultSubCode;
 import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.soap.SOAPFaultValue;
+import org.apache.axiom.soap.SOAPVersion;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
@@ -178,18 +179,13 @@ public class FaultManager {
 			// Return an UnknownSequence error
 			MessageContext messageContext = rmMessageContext.getMessageContext();
 
-			int SOAPVersion = SandeshaUtil.getSOAPVersion(messageContext.getEnvelope());
-
 			FaultData data = new FaultData();
-			if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
-				data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
-			else
-				data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
+			data.setCode(messageContext.getEnvelope().getVersion().getSenderFaultCode());
 
 			data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(), 
 					Sandesha2Constants.SOAPFaults.FaultType.UNKNOWN_SEQUENCE ));
 
-			SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+			SOAPFactory factory = (SOAPFactory)messageContext.getEnvelope().getOMFactory();
 
 			OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
 					rmMessageContext.getRMNamespaceValue(), Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
@@ -264,14 +260,11 @@ public class FaultManager {
 			SequenceAcknowledgement sequenceAcknowledgement, Range acknowledgementRange,
 			StorageManager storageManager, boolean piggybackedMessage, EndpointReference acksToEPR) throws AxisFault {
 		FaultData data = new FaultData();
-		int SOAPVersion = SandeshaUtil.getSOAPVersion(rmMsgCtx.getMessageContext().getEnvelope());
-		if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
-			data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
-		else
-			data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
+		SOAPVersion version = rmMsgCtx.getMessageContext().getEnvelope().getVersion();
+		data.setCode(version.getSenderFaultCode());
 		
 		if (log.isDebugEnabled())
-			log.debug("makingInvalidAck piggy=" + piggybackedMessage + ": soap=" + SOAPVersion);
+			log.debug("makingInvalidAck piggy=" + piggybackedMessage + ": soap=" + version);
 
 		data.setType(Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT);
 		data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMsgCtx.getRMNamespaceValue(), 
@@ -294,18 +287,13 @@ public class FaultManager {
 		// Return a CreateSequenceRefused error
 		MessageContext messageContext = rmMessageContext.getMessageContext();
 
-		int SOAPVersion = SandeshaUtil.getSOAPVersion(messageContext.getEnvelope());
-
 		FaultData data = new FaultData();
-		if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
-			data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
-		else
-			data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
+		data.setCode(messageContext.getEnvelope().getVersion().getSenderFaultCode());
 
 		data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(), 
 				Sandesha2Constants.SOAPFaults.FaultType.CREATE_SEQUENCE_REFUSED ));
 
-		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+		SOAPFactory factory = (SOAPFactory)messageContext.getEnvelope().getOMFactory();
 		OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
 				rmMessageContext.getRMNamespaceValue(), Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
 		identifierElement.setText(detail);
@@ -335,18 +323,13 @@ public class FaultManager {
 		
 		// Return a UnsupportedSelectionFault error
 
-		int SOAPVersion = SandeshaUtil.getSOAPVersion(rmMessageContext.getMessageContext().getEnvelope());
-
 		FaultData data = new FaultData();
-		if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
-			data.setCode(SOAP11Constants.FAULT_CODE_RECEIVER);
-		else
-			data.setCode(SOAP12Constants.FAULT_CODE_RECEIVER);
+		data.setCode(rmMessageContext.getMessageContext().getEnvelope().getVersion().getReceiverFaultCode());
 
 		data.setSubcode(SpecSpecificConstants.getFaultSubcode(Sandesha2Constants.SPEC_2007_02.MC_NS_URI, 
 				Sandesha2Constants.SOAPFaults.FaultType.UNSUPPORTED_SELECTION ));
 
-		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+		SOAPFactory factory = (SOAPFactory)rmMessageContext.getMessageContext().getEnvelope().getOMFactory();
 		OMElement element = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.UNSUPPORTED_ELEMENT,
 				Sandesha2Constants.SPEC_2007_02.MC_NS_URI, Sandesha2Constants.WSRM_COMMON.NS_PREFIX_MC);
 		element.setText(unsupportedElement);
@@ -368,13 +351,8 @@ public class FaultManager {
 		if (log.isDebugEnabled())
 			log.debug("Enter: FaultManager::makeMissingSelectionFault");
 		
-		int SOAPVersion = SandeshaUtil.getSOAPVersion(rmMessageContext.getMessageContext().getEnvelope());
-
 		FaultData data = new FaultData();
-		if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
-			data.setCode(SOAP11Constants.FAULT_CODE_RECEIVER);
-		else
-			data.setCode(SOAP12Constants.FAULT_CODE_RECEIVER);
+		data.setCode(rmMessageContext.getMessageContext().getEnvelope().getVersion().getReceiverFaultCode());
 
 		data.setSubcode(SpecSpecificConstants.getFaultSubcode(Sandesha2Constants.SPEC_2007_02.MC_NS_URI, 
 				Sandesha2Constants.SOAPFaults.FaultType.MISSING_SELECTION ));
@@ -456,18 +434,14 @@ public class FaultManager {
 		if (bean!=null && bean.isTerminated()) {
 			MessageContext referenceMessage = referenceRMMessage.getMessageContext();
 			FaultData data = new FaultData();
-			int SOAPVersion = SandeshaUtil.getSOAPVersion(referenceMessage.getEnvelope());
-			if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
-				data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
-			else
-				data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
+			data.setCode(referenceMessage.getEnvelope().getVersion().getSenderFaultCode());
 
 			data.setSubcode(SpecSpecificConstants.getFaultSubcode(referenceRMMessage.getRMNamespaceValue(), 
 					Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED ));
 			data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.sequenceTerminatedFault, sequenceID));
 			data.setType(Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED);
 			
-			SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+			SOAPFactory factory = (SOAPFactory)referenceMessage.getEnvelope().getOMFactory();
 			String rmNamespaceValue = referenceRMMessage.getRMNamespaceValue();
 			OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
 					rmNamespaceValue, Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
@@ -496,18 +470,14 @@ public class FaultManager {
 		if (rmdBean!=null && rmdBean.isClosed()) {
 			MessageContext referenceMessage = referenceRMMessage.getMessageContext();
 			FaultData data = new FaultData();
-			int SOAPVersion = SandeshaUtil.getSOAPVersion(referenceMessage.getEnvelope());
-			if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
-				data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
-			else
-				data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
+			data.setCode(referenceMessage.getEnvelope().getVersion().getSenderFaultCode());
 
 			data.setSubcode(SpecSpecificConstants.getFaultSubcode(referenceRMMessage.getRMNamespaceValue(), 
 					Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED ));
 			data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotAcceptMsgAsSequenceClosedFault));
 			data.setType(Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED);
 			
-			SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+			SOAPFactory factory = (SOAPFactory)referenceMessage.getEnvelope().getOMFactory();
 			String rmNamespaceValue = referenceRMMessage.getRMNamespaceValue();
 			OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
 					rmNamespaceValue, Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
@@ -851,14 +821,12 @@ public class FaultManager {
 			// Return a CreateSequenceRefused error
 			MessageContext messageContext = rmMessageContext.getMessageContext();
 
-			int SOAPVersion = SandeshaUtil.getSOAPVersion(messageContext.getEnvelope());
-
 			FaultData data = new FaultData();
-			data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
+			data.setCode(messageContext.getEnvelope().getVersion().getSenderFaultCode());
 			data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(), 
 					Sandesha2Constants.SOAPFaults.FaultType.MESSAGE_NUMBER_ROLLOVER ));
 
-			SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+			SOAPFactory factory = (SOAPFactory)messageContext.getEnvelope().getOMFactory();
 			OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
 					rmMessageContext.getRMNamespaceValue(), Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
 			identifierElement.setText(sequenceId);