package io.lumify.core.model.audit;
import com.altamiracorp.bigtable.model.BaseBuilder;
import com.altamiracorp.bigtable.model.Column;
import com.altamiracorp.bigtable.model.ColumnFamily;
import com.altamiracorp.bigtable.model.Row;
import java.util.Collection;
public class AuditBuilder extends BaseBuilder<Audit> {
public Audit fromRow(Row row) {
Audit audit = new Audit(row.getRowKey());
Collection<ColumnFamily> families = row.getColumnFamilies();
for (ColumnFamily columnFamily : families) {
if (columnFamily.getColumnFamilyName().equals(AuditCommon.NAME)) {
Collection<Column> columns = columnFamily.getColumns();
audit.addColumnFamily(new AuditCommon().addColumns(columns));
} else if (columnFamily.getColumnFamilyName().equals(AuditProperty.NAME)) {
Collection<Column> columns = columnFamily.getColumns();
audit.addColumnFamily(new AuditProperty().addColumns(columns));
} else if (columnFamily.getColumnFamilyName().equals(AuditRelationship.NAME)) {
Collection<Column> columns = columnFamily.getColumns();
audit.addColumnFamily(new AuditRelationship().addColumns(columns));
} else if (columnFamily.getColumnFamilyName().equals(AuditEntity.NAME)) {
Collection<Column> columns = columnFamily.getColumns();
audit.addColumnFamily(new AuditEntity().addColumns(columns));
} else {
audit.addColumnFamily(columnFamily);
}
}
return audit;
}
@Override
public String getTableName() {
return Audit.TABLE_NAME;
}
}