Search in sources :

Example 1 with Column

use of org.jnosql.diana.api.column.Column in project jnosql-artemis by eclipse.

the class DefaultColumnEntityConverterTest method shouldConvertoListEmbeddable.

@Test
public void shouldConvertoListEmbeddable() {
    AppointmentBook appointmentBook = new AppointmentBook("ids");
    appointmentBook.add(Contact.builder().withType(ContactType.EMAIL).withName("Ada").withInformation("ada@lovelace.com").build());
    appointmentBook.add(Contact.builder().withType(ContactType.MOBILE).withName("Ada").withInformation("11 1231231 123").build());
    appointmentBook.add(Contact.builder().withType(ContactType.PHONE).withName("Ada").withInformation("12 123 1231 123123").build());
    ColumnEntity entity = converter.toColumn(appointmentBook);
    Column contacts = entity.find("contacts").get();
    assertEquals("ids", appointmentBook.getId());
    List<List<Column>> columns = (List<List<Column>>) contacts.get();
    assertEquals(3L, columns.stream().flatMap(Collection::stream).filter(c -> c.getName().equals("name")).count());
}
Also used : ColumnEntity(org.jnosql.diana.api.column.ColumnEntity) Column(org.jnosql.diana.api.column.Column) AppointmentBook(org.jnosql.artemis.model.AppointmentBook) ArrayList(java.util.ArrayList) Arrays.asList(java.util.Arrays.asList) List(java.util.List) Test(org.junit.jupiter.api.Test)

Example 2 with Column

use of org.jnosql.diana.api.column.Column in project jnosql-artemis by eclipse.

the class DefaultColumnEntityConverterTest method shouldConvertSubEntity.

@Test
public void shouldConvertSubEntity() {
    Zipcode zipcode = new Zipcode();
    zipcode.setZip("12321");
    zipcode.setPlusFour("1234");
    Address address = new Address();
    address.setCity("Salvador");
    address.setState("Bahia");
    address.setStreet("Rua Engenheiro Jose Anasoh");
    address.setZipcode(zipcode);
    ColumnEntity columnEntity = converter.toColumn(address);
    List<Column> columns = columnEntity.getColumns();
    assertEquals("Address", columnEntity.getName());
    assertEquals(5, columns.size());
    assertEquals("Rua Engenheiro Jose Anasoh", getValue(columnEntity.find("street")));
    assertEquals("Salvador", getValue(columnEntity.find("city")));
    assertEquals("Bahia", getValue(columnEntity.find("state")));
    assertEquals("12321", getValue(columnEntity.find("zip")));
    assertEquals("1234", getValue(columnEntity.find("plusFour")));
}
Also used : ColumnEntity(org.jnosql.diana.api.column.ColumnEntity) Address(org.jnosql.artemis.model.Address) Column(org.jnosql.diana.api.column.Column) Zipcode(org.jnosql.artemis.model.Zipcode) Test(org.junit.jupiter.api.Test)

Example 3 with Column

use of org.jnosql.diana.api.column.Column in project jnosql-artemis by eclipse.

the class DefaultColumnEntityConverterTest method shouldConvertEntityToColumnEntity2.

@Test
public void shouldConvertEntityToColumnEntity2() {
    Movie movie = new Movie("Matrix", 2012, Collections.singleton("Actor"));
    Director director = Director.builderDiretor().withAge(12).withId(12).withName("Otavio").withPhones(asList("234", "2342")).withMovie(movie).build();
    ColumnEntity entity = converter.toColumn(director);
    assertEquals(5, entity.size());
    assertEquals(getValue(entity.find("name")), director.getName());
    assertEquals(getValue(entity.find("age")), director.getAge());
    assertEquals(getValue(entity.find("_id")), director.getId());
    assertEquals(getValue(entity.find("phones")), director.getPhones());
    Column subColumn = entity.find("movie").get();
    List<Column> columns = subColumn.get(new TypeReference<List<Column>>() {
    });
    assertEquals(3, columns.size());
    assertEquals("movie", subColumn.getName());
    assertEquals(movie.getTitle(), columns.stream().filter(c -> "title".equals(c.getName())).findFirst().get().get());
    assertEquals(movie.getYear(), columns.stream().filter(c -> "year".equals(c.getName())).findFirst().get().get());
    assertEquals(movie.getActors(), columns.stream().filter(c -> "actors".equals(c.getName())).findFirst().get().get());
}
Also used : Movie(org.jnosql.artemis.model.Movie) ColumnEntity(org.jnosql.diana.api.column.ColumnEntity) Column(org.jnosql.diana.api.column.Column) Director(org.jnosql.artemis.model.Director) ArrayList(java.util.ArrayList) Arrays.asList(java.util.Arrays.asList) List(java.util.List) Test(org.junit.jupiter.api.Test)

Example 4 with Column

use of org.jnosql.diana.api.column.Column in project jnosql-artemis by eclipse.

the class DefaultColumnEntityConverterTest method shouldConvertToColumnWhenHaConverter.

@Test
public void shouldConvertToColumnWhenHaConverter() {
    Worker worker = new Worker();
    Job job = new Job();
    job.setCity("Sao Paulo");
    job.setDescription("Java Developer");
    worker.setName("Bob");
    worker.setSalary(new Money("BRL", BigDecimal.TEN));
    worker.setJob(job);
    ColumnEntity entity = converter.toColumn(worker);
    assertEquals("Worker", entity.getName());
    assertEquals("Bob", entity.find("name").get().get());
    Column subColumn = entity.find("job").get();
    List<Column> columns = subColumn.get(new TypeReference<List<Column>>() {
    });
    assertThat(columns, Matchers.containsInAnyOrder(Column.of("city", "Sao Paulo"), Column.of("description", "Java Developer")));
    assertEquals("BRL 10", entity.find("money").get().get());
}
Also used : Money(org.jnosql.artemis.model.Money) ColumnEntity(org.jnosql.diana.api.column.ColumnEntity) Column(org.jnosql.diana.api.column.Column) Worker(org.jnosql.artemis.model.Worker) ArrayList(java.util.ArrayList) Arrays.asList(java.util.Arrays.asList) List(java.util.List) Job(org.jnosql.artemis.model.Job) Test(org.junit.jupiter.api.Test)

Example 5 with Column

use of org.jnosql.diana.api.column.Column in project jnosql-diana-driver by eclipse.

the class CassandraConverter method toDocumentEntity.

public static ColumnEntity toDocumentEntity(Row row) {
    List<Column> columns = new ArrayList<>();
    String columnFamily = "";
    for (ColumnDefinitions.Definition definition : row.getColumnDefinitions().asList()) {
        DataType type = definition.getType();
        columnFamily = definition.getTable();
        Object result = CassandraConverter.get(definition, row);
        columns.add(getColumn(definition, result));
    }
    return ColumnEntity.of(columnFamily, columns);
}
Also used : ColumnDefinitions(com.datastax.driver.core.ColumnDefinitions) Column(org.jnosql.diana.api.column.Column) ArrayList(java.util.ArrayList) DataType(com.datastax.driver.core.DataType)

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