Skip to content

Commit aaf1fb0

Browse files
committed
Streams for Feeds Implement `insert()` in `FeedDaoRedisImpl.java`.
1 parent d9e1491 commit aaf1fb0

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

src/main/java/com/redislabs/university/RU102J/dao/FeedDaoRedisImpl.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
import com.redislabs.university.RU102J.api.MeterReading;
44
import redis.clients.jedis.*;
55

6-
import java.nio.channels.Pipe;
76
import java.util.ArrayList;
87
import java.util.List;
9-
import java.util.stream.Collectors;
108

119
public class FeedDaoRedisImpl implements FeedDao {
1210

@@ -22,9 +20,21 @@ public FeedDaoRedisImpl(JedisPool jedisPool) {
2220
@Override
2321
public void insert(MeterReading meterReading) {
2422
// START Challenge #6
23+
try (Jedis jedis = jedisPool.getResource()) {
24+
final Pipeline pipelined = jedis.pipelined();
25+
pipelined.xadd(RedisSchema.getGlobalFeedKey(), StreamEntryID.NEW_ENTRY, meterReading.toMap(),
26+
globalMaxFeedLength, true);
27+
pipelined.xadd(RedisSchema.getFeedKey(meterReading.getSiteId()), StreamEntryID.NEW_ENTRY, meterReading.toMap(),
28+
siteMaxFeedLength, true);
29+
pipelined.sync();
30+
}
2531
// END Challenge #6
2632
}
2733

34+
private void insertForKey(String globalFeedKey, MeterReading meterReading, Long maxGlobalDays) {
35+
36+
}
37+
2838
@Override
2939
public List<MeterReading> getRecentGlobal(int limit) {
3040
return getRecent(RedisSchema.getGlobalFeedKey(), limit);

src/test/java/com/redislabs/university/RU102J/dao/FeedDaoRedisImplTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public void flush() {
5353
}
5454

5555
// Challenge #6
56-
@Ignore
5756
@Test
5857
public void testBasicInsertReturnsRecent() {
5958
FeedDao dao = new FeedDaoRedisImpl(jedisPool);

0 commit comments

Comments
 (0)