Search in sources :

Example 11 with Column

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;
}
Also used : ColumnEntity(org.jnosql.diana.api.column.ColumnEntity) HashMap(java.util.HashMap) Column(org.jnosql.diana.api.column.Column)

Example 12 with Column

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));
}
Also used : ColumnQuery(org.jnosql.diana.api.column.ColumnQuery) ColumnEntity(org.jnosql.diana.api.column.ColumnEntity) Column(org.jnosql.diana.api.column.Column) Value(org.jnosql.diana.api.Value) Test(org.junit.jupiter.api.Test)

Example 13 with Column

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;
}
Also used : Column(org.jnosql.diana.api.column.Column) IOException(java.io.IOException) Put(org.apache.hadoop.hbase.client.Put)

Example 14 with Column

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());
}
Also used : Column(org.jnosql.diana.api.column.Column) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) ColumnDeleteQuery(org.jnosql.diana.api.column.ColumnDeleteQuery) Test(org.junit.jupiter.api.Test)

Example 15 with Column

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());
}
Also used : Column(org.jnosql.diana.api.column.Column) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) ColumnDeleteQuery(org.jnosql.diana.api.column.ColumnDeleteQuery) Test(org.junit.jupiter.api.Test)

Aggregations

Column (org.jnosql.diana.api.column.Column)41 Test (org.junit.jupiter.api.Test)33 ColumnCondition (org.jnosql.diana.api.column.ColumnCondition)23 ColumnQuery (org.jnosql.diana.api.column.ColumnQuery)16 ColumnEntity (org.jnosql.diana.api.column.ColumnEntity)14 List (java.util.List)13 ColumnDeleteQuery (org.jnosql.diana.api.column.ColumnDeleteQuery)12 ArrayList (java.util.ArrayList)10 Arrays.asList (java.util.Arrays.asList)6 HashMap (java.util.HashMap)4 Collections.singletonList (java.util.Collections.singletonList)3 Collectors.toList (java.util.stream.Collectors.toList)3 Value (org.jnosql.diana.api.Value)3 DataType (com.datastax.driver.core.DataType)2 IOException (java.io.IOException)2 TypeReference (org.jnosql.diana.api.TypeReference)2 ColumnDefinitions (com.datastax.driver.core.ColumnDefinitions)1 ConsistencyLevel (com.datastax.driver.core.ConsistencyLevel)1 LocalDate (com.datastax.driver.core.LocalDate)1 Session (com.datastax.driver.core.Session)1