geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From u..@apache.org
Subject [12/21] geode git commit: GEODE-2449: Moved Redis out of core with minimal Extension work added
Date Fri, 10 Feb 2017 21:34:15 GMT
http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MGetExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MGetExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MGetExecutor.java
deleted file mode 100755
index 7c9e808..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MGetExecutor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-
-public class MGetExecutor extends StringExecutor {
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 2) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.MGET));
-      return;
-    }
-
-    Collection<ByteArrayWrapper> keys = new ArrayList<ByteArrayWrapper>();
-    for (int i = 1; i < commandElems.size(); i++) {
-      byte[] keyArray = commandElems.get(i);
-      ByteArrayWrapper key = new ByteArrayWrapper(keyArray);
-      /*
-       * try { checkDataType(key, RedisDataType.REDIS_STRING, context); } catch
-       * (RedisDataTypeMismatchException e) { keys.ad continue; }
-       */
-      keys.add(key);
-    }
-
-    Map<ByteArrayWrapper, ByteArrayWrapper> results = r.getAll(keys);
-
-    Collection<ByteArrayWrapper> values = new ArrayList<ByteArrayWrapper>();
-
-    /*
-     * This is done to preserve order in the output
-     */
-    for (ByteArrayWrapper key : keys)
-      values.add(results.get(key));
-
-    command.setResponse(Coder.getBulkStringArrayResponse(context.getByteBufAllocator(), values));
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetExecutor.java
deleted file mode 100755
index a98075b..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetExecutor.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-import org.apache.geode.redis.internal.RedisDataTypeMismatchException;
-import org.apache.geode.redis.internal.Coder;
-
-public class MSetExecutor extends StringExecutor {
-
-  private final String SUCCESS = "OK";
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 3 || commandElems.size() % 2 == 0) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.MSET));
-      return;
-    }
-
-    Map<ByteArrayWrapper, ByteArrayWrapper> map = new HashMap<ByteArrayWrapper, ByteArrayWrapper>();
-    for (int i = 1; i < commandElems.size(); i += 2) {
-      byte[] keyArray = commandElems.get(i);
-      ByteArrayWrapper key = new ByteArrayWrapper(keyArray);
-      try {
-        checkAndSetDataType(key, context);
-      } catch (RedisDataTypeMismatchException e) {
-        continue;
-      }
-      byte[] value = commandElems.get(i + 1);
-      map.put(key, new ByteArrayWrapper(value));
-    }
-    r.putAll(map);
-
-    command.setResponse(Coder.getSimpleStringResponse(context.getByteBufAllocator(), SUCCESS));
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetNXExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetNXExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetNXExecutor.java
deleted file mode 100755
index 774886f..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/MSetNXExecutor.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-import org.apache.geode.redis.internal.RedisDataTypeMismatchException;
-import org.apache.geode.redis.internal.Coder;
-
-public class MSetNXExecutor extends StringExecutor {
-
-  private final int SET = 1;
-
-  private final int NOT_SET = 0;
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 3 || commandElems.size() % 2 == 0) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.MSETNX));
-      return;
-    }
-
-    boolean hasEntry = false;
-
-    Map<ByteArrayWrapper, ByteArrayWrapper> map = new HashMap<ByteArrayWrapper, ByteArrayWrapper>();
-    for (int i = 1; i < commandElems.size(); i += 2) {
-      byte[] keyArray = commandElems.get(i);
-      ByteArrayWrapper key = new ByteArrayWrapper(keyArray);
-      try {
-        checkDataType(key, context);
-      } catch (RedisDataTypeMismatchException e) {
-        hasEntry = true;
-        break;
-      }
-      byte[] value = commandElems.get(i + 1);
-      map.put(key, new ByteArrayWrapper(value));
-      if (r.containsKey(key)) {
-        hasEntry = true;
-        break;
-      }
-    }
-    boolean successful = false;
-    if (!hasEntry) {
-      successful = true;
-      for (ByteArrayWrapper k : map.keySet()) {
-        try {
-          checkAndSetDataType(k, context);
-        } catch (RedisDataTypeMismatchException e) {
-          successful = false;
-          break;
-        }
-      }
-      r.putAll(map);
-    }
-    if (successful) {
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), SET));
-    } else {
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), NOT_SET));
-    }
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/PSetEXExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/PSetEXExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/PSetEXExecutor.java
deleted file mode 100755
index c8e6111..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/PSetEXExecutor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-
-
-public class PSetEXExecutor extends SetEXExecutor {
-
-  @Override
-  public boolean timeUnitMillis() {
-    return true;
-  }
-
-  @Override
-  public String getArgsError() {
-    return ArityDef.PSETEX;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetBitExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetBitExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetBitExecutor.java
deleted file mode 100755
index 4fb38d1..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetBitExecutor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.List;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-
-public class SetBitExecutor extends StringExecutor {
-
-  private final String ERROR_NOT_INT = "The number provided must be numeric";
-
-  private final String ERROR_VALUE = "The value is out of range, must be 0 or 1";
-
-  private final String ERROR_ILLEGAL_OFFSET =
-      "The offset is out of range, must be greater than or equal to 0  and at most 4294967295 (512MB)";
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 4) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.SETBIT));
-      return;
-    }
-
-    ByteArrayWrapper key = command.getKey();
-    checkAndSetDataType(key, context);
-    ByteArrayWrapper wrapper = r.get(key);
-
-    long offset;
-    int value;
-    int returnBit = 0;
-    try {
-      byte[] offAr = commandElems.get(2);
-      byte[] valAr = commandElems.get(3);
-      offset = Coder.bytesToLong(offAr);
-      value = Coder.bytesToInt(valAr);
-    } catch (NumberFormatException e) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ERROR_NOT_INT));
-      return;
-    }
-
-    if (value != 0 && value != 1) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ERROR_VALUE));
-      return;
-    }
-
-    if (offset < 0 || offset > 4294967295L) {
-      command
-          .setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ERROR_ILLEGAL_OFFSET));
-      return;
-    }
-
-    int byteIndex = (int) (offset / 8);
-    offset %= 8;
-
-    if (wrapper == null) {
-      byte[] bytes = new byte[byteIndex + 1];
-      if (value == 1)
-        bytes[byteIndex] = (byte) (0x80 >> offset);
-      r.put(key, new ByteArrayWrapper(bytes));
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), 0));
-    } else {
-
-      byte[] bytes = wrapper.toBytes();
-      if (byteIndex < bytes.length)
-        returnBit = (bytes[byteIndex] & (0x80 >> offset)) >> (7 - offset);
-      else
-        returnBit = 0;
-
-      if (byteIndex < bytes.length) {
-        bytes[byteIndex] = value == 1 ? (byte) (bytes[byteIndex] | (0x80 >> offset))
-            : (byte) (bytes[byteIndex] & ~(0x80 >> offset));
-        r.put(key, new ByteArrayWrapper(bytes));
-      } else {
-        byte[] newBytes = new byte[byteIndex + 1];
-        System.arraycopy(bytes, 0, newBytes, 0, bytes.length);
-        newBytes[byteIndex] = value == 1 ? (byte) (newBytes[byteIndex] | (0x80 >> offset))
-            : (byte) (newBytes[byteIndex] & ~(0x80 >> offset));
-        r.put(key, new ByteArrayWrapper(newBytes));
-      }
-
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), returnBit));
-    }
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetEXExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetEXExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetEXExecutor.java
deleted file mode 100755
index b6eb12d..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetEXExecutor.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.List;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.Extendable;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-import org.apache.geode.redis.internal.executor.AbstractExecutor;
-
-public class SetEXExecutor extends StringExecutor implements Extendable {
-
-  private final String ERROR_SECONDS_NOT_A_NUMBER =
-      "The expiration argument provided was not a number";
-
-  private final String ERROR_SECONDS_NOT_LEGAL = "The expiration argument must be greater than 0";
-
-  private final String SUCCESS = "OK";
-
-  private final int VALUE_INDEX = 3;
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 4) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), getArgsError()));
-      return;
-    }
-
-    ByteArrayWrapper key = command.getKey();
-    byte[] value = commandElems.get(VALUE_INDEX);
-
-    byte[] expirationArray = commandElems.get(2);
-    long expiration;
-    try {
-      expiration = Coder.bytesToLong(expirationArray);
-    } catch (NumberFormatException e) {
-      command.setResponse(
-          Coder.getErrorResponse(context.getByteBufAllocator(), ERROR_SECONDS_NOT_A_NUMBER));
-      return;
-    }
-
-    if (expiration <= 0) {
-      command.setResponse(
-          Coder.getErrorResponse(context.getByteBufAllocator(), ERROR_SECONDS_NOT_LEGAL));
-      return;
-    }
-
-    if (!timeUnitMillis())
-      expiration *= AbstractExecutor.millisInSecond;
-
-    checkAndSetDataType(key, context);
-    r.put(key, new ByteArrayWrapper(value));
-
-    context.getRegionProvider().setExpiration(key, expiration);
-
-    command.setResponse(Coder.getSimpleStringResponse(context.getByteBufAllocator(), SUCCESS));
-
-  }
-
-  protected boolean timeUnitMillis() {
-    return false;
-  }
-
-  @Override
-  public String getArgsError() {
-    return ArityDef.SETEX;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetExecutor.java
deleted file mode 100755
index e419ab1..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetExecutor.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.List;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-import org.apache.geode.redis.internal.executor.AbstractExecutor;
-
-public class SetExecutor extends StringExecutor {
-
-  private final String SUCCESS = "OK";
-
-  private final int VALUE_INDEX = 2;
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 3) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.SET));
-      return;
-    }
-
-    ByteArrayWrapper key = command.getKey();
-    checkDataType(key, context);
-    byte[] value = commandElems.get(VALUE_INDEX);
-    ByteArrayWrapper valueWrapper = new ByteArrayWrapper(value);
-
-    boolean NX = false; // Set only if not exists
-    boolean XX = false; // Set only if exists
-    long expiration = 0L;
-
-    if (commandElems.size() >= 6) {
-      String elem4;
-      String elem5;
-      String elem6;
-
-      elem4 = Coder.bytesToString(commandElems.get(3));
-      elem5 = Coder.bytesToString(commandElems.get(4));
-      elem6 = Coder.bytesToString(commandElems.get(5));
-
-      if (elem4.equalsIgnoreCase("XX") || elem6.equalsIgnoreCase("XX"))
-        XX = true;
-      else if (elem4.equalsIgnoreCase("NX") || elem6.equalsIgnoreCase("NX"))
-        NX = true;
-
-      if (elem4.equalsIgnoreCase("PX"))
-        expiration = getExpirationMillis(elem4, elem5);
-      else if (elem5.equalsIgnoreCase("PX"))
-        expiration = getExpirationMillis(elem5, elem6);
-      else if (elem4.equalsIgnoreCase("EX"))
-        expiration = getExpirationMillis(elem4, elem5);
-      else if (elem5.equalsIgnoreCase("EX"))
-        expiration = getExpirationMillis(elem5, elem6);
-
-    } else if (commandElems.size() >= 5) {
-      String elem4;
-      String expiry;
-
-      elem4 = Coder.bytesToString(commandElems.get(3));
-      expiry = Coder.bytesToString(commandElems.get(4));
-
-      expiration = getExpirationMillis(elem4, expiry);
-    } else if (commandElems.size() >= 4) {
-      byte[] elem4 = commandElems.get(3);
-      if (elem4.length == 2 && Character.toUpperCase(elem4[1]) == 'X') {
-        if (Character.toUpperCase(elem4[0]) == 'N')
-          NX = true;
-        else if (Character.toUpperCase(elem4[0]) == 'X')
-          XX = true;
-      }
-    }
-
-    boolean keyWasSet = false;
-
-    if (NX)
-      keyWasSet = setNX(r, command, key, valueWrapper, context);
-    else if (XX)
-      keyWasSet = setXX(r, command, key, valueWrapper, context);
-    else {
-      checkAndSetDataType(key, context);
-      r.put(key, valueWrapper);
-      command.setResponse(Coder.getSimpleStringResponse(context.getByteBufAllocator(), SUCCESS));
-      keyWasSet = true;
-    }
-
-    if (keyWasSet && expiration > 0L) {
-      context.getRegionProvider().setExpiration(key, expiration);
-    }
-
-  }
-
-  private boolean setNX(Region<ByteArrayWrapper, ByteArrayWrapper> r, Command command,
-      ByteArrayWrapper key, ByteArrayWrapper valueWrapper, ExecutionHandlerContext context) {
-    checkAndSetDataType(key, context);
-    Object oldValue = r.putIfAbsent(key, valueWrapper);
-    if (oldValue != null) {
-      command.setResponse(Coder.getNilResponse(context.getByteBufAllocator()));
-      return false;
-    } else {
-      command.setResponse(Coder.getSimpleStringResponse(context.getByteBufAllocator(), SUCCESS));
-      return true;
-    }
-  }
-
-  private boolean setXX(Region<ByteArrayWrapper, ByteArrayWrapper> r, Command command,
-      ByteArrayWrapper key, ByteArrayWrapper valueWrapper, ExecutionHandlerContext context) {
-    if (r.containsKey(key)) {
-      checkAndSetDataType(key, context);
-      r.put(key, valueWrapper);
-      command.setResponse(Coder.getSimpleStringResponse(context.getByteBufAllocator(), SUCCESS));
-      return true;
-    } else {
-      command.setResponse(Coder.getNilResponse(context.getByteBufAllocator()));
-      return false;
-    }
-  }
-
-  private long getExpirationMillis(String expx, String expirationString) {
-    long expiration = 0L;
-    try {
-      expiration = Long.parseLong(expirationString);
-    } catch (NumberFormatException e) {
-      return 0L;
-    }
-
-    if (expx.equalsIgnoreCase("EX"))
-      return expiration * AbstractExecutor.millisInSecond;
-    else if (expx.equalsIgnoreCase("PX"))
-      return expiration;
-    else
-      return 0L;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetNXExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetNXExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetNXExecutor.java
deleted file mode 100755
index 3b2d6f8..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetNXExecutor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.List;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-
-public class SetNXExecutor extends StringExecutor {
-
-  private final int SET = 1;
-
-  private final int NOT_SET = 0;
-
-  private final int VALUE_INDEX = 2;
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 3) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.SETNX));
-      return;
-    }
-
-    ByteArrayWrapper key = command.getKey();
-    checkAndSetDataType(key, context);
-    byte[] value = commandElems.get(VALUE_INDEX);
-
-    Object oldValue = r.putIfAbsent(key, new ByteArrayWrapper(value));
-
-    if (oldValue != null)
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), NOT_SET));
-    else
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), SET));
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetRangeExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetRangeExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetRangeExecutor.java
deleted file mode 100755
index 215aacb..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/SetRangeExecutor.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.List;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-
-public class SetRangeExecutor extends StringExecutor {
-
-  private final String ERROR_NOT_INT = "The number provided must be numeric";
-
-  private final String ERROR_ILLEGAL_OFFSET =
-      "The offset is out of range, must be greater than or equal to 0 and the offset added to the length of the value must be less than 536870911 (512MB), the maximum allowed size";
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 4) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.SETRANGE));
-      return;
-    }
-
-    ByteArrayWrapper key = command.getKey();
-    checkAndSetDataType(key, context);
-    ByteArrayWrapper wrapper = r.get(key);
-
-    int offset;
-    byte[] value = commandElems.get(3);
-    try {
-      byte[] offAr = commandElems.get(2);
-      offset = Coder.bytesToInt(offAr);
-    } catch (NumberFormatException e) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ERROR_NOT_INT));
-      return;
-    }
-
-    int totalLength = offset + value.length;
-    if (offset < 0 || totalLength > 536870911) {
-      command
-          .setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ERROR_ILLEGAL_OFFSET));
-      return;
-    } else if (value.length == 0) {
-      int length = wrapper == null ? 0 : wrapper.toBytes().length;
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), length));
-      if (wrapper == null)
-        context.getRegionProvider().removeKey(key);
-      return;
-    }
-
-    if (wrapper == null) {
-      byte[] bytes = new byte[totalLength];
-      System.arraycopy(value, 0, bytes, offset, value.length);
-      r.put(key, new ByteArrayWrapper(bytes));
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), bytes.length));
-    } else {
-
-      byte[] bytes = wrapper.toBytes();
-      int returnLength;
-      if (totalLength < bytes.length) {
-        System.arraycopy(value, 0, bytes, offset, value.length);
-        r.put(key, new ByteArrayWrapper(bytes));
-        returnLength = bytes.length;
-      } else {
-        byte[] newBytes = new byte[totalLength];
-        System.arraycopy(bytes, 0, newBytes, 0, bytes.length);
-        System.arraycopy(value, 0, newBytes, offset, value.length);
-        returnLength = newBytes.length;
-        r.put(key, new ByteArrayWrapper(newBytes));
-      }
-
-      command.setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), returnLength));
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java
deleted file mode 100755
index fb91f09..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StringExecutor.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisDataType;
-import org.apache.geode.redis.internal.RedisDataTypeMismatchException;
-import org.apache.geode.redis.internal.executor.AbstractExecutor;
-
-public abstract class StringExecutor extends AbstractExecutor {
-
-  protected final void checkAndSetDataType(ByteArrayWrapper key, ExecutionHandlerContext context) {
-    Object oldVal = context.getRegionProvider().metaPutIfAbsent(key, RedisDataType.REDIS_STRING);
-    if (oldVal == RedisDataType.REDIS_PROTECTED)
-      throw new RedisDataTypeMismatchException("The key name \"" + key + "\" is protected");
-    if (oldVal != null && oldVal != RedisDataType.REDIS_STRING)
-      throw new RedisDataTypeMismatchException(
-          "The key name \"" + key + "\" is already used by a " + oldVal.toString());
-  }
-
-  protected void checkDataType(ByteArrayWrapper key, ExecutionHandlerContext context) {
-    RedisDataType currentType = context.getRegionProvider().getRedisDataType(key);
-    if (currentType == null)
-      return;
-    if (currentType == RedisDataType.REDIS_PROTECTED)
-      throw new RedisDataTypeMismatchException("The key name \"" + key + "\" is protected");
-    if (currentType != RedisDataType.REDIS_STRING)
-      throw new RedisDataTypeMismatchException(
-          "The key name \"" + key + "\" is already used by a " + currentType.toString());
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StrlenExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StrlenExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StrlenExecutor.java
deleted file mode 100755
index 8d35279..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/string/StrlenExecutor.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.string;
-
-import java.util.List;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.redis.internal.ByteArrayWrapper;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisDataType;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.RedisConstants.ArityDef;
-
-public class StrlenExecutor extends StringExecutor {
-
-  private final int KEY_DOES_NOT_EXIST = 0;
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    List<byte[]> commandElems = command.getProcessedCommand();
-
-    Region<ByteArrayWrapper, ByteArrayWrapper> r = context.getRegionProvider().getStringsRegion();
-
-    if (commandElems.size() < 2) {
-      command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(), ArityDef.STRLEN));
-      return;
-    }
-
-    ByteArrayWrapper key = command.getKey();
-    checkDataType(key, RedisDataType.REDIS_STRING, context);
-    ByteArrayWrapper valueWrapper = r.get(key);
-
-
-    if (valueWrapper == null)
-      command
-          .setResponse(Coder.getIntegerResponse(context.getByteBufAllocator(), KEY_DOES_NOT_EXIST));
-    else
-      command.setResponse(
-          Coder.getIntegerResponse(context.getByteBufAllocator(), valueWrapper.toBytes().length));
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/DiscardExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/DiscardExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/DiscardExecutor.java
deleted file mode 100755
index 0743076..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/DiscardExecutor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.transactions;
-
-import org.apache.geode.cache.CacheTransactionManager;
-import org.apache.geode.cache.TransactionId;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-
-public class DiscardExecutor extends TransactionExecutor {
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-
-    CacheTransactionManager txm = context.getCacheTransactionManager();
-
-    if (context.hasTransaction()) {
-      TransactionId transactionId = context.getTransactionID();
-      txm.resume(transactionId);
-      txm.rollback();
-      context.clearTransaction();
-    }
-
-    command.setResponse(Coder.getSimpleStringResponse(context.getByteBufAllocator(), "OK"));
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/ExecExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/ExecExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/ExecExecutor.java
deleted file mode 100755
index 632a79d..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/ExecExecutor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.transactions;
-
-import io.netty.buffer.ByteBuf;
-
-import java.util.Queue;
-
-import org.apache.geode.cache.CacheTransactionManager;
-import org.apache.geode.cache.CommitConflictException;
-import org.apache.geode.cache.TransactionId;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants;
-
-public class ExecExecutor extends TransactionExecutor {
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-
-    CacheTransactionManager txm = context.getCacheTransactionManager();
-
-    if (!context.hasTransaction()) {
-      command.setResponse(Coder.getNilResponse(context.getByteBufAllocator()));
-      return;
-    }
-
-    TransactionId transactionId = context.getTransactionID();
-
-    txm.resume(transactionId);
-
-    boolean hasError = hasError(context.getTransactionQueue());
-
-    if (hasError)
-      txm.rollback();
-    else {
-      try {
-        txm.commit();
-      } catch (CommitConflictException e) {
-        command.setResponse(Coder.getErrorResponse(context.getByteBufAllocator(),
-            RedisConstants.ERROR_COMMIT_CONFLICT));
-        context.clearTransaction();
-        return;
-      }
-    }
-
-    ByteBuf response = constructResponseExec(context);
-    command.setResponse(response);
-
-    context.clearTransaction();
-  }
-
-  private ByteBuf constructResponseExec(ExecutionHandlerContext context) {
-    Queue<Command> cQ = context.getTransactionQueue();
-    ByteBuf response = context.getByteBufAllocator().buffer();
-    response.writeByte(Coder.ARRAY_ID);
-    response.writeBytes(Coder.intToBytes(cQ.size()));
-    response.writeBytes(Coder.CRLFar);
-
-    for (Command c : cQ) {
-      ByteBuf r = c.getResponse();
-      response.writeBytes(r);
-    }
-    return response;
-  }
-
-  private boolean hasError(Queue<Command> queue) {
-    for (Command c : queue) {
-      if (c.hasError())
-        return true;
-    }
-    return false;
-  }
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/MultiExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/MultiExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/MultiExecutor.java
deleted file mode 100755
index d269d93..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/MultiExecutor.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.transactions;
-
-import org.apache.geode.cache.CacheTransactionManager;
-import org.apache.geode.cache.TransactionId;
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants;
-
-public class MultiExecutor extends TransactionExecutor {
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-
-    CacheTransactionManager txm = context.getCacheTransactionManager();
-
-    command.setResponse(Coder.getSimpleStringResponse(context.getByteBufAllocator(), "OK"));
-
-    if (context.hasTransaction()) {
-      throw new IllegalStateException(RedisConstants.ERROR_NESTED_MULTI);
-    }
-
-    txm.begin();
-
-    TransactionId id = txm.suspend();
-
-    context.setTransactionID(id);
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/TransactionExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/TransactionExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/TransactionExecutor.java
deleted file mode 100755
index 27ade8f..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/TransactionExecutor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.transactions;
-
-import org.apache.geode.redis.internal.executor.AbstractExecutor;
-
-public abstract class TransactionExecutor extends AbstractExecutor {
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/UnwatchExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/UnwatchExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/UnwatchExecutor.java
deleted file mode 100755
index 3de173e..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/UnwatchExecutor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.transactions;
-
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants;
-
-public class UnwatchExecutor extends TransactionExecutor {
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    command.setResponse(
-        Coder.getErrorResponse(context.getByteBufAllocator(), RedisConstants.ERROR_UNWATCH));
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/WatchExecutor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/WatchExecutor.java b/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/WatchExecutor.java
deleted file mode 100755
index ff6865d..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/executor/transactions/WatchExecutor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis.internal.executor.transactions;
-
-import org.apache.geode.redis.internal.Command;
-import org.apache.geode.redis.internal.Coder;
-import org.apache.geode.redis.internal.ExecutionHandlerContext;
-import org.apache.geode.redis.internal.RedisConstants;
-
-public class WatchExecutor extends TransactionExecutor {
-
-  @Override
-  public void executeCommand(Command command, ExecutionHandlerContext context) {
-    command.setResponse(
-        Coder.getErrorResponse(context.getByteBufAllocator(), RedisConstants.ERROR_WATCH));
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/main/java/org/apache/geode/redis/internal/org/apache/hadoop/fs/GlobPattern.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/redis/internal/org/apache/hadoop/fs/GlobPattern.java b/geode-core/src/main/java/org/apache/geode/redis/internal/org/apache/hadoop/fs/GlobPattern.java
deleted file mode 100644
index b0190f6..0000000
--- a/geode-core/src/main/java/org/apache/geode/redis/internal/org/apache/hadoop/fs/GlobPattern.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.redis.internal.org.apache.hadoop.fs;
-
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-/**
- * A class for POSIX glob pattern with brace expansions.
- */
-public class GlobPattern {
-  private static final char BACKSLASH = '\\';
-  private Pattern compiled;
-  private boolean hasWildcard = false;
-
-  /**
-   * Construct the glob pattern object with a glob pattern string
-   * 
-   * @param globPattern the glob pattern string
-   */
-  public GlobPattern(String globPattern) {
-    set(globPattern);
-  }
-
-  /**
-   * @return the compiled pattern
-   */
-  public Pattern compiled() {
-    return compiled;
-  }
-
-  /**
-   * Compile glob pattern string
-   * 
-   * @param globPattern the glob pattern
-   * @return the pattern object
-   */
-  public static Pattern compile(String globPattern) {
-    return new GlobPattern(globPattern).compiled();
-  }
-
-  /**
-   * Match input against the compiled glob pattern
-   * 
-   * @param s input chars
-   * @return true for successful matches
-   */
-  public boolean matches(CharSequence s) {
-    return compiled.matcher(s).matches();
-  }
-
-  /**
-   * Set and compile a glob pattern
-   * 
-   * @param glob the glob pattern string
-   */
-  public void set(String glob) {
-    StringBuilder regex = new StringBuilder();
-    int setOpen = 0;
-    int curlyOpen = 0;
-    int len = glob.length();
-    hasWildcard = false;
-
-    for (int i = 0; i < len; i++) {
-      char c = glob.charAt(i);
-
-      switch (c) {
-        case BACKSLASH:
-          if (++i >= len) {
-            error("Missing escaped character", glob, i);
-          }
-          regex.append(c).append(glob.charAt(i));
-          continue;
-        case '.':
-        case '$':
-        case '(':
-        case ')':
-        case '|':
-        case '+':
-          // escape regex special chars that are not glob special chars
-          regex.append(BACKSLASH);
-          break;
-        case '*':
-          regex.append('.');
-          hasWildcard = true;
-          break;
-        case '?':
-          regex.append('.');
-          hasWildcard = true;
-          continue;
-        case '{': // start of a group
-          regex.append("(?:"); // non-capturing
-          curlyOpen++;
-          hasWildcard = true;
-          continue;
-        case ',':
-          regex.append(curlyOpen > 0 ? '|' : c);
-          continue;
-        case '}':
-          if (curlyOpen > 0) {
-            // end of a group
-            curlyOpen--;
-            regex.append(")");
-            continue;
-          }
-          break;
-        case '[':
-          if (setOpen > 0) {
-            error("Unclosed character class", glob, i);
-          }
-          setOpen++;
-          hasWildcard = true;
-          break;
-        case '^': // ^ inside [...] can be unescaped
-          if (setOpen == 0) {
-            regex.append(BACKSLASH);
-          }
-          break;
-        case '!': // [! needs to be translated to [^
-          regex.append(setOpen > 0 && '[' == glob.charAt(i - 1) ? '^' : '!');
-          continue;
-        case ']':
-          // Many set errors like [][] could not be easily detected here,
-          // as []], []-] and [-] are all valid POSIX glob and java regex.
-          // We'll just let the regex compiler do the real work.
-          setOpen = 0;
-          break;
-        default:
-      }
-      regex.append(c);
-    }
-
-    if (setOpen > 0) {
-      error("Unclosed character class", glob, len);
-    }
-    if (curlyOpen > 0) {
-      error("Unclosed group", glob, len);
-    }
-    compiled = Pattern.compile(regex.toString());
-  }
-
-  /**
-   * @return true if this is a wildcard pattern (with special chars)
-   */
-  public boolean hasWildcard() {
-    return hasWildcard;
-  }
-
-  private static void error(String message, String pattern, int pos) {
-    throw new PatternSyntaxException(message, pattern, pos);
-  }
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/test/java/org/apache/geode/redis/AuthJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/redis/AuthJUnitTest.java b/geode-core/src/test/java/org/apache/geode/redis/AuthJUnitTest.java
deleted file mode 100644
index e3ebcf7..0000000
--- a/geode-core/src/test/java/org/apache/geode/redis/AuthJUnitTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis;
-
-import org.apache.geode.cache.CacheFactory;
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.distributed.ConfigurationProperties;
-import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.test.junit.categories.IntegrationTest;
-
-import org.apache.geode.redis.GeodeRedisServer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import redis.clients.jedis.Jedis;
-import redis.clients.jedis.exceptions.JedisDataException;
-
-import java.io.IOException;
-import java.util.Random;
-
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.junit.Assert.*;
-
-@Category(IntegrationTest.class)
-public class AuthJUnitTest {
-
-  private static final String PASSWORD = "pwd";
-  Jedis jedis;
-  GeodeRedisServer server;
-  GemFireCache cache;
-  Random rand;
-  int port;
-
-  int runs = 150;
-
-  @Before
-  public void setUp() throws IOException {
-    rand = new Random();
-    port = AvailablePortHelper.getRandomAvailableTCPPort();
-    this.jedis = new Jedis("localhost", port, 100000);
-  }
-
-  @After
-  public void tearDown() throws InterruptedException {
-    server.shutdown();
-    cache.close();
-  }
-
-  private void setupCacheWithPassword() {
-    CacheFactory cf = new CacheFactory();
-    cf.set(LOG_LEVEL, "error");
-    cf.set(MCAST_PORT, "0");
-    cf.set(LOCATORS, "");
-    cf.set(ConfigurationProperties.REDIS_PASSWORD, PASSWORD);
-    cache = cf.create();
-    server = new GeodeRedisServer("localhost", port);
-    server.start();
-  }
-
-  @Test
-  public void testAuthConfig() {
-    setupCacheWithPassword();
-    InternalDistributedSystem iD = (InternalDistributedSystem) cache.getDistributedSystem();
-    assert (iD.getConfig().getRedisPassword().equals(PASSWORD));
-  }
-
-  @Test
-  public void testAuthRejectAccept() {
-    setupCacheWithPassword();
-    Exception ex = null;
-    try {
-      jedis.auth("wrongpwd");
-    } catch (JedisDataException e) {
-      ex = e;
-    }
-    assertNotNull(ex);
-
-    String res = jedis.auth(PASSWORD);
-    assertEquals(res, "OK");
-  }
-
-  @Test
-  public void testAuthNoPwd() {
-    CacheFactory cf = new CacheFactory();
-    cf.set(LOG_LEVEL, "error");
-    cf.set(MCAST_PORT, "0");
-    cf.set(LOCATORS, "");
-    cache = cf.create();
-    server = new GeodeRedisServer("localhost", port);
-    server.start();
-
-    Exception ex = null;
-    try {
-      jedis.auth(PASSWORD);
-    } catch (JedisDataException e) {
-      ex = e;
-    }
-    assertNotNull(ex);
-  }
-
-  @Test
-  public void testAuthAcceptRequests() {
-    setupCacheWithPassword();
-    Exception ex = null;
-    try {
-      jedis.set("foo", "bar");
-    } catch (JedisDataException e) {
-      ex = e;
-    }
-    assertNotNull(ex);
-
-    String res = jedis.auth(PASSWORD);
-    assertEquals(res, "OK");
-
-    jedis.set("foo", "bar"); // No exception
-  }
-
-  @Test
-  public void testSeparateClientRequests() {
-    setupCacheWithPassword();
-    Jedis authorizedJedis = null;
-    Jedis nonAuthorizedJedis = null;
-    try {
-      authorizedJedis = new Jedis("localhost", port, 100000);
-      nonAuthorizedJedis = new Jedis("localhost", port, 100000);
-      String res = authorizedJedis.auth(PASSWORD);
-      assertEquals(res, "OK");
-      authorizedJedis.set("foo", "bar"); // No exception for authorized client
-
-      authorizedJedis.auth(PASSWORD);
-      Exception ex = null;
-      try {
-        nonAuthorizedJedis.set("foo", "bar");
-      } catch (JedisDataException e) {
-        ex = e;
-      }
-      assertNotNull(ex);
-    } finally {
-      if (authorizedJedis != null)
-        authorizedJedis.close();
-      if (nonAuthorizedJedis != null)
-        nonAuthorizedJedis.close();
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/test/java/org/apache/geode/redis/ConcurrentStartTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/redis/ConcurrentStartTest.java b/geode-core/src/test/java/org/apache/geode/redis/ConcurrentStartTest.java
deleted file mode 100644
index 759ee35..0000000
--- a/geode-core/src/test/java/org/apache/geode/redis/ConcurrentStartTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis;
-
-import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.CacheFactory;
-import org.apache.geode.distributed.DistributedSystem;
-import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.internal.cache.GemFireCacheImpl;
-import org.apache.geode.test.junit.categories.IntegrationTest;
-
-import org.apache.geode.redis.GeodeRedisServer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.contrib.java.lang.system.RestoreSystemProperties;
-import org.junit.experimental.categories.Category;
-
-import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
-import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.junit.Assert.assertFalse;
-
-@Category(IntegrationTest.class)
-public class ConcurrentStartTest {
-
-  private Cache cache;
-  private int numServers = 10;
-
-  @Rule
-  public RestoreSystemProperties restoreSystemProperties = new RestoreSystemProperties();
-
-  @Before
-  public void setUp() {
-    System.setProperty(DistributedSystem.PROPERTIES_FILE_PROPERTY,
-        getClass().getSimpleName() + ".properties");
-  }
-
-  @After
-  public void tearDown() {
-    if (this.cache != null) {
-      this.cache.close();
-      this.cache = null;
-    }
-  }
-
-  @Test
-  public void testCachelessStart() throws InterruptedException {
-    runNServers(numServers);
-    GemFireCacheImpl.getInstance().close();
-  }
-
-  @Test
-  public void testCachefulStart() throws InterruptedException {
-    CacheFactory cf = new CacheFactory();
-    cf.set(MCAST_PORT, "0");
-    cf.set(LOCATORS, "");
-    this.cache = cf.create();
-
-    runNServers(numServers);
-  }
-
-  private void runNServers(int n) throws InterruptedException {
-    final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(numServers);
-    final Thread[] threads = new Thread[n];
-    for (int i = 0; i < n; i++) {
-      final int j = i;
-      Runnable r = new Runnable() {
-
-        @Override
-        public void run() {
-          GeodeRedisServer s = new GeodeRedisServer(ports[j]);
-          s.start();
-          s.shutdown();
-        }
-      };
-
-      Thread t = new Thread(r);
-      t.setDaemon(true);
-      t.start();
-      threads[i] = t;
-    }
-    for (Thread t : threads)
-      t.join();
-    this.cache = GemFireCacheImpl.getInstance();
-    assertFalse(this.cache.isClosed());
-  }
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java
deleted file mode 100755
index 5a8ce35..0000000
--- a/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis;
-
-import org.apache.geode.cache.CacheFactory;
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.test.junit.categories.FlakyTest;
-import org.apache.geode.test.junit.categories.IntegrationTest;
-
-import org.apache.geode.redis.GeodeRedisServer;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import redis.clients.jedis.Jedis;
-
-import java.io.IOException;
-import java.util.*;
-
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.junit.Assert.*;
-
-@Category(IntegrationTest.class)
-public class HashesJUnitTest {
-  private static Jedis jedis;
-  private static GeodeRedisServer server;
-  private static GemFireCache cache;
-  private static Random rand;
-  private static int port = 6379;
-
-  @BeforeClass
-  public static void setUp() throws IOException {
-    rand = new Random();
-    CacheFactory cf = new CacheFactory();
-    // cf.set("log-file", "redis.log");
-    cf.set(LOG_LEVEL, "error");
-    cf.set(MCAST_PORT, "0");
-    cf.set(LOCATORS, "");
-    cache = cf.create();
-    port = AvailablePortHelper.getRandomAvailableTCPPort();
-    server = new GeodeRedisServer("localhost", port);
-
-    server.start();
-    jedis = new Jedis("localhost", port, 10000000);
-  }
-
-  @Test
-  public void testHMSetHSetHLen() {
-    int num = 10;
-    String key = randString();
-    Map<String, String> hash = new HashMap<String, String>();
-    for (int i = 0; i < num; i++) {
-      hash.put(randString(), randString());
-    }
-    String response = jedis.hmset(key, hash);
-    assertTrue(response.equals("OK"));
-    assertEquals(new Long(hash.size()), jedis.hlen(key));
-
-    key = randString();
-    hash = new HashMap<String, String>();
-    for (int i = 0; i < num; i++) {
-      hash.put(randString(), randString());
-    }
-    Set<String> keys = hash.keySet();
-    Long count = 1L;
-    for (String field : keys) {
-      Long res = jedis.hset(key, field, hash.get(field));
-      assertTrue(res == 1L);
-      assertEquals(count++, jedis.hlen(key));
-    }
-  }
-
-  @Test
-  public void testHMGetHDelHGetAllHVals() {
-    String key = randString();
-    Map<String, String> hash = new HashMap<String, String>();
-    for (int i = 0; i < 10; i++) {
-      String m = randString();
-      String f = randString();
-      hash.put(m, f);
-    }
-    jedis.hmset(key, hash);
-    Set<String> keys = hash.keySet();
-    String[] keyArray = keys.toArray(new String[keys.size()]);
-    List<String> retList = jedis.hmget(key, keyArray);
-
-    for (int i = 0; i < keys.size(); i++) {
-      assertEquals(retList.get(i), hash.get(keyArray[i]));
-    }
-
-    Map<String, String> retMap = jedis.hgetAll(key);
-
-    assertEquals(retMap, hash);
-
-    List<String> retVals = jedis.hvals(key);
-    Set<String> retSet = new HashSet<String>(retVals);
-
-    assertTrue(retSet.containsAll(hash.values()));
-
-    jedis.hdel(key, keyArray);
-    assertTrue(jedis.hlen(key) == 0);
-  }
-
-  @Test
-  public void testHkeys() {
-    String key = randString();
-    Map<String, String> hash = new HashMap<String, String>();
-    for (int i = 0; i < 10; i++) {
-      hash.put(randString(), randString());
-    }
-    String response = jedis.hmset(key, hash);
-
-    Set<String> keys = hash.keySet();
-    Set<String> retSet = jedis.hkeys(key);
-
-    assertTrue(retSet.containsAll(keys));
-  }
-
-  @Category(FlakyTest.class) // GEODE-1942
-  @Test
-  public void testHIncrBy() {
-    String key = randString();
-    String field = randString();
-
-    Long incr = (long) rand.nextInt(50);
-    if (incr == 0)
-      incr++;
-
-    long response1 = jedis.hincrBy(key, field, incr);
-    assertTrue(response1 == incr);
-
-    long response2 = jedis.hincrBy(randString(), randString(), incr);
-    assertTrue(response2 == incr);
-
-    long response3 = jedis.hincrBy(key, field, incr);
-    assertTrue(response3 == 2 * incr);
-
-
-    String field1 = randString();
-    Exception ex = null;
-    try {
-      jedis.hincrBy(key, field1, Long.MAX_VALUE);
-      jedis.hincrBy(key, field1, incr);
-    } catch (Exception e) {
-      ex = e;
-    }
-
-    assertNotNull(ex);
-  }
-
-  private String randString() {
-    int length = rand.nextInt(8) + 5;
-    StringBuilder rString = new StringBuilder();
-    for (int i = 0; i < length; i++)
-      rString.append((char) (rand.nextInt(57) + 65));
-    return rString.toString();
-    // return Long.toHexString(Double.doubleToLongBits(Math.random()));
-  }
-
-  @After
-  public void flushAll() {
-    jedis.flushAll();
-  }
-
-  @AfterClass
-  public static void tearDown() {
-    jedis.close();
-    cache.close();
-    server.shutdown();
-  }
-}

http://git-wip-us.apache.org/repos/asf/geode/blob/c6dbc6d4/geode-core/src/test/java/org/apache/geode/redis/ListsJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/redis/ListsJUnitTest.java b/geode-core/src/test/java/org/apache/geode/redis/ListsJUnitTest.java
deleted file mode 100755
index c8e8d0c..0000000
--- a/geode-core/src/test/java/org/apache/geode/redis/ListsJUnitTest.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.redis;
-
-import org.apache.geode.cache.CacheFactory;
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.test.junit.categories.IntegrationTest;
-
-import org.apache.geode.redis.GeodeRedisServer;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import redis.clients.jedis.Jedis;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.junit.Assert.*;
-
-@Category(IntegrationTest.class)
-public class ListsJUnitTest {
-
-  private static Jedis jedis;
-  private static GeodeRedisServer server;
-  private static GemFireCache cache;
-  private static Random rand;
-  private static int port = 6379;
-
-  @BeforeClass
-  public static void setUp() throws IOException {
-    rand = new Random();
-    CacheFactory cf = new CacheFactory();
-    // cf.set("log-file", "redis.log");
-    cf.set(LOG_LEVEL, "error");
-    cf.set(MCAST_PORT, "0");
-    cf.set(LOCATORS, "");
-    cache = cf.create();
-    port = AvailablePortHelper.getRandomAvailableTCPPort();
-    server = new GeodeRedisServer("localhost", port);
-
-    server.start();
-    jedis = new Jedis("localhost", port, 10000000);
-  }
-
-  @Test
-  public void testLindex() {
-    int elements = 50;
-    ArrayList<String> strings = new ArrayList<String>();
-    String key = randString();
-    for (int i = 0; i < elements; i++) {
-      String elem = randString();
-      strings.add(elem);
-    }
-    String[] stringArray = strings.toArray(new String[strings.size()]);
-    jedis.rpush(key, stringArray);
-
-
-    for (int i = 0; i < elements; i++) {
-      String gemString = jedis.lindex(key, i);
-      String s = strings.get(i);
-      assertEquals(gemString, s);
-    }
-  }
-
-  @Test
-  public void testLPopRPush() {
-    int elements = 50;
-    ArrayList<String> strings = new ArrayList<String>();
-    String key = randString();
-    for (int i = 0; i < elements; i++) {
-      String elem = randString();
-      strings.add(elem);
-    }
-    String[] stringArray = strings.toArray(new String[strings.size()]);
-    jedis.rpush(key, stringArray);
-
-    for (int i = 0; i < elements; i++) {
-      String gemString = jedis.lpop(key);
-      String s = strings.get(i);
-      assertEquals(s, gemString);
-    }
-  }
-
-  @Test
-  public void testRPopLPush() {
-    int elements = 500;
-    ArrayList<String> strings = new ArrayList<String>();
-    String key = randString();
-    for (int i = 0; i < elements; i++) {
-      String elem = randString();
-      strings.add(elem);
-    }
-    String[] stringArray = strings.toArray(new String[strings.size()]);
-    jedis.lpush(key, stringArray);
-
-    for (int i = 0; i < elements; i++) {
-      String gemString = jedis.rpop(key);
-      String s = strings.get(i);
-      assertEquals(gemString, s);
-    }
-
-  }
-
-  @Test
-  public void testLRange() {
-    int elements = 10;
-    ArrayList<String> strings = new ArrayList<String>();
-    String key = randString();
-    for (int i = 0; i < elements; i++) {
-      String elem = randString();
-      strings.add(elem);
-    }
-    String[] stringArray = strings.toArray(new String[strings.size()]);
-    jedis.rpush(key, stringArray);
-
-    for (int i = 0; i < elements; i++) {
-      List<String> range = jedis.lrange(key, 0, i);
-      assertEquals(range, strings.subList(0, i + 1));
-    }
-
-    for (int i = 0; i < elements; i++) {
-      List<String> range = jedis.lrange(key, i, -1);
-      assertEquals(range, strings.subList(i, strings.size()));
-    }
-  }
-
-  @Test
-  public void testLTrim() {
-    int elements = 5;
-    ArrayList<String> strings = new ArrayList<String>();
-    String key = randString();
-    for (int i = 0; i < elements; i++) {
-      String elem = randString();
-      strings.add(elem);
-    }
-    String[] stringArray = strings.toArray(new String[strings.size()]);
-    jedis.rpush(key, stringArray);
-    // Take off last element one at a time
-    for (int i = elements - 1; i >= 0; i--) {
-      jedis.ltrim(key, 0, i);
-      List<String> range = jedis.lrange(key, 0, -1);
-      assertEquals(range, strings.subList(0, i + 1));
-    }
-    jedis.rpop(key);
-    jedis.rpush(key, stringArray);
-    // Take off first element one at a time
-    for (int i = 1; i < elements; i++) {
-      jedis.ltrim(key, 1, -1);
-      List<String> range = jedis.lrange(key, 0, -1);
-      List<String> expected = strings.subList(i, strings.size());
-      assertEquals(range, expected);
-    }
-  }
-
-  @Test
-  public void testLRPushX() {
-    String key = randString();
-    String otherKey = "Other key";
-    jedis.lpush(key, randString());
-    assertTrue(jedis.lpushx(key, randString()) > 0);
-    assertTrue(jedis.rpushx(key, randString()) > 0);
-
-    assertTrue(jedis.lpushx(otherKey, randString()) == 0);
-    assertTrue(jedis.rpushx(otherKey, randString()) == 0);
-
-    jedis.del(key);
-
-    assertTrue(jedis.lpushx(key, randString()) == 0);
-    assertTrue(jedis.rpushx(key, randString()) == 0);
-  }
-
-  @Test
-  public void testLRem() {
-    int elements = 5;
-    ArrayList<String> strings = new ArrayList<String>();
-    String key = randString();
-    for (int i = 0; i < elements; i++) {
-      String elem = randString();
-      strings.add(elem);
-    }
-    String[] stringArray = strings.toArray(new String[strings.size()]);
-    jedis.rpush(key, stringArray);
-
-    for (int i = 0; i < elements; i++) {
-      String remove = strings.remove(0);
-      jedis.lrem(key, 0, remove);
-      List<String> range = jedis.lrange(key, 0, -1);
-      assertEquals(strings, range);
-    }
-  }
-
-  @Test
-  public void testLSet() {
-    int elements = 10;
-    ArrayList<String> strings = new ArrayList<String>();
-    String key = randString();
-    for (int i = 0; i < elements; i++) {
-      String elem = randString();
-      strings.add(elem);
-    }
-    String[] stringArray = strings.toArray(new String[strings.size()]);
-    jedis.rpush(key, stringArray);
-
-    for (int i = 0; i < elements; i++) {
-      String s = randString();
-      strings.set(i, s);
-      jedis.lset(key, i, s);
-      List<String> range = jedis.lrange(key, 0, -1);
-      assertEquals(range, strings);
-    }
-  }
-
-  private String randString() {
-    int length = rand.nextInt(8) + 5;
-    StringBuilder rString = new StringBuilder();
-    for (int i = 0; i < length; i++)
-      rString.append((char) (rand.nextInt(57) + 65));
-    // return rString.toString();
-    return Long.toHexString(Double.doubleToLongBits(Math.random()));
-  }
-
-  @After
-  public void flushAll() {
-    jedis.flushAll();
-  }
-
-  @AfterClass
-  public static void tearDown() {
-    jedis.close();
-    cache.close();
-    server.shutdown();
-  }
-}


Mime
View raw message