Examples of RangeIterator


Examples of org.apache.ace.range.RangeIterator

      m_local.delete();
    }

    private long highestRemoteVersion() throws IOException {
        long result = 0;
        RangeIterator ri = getRange().iterator();
        while (ri.hasNext()) {
            result = ri.next();
        }
        return result;
    }
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

        }

        SortedRangeSet localRange = new SortedRangeSet("1-" + highestLocal);
        SortedRangeSet remoteRange = getDescriptor(queryInput).getRangeSet();
        SortedRangeSet delta = remoteRange.diffDest(localRange);
        RangeIterator rangeIterator = delta.iterator();

        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(sendConnection.getOutputStream()));

        if (rangeIterator.hasNext()) {
            long lowest = rangeIterator.next();
            long highest = delta.getHigh();
            if (lowest <= highest) {
                List events = m_LogStore.get(logID, lowest, highestLocal > highest ? highest : highestLocal);
                Iterator iter = events.iterator();
                while (iter.hasNext()) {
                    LogEvent current = (LogEvent) iter.next();
                    while ((current.getID() > lowest) && rangeIterator.hasNext()) {
                        lowest = rangeIterator.next();
                    }
                    if (current.getID() == lowest) {
                        // before we send the LogEvent to the other side, we fill out the
                        // appropriate identification
                        LogEvent event = new LogEvent(m_identification.getID(), current);
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

        task.m_calledWith.clear();
        // add an overlapping destination
        dest.add(new LogDescriptor("gwid", 1, new SortedRangeSet("1-3")));
        task.writeDelta(task.calculateDelta(src, dest), null);
        assert task.m_calledWith.size() == 1 : "Delta should be 1 instead of: " + task.m_calledWith.size();
        RangeIterator i = task.m_calledWith.get(0).getRangeSet().iterator();
        assert i.next() == 4 : "Illegal value in SortedRangeSet";
        assert i.next() == 5 : "Illegal value in SortedRangeSet";
        assert !i.hasNext() : "Illegal value in SortedRangeSet";
        task.m_calledWith.clear();
        // add a non-overlapping destination
        dest.add(new LogDescriptor("gwid", 2, new SortedRangeSet("50-100")));
        task.writeDelta(task.calculateDelta(src, dest), null);
        assert task.m_calledWith.size() == 1 : "Delta should be 1 instead of: " + task.m_calledWith.size();
        i = task.m_calledWith.get(0).getRangeSet().iterator();
        assert i.next() == 4 : "Illegal value in SortedRangeSet";
        assert i.next() == 5 : "Illegal value in SortedRangeSet";
        assert !i.hasNext() : "Illegal value in SortedRangeSet";
        task.m_calledWith.clear();
        // add non-overlapping source
        src.add(new LogDescriptor("gwid", 2, new SortedRangeSet("1-49")));
        task.writeDelta(task.calculateDelta(src, dest), null);
        assert task.m_calledWith.size() == 2 : "Delta should be 2 instead of: " + task.m_calledWith.size();
        task.m_calledWith.clear();
        // add a source with gaps
        src.add(new LogDescriptor("gwid", 3, new SortedRangeSet("1-10")));
        dest.add(new LogDescriptor("gwid", 3, new SortedRangeSet("3,5-8")));
        task.writeDelta(task.calculateDelta(src, dest), null);
        assert task.m_calledWith.size() == 3 : "Delta should be 3 instead of: " + task.m_calledWith.size();
        for (LogDescriptor l : task.m_calledWith) {
            if (l.getLogID() == 3) {
                i = l.getRangeSet().iterator();
            }
        }
        assert i.next() == 1 : "Illegal value in SortedRangeSet";
        assert i.next() == 2 : "Illegal value in SortedRangeSet";
        assert i.next() == 4 : "Illegal value in SortedRangeSet";
        assert i.next() == 9 : "Illegal value in SortedRangeSet";
        assert i.next() == 10 : "Illegal value in SortedRangeSet";
        assert !i.hasNext() : "Illegal value in SortedRangeSet";
    }
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

            else {
                result = cachedRepository.checkout(fail);
            }
        }
        else {
            RangeIterator ri = repository.getRange().iterator();
            long resultVersion = 0;
            while (ri.hasNext()) {
                resultVersion = ri.next();
            }
            if (resultVersion != 0) {
                result = repository.checkout(resultVersion);
            }
            else {
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

        }

        SortedRangeSet localRange = new SortedRangeSet("1-" + highestLocal);
        SortedRangeSet remoteRange = getDescriptor(queryInput).getRangeSet();
        SortedRangeSet delta = remoteRange.diffDest(localRange);
        RangeIterator rangeIterator = delta.iterator();

        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(sendConnection.getOutputStream()));

        if (rangeIterator.hasNext()) {
            long lowest = rangeIterator.next();
            long highest = delta.getHigh();
            if (lowest <= highest) {
                List events = m_LogStore.get(logID, lowest, highestLocal > highest ? highest : highestLocal);
                Iterator iter = events.iterator();
                while (iter.hasNext()) {
                    LogEvent current = (LogEvent) iter.next();
                    while ((current.getID() > lowest) && rangeIterator.hasNext()) {
                        lowest = rangeIterator.next();
                    }
                    if (current.getID() == lowest) {
                        // before we send the LogEvent to the other side, we fill out the
                        // appropriate identification
                        LogEvent event = new LogEvent(m_identification.getID(), current);
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

        return highestRemoteVersion() == m_mostRecentVersion;
    }

    private long highestRemoteVersion() throws IOException {
        long result = 0;
        RangeIterator ri = getRange().iterator();
        while (ri.hasNext()) {
            result = ri.next();
        }
        return result;
    }
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

      m_local.delete();
    }

    private long highestRemoteVersion() throws IOException {
        long result = 0;
        RangeIterator ri = getRange().iterator();
        while (ri.hasNext()) {
            result = ri.next();
        }
        return result;
    }
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

            return;
        }
        SortedRangeSet localRange = new SortedRangeSet("1-" + highestLocal);
        SortedRangeSet remoteRange = getDescriptor(queryInput).getRangeSet();
        SortedRangeSet delta = remoteRange.diffDest(localRange);
        RangeIterator rangeIterator = delta.iterator();
        BufferedWriter writer = null;
        writer = new BufferedWriter(new OutputStreamWriter(
                sendConnection.getOutputStream()));
        if (rangeIterator.hasNext()) {
            long lowest = rangeIterator.next();
            long highest = delta.getHigh();
            if (lowest <= highest) {
                List events = m_LogStore.get(logID, lowest,
                        highestLocal > highest ? highest : highestLocal);
                Iterator iter = events.iterator();
                while (iter.hasNext()) {
                    LogEvent current = (LogEvent) iter.next();
                    while ((current.getID() > lowest)
                            && rangeIterator.hasNext()) {
                        lowest = rangeIterator.next();
                    }
                    if (current.getID() == lowest) {
                        writer.write(current.toRepresentation() + "\n");
                    }
                }
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

    }

    @Test(groups = { UNIT })
    public void manipulateSortedRangeSets() {
        SortedRangeSet s1 = new SortedRangeSet("1,3,5-8");
        RangeIterator ri1 = s1.iterator();
        assert ri1.next() == 1 : "Illegal value in range iterator";
        assert ri1.next() == 3 : "Illegal value in range iterator";
        assert ri1.next() == 5 : "Illegal value in range iterator";
        assert ri1.next() == 6 : "Illegal value in range iterator";
        assert ri1.next() == 7 : "Illegal value in range iterator";
        assert ri1.next() == 8 : "Illegal value in range iterator";
        assert !ri1.hasNext() : "There should not be more values in the iterator";
        assert new SortedRangeSet("1-20").diffDest(new SortedRangeSet("5-25")).toRepresentation().equals("21-25") : "Result of diff should be 21-25";
        assert new SortedRangeSet(new long[] {1,3,5,7,9}).diffDest(new SortedRangeSet("1-10")).toRepresentation().equals("2,4,6,8,10") : "Result of diff should be 2,4,6,8,10";
        assert new SortedRangeSet("1-5,8,12").diffDest(new SortedRangeSet("1-5,7,9,12,20")).toRepresentation().equals("7,9,20") : "Result of diff should be 7,9,20";
    }
View Full Code Here

Examples of org.apache.ace.range.RangeIterator

                        String line = reader.readLine();
                        int i = line.lastIndexOf(',');
                        if (i > 0) {
                            SortedRangeSet remoteRange = new SortedRangeSet(line.substring(i + 1));
                            SortedRangeSet delta = localRange.diffDest(remoteRange);
                            RangeIterator iterator = delta.iterator();
                            while (iterator.hasNext()) {
                                long version = iterator.next();
                                URL get = new URL(host, "/replication/get?" + filter + "&version=" + version);
                                HttpURLConnection connection2 = (HttpURLConnection) get.openConnection();
                                repository.put(connection2.getInputStream(), version);
                            }
                        }
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.