Package org.apache.ace.range

Examples of org.apache.ace.range.SortedRangeSet


    long high = 1;
    if (cursor.hasNext()) {
      DBObject row = cursor.next();
      high = (Long) row.get("id");
      return new LogDescriptor(targetID, logID, new SortedRangeSet(
          new Range(1, high).toRepresentation()));
    } else {
      return new LogDescriptor(targetID, logID, SortedRangeSet.FULL_SET);
    }
  }
View Full Code Here


        // Not used in test
        return false;
    }

    public SortedRangeSet getRange() throws IOException {
        return new SortedRangeSet(m_range);
    }
View Full Code Here

            if (line == null) {
                throw new IOException("Repository not found: customer=" + m_customer + ", name=" + m_name);
            }
            String representation = line.substring(line.lastIndexOf(','));
            reader.close();
            return new SortedRangeSet(representation);
        }
        throw new IOException("Connection error: " + connection.getResponseMessage());
    }
View Full Code Here

                if (line == null) {
                    throw new IOException("Repository not found: customer=" + m_customer + ", name=" + m_name);
                }

                String representation = line.substring(line.lastIndexOf(','));
                return new SortedRangeSet(representation);
              } finally {
                reader.close();
              }
          }
 
View Full Code Here

            m_logID = Long.parseLong(st.nextToken());
            String rangeSet = "";
            if (st.hasMoreTokens()) {
                rangeSet = st.nextToken();
            }
            m_rangeSet = new SortedRangeSet(Codec.decode(rangeSet));
        }
        catch (NoSuchElementException e) {
            throw new IllegalArgumentException("Could not create range from: " + representation);
        }
    }
View Full Code Here

        long highestLocal = m_LogStore.getHighestID(logID);
        if (highestLocal == 0) {
            // No events, no need to synchronize
            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()) {
View Full Code Here

        TestUtils.configureObject(m_task, LogStore.class);
    }

    @Test(groups = { UNIT })
    public synchronized void getRange() throws Exception {
        final LogDescriptor range = new LogDescriptor("gwID", 1, new SortedRangeSet("1-10"));
        m_task.getDescriptor(new InputStream() {
            int m_count = 0;
            byte[] m_bytes = (range.toRepresentation() + "\n").getBytes();
            @Override
            public int read() throws IOException {
View Full Code Here

        });
    }

    @Test(groups = { UNIT })
    public synchronized void synchronizeLog() throws Exception {
        final LogDescriptor range = new LogDescriptor("gwID", 1, new SortedRangeSet(new long[] {0}));
        final LogEvent event = new LogEvent("gwID", 1, 1, 1, 1, new Properties());
        final List<LogEvent> events = new ArrayList<LogEvent>();
        events.add(event);

        InputStream input = new InputStream() {
View Full Code Here

        assert r5.getLow() == 2 : "Lowest value should be 2";
    }

    @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

        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";
    }

    @Test(groups = { UNIT }, expectedExceptions = IllegalArgumentException.class)
    public void invalidRange() {
        new SortedRangeSet("8-5");
    }
View Full Code Here

TOP

Related Classes of org.apache.ace.range.SortedRangeSet

Copyright © 2018 www.massapicom. 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.