From 699e4ca16801fbb4ea93f903b9f27947f25c0a58 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 10 Mar 2020 10:05:21 +0100 Subject: [PATCH] DATACASS-712 - Adapt to query builder API for set at list index. --- .../data/cassandra/core/StatementFactory.java | 5 +++-- .../data/cassandra/core/StatementFactoryUnitTests.java | 4 +--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java index 9a41135b6..920724d44 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java @@ -793,8 +793,9 @@ public class StatementFactory { private static Assignment getAssignment(SetOp updateOp, TermFactory termFactory) { if (updateOp instanceof SetAtIndexOp) { - // return Assignment.setE(op.getColumnName().toCql(), op.getIndex(), op.getValue()); - throw new UnsupportedOperationException("Set at index currently not supported"); + + return Assignment.setListValue(updateOp.toCqlIdentifier(), + termFactory.create(((SetAtIndexOp) updateOp).getIndex()), termFactory.create(updateOp.getValue())); } if (updateOp instanceof SetAtKeyOp) { diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java index 70fc916c2..0545c660e 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.junit.Ignore; import org.junit.Test; import org.springframework.data.annotation.Id; @@ -306,8 +305,7 @@ public class StatementFactoryUnitTests { .isEqualTo("UPDATE person USING TIMESTAMP 1234 SET first_name='baz' WHERE foo='bar'"); } - @Test // DATACASS-343 - @Ignore("No operator for set at index yet") + @Test // DATACASS-343, DATACASS-712 public void shouldCreateSetAtIndexUpdate() { StatementBuilder update = statementFactory