Package org.apache.ace.range

Examples of org.apache.ace.range.SortedRangeSet


            return false;
        }
    }

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


public class LogDescriptorTest {

    @Test(groups = { UNIT })
    public void serializeDescriptor() {
        LogDescriptor descriptor = new LogDescriptor("gwid", 1, new SortedRangeSet("2-3"));
        assert descriptor.toRepresentation().equals("gwid,1,2-3") : "The representation of our descriptor is incorrect:" + descriptor.toRepresentation();
    }
View Full Code Here

        MockLogSyncTask task = new MockLogSyncTask("mocklog", "mocklog");
        // compare two empty lists
        task.writeDelta(task.calculateDelta(src, dest), null);
        assert task.m_calledWith.isEmpty() : "Delta of two empty lists should be empty";
        // add something to the source
        src.add(new LogDescriptor("gwid", 1, new SortedRangeSet("1-5")));
        task.writeDelta(task.calculateDelta(src, dest), null);
        assert task.m_calledWith.size() == 1 : "Delta should be 1 instead of: " + task.m_calledWith.size();
        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();
View Full Code Here

    }

    @Override
    protected SortedRangeSet getRange(ServiceReference ref) throws IOException {
        RepositoryReplication repository = (RepositoryReplication) m_context.getService(ref);
        SortedRangeSet range = repository.getRange();
        m_context.ungetService(ref);
        return range;
    }
View Full Code Here

    }

    @Override
    protected SortedRangeSet getRange(ServiceReference ref) throws IOException {
        Repository repository = (Repository) m_context.getService(ref);
        SortedRangeSet range = repository.getRange();
        m_context.ungetService(ref);
        return range;
    }
View Full Code Here

            return false;
        }
    }

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

                    URL query = new URL(host, "/replication/query?" + filter);

                    HttpURLConnection connection = (HttpURLConnection) m_connectionFactory.createConnection(query);

                    if (connection.getResponseCode() == HttpServletResponse.SC_OK) {
                        SortedRangeSet localRange = repository.getRange();

                        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                        try {
                            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);
                                   
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

public class LogDescriptorTest {

    @Test(groups = { UNIT })
    public void serializeDescriptor() {
        LogDescriptor descriptor = new LogDescriptor("gwid", 1, new SortedRangeSet("2-3"));
        assert descriptor.toRepresentation().equals("gwid,1,2-3") : "The representation of our descriptor is incorrect:" + descriptor.toRepresentation();
    }
View Full Code Here

        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 = 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();
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.