From c74a780923ac3f87b3ef435a9360fddda9f63dd0 Mon Sep 17 00:00:00 2001 From: kikuchy Date: Tue, 7 Feb 2017 00:39:44 +0900 Subject: [PATCH 1/7] put interface for ContributorsRepository for abstruction --- .../contributors/ContributorsDataSource.java | 10 ++++++++++ .../contributors/ContributorsLocalDataSource.java | 5 +++-- .../contributors/ContributorsRemoteDataSource.java | 5 +++-- .../contributors/ContributorsRepository.java | 3 ++- 4 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsDataSource.java diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsDataSource.java new file mode 100644 index 00000000..2e9a7979 --- /dev/null +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsDataSource.java @@ -0,0 +1,10 @@ +package io.github.droidkaigi.confsched2017.repository.contributors; + +import java.util.List; + +import io.github.droidkaigi.confsched2017.model.Contributor; +import io.reactivex.Single; + +public interface ContributorsDataSource { + Single> findAll(); +} diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java index 4e140270..28d22553 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java @@ -12,7 +12,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; -final class ContributorsLocalDataSource { +final class ContributorsLocalDataSource implements ContributorsDataSource { private final OrmaDatabase orma; @@ -21,7 +21,8 @@ final class ContributorsLocalDataSource { this.orma = orma; } - Single> findAll() { + @Override + public Single> findAll() { return orma.selectFromContributor() .executeAsObservable() .toList() diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java index 3bddb215..4867f62d 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java @@ -9,7 +9,7 @@ import io.reactivex.Single; import io.reactivex.schedulers.Schedulers; -public class ContributorsRemoteDataSource { +public class ContributorsRemoteDataSource implements ContributorsDataSource { private final DroidKaigiClient client; @@ -18,7 +18,8 @@ public class ContributorsRemoteDataSource { this.client = client; } - Single> findAll() { + @Override + public Single> findAll() { return client.getContributors().subscribeOn(Schedulers.io()); } diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java index 1b808208..000a6c89 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java @@ -12,7 +12,7 @@ import io.reactivex.Single; @Singleton -public class ContributorsRepository { +public class ContributorsRepository implements ContributorsDataSource { private final ContributorsLocalDataSource localDataSource; @@ -30,6 +30,7 @@ public class ContributorsRepository { this.isDirty = true; } + @Override public Single> findAll() { if (cachedContributors != null && !cachedContributors.isEmpty() && !isDirty) { return Single.create(emitter -> { From 00e17b78625a799a09311b9635219726f76f2758 Mon Sep 17 00:00:00 2001 From: kikuchy Date: Tue, 7 Feb 2017 01:14:16 +0900 Subject: [PATCH 2/7] separate Readonly/Mutable datasource of contributors --- .../contributors/ContributorsLocalDataSource.java | 5 +++-- ...rsDataSource.java => ContributorsReadDataSource.java} | 2 +- .../contributors/ContributorsReadWriteDataSource.java | 9 +++++++++ .../contributors/ContributorsRemoteDataSource.java | 2 +- .../repository/contributors/ContributorsRepository.java | 6 +++--- 5 files changed, 17 insertions(+), 7 deletions(-) rename app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/{ContributorsDataSource.java => ContributorsReadDataSource.java} (83%) create mode 100644 app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java index 28d22553..a10166c8 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java @@ -12,7 +12,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; -final class ContributorsLocalDataSource implements ContributorsDataSource { +final class ContributorsLocalDataSource implements ContributorsReadWriteDataSource { private final OrmaDatabase orma; @@ -33,7 +33,8 @@ private void updateAllSync(List contributors) { orma.prepareInsertIntoContributor(OnConflict.REPLACE).executeAll(contributors); } - void updateAllAsync(List contributors) { + @Override + public void updateAllAsync(List contributors) { orma.transactionAsCompletable(() -> updateAllSync(contributors)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadDataSource.java similarity index 83% rename from app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsDataSource.java rename to app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadDataSource.java index 2e9a7979..f6a8756f 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadDataSource.java @@ -5,6 +5,6 @@ import io.github.droidkaigi.confsched2017.model.Contributor; import io.reactivex.Single; -public interface ContributorsDataSource { +public interface ContributorsReadDataSource { Single> findAll(); } diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java new file mode 100644 index 00000000..f56ad490 --- /dev/null +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java @@ -0,0 +1,9 @@ +package io.github.droidkaigi.confsched2017.repository.contributors; + +import java.util.List; + +import io.github.droidkaigi.confsched2017.model.Contributor; + +public interface ContributorsReadWriteDataSource extends ContributorsReadDataSource { + void updateAllAsync(List contributors); +} diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java index 4867f62d..46c2894e 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java @@ -9,7 +9,7 @@ import io.reactivex.Single; import io.reactivex.schedulers.Schedulers; -public class ContributorsRemoteDataSource implements ContributorsDataSource { +public class ContributorsRemoteDataSource implements ContributorsReadDataSource { private final DroidKaigiClient client; diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java index 000a6c89..76b74797 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java @@ -12,11 +12,11 @@ import io.reactivex.Single; @Singleton -public class ContributorsRepository implements ContributorsDataSource { +public class ContributorsRepository implements ContributorsReadDataSource { - private final ContributorsLocalDataSource localDataSource; + private final ContributorsReadWriteDataSource localDataSource; - private final ContributorsRemoteDataSource remoteDataSourse; + private final ContributorsReadDataSource remoteDataSourse; private Map cachedContributors; From f5d73d6e38698f4283a12928e508995011b406b0 Mon Sep 17 00:00:00 2001 From: kikuchy Date: Tue, 7 Feb 2017 01:56:15 +0900 Subject: [PATCH 3/7] add test for contributers repository --- .../contributors/ContributorsRepository.java | 8 +++ .../ContributorsRepositoryTest.kt | 63 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java index 76b74797..5e10e595 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java @@ -30,6 +30,14 @@ public class ContributorsRepository implements ContributorsReadDataSource { this.isDirty = true; } + /* for test */ + ContributorsRepository(ContributorsReadWriteDataSource localDataSource, ContributorsReadDataSource remoteDataSource) { + this.localDataSource = localDataSource; + this.remoteDataSourse = remoteDataSource; + this.cachedContributors = new LinkedHashMap<>(); + this.isDirty = true; + } + @Override public Single> findAll() { if (cachedContributors != null && !cachedContributors.isEmpty() && !isDirty) { diff --git a/app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt b/app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt new file mode 100644 index 00000000..7f03dc74 --- /dev/null +++ b/app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt @@ -0,0 +1,63 @@ +package io.github.droidkaigi.confsched2017.repository.contributors + +import io.github.droidkaigi.confsched2017.model.Contributor +import io.reactivex.Single +import org.junit.Assert.assertEquals +import org.junit.Test + +class ContributorsRepositoryTest { + + @Test + @Throws(Exception::class) + fun findAllFromEmptyRepository() { + val localRepository = object : ContributorsReadWriteDataSource { + override fun findAll(): Single> = Single.just(listOf()) + + override fun updateAllAsync(contributors: List?) = Unit + } + val remoteRepository = object : ContributorsReadDataSource { + override fun findAll(): Single> = Single.just(listOf()) + } + + val repository = ContributorsRepository(localRepository, remoteRepository) + repository.findAll().test().assertOf { check -> + check.assertNoErrors() + check.assertValue(listOf()) + } + } + + @Test + @Throws(Exception::class) + fun updateLocalWhenRemoteReturns() { + class StubLocalRepository: ContributorsReadWriteDataSource { + var contributors: List? = listOf() + override fun findAll(): Single> = Single.just(listOf()) + + override fun updateAllAsync(contributors: List?) { + this.contributors = contributors + } + } + val contributors = listOf( + Contributor().apply { + name = "Alice" + }, + Contributor().apply { + name = "Bob" + }, + Contributor().apply { + name = "Charlie" + } + ) + val localRepository = StubLocalRepository() + val remoteRepository = object : ContributorsReadDataSource { + override fun findAll(): Single> = Single.just(contributors) + } + + val repository = ContributorsRepository(localRepository, remoteRepository) + repository.findAll().test().assertOf { check -> + check.assertNoErrors() + assertEquals(localRepository.contributors, contributors) + } + } + +} \ No newline at end of file From 1f18747dabd2515163501b6e01cf198f28646048 Mon Sep 17 00:00:00 2001 From: kikuchy Date: Tue, 7 Feb 2017 02:40:02 +0900 Subject: [PATCH 4/7] make DataSources open public class for mocking --- .../repository/contributors/ContributorsLocalDataSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java index a10166c8..d4a1288b 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java @@ -12,7 +12,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; -final class ContributorsLocalDataSource implements ContributorsReadWriteDataSource { +public class ContributorsLocalDataSource implements ContributorsReadWriteDataSource { private final OrmaDatabase orma; From 1722b8106db7bcc587ddcf20b3cbbe1297415bd0 Mon Sep 17 00:00:00 2001 From: kikuchy Date: Tue, 7 Feb 2017 02:41:03 +0900 Subject: [PATCH 5/7] remove constructor only for test --- .../repository/contributors/ContributorsRepository.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java index 5e10e595..76b74797 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java @@ -30,14 +30,6 @@ public class ContributorsRepository implements ContributorsReadDataSource { this.isDirty = true; } - /* for test */ - ContributorsRepository(ContributorsReadWriteDataSource localDataSource, ContributorsReadDataSource remoteDataSource) { - this.localDataSource = localDataSource; - this.remoteDataSourse = remoteDataSource; - this.cachedContributors = new LinkedHashMap<>(); - this.isDirty = true; - } - @Override public Single> findAll() { if (cachedContributors != null && !cachedContributors.isEmpty() && !isDirty) { From d26b8154e65baa1068c56c892b04516cad8f2357 Mon Sep 17 00:00:00 2001 From: kikuchy Date: Tue, 7 Feb 2017 02:47:55 +0900 Subject: [PATCH 6/7] use (k)mockito...but... --- .../ContributorsRepositoryTest.kt | 40 +++++++------------ 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt b/app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt index 7f03dc74..26e10619 100644 --- a/app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt +++ b/app/src/test/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepositoryTest.kt @@ -1,25 +1,25 @@ package io.github.droidkaigi.confsched2017.repository.contributors +import com.sys1yagi.kmockito.invoked +import com.sys1yagi.kmockito.mock +import com.sys1yagi.kmockito.verify import io.github.droidkaigi.confsched2017.model.Contributor import io.reactivex.Single -import org.junit.Assert.assertEquals import org.junit.Test +import org.mockito.Mockito class ContributorsRepositoryTest { + private val localDataSource = mock() + private val remoteDataSource = mock() + + private val repository = ContributorsRepository(localDataSource, remoteDataSource) + @Test @Throws(Exception::class) fun findAllFromEmptyRepository() { - val localRepository = object : ContributorsReadWriteDataSource { - override fun findAll(): Single> = Single.just(listOf()) - - override fun updateAllAsync(contributors: List?) = Unit - } - val remoteRepository = object : ContributorsReadDataSource { - override fun findAll(): Single> = Single.just(listOf()) - } - - val repository = ContributorsRepository(localRepository, remoteRepository) + localDataSource.findAll().invoked.thenReturn(Single.just(listOf())) + remoteDataSource.findAll().invoked.thenReturn(Single.just(listOf())) repository.findAll().test().assertOf { check -> check.assertNoErrors() check.assertValue(listOf()) @@ -29,14 +29,6 @@ class ContributorsRepositoryTest { @Test @Throws(Exception::class) fun updateLocalWhenRemoteReturns() { - class StubLocalRepository: ContributorsReadWriteDataSource { - var contributors: List? = listOf() - override fun findAll(): Single> = Single.just(listOf()) - - override fun updateAllAsync(contributors: List?) { - this.contributors = contributors - } - } val contributors = listOf( Contributor().apply { name = "Alice" @@ -48,15 +40,11 @@ class ContributorsRepositoryTest { name = "Charlie" } ) - val localRepository = StubLocalRepository() - val remoteRepository = object : ContributorsReadDataSource { - override fun findAll(): Single> = Single.just(contributors) - } - - val repository = ContributorsRepository(localRepository, remoteRepository) + localDataSource.findAll().invoked.thenReturn(Single.just(listOf())) + remoteDataSource.findAll().invoked.thenReturn(Single.just(contributors)) repository.findAll().test().assertOf { check -> check.assertNoErrors() - assertEquals(localRepository.contributors, contributors) + localDataSource.verify(Mockito.times(1)).updateAllAsync(contributors) } } From 888edf8f025e37a912b782311779151a6a610686 Mon Sep 17 00:00:00 2001 From: kikuchy Date: Tue, 7 Feb 2017 09:18:13 +0900 Subject: [PATCH 7/7] remove unused interfaces --- .../contributors/ContributorsLocalDataSource.java | 6 ++---- .../contributors/ContributorsReadDataSource.java | 10 ---------- .../contributors/ContributorsReadWriteDataSource.java | 9 --------- .../contributors/ContributorsRemoteDataSource.java | 5 ++--- .../contributors/ContributorsRepository.java | 7 +++---- 5 files changed, 7 insertions(+), 30 deletions(-) delete mode 100644 app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadDataSource.java delete mode 100644 app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java index d4a1288b..b86e51ac 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsLocalDataSource.java @@ -12,7 +12,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; -public class ContributorsLocalDataSource implements ContributorsReadWriteDataSource { +public class ContributorsLocalDataSource { private final OrmaDatabase orma; @@ -21,7 +21,6 @@ public class ContributorsLocalDataSource implements ContributorsReadWriteDataSou this.orma = orma; } - @Override public Single> findAll() { return orma.selectFromContributor() .executeAsObservable() @@ -33,8 +32,7 @@ private void updateAllSync(List contributors) { orma.prepareInsertIntoContributor(OnConflict.REPLACE).executeAll(contributors); } - @Override - public void updateAllAsync(List contributors) { + void updateAllAsync(List contributors) { orma.transactionAsCompletable(() -> updateAllSync(contributors)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadDataSource.java deleted file mode 100644 index f6a8756f..00000000 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadDataSource.java +++ /dev/null @@ -1,10 +0,0 @@ -package io.github.droidkaigi.confsched2017.repository.contributors; - -import java.util.List; - -import io.github.droidkaigi.confsched2017.model.Contributor; -import io.reactivex.Single; - -public interface ContributorsReadDataSource { - Single> findAll(); -} diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java deleted file mode 100644 index f56ad490..00000000 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsReadWriteDataSource.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.github.droidkaigi.confsched2017.repository.contributors; - -import java.util.List; - -import io.github.droidkaigi.confsched2017.model.Contributor; - -public interface ContributorsReadWriteDataSource extends ContributorsReadDataSource { - void updateAllAsync(List contributors); -} diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java index 46c2894e..3bddb215 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRemoteDataSource.java @@ -9,7 +9,7 @@ import io.reactivex.Single; import io.reactivex.schedulers.Schedulers; -public class ContributorsRemoteDataSource implements ContributorsReadDataSource { +public class ContributorsRemoteDataSource { private final DroidKaigiClient client; @@ -18,8 +18,7 @@ public class ContributorsRemoteDataSource implements ContributorsReadDataSource this.client = client; } - @Override - public Single> findAll() { + Single> findAll() { return client.getContributors().subscribeOn(Schedulers.io()); } diff --git a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java index 76b74797..1b808208 100644 --- a/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java +++ b/app/src/main/java/io/github/droidkaigi/confsched2017/repository/contributors/ContributorsRepository.java @@ -12,11 +12,11 @@ import io.reactivex.Single; @Singleton -public class ContributorsRepository implements ContributorsReadDataSource { +public class ContributorsRepository { - private final ContributorsReadWriteDataSource localDataSource; + private final ContributorsLocalDataSource localDataSource; - private final ContributorsReadDataSource remoteDataSourse; + private final ContributorsRemoteDataSource remoteDataSourse; private Map cachedContributors; @@ -30,7 +30,6 @@ public class ContributorsRepository implements ContributorsReadDataSource { this.isDirty = true; } - @Override public Single> findAll() { if (cachedContributors != null && !cachedContributors.isEmpty() && !isDirty) { return Single.create(emitter -> {