Esempio n. 1
0
  public void repair(IColumn column) {
    Collection<IColumn> columns = column.getSubColumns();

    for (IColumn subColumn : columns) {
      IColumn columnInternal = columns_.get(subColumn.name());
      if (columnInternal == null) columns_.put(subColumn.name(), subColumn);
      else columnInternal.repair(subColumn);
    }
  }
Esempio n. 2
0
 public String name(String key) {
   IColumn column = columns_.get(key);
   if (column instanceof SuperColumn)
     throw new UnsupportedOperationException("A super column cannot hold other super columns.");
   if (column != null) return column.name();
   return null;
 }
Esempio n. 3
0
 public byte[] value(String key) {
   IColumn column = columns_.get(key);
   if (column instanceof SuperColumn)
     throw new UnsupportedOperationException("A super column cannot hold other super columns.");
   if (column != null) return column.value();
   throw new IllegalArgumentException("Value was requested for a column that does not exist.");
 }
Esempio n. 4
0
 public void addColumn(String name, IColumn column) {
   if (column instanceof SuperColumn)
     throw new UnsupportedOperationException("A super column cannot hold other super columns.");
   IColumn oldColumn = columns_.get(name);
   if (oldColumn == null) {
     columns_.put(name, column);
     size_.addAndGet(column.size());
   } else {
     if (oldColumn.timestamp() <= column.timestamp()) {
       columns_.put(name, column);
       int delta = (-1) * oldColumn.size();
       /* subtract the size of the oldColumn */
       size_.addAndGet(delta);
       /* add the size of the new column */
       size_.addAndGet(column.size());
     }
   }
 }
Esempio n. 5
0
 public byte[] digest() {
   Set<IColumn> columns = columns_.getSortedColumns();
   byte[] xorHash = new byte[0];
   if (name_ == null) return xorHash;
   xorHash = name_.getBytes();
   for (IColumn column : columns) {
     xorHash = FBUtilities.xor(xorHash, column.digest());
   }
   return xorHash;
 }
Esempio n. 6
0
  public IColumn diff(IColumn column) {
    IColumn columnDiff = new SuperColumn(column.name());
    Collection<IColumn> columns = column.getSubColumns();

    for (IColumn subColumn : columns) {
      IColumn columnInternal = columns_.get(subColumn.name());
      if (columnInternal == null) {
        columnDiff.addColumn(subColumn.name(), subColumn);
      } else {
        IColumn subColumnDiff = columnInternal.diff(subColumn);
        if (subColumnDiff != null) {
          columnDiff.addColumn(subColumn.name(), subColumnDiff);
        }
      }
    }
    if (columnDiff.getSubColumns().size() != 0) return columnDiff;
    else return null;
  }
Esempio n. 7
0
  /*
   * Go through each sub column if it exists then as it to resolve itself if the
   * column does not exist then create it.
   */
  public boolean putColumn(IColumn column) {
    if (!(column instanceof SuperColumn))
      throw new UnsupportedOperationException("Only Super column objects should be put here");
    if (!name_.equals(column.name()))
      throw new IllegalArgumentException(
          "The name should match the name of the current column or super column");
    Collection<IColumn> columns = column.getSubColumns();

    for (IColumn subColumn : columns) {
      IColumn columnInternal = columns_.get(subColumn.name());
      if (columnInternal == null) {
        addColumn(subColumn.name(), subColumn);
      } else {
        columnInternal.putColumn(subColumn);
      }
    }
    return false;
  }
Esempio n. 8
0
 public IColumn getSubColumn(String name) {
   return columns_.get(name);
 }
Esempio n. 9
0
 public Collection<IColumn> getSubColumns() {
   return columns_.getSortedColumns();
 }
Esempio n. 10
0
 int getColumnCount() {
   return columns_.size();
 }
Esempio n. 11
0
 public void delete() {
   columns_.clear();
   isMarkedForDelete_.set(true);
 }
Esempio n. 12
0
 public int getObjectCount() {
   return 1 + columns_.size();
 }
Esempio n. 13
0
 protected void remove(String columnName) {
   columns_.remove(columnName);
 }