Package dovetaildb.bagindex.BlueSteelBagIndex

Examples of dovetaildb.bagindex.BlueSteelBagIndex.TokenRec


 
  public void testApplyEditsToTokenTable() {
   
    List<EditRec> edits;
    TokenTable o;
    TokenRec tr;
    Iterator<TokenRec> i;
    Iterator<TokenRec> subi;
   
    ArrayList<TokenRec> tokenRecs = new ArrayList<TokenRec>();
    TokenTable root = new MemoryTokenTable(ArrayBytes.EMPTY_BYTES, tokenRecs);
   
    edits = new ArrayList<EditRec>();
    edits.add(new EditRec(1, bytes("age:13"), false));
    edits.add(new EditRec(1, bytes("name:phil"), false));

    o=BlueSteelBagIndex.applyEditsToTokenTable(edits, root, new ProbabilisticBalancingPolicy(10, 0.5f, 0.0f), 0);
    i=o.getTokenRecs();
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('a', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1});
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('n', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1});
    assertFalse(i.hasNext());
   
    edits = new ArrayList<EditRec>();
    edits.add(new EditRec(2, bytes("age:14"), false));
    edits.add(new EditRec(2, bytes("name:joe"), false));
    o=BlueSteelBagIndex.applyEditsToTokenTable(edits, o, new ProbabilisticBalancingPolicy(10, 0.5f, 0.0f), 0);
//    System.out.println(o);
   
    i=o.getTokenRecs();
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('a', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1,2});
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('n', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1,2});
    assertFalse(i.hasNext());

    // test mutilevel stuff
   
    edits = new ArrayList<EditRec>();
    edits.add(new EditRec(3, bytes("age:14"), false));
    edits.add(new EditRec(3, bytes("foo:yes"), false));
    o=BlueSteelBagIndex.applyEditsToTokenTable(edits, o, new ProbabilisticBalancingPolicy(10, 0.5f, 0.0f), 1);
   
    i=o.getTokenRecs();
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('a', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1,2,3});
   
    subi = tr.tokenTable.getTokenRecs();
    assertTrue(subi.hasNext());
    tr = subi.next();
    assertFalse(subi.hasNext());
    assertEquals('g', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{3});
    assertNull(tr.tokenTable);
   
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('f', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{3});
   
    subi = tr.tokenTable.getTokenRecs();
    assertTrue(subi.hasNext());
    tr = subi.next();
    assertFalse(subi.hasNext());
    assertEquals('o', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{3});
    assertNull(tr.tokenTable);
   
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('n', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1,2});
    assertNull(tr.tokenTable);
    assertFalse(i.hasNext());
   
    // test deletions
   
    edits = new ArrayList<EditRec>();
    edits.add(new EditRec(1, bytes("age:13"), true));
    edits.add(new EditRec(3, bytes("age:14"), true));
    edits.add(new EditRec(3, bytes("foo:yes"), true));
    o=BlueSteelBagIndex.applyEditsToTokenTable(edits, o, new ProbabilisticBalancingPolicy(10, 0.5f, 0.0f), 1);
   
    i=o.getTokenRecs();
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('a', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{2});
   
    subi = tr.tokenTable.getTokenRecs();
    assertFalse(subi.hasNext());
   
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('n', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1,2});
    assertNull(tr.tokenTable);
    assertFalse(i.hasNext());
   
  }
View Full Code Here


    edits.add(new EditRec(1, bytes("name:phil"), false));

    root=BlueSteelBagIndex.applyEditsToTokenTable(edits, root, new ProbabilisticBalancingPolicy(10, 0.5f, 0.0f), 2); // "2" here means we get three tiers

    SlicedBytes sb;
    TokenRec tr;
    sb = new SlicedBytes(ArrayBytes.fromString("brot"), 0, 4);
    tr = root.descend(sb);
    assertEquals(3, sb.getSlicePosition());
    assertEquals('o', (char)tr.token);
   
View Full Code Here

 
  public void testApplyEditsToTokenTable() {
   
    List<EditRec> edits;
    TokenTable o;
    TokenRec tr;
   
    ArrayList<TokenRec> tokenRecs = new ArrayList<TokenRec>();
    //tokenRecs.add(new TokenRec(0, null, null)); //byte token, TokenTable tokenTable, SegmentPush segmentPush
    TokenTable root = new TokenTable(null, tokenRecs);
   
    edits = new ArrayList<EditRec>();
    edits.add(new EditRec(1, bytes("age:13"), false));
    edits.add(new EditRec(1, bytes("name:phil"), false));

    o=BlueSteelBagIndex.applyEditsToTokenTable(edits, root);
    System.out.println(o);
    Iterator<TokenRec> i=o.getTokenRecs().iterator();
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('a', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1});
    assertTrue(i.hasNext());
    tr = i.next();
    assertEquals('n', tr.getToken());
    compareSegments(tr.getSegmentPush(), new long[]{1});
    assertFalse(i.hasNext());
   
    edits = new ArrayList<EditRec>();
    edits.add(new EditRec(2, bytes("age:14"), false));
    edits.add(new EditRec(2, bytes("name:joe"), false));
View Full Code Here

TOP

Related Classes of dovetaildb.bagindex.BlueSteelBagIndex.TokenRec

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.