Package org.apache.blur.thrift.generated

Examples of org.apache.blur.thrift.generated.Row


    RAMDirectory directory = new RAMDirectory();
    DirectoryReader reader = getIndexReader(directory);
    IndexWriter writer = new IndexWriter(directory, _conf.clone());
    assertEquals(0, reader.numDocs());

    Row row = genRow();
    List<Column> cols = new ArrayList<Column>();
    cols.add(new Column("n", "v"));
    row.addToRecords(new Record("1", "fam", cols));

    _action.replaceRow(row);
    _action.performMutate(getSearcher(reader, directory), writer);
    reader = commitAndReopen(reader, writer);
    assertEquals(2, reader.numDocs());

    cols.add(new Column("n2", "v2"));
    Record record = new Record("1", "fam", cols);
    _action.replaceRecord(row.getId(), record);
    _action.performMutate(getSearcher(reader, directory), writer);
    reader = commitAndReopen(reader, writer);
    assertEquals(2, reader.numDocs());

    IndexSearcher searcher = new IndexSearcher(reader);
    TopDocs topDocs = searcher.search(new TermQuery(new Term(BlurConstants.ROW_ID, row.getId())), 10);
    Document doc2 = searcher.doc(topDocs.scoreDocs[1].doc);
    List<IndexableField> fields = doc2.getFields();
    assertEquals(fields.size(), 5);
    String value = doc2.get("fam.n2");
    assertEquals("v2", value);
View Full Code Here


    RAMDirectory directory = new RAMDirectory();
    DirectoryReader reader = getIndexReader(directory);
    IndexWriter writer = new IndexWriter(directory, _conf.clone());
    assertEquals(0, reader.numDocs());

    Row row = genRow();
    List<Column> cols = new ArrayList<Column>();
    cols.add(new Column("n", "v"));
    row.addToRecords(new Record("1", "fam", cols));

    _action.replaceRow(row);
    _action.performMutate(getSearcher(reader, directory), writer);
    reader = commitAndReopen(reader, writer);
    assertEquals(2, reader.numDocs());

    cols.clear();
    cols.add(new Column("n2", "v2"));
    Record record = new Record("1", "fam", cols);
    _action.appendColumns(row.getId(), record);
    _action.performMutate(getSearcher(reader, directory), writer);
    reader = commitAndReopen(reader, writer);
    assertEquals(2, reader.numDocs());

    IndexSearcher searcher = new IndexSearcher(reader);
    TopDocs topDocs = searcher.search(new TermQuery(new Term(BlurConstants.ROW_ID, row.getId())), 10);
    Document doc2 = searcher.doc(topDocs.scoreDocs[1].doc);
    List<IndexableField> fields = doc2.getFields();
    assertEquals(fields.size(), 5);
    String value = doc2.get("fam.n2");
    assertEquals("v2", value);
View Full Code Here

    void replaceColumns(final Record record) {
      _actions.add(new UpdateRowAction() {
        @Override
        Row performAction(Row row) {
          if (row == null) {
            row = new Row(_rowId, null);
            row.addToRecords(record);
            return row;
          } else {
            Row result = new Row();
            result.setId(row.getId());
            String recordId = record.getRecordId();
            boolean found = false;
            if (row.getRecords() != null) {
              for (Record r : row.getRecords()) {
                if (!r.getRecordId().equals(recordId)) {
                  result.addToRecords(r);
                } else {
                  found = true;
                  // Replace columns
                  result.addToRecords(replaceColumns(r, record));
                }
              }
            }
            if (!found) {
              result.addToRecords(record);
            }
            return result;
          }
        }
      });
View Full Code Here

    RAMDirectory directory = new RAMDirectory();
    DirectoryReader reader = getIndexReader(directory);
    IndexWriter writer = new IndexWriter(directory, _conf.clone());
    assertEquals(0, reader.numDocs());

    Row row = genRow();
    List<Column> cols = new ArrayList<Column>();
    cols.add(new Column("n", "v"));
    cols.add(new Column("n1", "v1"));
    row.addToRecords(new Record("1", "fam", cols));

    _action.replaceRow(row);
    _action.performMutate(getSearcher(reader, directory), writer);
    reader = commitAndReopen(reader, writer);
    assertEquals(2, reader.numDocs());

    cols.clear();
    cols.add(new Column("n1", "v2"));
    Record record = new Record("1", "fam", cols);
    _action.replaceColumns(row.getId(), record);
    _action.performMutate(getSearcher(reader, directory), writer);
    reader = commitAndReopen(reader, writer);
    assertEquals(2, reader.numDocs());

    IndexSearcher searcher = new IndexSearcher(reader);
    TopDocs topDocs = searcher.search(new TermQuery(new Term(BlurConstants.ROW_ID, row.getId())), 10);
    Document doc2 = searcher.doc(topDocs.scoreDocs[1].doc);
    List<IndexableField> fields = doc2.getFields();
    assertEquals(5, fields.size());
    String value = doc2.get("fam.n1");
    assertEquals("v2", value);
View Full Code Here

    void replaceRecord(final Record record) {
      _actions.add(new UpdateRowAction() {
        @Override
        Row performAction(Row row) {
          if (row == null) {
            row = new Row(_rowId, null);
            row.addToRecords(record);
            return row;
          } else {
            Row result = new Row();
            result.setId(row.getId());
            String recordId = record.getRecordId();
            if (row.getRecords() != null) {
              for (Record r : row.getRecords()) {
                if (!r.getRecordId().equals(recordId)) {
                  result.addToRecords(r);
                }
              }
            }
            // Add replacement
            result.addToRecords(record);
            return result;
          }
        }
      });
    }
View Full Code Here

    }
    return DirectoryReader.open(directory);
  }

  private Row genRow() {
    Row row = new Row();
    row.setId(Long.toString(_random.nextLong()));
    Record record = new Record();
    record.setFamily("testing");
    record.setRecordId(Long.toString(_random.nextLong()));
    for (int i = 0; i < 10; i++) {
      record.addToColumns(new Column("col" + i, Long.toString(_random.nextLong())));
    }
    row.addToRecords(record);
    return row;
  }
View Full Code Here

    @Override
    void performAction(IndexSearcherClosable searcher, IndexWriter writer) throws IOException {
      Selector selector = new Selector();
      selector.setRowId(_rowId);
      IndexManager.populateSelector(searcher, _shard, _table, selector);
      Row row = null;
      if (!selector.getLocationId().equals(IndexManager.NOT_FOUND)) {
        FetchResult fetchResult = new FetchResult();
        IndexManager.fetchRow(searcher.getIndexReader(), _table, _shard, selector, fetchResult, null, null, _maxHeap,
            _tableContext, null);
        FetchRowResult rowResult = fetchResult.getRowResult();
        if (rowResult != null) {
          row = rowResult.getRow();
        }
      }
      for (UpdateRowAction action : _actions) {
        row = action.performAction(row);
      }
      Term term = createRowId(_rowId);
      if (row != null && row.getRecords() != null && row.getRecords().size() > 0) {
        List<List<Field>> docsToUpdate = RowDocumentUtil.getDocs(row, _fieldManager);
        writer.updateDocuments(term, docsToUpdate);
        _writeRecordsMeter.mark(docsToUpdate.size());
      } else {
        writer.deleteDocuments(term);
View Full Code Here

    result.setRowid(rowId);
    return result;
  }

  public static Row getRow(Iterable<Document> docs) {
    Row row = new Row();
    boolean empty = true;
    if (docs == null) {
      return null;
    }
    for (Document document : docs) {
      empty = false;
      BlurThriftRecord record = new BlurThriftRecord();
      String rowId = readRecord(document, record);
      if (record.getColumns() != null) {
        row.addToRecords(record);
      }
      if (row.id == null) {
        row.setId(rowId);
      }
    }
    if (empty) {
      return null;
    }
View Full Code Here

    record.setColumns(Arrays.asList(columns));
    return record;
  }

  public static Row newRow(String rowId, Record... records) {
    Row row = new Row().setId(rowId);
    for (Record record : records) {
      row.addToRecords(record);
    }
    return row;
  }
View Full Code Here

    }
    return builder.toString();
  }

  private void addRow(String table, int i, Iface client) throws BlurException, TException {
    Row row = new Row();
    row.setId(Integer.toString(i));
    Record record = new Record();
    record.setRecordId(Integer.toString(i));
    record.setFamily("test");
    record.addToColumns(new Column("test", Integer.toString(i)));
    row.addToRecords(record);
    RowMutation rowMutation = BlurUtil.toRowMutation(table, row);
    client.mutate(rowMutation);
  }
View Full Code Here

TOP

Related Classes of org.apache.blur.thrift.generated.Row

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.