Merge pull request #626 from HeartSaVioR/fix-pipeline-throws-npe-without-multi

Fix Pipeline throws NPE using exec without multi (fixes #623)
This commit is contained in:
Marcos Nils
2014-05-25 22:52:41 +03:00
2 changed files with 29 additions and 0 deletions

View File

@@ -104,12 +104,18 @@ public class Pipeline extends MultiKeyPipelineBase {
}
public Response<String> discard() {
if (currentMulti == null)
throw new JedisDataException("DISCARD without MULTI");
client.discard();
currentMulti = null;
return getResponse(BuilderFactory.STRING);
}
public Response<List<Object>> exec() {
if (currentMulti == null)
throw new JedisDataException("EXEC without MULTI");
client.exec();
Response<List<Object>> response = super.getResponse(currentMulti);
currentMulti.setResponseDependency(response);
@@ -118,6 +124,9 @@ public class Pipeline extends MultiKeyPipelineBase {
}
public Response<String> multi() {
if (currentMulti != null)
throw new JedisDataException("MULTI calls can not be nested");
client.multi();
Response<String> response = getResponse(BuilderFactory.STRING); // Expecting
// OK