Package com.slytechs.capture.file.editor

Examples of com.slytechs.capture.file.editor.BasicRecordIterator


    }

    final long[] positions = new long[length];
    // Arrays.fill(positions, -1);

    final BasicRecordIterator iterator = new BasicRecordIterator(loader, loader
        .getLengthGetter());

    iterator.setPosition(first);

    for (int i = 0; i < length; i++) {
      positions[i] = iterator.getPosition();

      if (iterator.hasNext() == false) {
        throw new IllegalStateException(
            "Not enough records in loader, expected upto " + length);
      }

      iterator.skip();
    }

    this.positions = new SoftReference<long[]>(positions);

//    logger.info("fetched: [" + positions[0] + "-" + (positions[length - 1])
View Full Code Here


   */
  private Long[] createIndexTableFromLoader(PartialLoader loader, long offset)
      throws IOException {

    final long length = loader.getLength();
    iterator = new BasicRecordIterator(loader, lengthGetter);
    final int capacity = (int) (length / 32) + 1; // Estimate capacity needed

    // TODO temporary restriction to 1000000 record indexes
    if (capacity > 1000000) {
      throw new UnsupportedOperationException(
View Full Code Here

   * @throws IOException
   */
  private IndexTable[] createIndexTableFromLoader(final PartialLoader loader,
      final int factor) throws IOException {

    final BasicRecordIterator iterator =
        new BasicRecordIterator(loader, this.lengthGetter);
    final int capacity = (factor == 0 ? 10000 : factor);

    final List<Long> temp = new ArrayList<Long>(capacity); // Rough estimate
    final List<IndexTable> it = new ArrayList<IndexTable>(100);

    long next = 0;
    long previous = 0;
    while (iterator.hasNext()) {
      final long regional = iterator.getPosition();
      temp.add(regional);
      iterator.skip();

      this.length++;
      if ((factor != 0) && (this.length % factor == 0)) {
        it.add(new SoftTable(temp, loader));
        temp.clear();
View Full Code Here

   * @return
   * @throws IOException
   */
  private int takeAverageSample(final PartialLoader loader, final int max)
      throws IOException {
    final BasicRecordIterator iterator =
        new BasicRecordIterator(loader, loader.getLengthGetter());

    int count = 0;
    int total = 0;
    while (iterator.hasNext() && (count < max)) {
      final ByteBuffer b = iterator.next();
      total += loader.getLengthGetter().readLength(b);

      count++;
    }

View Full Code Here

TOP

Related Classes of com.slytechs.capture.file.editor.BasicRecordIterator

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.