From ae607283f904e002a68287d6b59e3265b95f5e75 Mon Sep 17 00:00:00 2001 From: Matthew Adams Date: Fri, 12 Sep 2014 16:15:20 -0500 Subject: [PATCH] DATACASS-148: fixed --- .../data/cassandra/core/CassandraTemplate.java | 10 +++++++--- .../template/CassandraDataOperationsTest.java | 18 +++++++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraTemplate.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraTemplate.java index dd8b7f680..363234c9a 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraTemplate.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/CassandraTemplate.java @@ -68,8 +68,7 @@ public class CassandraTemplate extends CqlTemplate implements CassandraOperation /** * Default Constructor for wiring in the required components later */ - public CassandraTemplate() { - } + public CassandraTemplate() {} public CassandraTemplate(Session session) { this(session, new MappingCassandraConverter()); @@ -536,7 +535,12 @@ public class CassandraTemplate extends CqlTemplate implements CassandraOperation protected List batchInsert(List entities, WriteOptions options, boolean asychronously) { - Assert.notEmpty(entities); + if (entities == null || entities.size() == 0) { + if (logger.isWarnEnabled()) { + logger.warn("no-op due to given null or empty list"); + } + return entities; + } Batch b = createInsertBatchQuery(getTableName(entities.get(0).getClass()).toCql(), entities, options, cassandraConverter); diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java index 12abe6aa0..974b886f7 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java @@ -15,6 +15,10 @@ */ package org.springframework.data.cassandra.test.integration.template; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -42,7 +46,6 @@ import com.datastax.driver.core.querybuilder.Select; * Unit Tests for CqlTemplate * * @author David Webb - * */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration @@ -163,6 +166,19 @@ public class CassandraDataOperationsTest extends AbstractSpringDataEmbeddedCassa } + @Test + public void insertEmptyList() { + List list = template.insert(new ArrayList()); + assertNotNull(list); + assertEquals(0, list.size()); + } + + @Test + public void insertNullList() { + List list = template.insert((List) null); + assertNull(list); + } + @Test public void insertBatchTest() {