Skip to content

Commit c50361c

Browse files
committed
fixed key fields showing up in payloads (hash, string, search, ...)
1 parent 5d49cad commit c50361c

15 files changed

+23
-39
lines changed

pom.xml

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212

1313
<groupId>com.redislabs</groupId>
1414
<artifactId>riot</artifactId>
15-
<version>0.2.1</version>
15+
<version>0.2.2</version>
1616
<packaging>jar</packaging>
1717
<name>RIOT</name>
1818
<description>Redis Input/Output Tool</description>
1919

2020
<properties>
2121
<start-class>com.redislabs.riot.RiotApplication</start-class>
22-
<spring.profiles.active>default</spring.profiles.active>
22+
<!-- <spring.profiles.active>default</spring.profiles.active> -->
2323
</properties>
2424

2525
<scm>
@@ -81,16 +81,7 @@
8181
<dependency>
8282
<groupId>junit</groupId>
8383
<artifactId>junit</artifactId>
84-
<scope>test</scope>
85-
</dependency>
86-
<dependency>
87-
<groupId>org.springframework.boot</groupId>
88-
<artifactId>spring-boot-starter-test</artifactId>
89-
<scope>test</scope>
90-
</dependency>
91-
<dependency>
92-
<groupId>org.springframework.batch</groupId>
93-
<artifactId>spring-batch-test</artifactId>
84+
<version>4.12</version>
9485
<scope>test</scope>
9586
</dependency>
9687
<dependency>

src/main/java/com/redislabs/riot/redis/RedisConverter.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,25 @@
77
import org.springframework.core.convert.ConversionService;
88
import org.springframework.core.convert.support.DefaultConversionService;
99

10+
import lombok.Getter;
1011
import lombok.Setter;
1112

1213
public class RedisConverter {
1314

1415
public static final String KEY_SEPARATOR = ":";
1516

1617
private ConversionService converter = new DefaultConversionService();
18+
@Getter
1719
@Setter
1820
private String keyspace;
21+
@Getter
1922
@Setter
2023
private String[] keys;
2124

2225
public String id(Map<String, Object> item) {
2326
return joinFields(item, keys);
2427
}
2528

26-
public String getKeyspace() {
27-
return keyspace;
28-
}
29-
30-
public String[] getKeys() {
31-
return keys;
32-
}
33-
3429
public String key(Map<String, Object> item) {
3530
return key(id(item));
3631
}
@@ -51,7 +46,7 @@ public String joinFields(Map<String, Object> item, String[] fields) {
5146
}
5247
StringJoiner joiner = new StringJoiner(KEY_SEPARATOR);
5348
for (String field : fields) {
54-
joiner.add(converter.convert(item.get(field), String.class));
49+
joiner.add(converter.convert(item.remove(field), String.class));
5550
}
5651
return joiner.toString();
5752
}

src/main/java/com/redislabs/riot/redis/writer/AbstractRedisItemWriter.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ public abstract class AbstractRedisItemWriter {
1313
@Setter
1414
protected RedisCommands commands;
1515

16-
protected String key(Map<String, Object> item) {
17-
return converter.key(item);
18-
}
19-
2016
public abstract Object write(Object redis, Map<String, Object> item);
2117

2218
}

src/main/java/com/redislabs/riot/redis/writer/GeoWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public Object write(Object redis, Map<String, Object> item) {
2323
}
2424
double lon = converter.convert(longitude, Double.class);
2525
double lat = converter.convert(latitude, Double.class);
26-
return commands.geoadd(redis, key(item), lon, lat, member(item));
26+
return commands.geoadd(redis, converter.key(item), lon, lat, member(item));
2727
}
2828

2929
}

src/main/java/com/redislabs/riot/redis/writer/HashWriter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ public class HashWriter extends AbstractRedisItemWriter {
66

77
@Override
88
public Object write(Object redis, Map<String, Object> item) {
9-
return commands.hmset(redis, key(item), item);
9+
String key = converter.key(item);
10+
return commands.hmset(redis, key, item);
1011
}
1112

1213
}

src/main/java/com/redislabs/riot/redis/writer/ListWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class ListWriter extends AbstractCollectionRedisItemWriter {
99

1010
@Override
1111
public Object write(Object redis, Map<String, Object> item) {
12-
return commands.lpush(redis, key(item), member(item));
12+
return commands.lpush(redis, converter.key(item), member(item));
1313
}
1414

1515
}

src/main/java/com/redislabs/riot/redis/writer/SetWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class SetWriter extends AbstractCollectionRedisItemWriter {
99

1010
@Override
1111
public Object write(Object redis, Map<String, Object> item) {
12-
return commands.sadd(redis, key(item), member(item));
12+
return commands.sadd(redis, converter.key(item), member(item));
1313
}
1414

1515
}

src/main/java/com/redislabs/riot/redis/writer/StreamWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ public class StreamWriter extends AbstractRedisItemWriter {
1313

1414
@Override
1515
public Object write(Object redis, Map<String, Object> item) {
16-
String key = key(item);
16+
String key = converter.key(item);
1717
if (idField == null) {
1818
if (maxlen == null) {
1919
return commands.xadd(redis, key, item);
2020
}
2121
return commands.xadd(redis, key, item, maxlen, approximateTrimming);
2222
}
23-
String id = converter.convert(item.getOrDefault(idField, idField), String.class);
23+
String id = converter.convert(item.remove(idField), String.class);
2424
if (maxlen == null) {
2525
return commands.xadd(redis, key, id, item);
2626
}

src/main/java/com/redislabs/riot/redis/writer/StringWriter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ private ObjectWriter objectWriter(StringFormat format) {
3232

3333
@Override
3434
public Object write(Object redis, Map<String, Object> item) {
35+
String key = converter.key(item);
3536
try {
36-
return commands.set(redis, key(item), objectWriter.writeValueAsString(item));
37+
return commands.set(redis, key, objectWriter.writeValueAsString(item));
3738
} catch (JsonProcessingException e) {
3839
log.error("Could not serialize value: {}", item, e);
3940
return null;

src/main/java/com/redislabs/riot/redis/writer/ZSetWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ZSetWriter extends AbstractCollectionRedisItemWriter {
1414
@Override
1515
public Object write(Object redis, Map<String, Object> item) {
1616
double score = score(item);
17-
return commands.zadd(redis, key(item), score, member(item));
17+
return commands.zadd(redis, converter.key(item), score, member(item));
1818
}
1919

2020
private double score(Map<String, Object> item) {

src/main/java/com/redislabs/riot/redis/writer/search/SearchAddWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ private String payload(Map<String, Object> item) {
3131
if (payloadField == null) {
3232
return null;
3333
}
34-
return converter.convert(item.get(payloadField), String.class);
34+
return converter.convert(item.remove(payloadField), String.class);
3535
}
3636

3737
}

src/main/java/com/redislabs/riot/redis/writer/search/SuggestWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ private String payload(Map<String, Object> item) {
3131
if (payloadField == null) {
3232
return null;
3333
}
34-
return converter.convert(item.get(payloadField), String.class);
34+
return converter.convert(item.remove(payloadField), String.class);
3535
}
3636

3737
}

src/test/java/com/redislabs/riot/ImportCSV.java renamed to src/test/java/com/redislabs/riot/TestImportCSV.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import org.junit.Assert;
66
import org.junit.Test;
77

8-
public class ImportCSV extends BaseTest {
8+
public class TestImportCSV extends BaseTest {
99

1010
@Test
1111
public void importHashes() throws Exception {

src/test/java/com/redislabs/riot/ImportJSON.java renamed to src/test/java/com/redislabs/riot/TestImportJSON.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.junit.Assert;
99
import org.junit.Test;
1010

11-
public class ImportJSON extends BaseTest {
11+
public class TestImportJSON extends BaseTest {
1212

1313
@Test
1414
public void importJSON() throws MalformedURLException, URISyntaxException {

src/test/java/com/redislabs/riot/ImportToRediSearch.java renamed to src/test/java/com/redislabs/riot/TestImportToRediSearch.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import com.redislabs.lettusearch.search.field.PhoneticMatcher;
1212
import com.redislabs.lettusearch.search.field.TextField;
1313

14-
public class ImportToRediSearch extends BaseTest {
14+
public class TestImportToRediSearch extends BaseTest {
1515

1616
@Test
1717
public void importBeers() throws Exception {
@@ -28,7 +28,7 @@ public void importBeers() throws Exception {
2828
schema.field(NumericField.builder().name(FIELD_ABV).sortable(true).build());
2929
schema.field(NumericField.builder().name(FIELD_OUNCES).sortable(true).build());
3030
commands.create(INDEX, schema.build());
31-
run("import csv --header --included-fields=1,3,4,5,6 --url https://raw.githubusercontent.com/nickhould/craft-beers-dataset/master/data/processed/beers.csv search --index beerIdx --keys id");
31+
run("import csv --header --included-fields 1 3 4 5 6 --url https://raw.githubusercontent.com/nickhould/craft-beers-dataset/master/data/processed/beers.csv search --index beerIdx --keys id");
3232
SearchResults<String, String> results = connection.sync().search(INDEX, "*");
3333
Assert.assertEquals(2410, results.getCount());
3434
}

0 commit comments

Comments
 (0)