Skip to content

Commit

Permalink
Merge pull request #45 from malakaganga/improve_con
Browse files Browse the repository at this point in the history
Implement connection oriented model for RedisConnector
  • Loading branch information
malakaganga authored Jun 6, 2024
2 parents efc3b88 + d36433f commit d5d90fd
Show file tree
Hide file tree
Showing 171 changed files with 5,056 additions and 292 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<groupId>org.wso2.carbon.connector</groupId>
<artifactId>org.wso2.carbon.connector.redis</artifactId>
<packaging>jar</packaging>
<version>3.0.0</version>
<version>3.1.0</version>
<name>WSO2 Carbon - Mediation Library Connector For Redis</name>
<url>http://wso2.org</url>
<properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ public class Append extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
String value = messageContext.getProperty(RedisConstants.VALUE).toString();
Long response;
if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().append(key, value);
response = serverObj.getJedisCluster(messageContext).append(key, value);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.append(key, value);
} finally {
if (jedis != null) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/wso2/carbon/connector/operations/BlPop.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ public void connect(MessageContext messageContext) throws ConnectException {
String[] keyValue = key.split(" ");
List<String> response;

serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().blpop(blPopTimeout, keyValue);
response = serverObj.getJedisCluster(messageContext).blpop(blPopTimeout, keyValue);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.blpop(blPopTimeout, keyValue);
} finally {
if (jedis != null) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/wso2/carbon/connector/operations/BrPop.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,18 @@ public class BrPop extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
int brpopTimeout = Integer.parseInt(messageContext.getProperty(RedisConstants.BRPOPTIMEOUT).toString());
String[] keyValue = key.split(" ");
List<String> response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().brpop(brpopTimeout, keyValue);
response = serverObj.getJedisCluster(messageContext).brpop(brpopTimeout, keyValue);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.brpop(brpopTimeout, keyValue);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@ public class DecrBy extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
long value = Long.parseLong(messageContext.getProperty(RedisConstants.INTEGER).toString());
Long response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().decrBy(key, value);
response = serverObj.getJedisCluster(messageContext).decrBy(key, value);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.decrBy(key, value);
} finally {
if (jedis != null) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/wso2/carbon/connector/operations/Del.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ public void connect(MessageContext messageContext) throws ConnectException {
String[] keyValue = key.split(" ");
Long response;

serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().del(keyValue);
response = serverObj.getJedisCluster(messageContext).del(keyValue);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.del(keyValue);
} finally {
if (jedis != null) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/wso2/carbon/connector/operations/Echo.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ public class Echo extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.MESSAGE).toString();
String response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().echo(key);
response = serverObj.getJedisCluster(messageContext).echo(key);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.echo(key);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ public class Exists extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
Boolean response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().exists(key);
response = serverObj.getJedisCluster(messageContext).exists(key);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.exists(key);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ public class Expire extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
int seconds = Integer.parseInt(messageContext.getProperty(RedisConstants.SECONDS).toString());
Long response;
if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().expire(key, seconds);
response = serverObj.getJedisCluster(messageContext).expire(key, seconds);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.expire(key, seconds);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ public class ExpireAt extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
long unixTime = Long.parseLong(messageContext.getProperty(RedisConstants.UNIXTIME).toString());
Long response;
if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().expireAt(key, unixTime);
response = serverObj.getJedisCluster(messageContext).expireAt(key, unixTime);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.expireAt(key, unixTime);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ public class FlushAll extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String response = null;

if (serverObj.isClusterEnabled()) {
handleException("Unsupported operation \"flushAll()\" in Redis Cluster", messageContext);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.flushAll();
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ public class FlushDB extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String response = null;

if (serverObj.isClusterEnabled()) {
handleException("Unsupported operation \"fflushDB()\" in Redis Cluster", messageContext);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.flushDB();
} finally {
if (jedis != null) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/wso2/carbon/connector/operations/Get.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ public class Get extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
String response;
if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().get(key);
response = serverObj.getJedisCluster(messageContext).get(key);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.get(key);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ public class GetObjectIdleTime extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
String response;
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.objectIdletime(key.getBytes()).toString();
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@ public class GetRange extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
long start = Long.parseLong(messageContext.getProperty(RedisConstants.START).toString());
long end = Long.parseLong(messageContext.getProperty(RedisConstants.END).toString());
String response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().getrange(key, start, end);
response = serverObj.getJedisCluster(messageContext).getrange(key, start, end);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.getrange(key, start, end);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@ public class GetSet extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
String value = messageContext.getProperty(RedisConstants.VALUE).toString();
String response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().getSet(key, value);
response = serverObj.getJedisCluster(messageContext).getSet(key, value);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.getSet(key, value);
} finally {
if (jedis != null) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/wso2/carbon/connector/operations/HDel.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,18 @@ public class HDel extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
String fields = messageContext.getProperty(RedisConstants.FIELDS).toString();
String[] keyValue = fields.split(" ");
Long response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().hdel(key, keyValue);
response = serverObj.getJedisCluster(messageContext).hdel(key, keyValue);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.hdel(key, keyValue);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@ public class HExists extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
String field = messageContext.getProperty(RedisConstants.FIELD).toString();
Boolean response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().hexists(key, field);
response = serverObj.getJedisCluster(messageContext).hexists(key, field);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.hexists(key, field);
} finally {
if (jedis != null) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/wso2/carbon/connector/operations/HGet.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@ public class HGet extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
String field = messageContext.getProperty(RedisConstants.FIELD).toString();
String response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().hget(key, field);
response = serverObj.getJedisCluster(messageContext).hget(key, field);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.hget(key, field);
} finally {
if (jedis != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,16 @@ public class HGetAll extends AbstractConnector {
public void connect(MessageContext messageContext) throws ConnectException {
RedisServer serverObj = null;
try {
serverObj = new RedisServer(messageContext);
serverObj = RedisConfig.getRedisServerInstance(messageContext);
String key = messageContext.getProperty(RedisConstants.KEY).toString();
Map<String, String> response;

if (serverObj.isClusterEnabled()) {
response = serverObj.getJedisCluster().hgetAll(key);
response = serverObj.getJedisCluster(messageContext).hgetAll(key);
} else {
Jedis jedis = null;
try {
jedis = serverObj.getJedis();
jedis = serverObj.getJedis(messageContext);
response = jedis.hgetAll(key);
} finally {
if (jedis != null) {
Expand Down
Loading

0 comments on commit d5d90fd

Please sign in to comment.