jaliya      2005/01/12 04:19:31

  Modified:    sandesha/src/org/apache/sandesha/client
                        ClientPropertyValidator.java RMSender.java
               sandesha/src/org/apache/sandesha/server
                        AcknowledgementProcessor.java
                        CompositeProcessor.java
                        CreateSequenceProcessor.java
                        CreateSequenceResponseProcessor.java
                        FaultProcessor.java IRMMessageProcessor.java
                        ReTransmissionProcessor.java RequestProcessor.java
                        Sender.java TerminateSequenceProcessor.java
               sandesha/src/org/apache/sandesha/ws/rm/providers
                        RMProvider.java
  Log:
  Modified the RMInitiator functionality. And the exception flow in the message 
processors
  
  Revision  Changes    Path
  1.5       +1 -1      
ws-fx/sandesha/src/org/apache/sandesha/client/ClientPropertyValidator.java
  
  Index: ClientPropertyValidator.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/client/ClientPropertyValidator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ClientPropertyValidator.java      24 Dec 2004 04:10:02 -0000      1.4
  +++ ClientPropertyValidator.java      12 Jan 2005 12:19:31 -0000      1.5
  @@ -136,7 +136,7 @@
           InetAddress addr = InetAddress.getLocalHost();
           
           sourceURI="http://"+addr.getHostAddress()+":" + 
Constants.SOURCE_ADDRESS_PORT
  -        + "/axis/services/MyService";
  +        + "/axis/services/RMService";
            
           return sourceURI;
       }
  
  
  
  1.18      +28 -163   
ws-fx/sandesha/src/org/apache/sandesha/client/RMSender.java
  
  Index: RMSender.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/client/RMSender.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- RMSender.java     11 Jan 2005 13:50:49 -0000      1.17
  +++ RMSender.java     12 Jan 2005 12:19:31 -0000      1.18
  @@ -1,19 +1,19 @@
   /*
  - * Copyright 1999-2004 The Apache Software Foundation.
  - * 
  - * Licensed under the Apache License, Version 2.0 (the "License"); you may 
not
  - * use this file except in compliance with the License. You may obtain a 
copy of
  - * the License at
  - * 
  - * http://www.apache.org/licenses/LICENSE-2.0
  - * 
  - * Unless required by applicable law or agreed to in writing, software
  - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  - * License for the specific language governing permissions and limitations 
under
  - * the License.
  - *  
  - */
  +* Copyright 1999-2004 The Apache Software Foundation.
  +*
  +* Licensed under the Apache License, Version 2.0 (the "License"); you may not
  +* use this file except in compliance with the License. You may obtain a copy 
of
  +* the License at
  +*
  +* http://www.apache.org/licenses/LICENSE-2.0
  +*
  +* Unless required by applicable law or agreed to in writing, software
  +* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  +* License for the specific language governing permissions and limitations 
under
  +* the License.
  +*
  +*/
   package org.apache.sandesha.client;
   
   import java.io.IOException;
  @@ -45,10 +45,7 @@
   import org.apache.axis.transport.http.SimpleAxisServer;
   import org.apache.axis.types.URI;
   import org.apache.axis.types.URI.MalformedURIException;
  -import org.apache.sandesha.Constants;
  -import org.apache.sandesha.EnvelopeCreator;
  -import org.apache.sandesha.IStorageManager;
  -import org.apache.sandesha.RMMessageContext;
  +import org.apache.sandesha.*;
   import org.apache.sandesha.server.Sender;
   import org.apache.sandesha.server.ServerStorageManager;
   import org.apache.sandesha.server.queue.ServerQueue;
  @@ -69,7 +66,8 @@
       private IStorageManager storageManager;
       private static SimpleAxisServer sas = null;
       private static Sender sender = null;
  -    private static Thread senderThread=null;
  +    private static Thread senderThread = null;
  +
       public void invoke(MessageContext msgContext) throws AxisFault {
   
           //TODO This we need to check.
  @@ -79,7 +77,7 @@
           //Initialize the storage manager. We are in the client side
           //So initialize the client Storage Manager.
           storageManager = new ClientStorageManager();
  -        initializeRMSender(storageManager, requestMesssageContext.getSync());
  +        RMInitiator.initClient(requestMesssageContext.getSync());
           try {
               String sequenceID = requestMesssageContext.getSequenceID();
               AddressingHeaders addrHeaders = 
getAddressingHeaders(requestMesssageContext);
  @@ -92,8 +90,8 @@
                           addrHeaders, requestMesssageContext.getSync());
               }
   
  -            if(requestMesssageContext.isLastMessage()){
  -               
storageManager.insertTerminateSeqMessage(getTerminateSeqMessage(requestMesssageContext));
  +            if (requestMesssageContext.isLastMessage()) {
  +                
storageManager.insertTerminateSeqMessage(getTerminateSeqMessage(requestMesssageContext));
               }
   
               if (requestMesssageContext.isHasResponse() && 
!requestMesssageContext.getSync()) {
  @@ -108,7 +106,6 @@
                   }
                   
msgContext.setResponseMessage(responseMessageContext.getMsgContext()
                           .getRequestMessage());
  -                //SEND TERMINATE SEQ
               } else {
                   boolean gotAck = false;
                   while (!gotAck) {
  @@ -116,12 +113,10 @@
                               requestMesssageContext.getMessageID());
                       
Thread.sleep(Constants.CLIENT_RESPONSE_CHECKING_INTERVAL);
                   }
  -            
  +
                   msgContext.setResponseMessage(null);
  -                //SEND TERMINATE SEQ
  -            }
  -            
   
  +            }
   
           } catch (Exception ex) {
               ex.printStackTrace();
  @@ -137,7 +132,6 @@
           MessageContext terSeqMsgContext = new 
MessageContext(rmMessageContext.getMsgContext().getAxisEngine());
           terSeqRMMsgContext.setSequenceID(rmMessageContext.getSequenceID());
           
terSeqRMMsgContext.setAddressingHeaders(rmMessageContext.getAddressingHeaders());
  -        //RMMessageContext.copyMessageContext(msgContext, messageContext);
           
terSeqRMMsgContext.setOutGoingAddress(rmMessageContext.getOutGoingAddress());
           terSeqRMMsgContext.setMsgContext(terSeqMsgContext);
           
terSeqRMMsgContext.setMessageType(Constants.MSG_TYPE_TERMINATE_SEQUENCE);
  @@ -151,7 +145,6 @@
        *         AxisFault
        */
       private MessageContext cloneMsgContext(MessageContext msgContext) throws 
AxisFault {
  -
           MessageContext clone = new 
MessageContext(msgContext.getAxisEngine());
           String str = msgContext.getRequestMessage().getSOAPPartAsString();
           Message msg = new Message(str);
  @@ -160,50 +153,9 @@
           return clone;
       }
   
  -    /**
  -     * @param msgContext   
  -     * @param addrHeaders
  -     * @return
  -     */
  -    private RMMessageContext getReqRMContext(MessageContext msgContext,
  -            AddressingHeaders addrHeaders, String uuid, long msgNo) {
  -        //Get the URL to send the message.
  -        String toAddress = (String) 
msgContext.getProperty(MessageContext.TRANS_URL);
  -        // Create the RMMessageContext to hold the Request message.
  -        RMMessageContext reqRMMsgContext = new RMMessageContext();
  -        MessageContext messageContext = new 
MessageContext(msgContext.getAxisEngine());
  -        RMMessageContext.copyMessageContext(msgContext, messageContext);
  -        reqRMMsgContext.setOutGoingAddress(addrHeaders.getTo().toString());
  -
  -        //RMHeaders for the message.
  -        RMHeaders rmHeaders = new RMHeaders();
  -
  -        //Sequence for the new message.
  -        Sequence seq = new Sequence();
  -        Identifier id = new Identifier();
  -        id.setIdentifier("uuid:" + uuid);
  -        seq.setIdentifier(id);
  -
  -        //Message Number for the new message.
  -        MessageNumber msgNumber = new MessageNumber();
  -        msgNumber.setMessageNumber(msgNo);
  -        seq.setMessageNumber(msgNumber);
  -        rmHeaders.setSequence(seq);
  -
  -        reqRMMsgContext.setMessageType(Constants.MSG_TYPE_SERVICE_REQUEST);
  -        //Set the RMheaders to the RMMessageContext.
  -        reqRMMsgContext.setRMHeaders(rmHeaders);
  -        //Set the addrssing headers to RMMessageContext.
  -        reqRMMsgContext.setAddressingHeaders(addrHeaders);
  -
  -        reqRMMsgContext.setOutGoingAddress(toAddress);
  -        reqRMMsgContext.setMsgContext(messageContext);
  -        return reqRMMsgContext;
  -    }
   
       private RMMessageContext getCreateSeqRMContext(RMMessageContext 
rmMsgContext,
  -            AddressingHeaders addrHeaders, String uuid) throws 
MalformedURIException {
  -
  +                                                   AddressingHeaders 
addrHeaders, String uuid) throws MalformedURIException {
           //String toAddress = (String)
           // msgContext.getProperty(MessageContext.TRANS_URL);
           MessageContext msgContext = rmMsgContext.getMsgContext();
  @@ -222,7 +174,6 @@
           createSeqRMMsgContext.setOutGoingAddress(toAddress);
           SOAPEnvelope resEnvelope = 
EnvelopeCreator.createCreateSequenceEnvelope(uuid,
                   createSeqRMMsgContext, Constants.CLIENT);
  -
           MessageContext createSeqMsgContext = new 
MessageContext(msgContext.getAxisEngine());
   
           //This should be a clone operation.
  @@ -235,67 +186,6 @@
           return createSeqRMMsgContext;
       }
   
  -    private void initializeRMSender(IStorageManager storageManager, boolean 
sync) {
  -
  -        if (!senderStarted) {
  -            //Pass the storageManager to the Sender.
  -            sender = new Sender(storageManager);
  -            senderThread = new Thread(sender);
  -            //senderThread.setDaemon(true);
  -            senderThread.start();
  -        }
  -
  -        if (!sync && !serverStarted) {
  -            sas = new SimpleAxisServer();
  -            serverStarted = true;
  -            try {
  -                SimpleProvider sp = new SimpleProvider();
  -                sas.setMyConfig(sp);
  -
  -                SimpleChain shc = new SimpleChain();
  -                //We need these two handlers in the request path to the 
client.
  -                //Actually the response messages coming asynchronously should
  -                //come through the SimpleAxisServer instance.
  -                //We need to load the response handlers specified by the 
users
  -                // in addtion to the the above two.
  -                Handler addrHanlder = new AddressingHandler();
  -                Handler rmHandler = new RMServerRequestHandler();
  -                shc.addHandler(addrHanlder);
  -                shc.addHandler(rmHandler);
  -
  -                //Need to use the RMProvider at the client side to handle the
  -                //Asynchronous responses.
  -                RMProvider rmProvider = new RMProvider();
  -                //This is the switch used to inform the RMProvider about the
  -                // side that it operates.
  -                rmProvider.setClient(true);
  -
  -                SOAPService myService = new SOAPService(shc, rmProvider, 
null);
  -
  -                JavaServiceDesc desc = new JavaServiceDesc();
  -                myService.setOption("className", 
"samples.userguide.example3.MyService");
  -                myService.setOption("allowedMethods", "*");
  -
  -                //Add Handlers ; Addressing and ws-rm before the service.
  -                desc.setName("MyService");
  -                myService.setServiceDescription(desc);
  -
  -                //deploy the service to server
  -                sp.deployService("MyService", myService);
  -                //finally start the server
  -                //Start the simple axis server in port 8090
  -                sas.setServerSocket(new 
ServerSocket(Constants.SOURCE_LISTEN_PORT));
  -
  -                Thread serverThread = new Thread(sas);
  -                //serverThread.setDaemon(true);
  -                serverThread.start();
  -            } catch (IOException ex) {
  -                ex.printStackTrace();
  -            }
  -
  -        }
  -
  -    }
   
       private AddressingHeaders getAddressingHeaders(RMMessageContext 
rmMsgContext)
               throws MalformedURIException {
  @@ -338,7 +228,7 @@
       }
   
       private RMMessageContext processFirstMessage(RMMessageContext 
reqRMMsgContext,
  -            AddressingHeaders addrHeaders, boolean sync) throws Exception {
  +                                                 AddressingHeaders 
addrHeaders, boolean sync) throws Exception {
           long nextMsgNumber = reqRMMsgContext.getMsgNumber();
           System.out.println(nextMsgNumber);
           UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
  @@ -348,9 +238,6 @@
                   addrHeaders, tempUUID);
           createSeqRMMsgContext.setMessageID("uuid:" + tempUUID);
           //Create a sequence first.
  -        //storageManager.addSequence(Constants.CLIENT_DEFAULD_SEQUENCE_ID);
  -        //storageManager.setTemporaryOutSequence(
  -        //        Constants.CLIENT_DEFAULD_SEQUENCE_ID, "uuid:" + tempUUID);
   
           storageManager.addSequence(reqRMMsgContext.getSequenceID());
           
storageManager.setTemporaryOutSequence(reqRMMsgContext.getSequenceID(), "uuid:" 
+ tempUUID);
  @@ -369,7 +256,7 @@
       }
   
       private RMMessageContext processNonFirstMessage(RMMessageContext 
reqRMMsgContext,
  -            AddressingHeaders addrHeaders, boolean sync) throws Exception {
  +                                                    AddressingHeaders 
addrHeaders, boolean sync) throws Exception {
           UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
           reqRMMsgContext.setAddressingHeaders(addrHeaders);
           reqRMMsgContext.setOutGoingAddress(addrHeaders.getTo().toString());
  @@ -381,28 +268,6 @@
           return reqRMMsgContext;
       }
   
  -    private boolean getAckExpected(String synchronous, String hasResponse, 
String sourceURI) {
  -        boolean ackExpected = false;
  -
  -        if (synchronous.equals("true") && hasResponse.equals("false") && 
sourceURI.equals(""))
  -            ackExpected = true;
  -
  -        if (synchronous.equals("true") && hasResponse.equals("false") && 
!sourceURI.equals(""))
  -            ackExpected = true;
  -        return ackExpected;
  -    }
  -
  -    private boolean getResponseExpected(String synchronous, String 
hasResponse, String sourceURI) {
  -        boolean responseExpeceted = false;
  -
  -        if (synchronous.equals("true") && hasResponse.equals("true"))
  -            responseExpeceted = true;
  -
  -        if (synchronous.equals("false") && hasResponse.equals("true"))
  -            responseExpeceted = true;
  -
  -        return responseExpeceted;
  -    }
   
       private boolean checkTheQueueForAck(String sequenceId, String 
reqMessageID) {
           return storageManager.checkForAcknowledgement(sequenceId, 
reqMessageID);
  @@ -412,8 +277,6 @@
           return storageManager.checkForResponseMessage(sequenceId, 
reqMessageID);
       }
   
  -    private void setProcessingState(RMMessageContext rmMessageContext, 
boolean sync) {
  -    }
   
       private RMMessageContext getRMMessageContext(MessageContext msgContext) 
throws AxisFault {
           RMMessageContext requestMesssageContext = new RMMessageContext();
  @@ -430,4 +293,6 @@
       }
   
   }
  +
  +
   
  
  
  
  1.13      +43 -41    
ws-fx/sandesha/src/org/apache/sandesha/server/AcknowledgementProcessor.java
  
  Index: AcknowledgementProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/AcknowledgementProcessor.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- AcknowledgementProcessor.java     11 Jan 2005 13:51:57 -0000      1.12
  +++ AcknowledgementProcessor.java     12 Jan 2005 12:19:31 -0000      1.13
  @@ -25,10 +25,8 @@
   
   import org.apache.axis.Message;
   import org.apache.axis.MessageContext;
  -import org.apache.sandesha.Constants;
  -import org.apache.sandesha.EnvelopeCreator;
  -import org.apache.sandesha.IStorageManager;
  -import org.apache.sandesha.RMMessageContext;
  +import org.apache.axis.AxisFault;
  +import org.apache.sandesha.*;
   import org.apache.sandesha.ws.rm.AcknowledgementRange;
   import org.apache.sandesha.ws.rm.SequenceAcknowledgement;
   
  @@ -42,7 +40,7 @@
           this.storageManger = storageManger;
       }
   
  -    public boolean processMessage(RMMessageContext rmMessageContext) {
  +      public boolean processMessage(RMMessageContext rmMessageContext) 
throws RMException {
           SequenceAcknowledgement seqAcknowledgement = rmMessageContext
                   .getRMHeaders().getSequenceAcknowledgement();
           String seqID = seqAcknowledgement.getIdentifier().getIdentifier();
  @@ -62,12 +60,8 @@
           return false;
       }
   
  -    public Object getSynchronousResponse() {
  -        // TODO Auto-generated method stub
  -        return null;
  -    }
   
  -    public boolean sendAcknowledgement(RMMessageContext rmMessageContext) {
  +    public boolean sendAcknowledgement(RMMessageContext rmMessageContext) 
throws RMException {
           //EnvelopCreater createAcknowledgement
           //if async then add message to the queue
           //else set the response env of the messageContext.
  @@ -82,10 +76,8 @@
               System.out.println("MSG Number list is NULL");
           else{        
               Iterator ite = listOfMsgNumbers.keySet().iterator();
  -            System.out.println("NEXT OF ITE --  " + ite.next());
  -        }
  -        
  -        
  +                   }
  +
           Vector ackRangeVector = null;
           if (listOfMsgNumbers != null) {
               ackRangeVector = getAckRangesVector(listOfMsgNumbers);
  @@ -97,13 +89,46 @@
               ackRangeVector.add(ackRange);
           }
   
  -        SOAPEnvelope ackEnvelope = EnvelopeCreator
  +        RMMessageContext rmMsgContext 
=getAckRMMsgCtx(rmMessageContext,ackRangeVector);
  +
  +        //FIX THIS FIX THIS //FIX THIS FIX THIS //FIX THIS FIX THIS
  +        //Need to change this to the new Anonymous URI.
  +        if (((rmMessageContext.getAddressingHeaders().getFrom().getAddress()
  +                .toString()
  +                
.equals(org.apache.axis.message.addressing.Constants.NS_URI_ANONYMOUS)) == true)
  +                || (rmMessageContext.getAddressingHeaders().getFrom()
  +                        .getAddress().toString()
  +                        
.equals("http://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous";))) {
  +            //Now we have synchronized ack.
  +            //The original message context is used to send the ack
  +            // asynchronously to the client.
  +            //So the response message is replaced by the new ack message.
  +            try{
  +            rmMessageContext.getMsgContext().setResponseMessage(
  +                    new 
Message(rmMsgContext.getMsgContext().getResponseMessage().getSOAPEnvelope()));
  +              }  catch(Exception e ){
  +                    throw new RMException(e.getLocalizedMessage());
  +                }
  +
  +            return true;
  +        } else {
  +            //Store the asynchronize ack in the queue.
  +            //The name for this queue is not yet fixed.
  +            //RENAME insertAcknowledgement(rmMessageContext)
  +            storageManger.addAcknowledgement(rmMsgContext);
  +            return false;
  +        }
  +
  +    }
  +
  +    private RMMessageContext getAckRMMsgCtx(RMMessageContext 
rmMessageContext, Vector ackRangeVector){
  +
  +            SOAPEnvelope ackEnvelope = EnvelopeCreator
                   .createAcknowledgementEnvelope(rmMessageContext, 
ackRangeVector);
           //Add the envelope to the response message of the messageContext.
           //rmMessageContext.getMsgContext().setResponseMessage(new
           // Message(ackEnvelope));
  -
  -        RMMessageContext rmMsgContext = new RMMessageContext();
  +          RMMessageContext rmMsgContext = new RMMessageContext();
           try {
               //Create a new message using the ackEnvelope
               Message resMsg = new Message(ackEnvelope);
  @@ -129,30 +154,7 @@
               e.printStackTrace();
               //TODO: Log the error
           }
  -
  -        //FIX THIS FIX THIS //FIX THIS FIX THIS //FIX THIS FIX THIS
  -        //Need to change this to the new Anonymous URI.
  -        if (((rmMessageContext.getAddressingHeaders().getFrom().getAddress()
  -                .toString()
  -                
.equals(org.apache.axis.message.addressing.Constants.NS_URI_ANONYMOUS)) == true)
  -                || (rmMessageContext.getAddressingHeaders().getFrom()
  -                        .getAddress().toString()
  -                        
.equals("http://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous";))) {
  -            //Now we have synchronized ack.
  -            //The original message context is used to send the ack
  -            // asynchronously to the client.
  -            //So the response message is replaced by the new ack message.
  -            rmMessageContext.getMsgContext().setResponseMessage(
  -                    new Message(ackEnvelope));
  -            return true;
  -        } else {
  -            //Store the asynchronize ack in the queue.
  -            //The name for this queue is not yet fixed.
  -            //RENAME insertAcknowledgement(rmMessageContext)
  -            storageManger.addAcknowledgement(rmMsgContext);
  -            return false;
  -        }
  -
  +        return rmMsgContext;
       }
   
       /**
  
  
  
  1.13      +3 -6      
ws-fx/sandesha/src/org/apache/sandesha/server/CompositeProcessor.java
  
  Index: CompositeProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/CompositeProcessor.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- CompositeProcessor.java   11 Jan 2005 13:51:57 -0000      1.12
  +++ CompositeProcessor.java   12 Jan 2005 12:19:31 -0000      1.13
  @@ -18,9 +18,11 @@
   
   import org.apache.axis.Message;
   import org.apache.axis.MessageContext;
  +import org.apache.axis.AxisFault;
   import org.apache.sandesha.Constants;
   import org.apache.sandesha.IStorageManager;
   import org.apache.sandesha.RMMessageContext;
  +import org.apache.sandesha.RMException;
   import org.apache.sandesha.ws.rm.RMHeaders;
   
   /**
  @@ -34,7 +36,7 @@
           this.storageManger = storageManger;
       }
   
  -    public boolean processMessage(RMMessageContext rmMessageContext) {
  +    public boolean processMessage(RMMessageContext rmMessageContext) throws 
RMException{
   
           //if the message is and Ack then process the ack
           //if the message has a body then insert it to the inqueue
  @@ -109,11 +111,6 @@
               }
           }
           return false;
  -    }
  -
  -    public Object getSynchronousResponse() {
  -        // TODO Auto-generated method stub
  -        return null;
       }
   
   }
  
  
  
  1.12      +2 -7      
ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceProcessor.java
  
  Index: CreateSequenceProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceProcessor.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- CreateSequenceProcessor.java      24 Nov 2004 13:37:16 -0000      1.11
  +++ CreateSequenceProcessor.java      12 Jan 2005 12:19:31 -0000      1.12
  @@ -18,6 +18,7 @@
   
   import org.apache.axis.Message;
   import org.apache.axis.MessageContext;
  +import org.apache.axis.AxisFault;
   import org.apache.axis.components.uuid.UUIDGen;
   import org.apache.axis.components.uuid.UUIDGenFactory;
   import org.apache.axis.message.SOAPEnvelope;
  @@ -40,8 +41,7 @@
           this.storageManger = storageManger;
       }
   
  -    public boolean processMessage(RMMessageContext rmMessageContext)
  -            throws RMException {
  +       public boolean processMessage(RMMessageContext rmMessageContext) 
throws RMException {
   
           AddressingHeaders addrHeaders = 
rmMessageContext.getAddressingHeaders();
           RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
  @@ -108,11 +108,6 @@
               throw new RMException("REPLY TO CANNOT BE NULL!");
           }
   
  -    }
  -
  -    public Object getSynchronousResponse() {
  -
  -        return null;
       }
   
   }
  
  
  
  1.8       +2 -7      
ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceResponseProcessor.java
  
  Index: CreateSequenceResponseProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceResponseProcessor.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- CreateSequenceResponseProcessor.java      11 Oct 2004 10:57:58 -0000      
1.7
  +++ CreateSequenceResponseProcessor.java      12 Jan 2005 12:19:31 -0000      
1.8
  @@ -17,6 +17,7 @@
   package org.apache.sandesha.server;
   
   import org.apache.axis.message.addressing.RelatesTo;
  +import org.apache.axis.AxisFault;
   import org.apache.sandesha.IStorageManager;
   import org.apache.sandesha.RMException;
   import org.apache.sandesha.RMMessageContext;
  @@ -33,8 +34,7 @@
           this.storageManager = storageManger;
       }
   
  -    public boolean processMessage(RMMessageContext rmMessageContext)
  -            throws RMException {
  +     public boolean processMessage(RMMessageContext rmMessageContext) throws 
RMException {
   
           CreateSequenceResponse createSeqRes = rmMessageContext.getRMHeaders()
                   .getCreateSequenceResponse();
  @@ -50,11 +50,6 @@
                   sequenceID);
           //No response to this message.
           return false;
  -    }
  -
  -    public Object getSynchronousResponse() {
  -        // TODO Auto-generated method stub
  -        return null;
       }
   
   }
  
  
  
  1.4       +2 -12     
ws-fx/sandesha/src/org/apache/sandesha/server/FaultProcessor.java
  
  Index: FaultProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/FaultProcessor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FaultProcessor.java       20 Oct 2004 10:33:05 -0000      1.3
  +++ FaultProcessor.java       12 Jan 2005 12:19:31 -0000      1.4
  @@ -9,6 +9,7 @@
   import org.apache.sandesha.IStorageManager;
   import org.apache.sandesha.RMException;
   import org.apache.sandesha.RMMessageContext;
  +import org.apache.axis.AxisFault;
   
   /**
    * @author JEkanayake
  @@ -28,22 +29,11 @@
        * 
        * @see 
org.apache.sandesha.server.IRMMessageProcessor#processMessage(org.apache.sandesha.RMMessageContext)
        */
  -    public boolean processMessage(RMMessageContext rmMessageContext)
  -            throws RMException {
  +       public boolean processMessage(RMMessageContext rmMessageContext) 
throws RMException {
           // TODO Auto-generated method stub
           //If we have an actual fault then process and return
           System.out.println("ERROR: FAULT PROCESSOR ....");
           return false;
  -    }
  -
  -    /*
  -     * (non-Javadoc)
  -     * 
  -     * @see 
org.apache.sandesha.server.IRMMessageProcessor#getSynchronousResponse()
  -     */
  -    public Object getSynchronousResponse() {
  -        // TODO Auto-generated method stub
  -        return null;
       }
   
   }
  
  
  
  1.4       +2 -3      
ws-fx/sandesha/src/org/apache/sandesha/server/IRMMessageProcessor.java
  
  Index: IRMMessageProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/IRMMessageProcessor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- IRMMessageProcessor.java  13 Sep 2004 11:26:32 -0000      1.3
  +++ IRMMessageProcessor.java  12 Jan 2005 12:19:31 -0000      1.4
  @@ -18,6 +18,7 @@
   
   import org.apache.sandesha.RMException;
   import org.apache.sandesha.RMMessageContext;
  +import org.apache.axis.AxisFault;
   
   /**
    * @author
  @@ -26,8 +27,6 @@
   
       //Returns true if the message has a synchronous response or ack.
       public boolean processMessage(RMMessageContext rmMessageContext)
  -            throws RMException;
  -
  -    public Object getSynchronousResponse();
  +            throws RMException ;
   
   }
  
  
  
  1.3       +3 -11     
ws-fx/sandesha/src/org/apache/sandesha/server/ReTransmissionProcessor.java
  
  Index: ReTransmissionProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/ReTransmissionProcessor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ReTransmissionProcessor.java      13 Sep 2004 11:26:32 -0000      1.2
  +++ ReTransmissionProcessor.java      12 Jan 2005 12:19:31 -0000      1.3
  @@ -17,6 +17,8 @@
   package org.apache.sandesha.server;
   
   import org.apache.sandesha.RMMessageContext;
  +import org.apache.sandesha.RMException;
  +import org.apache.axis.AxisFault;
   
   /**
    * @author
  @@ -28,19 +30,9 @@
        * 
        * @see 
org.apache.sandesha.server.RMMessageProcessor#processMessage(org.apache.sandesha.RMMessageContext)
        */
  -    public boolean processMessage(RMMessageContext rmMessageContext) {
  +       public boolean processMessage(RMMessageContext rmMessageContext) 
throws RMException  {
           // TODO Auto-generated method stub
           return false;
  -    }
  -
  -    /*
  -     * (non-Javadoc)
  -     * 
  -     * @see 
org.apache.sandesha.server.IRMMessageProcessor#getSynchronousResponse()
  -     */
  -    public Object getSynchronousResponse() {
  -        // TODO Auto-generated method stub
  -        return null;
       }
   
   }
  
  
  
  1.3       +0 -10     
ws-fx/sandesha/src/org/apache/sandesha/server/RequestProcessor.java
  
  Index: RequestProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/RequestProcessor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RequestProcessor.java     13 Sep 2004 11:26:32 -0000      1.2
  +++ RequestProcessor.java     12 Jan 2005 12:19:31 -0000      1.3
  @@ -36,14 +36,4 @@
           return false;
       }
   
  -    /*
  -     * (non-Javadoc)
  -     * 
  -     * @see 
org.apache.sandesha.server.IRMMessageProcessor#getSynchronousResponse()
  -     */
  -    public Object getSynchronousResponse() {
  -        // TODO Auto-generated method stub
  -        return null;
  -    }
  -
   }
  
  
  
  1.19      +99 -101   ws-fx/sandesha/src/org/apache/sandesha/server/Sender.java
  
  Index: Sender.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/Sender.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Sender.java       11 Jan 2005 13:51:57 -0000      1.18
  +++ Sender.java       12 Jan 2005 12:19:31 -0000      1.19
  @@ -34,7 +34,6 @@
   
   /**
    * @author JEkanayake
  - *  
    */
   public class Sender implements Runnable {
       private IStorageManager storageManager;
  @@ -60,71 +59,77 @@
                   } else {
                       //Send the message.
                       switch (rmMessageContext.getMessageType()) {
  -                    case Constants.MSG_TYPE_CREATE_SEQUENCE_REQUEST: {
  -                        System.out.println("INFO: SENDING CREATE SEQUENCE 
REQUEST ....");
  -                        if ((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  -                                && ((System.currentTimeMillis() - 
rmMessageContext
  +                        case Constants.MSG_TYPE_CREATE_SEQUENCE_REQUEST:
  +                            {
  +                                System.out.println("INFO: SENDING CREATE 
SEQUENCE REQUEST ....");
  +                                if 
((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  +                                        && ((System.currentTimeMillis() - 
rmMessageContext
                                           .getLastPrecessedTime()) > 
Constants.RETRANSMISSION_INTERVAL)) {
  -                            sendCreateSequenceRequest(rmMessageContext);
  -                        } else {
  -                            //TODO REPORT ERROR
  -                        }
  -                        break;
  -                    }
  -                    case Constants.MSG_TYPE_CREATE_SEQUENCE_RESPONSE: {
  -                        System.out.println("INFO: SENDING CREATE SEQUENCE 
RESPONSE ....");
  -                        if ((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  -                                && ((System.currentTimeMillis() - 
rmMessageContext
  +                                    
sendCreateSequenceRequest(rmMessageContext);
  +                                } else {
  +                                    //TODO REPORT ERROR
  +                                }
  +                                break;
  +                            }
  +                        case Constants.MSG_TYPE_CREATE_SEQUENCE_RESPONSE:
  +                            {
  +                                System.out.println("INFO: SENDING CREATE 
SEQUENCE RESPONSE ....");
  +                                if 
((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  +                                        && ((System.currentTimeMillis() - 
rmMessageContext
                                           .getLastPrecessedTime()) > 
Constants.RETRANSMISSION_INTERVAL)) {
  -                            sendCreateSequenceResponse(rmMessageContext);
  -                        } else {
  -                            //TODO REPORT ERROR
  -                        }
  -                        break;
  -                    }
  -                    case Constants.MSG_TYPE_TERMINATE_SEQUENCE: {
  -                        System.out.println("INFO: SENDING TERMINATE SEQUENCE 
REQUEST ....");
  -                        if ((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  -                                && ((System.currentTimeMillis() - 
rmMessageContext
  +                                    
sendCreateSequenceResponse(rmMessageContext);
  +                                } else {
  +                                    //TODO REPORT ERROR
  +                                }
  +                                break;
  +                            }
  +                        case Constants.MSG_TYPE_TERMINATE_SEQUENCE:
  +                            {
  +                                System.out.println("INFO: SENDING TERMINATE 
SEQUENCE REQUEST ....");
  +                                if 
((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  +                                        && ((System.currentTimeMillis() - 
rmMessageContext
                                           .getLastPrecessedTime()) > 
Constants.RETRANSMISSION_INTERVAL)) {
  -                            sendTerminateSequenceRequest(rmMessageContext);
  -                        } else {
  -                            //TODO REPORT ERROR
  -                        }
  -                        break;
  -                    }
  -                    case Constants.MSG_TYPE_ACKNOWLEDGEMENT: {
  -                        System.out.println("INFO: SENDING ACKNOWLEDGEMENT 
....\n");
  -                        if ((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  -                                && ((System.currentTimeMillis() - 
rmMessageContext
  +                                    
sendTerminateSequenceRequest(rmMessageContext);
  +                                } else {
  +                                    //TODO REPORT ERROR
  +                                }
  +                                break;
  +                            }
  +                        case Constants.MSG_TYPE_ACKNOWLEDGEMENT:
  +                            {
  +                                System.out.println("INFO: SENDING 
ACKNOWLEDGEMENT ....\n");
  +                                if 
((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  +                                        && ((System.currentTimeMillis() - 
rmMessageContext
                                           .getLastPrecessedTime()) > 
Constants.RETRANSMISSION_INTERVAL)) {
  -                            sendAcknowldgement(rmMessageContext);
  -                        } else {
  -                            //TODO REPORT ERROR
  -                        }
  -                        break;
  -                    }
  -                    case Constants.MSG_TYPE_SERVICE_REQUEST: {
  -                        System.out.println("INFO: SENDING REQUEST MESSAGE 
....\n");
  -                        if ((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  -                                && ((System.currentTimeMillis() - 
rmMessageContext
  +                                    sendAcknowldgement(rmMessageContext);
  +                                } else {
  +                                    //TODO REPORT ERROR
  +                                }
  +                                break;
  +                            }
  +                        case Constants.MSG_TYPE_SERVICE_REQUEST:
  +                            {
  +                                System.out.println("INFO: SENDING REQUEST 
MESSAGE ....\n");
  +                                if 
((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  +                                        && ((System.currentTimeMillis() - 
rmMessageContext
                                           .getLastPrecessedTime()) > 
Constants.RETRANSMISSION_INTERVAL)) {
  -                           sendServiceRequest(rmMessageContext);
  -                        } else { //TODO REPORT ERROR
  -                        }
  -                        break;
  -                    }
  -                    case Constants.MSG_TYPE_SERVICE_RESPONSE: {
  -                        System.out.println("INFO: SENDING RESPONSE MESSAGE 
....\n");
  -                        if ((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  -                                && ((System.currentTimeMillis() - 
rmMessageContext
  +                                    sendServiceRequest(rmMessageContext);
  +                                } else { //TODO REPORT ERROR
  +                                }
  +                                break;
  +                            }
  +                        case Constants.MSG_TYPE_SERVICE_RESPONSE:
  +                            {
  +                                System.out.println("INFO: SENDING RESPONSE 
MESSAGE ....\n");
  +                                if 
((rmMessageContext.getReTransmissionCount() <= 
Constants.MAXIMUM_RETRANSMISSION_COUNT)
  +                                        && ((System.currentTimeMillis() - 
rmMessageContext
                                           .getLastPrecessedTime()) > 
Constants.RETRANSMISSION_INTERVAL)) {
  -                            sendServiceResponse(rmMessageContext);
  -                        } else {
  -                            //TODO REPORT ERROR
  -                        }
  -                        break;
  -                    }
  +                                    sendServiceResponse(rmMessageContext);
  +                                } else {
  +                                    //TODO REPORT ERROR
  +                                }
  +                                break;
  +                            }
                       }
   
                   }
  @@ -149,41 +154,41 @@
        * @param rmMessageContext
        */
       private void sendTerminateSequenceRequest(RMMessageContext 
rmMessageContext) {
  -       SOAPEnvelope 
terSeqEnv=EnvelopeCreator.createTerminatSeqMessage(rmMessageContext);
  -       Message terSeqMsg= new Message(terSeqEnv);       
  -       rmMessageContext.getMsgContext().setRequestMessage(terSeqMsg);
  +        SOAPEnvelope terSeqEnv = 
EnvelopeCreator.createTerminatSeqMessage(rmMessageContext);
  +        Message terSeqMsg = new Message(terSeqEnv);
  +        rmMessageContext.getMsgContext().setRequestMessage(terSeqMsg);
   
  -            Call call;
  -            try {
  -                
rmMessageContext.setLastPrecessedTime(System.currentTimeMillis());
  -                rmMessageContext
  -                        
.setReTransmissionCount(rmMessageContext.getReTransmissionCount() + 1);
  -                call = prepareCall(rmMessageContext);
  -                call.invoke();
  -                if (call.getResponseMessage() != null) {
  -                    RMHeaders rmHeaders = new RMHeaders();
  -                    
rmHeaders.fromSOAPEnvelope(call.getResponseMessage().getSOAPEnvelope());
  -                    rmMessageContext.setRMHeaders(rmHeaders);
  -                    AddressingHeaders addrHeaders = new 
AddressingHeaders(call.getResponseMessage()
  -                            .getSOAPEnvelope());
  -                    rmMessageContext.setAddressingHeaders(addrHeaders);
  -                    
rmMessageContext.getMsgContext().setResponseMessage(call.getResponseMessage());
  -                    IRMMessageProcessor messagePrcessor = 
RMMessageProcessorIdentifier
  -                            .getMessageProcessor(rmMessageContext, 
storageManager);
  -                    messagePrcessor.processMessage(rmMessageContext);
  -                }
  -            } catch (AxisFault e) {
  -                // TODO Auto-generated catch block
  -                e.printStackTrace();
  -            } catch (SOAPException e) {
  -                // TODO Auto-generated catch block
  -                e.printStackTrace();
  -            } catch (Exception e) {
  -                // TODO Auto-generated catch block
  -                e.printStackTrace();
  +        Call call;
  +        try {
  +            
rmMessageContext.setLastPrecessedTime(System.currentTimeMillis());
  +            rmMessageContext
  +                    
.setReTransmissionCount(rmMessageContext.getReTransmissionCount() + 1);
  +            call = prepareCall(rmMessageContext);
  +            call.invoke();
  +            if (call.getResponseMessage() != null) {
  +                RMHeaders rmHeaders = new RMHeaders();
  +                
rmHeaders.fromSOAPEnvelope(call.getResponseMessage().getSOAPEnvelope());
  +                rmMessageContext.setRMHeaders(rmHeaders);
  +                AddressingHeaders addrHeaders = new 
AddressingHeaders(call.getResponseMessage()
  +                        .getSOAPEnvelope());
  +                rmMessageContext.setAddressingHeaders(addrHeaders);
  +                
rmMessageContext.getMsgContext().setResponseMessage(call.getResponseMessage());
  +                IRMMessageProcessor messagePrcessor = 
RMMessageProcessorIdentifier
  +                        .getMessageProcessor(rmMessageContext, 
storageManager);
  +                messagePrcessor.processMessage(rmMessageContext);
               }
  +        } catch (AxisFault e) {
  +            // TODO Auto-generated catch block
  +            e.printStackTrace();
  +        } catch (SOAPException e) {
  +            // TODO Auto-generated catch block
  +            e.printStackTrace();
  +        } catch (Exception e) {
  +            // TODO Auto-generated catch block
  +            e.printStackTrace();
  +        }
  +
   
  -    
       }
   
       private void sendServiceResponse(RMMessageContext rmMessageContext) {
  @@ -333,8 +338,7 @@
                           AddressingHeaders addrHeaders = new 
AddressingHeaders(call
                                   .getResponseMessage().getSOAPEnvelope());
                           rmMessageContext.setAddressingHeaders(addrHeaders);
  -                        rmMessageContext.getMsgContext().setResponseMessage(
  -                                call.getResponseMessage());
  +                        
rmMessageContext.getMsgContext().setResponseMessage(call.getResponseMessage());
                           IRMMessageProcessor messageProcessor = 
RMMessageProcessorIdentifier
                                   .getMessageProcessor(rmMessageContext, 
storageManager);
                           messageProcessor.processMessage(rmMessageContext);
  @@ -352,9 +356,7 @@
                       // TODO Auto-generated catch block
                       e.printStackTrace();
                   }
  -            }
  -
  -            else {
  +            } else {
                   try {
                       Call call = prepareCall(rmMessageContext);
                       //Send the createSequnceRequest Asynchronously.
  @@ -370,11 +372,7 @@
               }
   
           }
  -        
  -        
   
       }
  -    
  -    
   
   }
  
  
  
  1.6       +3 -6      
ws-fx/sandesha/src/org/apache/sandesha/server/TerminateSequenceProcessor.java
  
  Index: TerminateSequenceProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/TerminateSequenceProcessor.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TerminateSequenceProcessor.java   11 Jan 2005 07:16:42 -0000      1.5
  +++ TerminateSequenceProcessor.java   12 Jan 2005 12:19:31 -0000      1.6
  @@ -18,7 +18,9 @@
   
   import org.apache.sandesha.IStorageManager;
   import org.apache.sandesha.RMMessageContext;
  +import org.apache.sandesha.RMException;
   import org.apache.sandesha.ws.rm.TerminateSequence;
  +import org.apache.axis.AxisFault;
   
   /**
    * @author
  @@ -31,7 +33,7 @@
           this.storageManger = storageManger;
       }
   
  -    public boolean processMessage(RMMessageContext rmMessageContext) {
  +      public boolean processMessage(RMMessageContext rmMessageContext) 
throws RMException {
   
           TerminateSequence terminateSeq = 
rmMessageContext.getRMHeaders().getTerminateSequence();
           
  @@ -46,11 +48,6 @@
          
           
           return false;
  -    }
  -
  -    public Object getSynchronousResponse() {
  -        // TODO Auto-generated method stub
  -        return null;
       }
   
   }
  
  
  
  1.24      +6 -5      
ws-fx/sandesha/src/org/apache/sandesha/ws/rm/providers/RMProvider.java
  
  Index: RMProvider.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/ws/rm/providers/RMProvider.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- RMProvider.java   11 Jan 2005 13:59:24 -0000      1.23
  +++ RMProvider.java   12 Jan 2005 12:19:31 -0000      1.24
  @@ -17,12 +17,13 @@
   package org.apache.sandesha.ws.rm.providers;
   
   import org.apache.axis.MessageContext;
  +import org.apache.axis.AxisFault;
   import org.apache.axis.message.SOAPEnvelope;
   import org.apache.axis.message.addressing.AddressingHeaders;
   import org.apache.axis.providers.java.RPCProvider;
   import org.apache.sandesha.IStorageManager;
   import org.apache.sandesha.RMException;
  -import org.apache.sandesha.RMIntiator;
  +import org.apache.sandesha.RMInitiator;
   import org.apache.sandesha.RMMessageContext;
   import org.apache.sandesha.server.IRMMessageProcessor;
   import org.apache.sandesha.server.RMMessageProcessorIdentifier;
  @@ -61,7 +62,7 @@
           System.out.println("RMProvider GOT SOAP REQUEST.....\n");
           // System.out.println(reqEnv.toString());
           //Initiates the StorageManager
  -        IStorageManager storageManager = RMIntiator.init(client);
  +        IStorageManager storageManager = RMInitiator.init(client);
           storageManager.init();
   
           //Get the addressing headers.
  @@ -102,7 +103,6 @@
           rmMessageContext.setAddressingHeaders(addressingHeaders);
           rmMessageContext.setRMHeaders(rmHeaders);
   
  -
           new RMMessageProcessorIdentifier();
           IRMMessageProcessor rmMessageProcessor = RMMessageProcessorIdentifier
                   .getMessageProcessor(rmMessageContext, storageManager);
  @@ -113,13 +113,14 @@
               }
           } catch (RMException rmEx) {
               rmEx.printStackTrace();
  +            throw new AxisFault(rmEx.getStackTrace().toString());
               //TODO
               //throw a SOAPFault.
           }
       }
   
  -    //TODO
  -    //NEED TO CHECK THIS METHOD.
  +   //This is used by the Client to set the
  +   //set the side that the RMProvider is used.
       public void setClient(boolean client) {
           RMProvider.client = client;
       }
  
  
  

Reply via email to