/*
* * This file is part of the Hesperides distribution.
* * (https://github.com/voyages-sncf-technologies/hesperides)
* * Copyright (c) 2016 VSCT.
* *
* * Hesperides is free software: you can redistribute it and/or modify
* * it under the terms of the GNU General Public License as
* * published by the Free Software Foundation, version 3.
* *
* * Hesperides is distributed in the hope that it will be useful, but
* * WITHOUT ANY WARRANTY; without even the implied warranty of
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* * General Public License for more details.
* *
* * You should have received a copy of the GNU General Public License
* * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.vsct.dt.hesperides.util;
import redis.clients.jedis.*;
import redis.clients.util.Slowlog;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
* Created by emeric_martineau on 02/06/2016.
*/
public class JedisMock implements JedisCommands, MultiKeyCommands, AdvancedJedisCommands, ScriptingCommands, BasicCommands, ClusterCommands, AutoCloseable {
/**
* Simulate list in redis.
*/
private final Map<String, List<String>> redisList = new HashMap<>();
/**
* Simulate key/value in redis.
*/
private final Map<String, String> redisString = new HashMap<>();
@Override
public List<String> configGet(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String configSet(String s, String s1) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String slowlogReset() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long slowlogLen() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public List<Slowlog> slowlogGet() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public List<Slowlog> slowlogGet(long l) {
return null;
}
@Override
public Long objectRefcount(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String objectEncoding(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long objectIdletime(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String ping() {
return "OK";
}
@Override
public String quit() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String flushDB() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long dbSize() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String select(int i) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String flushAll() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String auth(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String save() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String bgsave() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String bgrewriteaof() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long lastsave() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String shutdown() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String info() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String info(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String slaveof(String s, int i) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String slaveofNoOne() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long getDB() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String debug(DebugParams debugParams) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String configResetStat() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long waitReplicas(int i, long l) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterNodes() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterMeet(String s, int i) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterAddSlots(int... ints) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterDelSlots(int... ints) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterInfo() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public List<String> clusterGetKeysInSlot(int i, int i1) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterSetSlotNode(int i, String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterSetSlotMigrating(int i, String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterSetSlotImporting(int i, String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterSetSlotStable(int i) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterForget(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public String clusterFlushSlots() {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long clusterKeySlot(String s) {
throw new UnsupportedOperationException("configGet() not implemented.");
//return null;
}
@Override
public Long clusterCountKeysInSlot(int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String clusterSaveConfig() {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String clusterReplicate(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> clusterSlaves(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String clusterFailover() {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<Object> clusterSlots() {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String clusterReset(JedisCluster.Reset reset) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String set(String redisKey, String s1) {
this.redisString.put(redisKey, s1);
return s1;
}
@Override
public String set(String s, String s1, String s2, String s3, long l) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String get(String redisKey) {
return this.redisString.get(redisKey);
}
@Override
public Boolean exists(String redisKey) {
return this.redisList.containsKey(redisKey) || this.redisString.containsKey(redisKey);
}
@Override
public Long persist(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String type(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long expire(String s, int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long expireAt(String s, long l) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long ttl(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Boolean setbit(String s, long l, boolean b) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Boolean setbit(String s, long l, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Boolean getbit(String s, long l) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long setrange(String s, long l, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String getrange(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String getSet(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long setnx(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String setex(String s, int i, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long decrBy(String s, long l) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long decr(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long incrBy(String s, long l) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long incr(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long append(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String substr(String s, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long hset(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String hget(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long hsetnx(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String hmset(String s, Map<String, String> map) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> hmget(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long hincrBy(String s, String s1, long l) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Boolean hexists(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long hdel(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long hlen(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> hkeys(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> hvals(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Map<String, String> hgetAll(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long rpush(String redisKey, String... strings) {
//return null;
//throw new UnsupportedOperationException("Not implemented.");
List<String> currentStream = this.redisList.get(redisKey);
if (currentStream == null) {
currentStream = new ArrayList<>();
this.redisList.put(redisKey, currentStream);
}
for (int i = 0; i < strings.length; i++) {
currentStream.add(strings[i]);
}
return (long) currentStream.size();
}
@Override
public Long lpush(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long llen(String redisKey) {
final List<String> currentStream = this.redisList.get(redisKey);
int len;
if (currentStream == null) {
len = 0;
} else {
len = currentStream.size();
}
return (long) len;
}
@Override
public List<String> lrange(String redisKey, long start, long stop) {
final List<String> currentStream = this.redisList.get(redisKey);
List<String> subList = null;
if (currentStream != null) {
/* Out-of-range indexes
* Out of range indexes will not produce an error. If start is larger than the end of the list, an empty
* list is returned. If stop is larger than the actual end of the list, Redis will treat it like the last
* element of the list.
*/
if (start >= currentStream.size()) {
subList = new ArrayList<>();
} else {
if (start < 0) {
start = 0;
}
if (stop > currentStream.size()) {
stop = (long) currentStream.size();
} else if (stop < 0) {
stop = (long) currentStream.size() + 1 + stop;
} else {
stop++;
}
try {
subList = currentStream.subList((int) start, (int) stop);
} catch (IndexOutOfBoundsException e) {
System.out.println("Ouille !");
}
}
} else {
subList = new ArrayList<>();
}
return subList;
}
@Override
public String ltrim(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String lindex(String s, long l) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String lset(String s, long l, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long lrem(String s, long l, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String lpop(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String rpop(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long sadd(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> smembers(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long srem(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String spop(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long scard(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Boolean sismember(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String srandmember(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> srandmember(String s, int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long strlen(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zadd(String s, double v, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zadd(String s, Map<String, Double> map) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrange(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zrem(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Double zincrby(String s, double v, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zrank(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zrevrank(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrevrange(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrangeWithScores(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrevrangeWithScores(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zcard(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Double zscore(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> sort(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> sort(String s, SortingParams sortingParams) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zcount(String s, double v, double v1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zcount(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrangeByScore(String s, double v, double v1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrangeByScore(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrevrangeByScore(String s, double v, double v1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrangeByScore(String s, double v, double v1, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrevrangeByScore(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrangeByScore(String s, String s1, String s2, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrevrangeByScore(String s, double v, double v1, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrangeByScoreWithScores(String s, double v, double v1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrevrangeByScoreWithScores(String s, double v, double v1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrangeByScoreWithScores(String s, double v, double v1, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrevrangeByScore(String s, String s1, String s2, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrangeByScoreWithScores(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrevrangeByScoreWithScores(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrangeByScoreWithScores(String s, String s1, String s2, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrevrangeByScoreWithScores(String s, double v, double v1, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<Tuple> zrevrangeByScoreWithScores(String s, String s1, String s2, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zremrangeByRank(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zremrangeByScore(String s, double v, double v1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zremrangeByScore(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zlexcount(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrangeByLex(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> zrangeByLex(String s, String s1, String s2, int i, int i1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zremrangeByLex(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long linsert(String s, BinaryClient.LIST_POSITION list_position, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long lpushx(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long rpushx(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> blpop(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> blpop(int i, String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> brpop(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> brpop(int i, String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long del(String s) {
long r;
if (this.redisList.containsKey(s) || this.redisString.containsKey(s)) {
r = 1L;
} else {
r = 0L;
}
this.redisList.remove(s);
this.redisString.remove(s);
return r;
}
@Override
public String echo(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long move(String s, int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long bitcount(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long bitcount(String s, long l, long l1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<Map.Entry<String, String>> hscan(String s, int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<String> sscan(String s, int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<Tuple> zscan(String s, int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<Map.Entry<String, String>> hscan(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<String> sscan(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<Tuple> zscan(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long pfadd(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public long pfcount(String s) {
return 0;
}
@Override
public Long del(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> blpop(int i, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> brpop(int i, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> blpop(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<String> brpop(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> keys(final String patternKey) {
final List<String> listOfKeys = new ArrayList<>();
final String searchPattern = Pattern.compile("\\*").matcher(patternKey).replaceAll(".*");
final Pattern p = Pattern.compile(searchPattern);
listRedisKeys(this.redisList, listOfKeys, p);
listRedisKeys(this.redisString, listOfKeys, p);
return listOfKeys.stream().collect(Collectors.toSet());
}
private void listRedisKeys(Map<String, ?> map, List<String> listOfKeys, Pattern p) {
Matcher m;
for (Map.Entry<String, ?> entry : map.entrySet()) {
m = p.matcher(entry.getKey());
if (m.matches()) {
listOfKeys.add(entry.getKey());
}
}
}
@Override
public List<String> mget(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String mset(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long msetnx(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String rename(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long renamenx(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String rpoplpush(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> sdiff(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long sdiffstore(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> sinter(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long sinterstore(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long smove(String s, String s1, String s2) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long sort(String s, SortingParams sortingParams, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long sort(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Set<String> sunion(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long sunionstore(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String watch(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String unwatch() {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zinterstore(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zinterstore(String s, ZParams zParams, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zunionstore(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long zunionstore(String s, ZParams zParams, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String brpoplpush(String s, String s1, int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long publish(String s, String s1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public void subscribe(JedisPubSub jedisPubSub, String... strings) {
}
@Override
public void psubscribe(JedisPubSub jedisPubSub, String... strings) {
}
@Override
public String randomKey() {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Long bitop(BitOP bitOP, String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<String> scan(int i) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public ScanResult<String> scan(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String pfmerge(String s, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public long pfcount(String... strings) {
return 0;
}
@Override
public Object eval(String s, int i, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Object eval(String s, List<String> list, List<String> list1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Object eval(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Object evalsha(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Object evalsha(String s, List<String> list, List<String> list1) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Object evalsha(String s, int i, String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public Boolean scriptExists(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public List<Boolean> scriptExists(String... strings) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
@Override
public String scriptLoad(String s) {
//return null;
throw new UnsupportedOperationException("Not implemented.");
}
public void clear() {
this.redisList.clear();
this.redisString.clear();
}
@Override
public void close() throws Exception {
// Nothing
}
public String getLastEvent(String streamName) {
final List<String> eventList = this.redisList.get(streamName);
return eventList.get(eventList.size() - 1);
}
}