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


Reply via email to