use of org.jnosql.diana.api.column.Column in project jnosql-diana-driver by eclipse.
the class CassandraColumnFamilyManagerTest method getColumnFamily.
private ColumnEntity getColumnFamily() {
Map<String, Object> fields = new HashMap<>();
fields.put("name", "Cassandra");
fields.put("version", 3.2);
fields.put("options", asList(1, 2, 3));
List<Column> columns = Columns.of(fields);
ColumnEntity columnFamily = ColumnEntity.of(COLUMN_FAMILY, singletonList(Columns.of("id", 10L)));
columns.forEach(columnFamily::add);
return columnFamily;
}
use of org.jnosql.diana.api.column.Column in project jnosql-diana-driver by eclipse.
the class CassandraColumnFamilyManagerTest method shouldFindById.
@Test
public void shouldFindById() {
entityManager.insert(getColumnFamily());
ColumnQuery query = select().from(COLUMN_FAMILY).where("id").eq(10L).build();
List<ColumnEntity> columnEntity = entityManager.select(query);
assertFalse(columnEntity.isEmpty());
List<Column> columns = columnEntity.get(0).getColumns();
assertThat(columns.stream().map(Column::getName).collect(toList()), containsInAnyOrder("name", "version", "options", "id"));
assertThat(columns.stream().map(Column::getValue).map(Value::get).collect(toList()), containsInAnyOrder("Cassandra", 3.2, asList(1, 2, 3), 10L));
}
use of org.jnosql.diana.api.column.Column in project jnosql-diana-driver by eclipse.
the class HBaseColumnFamilyManager method insert.
@Override
public ColumnEntity insert(ColumnEntity entity) {
Objects.requireNonNull(entity, "entity is required");
String family = entity.getName();
List<Column> columns = entity.getColumns();
if (columns.isEmpty()) {
return entity;
}
Column columnID = entity.find(KEY_COLUMN).orElseThrow(() -> new DianaHBaseException(KEY_REQUIRED_ERROR));
Put put = new Put(Bytes.toBytes(valueToString(columnID.getValue())));
columns.stream().filter(Predicate.isEqual(columnID).negate()).forEach(column -> put.addColumn(Bytes.toBytes(family), Bytes.toBytes(column.getName()), Bytes.toBytes(valueToString(column.getValue()))));
try {
table.put(put);
} catch (IOException e) {
throw new DianaHBaseException("An error happened when try to save an entity", e);
}
return entity;
}
use of org.jnosql.diana.api.column.Column in project jnosql-diana by eclipse.
the class DefaultDeleteQueryBuilderTest method shouldSelectWhereNameGt.
@Test
public void shouldSelectWhereNameGt() {
String columnFamily = "columnFamily";
Number value = 10;
ColumnDeleteQuery query = delete().from(columnFamily).where("name").gt(value).build();
ColumnCondition condition = query.getCondition().get();
Column column = condition.getColumn();
assertTrue(query.getColumns().isEmpty());
assertEquals(columnFamily, query.getColumnFamily());
assertEquals(Condition.GREATER_THAN, condition.getCondition());
assertEquals("name", column.getName());
assertEquals(value, column.get());
}
use of org.jnosql.diana.api.column.Column in project jnosql-diana by eclipse.
the class DefaultDeleteQueryBuilderTest method shouldSelectWhereNameEq.
@Test
public void shouldSelectWhereNameEq() {
String columnFamily = "columnFamily";
String name = "Ada Lovelace";
ColumnDeleteQuery query = delete().from(columnFamily).where("name").eq(name).build();
ColumnCondition condition = query.getCondition().get();
Column column = condition.getColumn();
assertTrue(query.getColumns().isEmpty());
assertEquals(columnFamily, query.getColumnFamily());
assertEquals(Condition.EQUALS, condition.getCondition());
assertEquals("name", column.getName());
assertEquals(name, column.get());
}
Aggregations