mobile/android/tests/background/junit3/src/sync/helpers/DefaultStoreDelegate.java

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     4 package org.mozilla.gecko.background.sync.helpers;
     6 import java.util.concurrent.ExecutorService;
     8 import org.mozilla.gecko.sync.repositories.delegates.RepositorySessionStoreDelegate;
    10 public class DefaultStoreDelegate extends DefaultDelegate implements RepositorySessionStoreDelegate {
    12   @Override
    13   public void onRecordStoreFailed(Exception ex, String guid) {
    14     performNotify("Store failed", ex);
    15   }
    17   @Override
    18   public void onRecordStoreSucceeded(String guid) {
    19     performNotify("DefaultStoreDelegate used", null);
    20   }
    22   @Override
    23   public void onStoreCompleted(long storeEnd) {
    24     performNotify("DefaultStoreDelegate used", null);
    25   }
    27   @Override
    28   public RepositorySessionStoreDelegate deferredStoreDelegate(final ExecutorService executor) {
    29     final RepositorySessionStoreDelegate self = this;
    30     return new RepositorySessionStoreDelegate() {
    32       @Override
    33       public void onRecordStoreSucceeded(final String guid) {
    34         executor.execute(new Runnable() {
    35           @Override
    36           public void run() {
    37             self.onRecordStoreSucceeded(guid);
    38           }
    39         });
    40       }
    42       @Override
    43       public void onRecordStoreFailed(final Exception ex, final String guid) {
    44         executor.execute(new Runnable() {
    45           @Override
    46           public void run() {
    47             self.onRecordStoreFailed(ex, guid);
    48           }
    49         });
    50       }
    52       @Override
    53       public void onStoreCompleted(final long storeEnd) {
    54         executor.execute(new Runnable() {
    55           @Override
    56           public void run() {
    57             self.onStoreCompleted(storeEnd);
    58           }
    59         });
    60       }
    62       @Override
    63       public RepositorySessionStoreDelegate deferredStoreDelegate(ExecutorService newExecutor) {
    64         if (newExecutor == executor) {
    65           return this;
    66         }
    67         throw new IllegalArgumentException("Can't re-defer this delegate.");
    68       }
    69     };
    70   }
    71 }

mercurial