Skip to content

Commit c6dd122

Browse files
author
Otavio Santana
committed
Adds supports to date at Cassandra
1 parent af3d904 commit c6dd122

File tree

2 files changed

+32
-14
lines changed

2 files changed

+32
-14
lines changed

cassandra-driver/src/test/java/org/jnosql/diana/cassandra/column/CassandraColumnFamilyManagerTest.java

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
package org.jnosql.diana.cassandra.column;
2222

2323
import com.datastax.driver.core.ConsistencyLevel;
24+
import com.datastax.driver.core.LocalDate;
2425
import com.datastax.driver.core.Session;
2526
import org.apache.thrift.transport.TTransportException;
2627
import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
@@ -35,15 +36,18 @@
3536
import org.junit.After;
3637
import org.junit.Assert;
3738
import org.junit.Before;
38-
import org.junit.BeforeClass;
3939
import org.junit.Test;
4040

4141
import java.io.IOException;
42+
import java.time.LocalDateTime;
43+
import java.time.Month;
44+
import java.time.ZoneId;
4245
import java.util.ArrayList;
46+
import java.util.Calendar;
47+
import java.util.Date;
4348
import java.util.HashMap;
4449
import java.util.List;
4550
import java.util.Map;
46-
import java.util.Optional;
4751

4852
import static java.util.Arrays.asList;
4953
import static java.util.Collections.singletonList;
@@ -62,7 +66,7 @@ public class CassandraColumnFamilyManagerTest {
6266
public static final ConsistencyLevel CONSISTENCY_LEVEL = ConsistencyLevel.ONE;
6367
private CassandraColumnFamilyManager columnEntityManager;
6468

65-
@Before
69+
@Before
6670
public void setUp() throws InterruptedException, IOException, TTransportException {
6771
EmbeddedCassandraServerHelper.startEmbeddedCassandra();
6872
CassandraConfiguration cassandraConfiguration = new CassandraConfiguration();
@@ -88,7 +92,6 @@ public void shouldInsertJustKey() {
8892
}
8993

9094

91-
9295
@Test
9396
public void shouldInsertColumns() {
9497
ColumnEntity columnEntity = getColumnFamily();
@@ -102,7 +105,6 @@ public void shouldInsertColumnsWithConsistencyLevel() {
102105
}
103106

104107

105-
106108
@Test
107109
public void shouldFindById() {
108110

@@ -199,7 +201,7 @@ private List<ColumnEntity> getEntities() {
199201
public void shouldSupportUDT() {
200202
ColumnEntity entity = ColumnEntity.of("users");
201203
entity.add(Column.of("nickname", "ada"));
202-
List<Column> columns =new ArrayList<>();
204+
List<Column> columns = new ArrayList<>();
203205
columns.add(Column.of("firstname", "Ada"));
204206
columns.add(Column.of("lastname", "Lovelace"));
205207
UDT udt = UDT.builder().withName("name")
@@ -222,7 +224,7 @@ public void shouldSupportUDT() {
222224
public void shouldSupportAnUDTElement() {
223225
ColumnEntity entity = ColumnEntity.of("users");
224226
entity.add(Column.of("nickname", "Ioda"));
225-
List<Column> columns =new ArrayList<>();
227+
List<Column> columns = new ArrayList<>();
226228
columns.add(Column.of("firstname", "Ioda"));
227229
UDT udt = UDT.builder().withName("name")
228230
.withTypeName("fullname")
@@ -240,6 +242,24 @@ public void shouldSupportAnUDTElement() {
240242
}
241243

242244

245+
@Test
246+
public void shouldSupportDate() {
247+
ColumnEntity entity = ColumnEntity.of("history");
248+
entity.add(Column.of("name", "World war II"));
249+
ZoneId defaultZoneId = ZoneId.systemDefault();
250+
Date dateEnd = Date.from(java.time.LocalDate.of(1945, Month.SEPTEMBER, 2).atStartOfDay(defaultZoneId).toInstant());
251+
Calendar dataStart = Calendar.getInstance();
252+
entity.add(Column.of("dataStart", LocalDate.fromYearMonthDay(1939,9, 1)));
253+
entity.add(Column.of("dateEnd", dateEnd));
254+
columnEntityManager.save(entity);
255+
ColumnQuery query = ColumnQuery.of("history");
256+
query.and(ColumnCondition.eq(Column.of("name", "World war II")));
257+
ColumnEntity entity1 = columnEntityManager.singleResult(query).get();
258+
Assert.assertNotNull(entity1);
259+
260+
}
261+
262+
243263
private ColumnEntity getColumnFamily() {
244264
Map<String, Object> fields = new HashMap<>();
245265
fields.put("name", "Cassandra");
@@ -252,9 +272,8 @@ private ColumnEntity getColumnFamily() {
252272
}
253273

254274

255-
256275
@After
257-
public void end(){
276+
public void end() {
258277
EmbeddedCassandraServerHelper.cleanEmbeddedCassandra();
259278
}
260279
}

cassandra-driver/src/test/resources/diana-cassandra.properties

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ cassandra-host-1=localhost
2121
cassandra-port=9142
2222
cassandra-threads-number=4
2323
cassandra-query-1=CREATE KEYSPACE IF NOT EXISTS newKeySpace WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};
24-
cassandra-query-2=DROP TABLE IF EXISTS newKeySpace.newColumnFamily;
25-
cassandra-query-3=DROP TABLE IF EXISTS newKeySpace.users;
26-
cassandra-query-4=CREATE COLUMNFAMILY IF NOT EXISTS newKeySpace.newColumnFamily (id bigint PRIMARY KEY, version double, options list<int>, name text);
27-
cassandra-query-5=CREATE TYPE IF NOT EXISTS newKeySpace.fullname ( firstname text, lastname text);
28-
cassandra-query-6=CREATE COLUMNFAMILY IF NOT EXISTS newKeySpace.users ( nickname text PRIMARY KEY, name frozen <fullname>);
24+
cassandra-query-2=CREATE TYPE IF NOT EXISTS newKeySpace.fullname ( firstname text, lastname text);
25+
cassandra-query-3=CREATE COLUMNFAMILY IF NOT EXISTS newKeySpace.newColumnFamily (id bigint PRIMARY KEY, version double, options list<int>, name text);
26+
cassandra-query-4=CREATE COLUMNFAMILY IF NOT EXISTS newKeySpace.users ( nickname text PRIMARY KEY, name frozen <fullname>);
27+
cassandra-query-5=CREATE COLUMNFAMILY IF NOT EXISTS newKeySpace.history ( name text PRIMARY KEY, dataStart date, dateEnd timestamp);

0 commit comments

Comments
 (0)