X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Ffonbot%2FHttpCallExecutableRunnable.java;h=3782accb400f6cdda466b66f2a35aa374126a4ed;hb=b26f32d6098549c204dba44f353e10fe30a29781;hp=d41c7efee78b4988dfe755480e47add1a61791b8;hpb=e154bdfd76071b99635317ef8c7ab11918b88794;p=fonbot.git diff --git a/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java b/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java index d41c7ef..3782acc 100644 --- a/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java +++ b/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java @@ -172,6 +172,8 @@ public final class HttpCallExecutableRunnable extends ExecutableRunnable{ * Callback to run after the request returns */ private final ResultCallback callback; + /** If true, the task should be retried if it fails */ + private final boolean mustRetryTask; /** * Constructs a SendHttpMessageAsyncTask which sends a binary message. @@ -180,13 +182,15 @@ public final class HttpCallExecutableRunnable extends ExecutableRunnable{ * @param headers the extra headers * @param context the context instance * @param resultCallback {@link ResultCallback} instance + * @param mustRetryTask true if this task should be retried if it fails * @param data the message to send */ - public HttpCallExecutableRunnable(final String path, final @Nullable Collection
headers, final Context context, final @Nullable ResultCallback resultCallback, final byte[] data){//NOPMD array is supposed to be immutable. + public HttpCallExecutableRunnable(final String path, final @Nullable Collection
headers, final Context context, final @Nullable ResultCallback resultCallback, final boolean mustRetryTask, final byte[] data){//NOPMD array is supposed to be immutable. this.path=path; this.headers=headers; this.context=context; this.callback=resultCallback; + this.mustRetryTask=mustRetryTask; this.data=data; } @@ -197,13 +201,15 @@ public final class HttpCallExecutableRunnable extends ExecutableRunnable{ * @param headers the extra headers * @param context the context instance * @param resultCallback {@link ResultCallback} instance + * @param mustRetryTask true if this task should be retried if it fails * @param message message to send */ - public HttpCallExecutableRunnable(final String path, final @Nullable Collection
headers, final Context context, final @Nullable ResultCallback resultCallback, final String... message){ + public HttpCallExecutableRunnable(final String path, final @Nullable Collection
headers, final Context context, final @Nullable ResultCallback resultCallback, final boolean mustRetryTask, final String... message){ this.path=path; this.headers=headers; this.context=context; this.callback=resultCallback; + this.mustRetryTask=mustRetryTask; if(message.length == 0) this.data=null;//NOPMD final field else @@ -255,6 +261,8 @@ public final class HttpCallExecutableRunnable extends ExecutableRunnable{ e.printStackTrace(); if(callback != null) callback.onError(toNonNull(context.getString(connection_error))); + if(mustRetryTask) + retry(); } } }