@SuppressWarnings("unchecked") @Override protected R prefetch(A action) { try { // Check if Action available in Cache Object value = super.getCache().get(action); if (value != null && value instanceof Result) { return (R) value; } else { return null; } } catch (Exception e) { return null; } } }
@Override public void onFailure(Throwable caught) { // Call postfetch with null result postfetch(action, null); resultCallback.onFailure(caught); // Callback onFailure List<CallbackDispatchRequest<R>> pendingRequestCallbacks = pendingRequestCallbackMap.remove(action); for (CallbackDispatchRequest<R> pendingRequestCallback : pendingRequestCallbacks) { if (pendingRequestCallback.isPending()) { pendingRequestCallback.onFailure(caught); } } }
R prefetchResult = prefetch(action); if (prefetchResult != null) {
R prefetchResult = prefetch(action); if (prefetchResult != null) {
@Override public void onFailure(Throwable caught) { // Call postfetch with null result postfetch(action, null); resultCallback.onFailure(caught); // Callback onFailure ArrayList<CallbackDispatchRequest<R>> pendingRequestCallbacks = pendingRequestCallbackMap .remove(action); for (CallbackDispatchRequest<R> pendingRequestCallback : pendingRequestCallbacks) { if (pendingRequestCallback.isPending()) { pendingRequestCallback.onFailure(caught); } } }
@Override public DispatchRequest undo(A action, R result, AsyncCallback<Void> callback, UndoCommand<A, R> undoCommand) { // Remove the cached entry getCache().remove(action); // Undo the previous action return undoCommand.undo(action, result, callback); }
@Override public void onSuccess(R result) { // Postfetch postfetch(action, result); resultCallback.onSuccess(result); // Callback onSuccess ArrayList<CallbackDispatchRequest<R>> pendingRequestCallbacks = pendingRequestCallbackMap .remove(action); for (CallbackDispatchRequest<R> pendingRequestCallback : pendingRequestCallbacks) { if (pendingRequestCallback.isPending()) { pendingRequestCallback.onSuccess(result); } } } });
@Override public DispatchRequest undo(A action, R result, AsyncCallback<Void> callback, UndoCommand<A, R> undoCommand) { // Remove the cached entry getCache().remove(action); // Undo the previous action return undoCommand.undo(action, result, callback); }
@Override public void onSuccess(R result) { // Postfetch postfetch(action, result); resultCallback.onSuccess(result); // Callback onSuccess List<CallbackDispatchRequest<R>> pendingRequestCallbacks = pendingRequestCallbackMap.remove(action); for (CallbackDispatchRequest<R> pendingRequestCallback : pendingRequestCallbacks) { if (pendingRequestCallback.isPending()) { pendingRequestCallback.onSuccess(result); } } } });