Examples of AcknowledgementRange


Examples of org.apache.cxf.ws.rm.v200702.SequenceAcknowledgement.AcknowledgementRange

    @Test
    public void testMerge() {
        DestinationSequence seq = new DestinationSequence(id, ref, destination,
            ProtocolVariation.RM10WSA200408);
        List<AcknowledgementRange> ranges = seq.getAcknowledgment().getAcknowledgementRange();
        AcknowledgementRange r;
        for (int i = 0; i < 5; i++) {
            r = new AcknowledgementRange();
            r.setLower(new Long(3 * i + 1));
            r.setUpper(new Long(3 * i + 3));
            ranges.add(r);
        }
        seq.mergeRanges();
        assertEquals(1, ranges.size());
        r = ranges.get(0);
        assertEquals(new Long(1), r.getLower());
        assertEquals(new Long(15), r.getUpper());
        ranges.clear();
        for (int i = 0; i < 5; i++) {
            r = new AcknowledgementRange();
            r.setLower(new Long(3 * i + 1));
            r.setUpper(new Long(3 * i + 2));
            ranges.add(r);
        }
        seq.mergeRanges();
        assertEquals(5, ranges.size());
        ranges.clear();
        for (int i = 0; i < 5; i++) {
            if (i != 2) {
                r = new AcknowledgementRange();
                r.setLower(new Long(3 * i + 1));
                r.setUpper(new Long(3 * i + 3));
                ranges.add(r);
            }
        }
        seq.mergeRanges();
        assertEquals(2, ranges.size());
        r = ranges.get(0);
        assertEquals(new Long(1), r.getLower());
        assertEquals(new Long(6), r.getUpper());
        r = ranges.get(1);
        assertEquals(new Long(10), r.getLower());
        assertEquals(new Long(15), r.getUpper());       
    }
View Full Code Here

Examples of org.apache.cxf.ws.rm.v200702.SequenceAcknowledgement.AcknowledgementRange

        setUpDestination();
       
        long mn = 10;       
        SequenceAcknowledgement ack = control.createMock(SequenceAcknowledgement.class);
        List<AcknowledgementRange> ranges = new ArrayList<AcknowledgementRange>();
        AcknowledgementRange r = control.createMock(AcknowledgementRange.class);
        EasyMock.expect(ack.getAcknowledgementRange()).andReturn(ranges);
        DeliveryAssuranceType da = control.createMock(DeliveryAssuranceType.class);
        EasyMock.expect(manager.getDeliveryAssurance()).andReturn(da);
        EasyMock.expect(da.isSetAtMostOnce()).andReturn(true);                   
       
        control.replay();       
        DestinationSequence ds = new DestinationSequence(id, ref, 0, ack, ProtocolVariation.RM10WSA200408);
        ds.setDestination(destination);
        ds.applyDeliveryAssurance(mn, null);
        control.verify();
       
        control.reset();
        ranges.add(r);
        EasyMock.expect(destination.getManager()).andReturn(manager);
        EasyMock.expect(manager.getDeliveryAssurance()).andReturn(da);
        EasyMock.expect(da.isSetAtMostOnce()).andReturn(true);           
        EasyMock.expect(ack.getAcknowledgementRange()).andReturn(ranges);
        EasyMock.expect(r.getLower()).andReturn(new Long(5));
        EasyMock.expect(r.getUpper()).andReturn(new Long(15));
        control.replay();    
        try {
            ds.applyDeliveryAssurance(mn, null);
            fail("Expected Fault not thrown.");
        } catch (RMException ex) {
View Full Code Here

Examples of org.apache.cxf.ws.rm.v200702.SequenceAcknowledgement.AcknowledgementRange

        EasyMock.expect(da.isSetInOrder()).andReturn(true).anyTimes();
       
        SequenceAcknowledgement ack = factory.createSequenceAcknowledgement();
        List<AcknowledgementRange> ranges = new ArrayList<AcknowledgementRange>();
       
        final AcknowledgementRange r =
            factory.createSequenceAcknowledgementAcknowledgementRange();
        r.setUpper(new Long(messages.length));
        ranges.add(r);
        final DestinationSequence ds = new DestinationSequence(id, ref, 0, ack,
            ProtocolVariation.RM10WSA200408);
        ds.setDestination(destination);
         
View Full Code Here

Examples of org.apache.sandesha.ws.rm.AcknowledgementRange

        String seqID = seqAcknowledgement.getIdentifier().getIdentifier();
        List ackRanges = seqAcknowledgement.getAckRanges();
        Iterator ite = ackRanges.iterator();

        while (ite.hasNext()) {
            AcknowledgementRange ackRange = (AcknowledgementRange) ite.next();
            long msgNumber = ackRange.getMinValue();
            while (ackRange.getMaxValue() >= msgNumber) {
                if (!storageManager.isSentMsg(seqID, msgNumber)) {
                    throw new AxisFault(new javax.xml.namespace.QName(Constants.FaultCodes.WSRM_FAULT_INVALID_ACKNOWLEDGEMENT),
                            Constants.FaultMessages.INVALID_ACKNOWLEDGEMENT, null, null);
                }
                storageManager.setAckReceived(seqID, msgNumber);
View Full Code Here

Examples of org.apache.sandesha2.wsrm.AcknowledgementRange

    Identifier id = new Identifier(rmNamespaceValue);
    id.setIndentifer(sequenceId);
    sequenceAck.setIdentifier(id);
   
    // Set the Invalid range!
    AcknowledgementRange ackRange = new AcknowledgementRange(rmNamespaceValue);
    ackRange.setLowerValue(1);
    ackRange.setUpperValue(3);
    sequenceAck.addAcknowledgementRanges(ackRange);

    // Set the SequenceAcknowledgement part in the message
    applicationRMMsg.setMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT, sequenceAck);
    applicationRMMsg.addSOAPEnvelope();
View Full Code Here

Examples of org.apache.sandesha2.wsrm.AcknowledgementRange

   
    List sequenceAckList = sequenceAcknowledgement.getAcknowledgementRanges();
    Iterator it = sequenceAckList.iterator();

    while (it.hasNext()) {
      AcknowledgementRange acknowledgementRange = (AcknowledgementRange) it.next();
      long upper = acknowledgementRange.getUpperValue();
      long lower = acknowledgementRange.getLowerValue();

      if (lower > upper) {
        invalidAck = true;         
        // check upper isn't bigger than the highest out msg number
      } else if ( upper > rmsBean.getHighestOutMessageNumber() ) {
View Full Code Here

Examples of org.apache.sandesha2.wsrm.AcknowledgementRange

    ArrayList ackRanges = new ArrayList(); //the final ack ranges that we will build up

    Range[] ranges = completedMessageRanges.getRanges();
    for(int i=0; i<ranges.length; i++){
      AcknowledgementRange ackRange = new AcknowledgementRange(rmNamespaceValue);
      ackRange.setLowerValue(ranges[i].lowerValue);
      ackRange.setUpperValue(ranges[i].upperValue);
      ackRanges.add(ackRange);     
    }
   
    return ackRanges;
  }
View Full Code Here

Examples of org.apache.sandesha2.wsrm.AcknowledgementRange

    // is any new information in this ack message
    RangeString completedMessages = rmsBean.getClientCompletedMessages();
    long numberOfNewMessagesAcked = 0;

    while(ackRangeIterator.hasNext()) {
      AcknowledgementRange ackRange = (AcknowledgementRange) ackRangeIterator.next();
      long lower = ackRange.getLowerValue();
      long upper = ackRange.getUpperValue();
      Range ackedRange = new Range(lower, upper);
      // Quick check to see if the whole range is already covered
      if(!completedMessages.isRangeCompleted(ackedRange)) {
        //we now know that this range is complete so we update it. This should aggregate the
        //ranges together and tell us which numbers are newly acked
View Full Code Here

Examples of org.apache.sandesha2.wsrm.AcknowledgementRange

    String msgNoList = (String) seqBean.getValue();

    ArrayList ackRangeArrayList = SandeshaUtil.getAckRangeArrayList(msgNoList, factory, rmNamespaceValue);
    Iterator iterator = ackRangeArrayList.iterator();
    while (iterator.hasNext()) {
      AcknowledgementRange ackRange = (AcknowledgementRange) iterator.next();
      sequenceAck.addAcknowledgementRanges(ackRange);
    }

    SequencePropertyBean sequenceClosedBean = seqPropMgr.retrieve(sequencePropertyKey,
        Sandesha2Constants.SequenceProperties.SEQUENCE_CLOSED);
View Full Code Here

Examples of org.apache.sandesha2.wsrm.AcknowledgementRange

    input.setReSend(true);
    Collection retransmitterEntriesOfSequence = senderBeanMgr.find(input);

    ArrayList ackedMessagesList = new ArrayList();
    while (ackRangeIterator.hasNext()) {
      AcknowledgementRange ackRange = (AcknowledgementRange) ackRangeIterator.next();
      long lower = ackRange.getLowerValue();
      long upper = ackRange.getUpperValue();

      for (long messageNo = lower; messageNo <= upper; messageNo++) {
        SenderBean retransmitterBean = getSenderEntry(retransmitterEntriesOfSequence, messageNo);
        if (retransmitterBean != null) {
          senderBeanMgr.delete(retransmitterBean.getMessageID());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.