Skip to content

Commit

Permalink
Nullcheck simplifications
Browse files Browse the repository at this point in the history
  • Loading branch information
apoi committed Oct 17, 2016
1 parent 5923373 commit c1234d2
Show file tree
Hide file tree
Showing 31 changed files with 307 additions and 265 deletions.
Expand Up @@ -26,6 +26,7 @@
package io.reark.rxgithubapp.advanced.data.schematicProvider;

import android.net.Uri;
import android.net.Uri.Builder;
import android.support.annotation.NonNull;

import net.simonvt.schematic.annotation.ContentProvider;
Expand All @@ -35,20 +36,21 @@

import io.reark.reark.utils.Preconditions;

import static io.reark.reark.utils.Preconditions.get;

@ContentProvider(authority = GitHubProvider.AUTHORITY, database = GitHubDatabase.class)
public final class GitHubProvider {
public static final String AUTHORITY = "io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubProvider";

static final Uri BASE_CONTENT_URI = Uri.parse("content://" + AUTHORITY);

private static Uri buildUri(@NonNull final String... paths) {
Uri.Builder builder = BASE_CONTENT_URI.buildUpon();
Builder builder = BASE_CONTENT_URI.buildUpon();
for (String path : paths) {
builder.appendPath(path);
}
Uri uri = builder.build();
Preconditions.checkNotNull(uri, "Uri cannot be null.");
return uri;

return get(builder.build());
}

@TableEndpoint(table = GitHubDatabase.GITHUB_REPOSITORIES)
Expand Down
Expand Up @@ -35,11 +35,13 @@

import io.reark.reark.utils.Preconditions;
import io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubProvider;
import io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubProvider.GitHubRepositorySearches;
import io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubRepositorySearchColumns;
import io.reark.rxgithubapp.shared.pojo.GitHubRepositorySearch;

import static io.reark.reark.utils.Preconditions.checkNotNull;

public class GitHubRepositorySearchStore extends GsonStoreBase<GitHubRepositorySearch, String> {
private static final String TAG = GitHubRepositorySearchStore.class.getSimpleName();

public GitHubRepositorySearchStore(@NonNull final ContentResolver contentResolver, @NonNull final Gson gson) {
super(contentResolver, gson);
Expand All @@ -48,15 +50,15 @@ public GitHubRepositorySearchStore(@NonNull final ContentResolver contentResolve
@NonNull
@Override
protected String getIdFor(@NonNull final GitHubRepositorySearch item) {
Preconditions.checkNotNull(item, "GitHub Repository Search cannot be null.");
checkNotNull(item);

return item.getSearch();
}

@NonNull
@Override
public Uri getContentUri() {
return GitHubProvider.GitHubRepositorySearches.GITHUB_REPOSITORY_SEARCHES;
return GitHubRepositorySearches.GITHUB_REPOSITORY_SEARCHES;
}

@NonNull
Expand All @@ -76,17 +78,16 @@ protected ContentValues getContentValuesForItem(GitHubRepositorySearch item) {

@NonNull
@Override
protected GitHubRepositorySearch read(Cursor cursor) {
protected GitHubRepositorySearch read(@NonNull Cursor cursor) {
final String json = cursor.getString(cursor.getColumnIndex(GitHubRepositorySearchColumns.JSON));
final GitHubRepositorySearch value = getGson().fromJson(json, GitHubRepositorySearch.class);
return value;
return getGson().fromJson(json, GitHubRepositorySearch.class);
}

@NonNull
@Override
public Uri getUriForId(@NonNull final String id) {
Preconditions.checkNotNull(id, "Id cannot be null.");
checkNotNull(id);

return GitHubProvider.GitHubRepositorySearches.withSearch(id);
return GitHubRepositorySearches.withSearch(id);
}
}
Expand Up @@ -35,8 +35,9 @@
import io.reark.rxgithubapp.advanced.data.stores.cores.GitHubRepositoryStoreCore;
import io.reark.rxgithubapp.shared.pojo.GitHubRepository;

import static io.reark.reark.utils.Preconditions.checkNotNull;

public class GitHubRepositoryStore extends DefaultStore<Integer, GitHubRepository> {
private static final String TAG = GitHubRepositoryStore.class.getSimpleName();

public GitHubRepositoryStore(@NonNull final ContentResolver contentResolver, @NonNull final Gson gson) {
super(new GitHubRepositoryStoreCore(contentResolver, gson),
Expand All @@ -45,7 +46,7 @@ public GitHubRepositoryStore(@NonNull final ContentResolver contentResolver, @No

@NonNull
protected static Integer getIdFor(@NonNull final GitHubRepository item) {
Preconditions.checkNotNull(item, "GitHub Repository cannot be null.");
checkNotNull(item);

return item.getId();
}
Expand Down
Expand Up @@ -35,16 +35,16 @@

public abstract class GsonStoreBase<T, U> extends ContentProviderStore<T, U> {

@NonNull
private final Gson gson;

public GsonStoreBase(@NonNull final ContentResolver contentResolver, @NonNull final Gson gson) {
protected GsonStoreBase(@NonNull final ContentResolver contentResolver, @NonNull final Gson gson) {
super(contentResolver);

Preconditions.checkNotNull(gson, "Gson cannot be null.");

this.gson = gson;
this.gson = Preconditions.get(gson);
}

@NonNull
protected Gson getGson() {
return gson;
}
Expand Down
Expand Up @@ -37,9 +37,12 @@
import io.reark.reark.utils.Log;
import io.reark.reark.utils.Preconditions;
import io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubProvider;
import io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubProvider.NetworkRequestStatuses;
import io.reark.rxgithubapp.advanced.data.schematicProvider.JsonIdColumns;
import io.reark.rxgithubapp.advanced.data.schematicProvider.UserSettingsColumns;

import static io.reark.reark.utils.Preconditions.checkNotNull;

public class NetworkRequestStatusStore extends GsonStoreBase<NetworkRequestStatus, Integer> {
private static final String TAG = NetworkRequestStatusStore.class.getSimpleName();

Expand All @@ -50,21 +53,22 @@ public NetworkRequestStatusStore(@NonNull final ContentResolver contentResolver,
@NonNull
@Override
protected Integer getIdFor(@NonNull final NetworkRequestStatus item) {
Preconditions.checkNotNull(item, "Network Request Status cannot be null.");
checkNotNull(item);

return item.getUri().hashCode();
}

@NonNull
@Override
public Uri getContentUri() {
return GitHubProvider.NetworkRequestStatuses.NETWORK_REQUEST_STATUSES;
return NetworkRequestStatuses.NETWORK_REQUEST_STATUSES;
}

@Override
public void put(@NonNull final NetworkRequestStatus item) {
Preconditions.checkNotNull(item, "Network Request Status cannot be null.");

checkNotNull(item);
Log.v(TAG, "put(" + item.getStatus() + ", " + item.getUri() + ")");

super.put(item);
}

Expand All @@ -85,17 +89,18 @@ protected ContentValues getContentValuesForItem(NetworkRequestStatus item) {

@NonNull
@Override
protected NetworkRequestStatus read(Cursor cursor) {
protected NetworkRequestStatus read(@NonNull final Cursor cursor) {
checkNotNull(cursor);

final String json = cursor.getString(cursor.getColumnIndex(JsonIdColumns.JSON));
final NetworkRequestStatus value = getGson().fromJson(json, NetworkRequestStatus.class);
return value;
return getGson().fromJson(json, NetworkRequestStatus.class);
}

@NonNull
@Override
public Uri getUriForId(@NonNull final Integer id) {
Preconditions.checkNotNull(id, "Id cannot be null.");
checkNotNull(id);

return GitHubProvider.NetworkRequestStatuses.withId(id);
return NetworkRequestStatuses.withId(id);
}
}
Expand Up @@ -40,6 +40,8 @@
import io.reark.rxgithubapp.advanced.data.schematicProvider.UserSettingsColumns;
import io.reark.rxgithubapp.shared.pojo.UserSettings;

import static io.reark.reark.utils.Preconditions.checkNotNull;

public class UserSettingsStore extends GsonStoreBase<UserSettings, Integer> {
private static final String TAG = UserSettingsStore.class.getSimpleName();

Expand Down Expand Up @@ -80,7 +82,9 @@ protected String[] getProjection() {

@NonNull
@Override
protected ContentValues getContentValuesForItem(UserSettings item) {
protected ContentValues getContentValuesForItem(@NonNull final UserSettings item) {
checkNotNull(item);

ContentValues contentValues = new ContentValues();
contentValues.put(JsonIdColumns.ID, DataLayer.DEFAULT_USER_ID);
contentValues.put(JsonIdColumns.JSON, getGson().toJson(item));
Expand All @@ -89,16 +93,17 @@ protected ContentValues getContentValuesForItem(UserSettings item) {

@NonNull
@Override
protected UserSettings read(Cursor cursor) {
protected UserSettings read(@NonNull final Cursor cursor) {
checkNotNull(cursor);

final String json = cursor.getString(cursor.getColumnIndex(JsonIdColumns.JSON));
final UserSettings value = getGson().fromJson(json, UserSettings.class);
return value;
return getGson().fromJson(json, UserSettings.class);
}

@NonNull
@Override
public Uri getUriForId(@NonNull final Integer id) {
Preconditions.checkNotNull(id, "Id cannot be null.");
checkNotNull(id);

return GitHubProvider.UserSettings.withId(id);
}
Expand Down
Expand Up @@ -35,12 +35,14 @@

import io.reark.reark.utils.Preconditions;
import io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubProvider;
import io.reark.rxgithubapp.advanced.data.schematicProvider.GitHubProvider.GitHubRepositories;
import io.reark.rxgithubapp.advanced.data.schematicProvider.JsonIdColumns;
import io.reark.rxgithubapp.advanced.data.schematicProvider.UserSettingsColumns;
import io.reark.rxgithubapp.shared.pojo.GitHubRepository;

import static io.reark.reark.utils.Preconditions.checkNotNull;

public class GitHubRepositoryStoreCore extends GsonStoreCoreBase<Integer, GitHubRepository> {
private static final String TAG = GitHubRepositoryStoreCore.class.getSimpleName();

public GitHubRepositoryStoreCore(@NonNull final ContentResolver contentResolver, @NonNull final Gson gson) {
super(contentResolver, gson);
Expand All @@ -49,7 +51,7 @@ public GitHubRepositoryStoreCore(@NonNull final ContentResolver contentResolver,
@NonNull
@Override
public Uri getContentUri() {
return GitHubProvider.GitHubRepositories.GITHUB_REPOSITORIES;
return GitHubRepositories.GITHUB_REPOSITORIES;
}

@NonNull
Expand All @@ -69,10 +71,9 @@ protected ContentValues getContentValuesForItem(GitHubRepository item) {

@NonNull
@Override
protected GitHubRepository read(Cursor cursor) {
protected GitHubRepository read(@NonNull Cursor cursor) {
final String json = cursor.getString(cursor.getColumnIndex(JsonIdColumns.JSON));
final GitHubRepository value = getGson().fromJson(json, GitHubRepository.class);
return value;
return getGson().fromJson(json, GitHubRepository.class);
}

@NonNull
Expand All @@ -87,16 +88,16 @@ protected GitHubRepository mergeValues(@NonNull final GitHubRepository v1, @NonN
@NonNull
@Override
protected Uri getUriForId(@NonNull final Integer id) {
Preconditions.checkNotNull(id, "Id cannot be null.");
checkNotNull(id);

return GitHubProvider.GitHubRepositories.withId(id);
return GitHubRepositories.withId(id);
}

@NonNull
@Override
protected Integer getIdForUri(@NonNull final Uri uri) {
Preconditions.checkNotNull(uri, "Uri cannot be null.");
checkNotNull(uri);

return (int) GitHubProvider.GitHubRepositories.fromUri(uri);
return (int) GitHubRepositories.fromUri(uri);
}
}
Expand Up @@ -35,16 +35,16 @@

public abstract class GsonStoreCoreBase<T, U> extends ContentProviderStoreCore<T, U> {

@NonNull
private final Gson gson;

public GsonStoreCoreBase(@NonNull final ContentResolver contentResolver, @NonNull final Gson gson) {
protected GsonStoreCoreBase(@NonNull final ContentResolver contentResolver, @NonNull final Gson gson) {
super(contentResolver);

Preconditions.checkNotNull(gson, "Gson cannot be null.");

this.gson = gson;
this.gson = Preconditions.get(gson);
}

@NonNull
protected Gson getGson() {
return gson;
}
Expand Down
Expand Up @@ -38,23 +38,26 @@
import io.reark.rxgithubapp.advanced.data.stores.NetworkRequestStatusStore;
import io.reark.rxgithubapp.shared.data.DataLayerBase;

import static io.reark.reark.utils.Preconditions.checkNotNull;
import static io.reark.reark.utils.Preconditions.get;

public class ServiceDataLayer extends DataLayerBase {
private static final String TAG = ServiceDataLayer.class.getSimpleName();

final private UriFetcherManager fetcherManager;
@NonNull
private final UriFetcherManager fetcherManager;

public ServiceDataLayer(@NonNull final UriFetcherManager fetcherManager,
@NonNull final NetworkRequestStatusStore networkRequestStatusStore,
@NonNull final GitHubRepositoryStore gitHubRepositoryStore,
@NonNull final GitHubRepositorySearchStore gitHubRepositorySearchStore) {
super(networkRequestStatusStore, gitHubRepositoryStore, gitHubRepositorySearchStore);

Preconditions.checkNotNull(fetcherManager, "FetcherManager cannot be null.");
this.fetcherManager = fetcherManager;
this.fetcherManager = get(fetcherManager);
}

public void processIntent(@NonNull final Intent intent) {
Preconditions.checkNotNull(intent, "Intent cannot be null.");
checkNotNull(intent);

final String serviceUriString = intent.getStringExtra("serviceUriString");
if (serviceUriString != null) {
Expand Down
Expand Up @@ -40,6 +40,9 @@
import io.reark.rxgithubapp.shared.data.ClientDataLayerBase;
import io.reark.rxgithubapp.shared.network.GitHubService;

import static io.reark.reark.utils.Preconditions.checkNotNull;
import static io.reark.reark.utils.Preconditions.get;

public class DataLayer extends ClientDataLayerBase {
private static final String TAG = DataLayer.class.getSimpleName();

Expand All @@ -55,15 +58,12 @@ public DataLayer(@NonNull final UriFetcherManager fetcherManager,
gitHubRepositorySearchStore,
userSettingsStore);

Preconditions.checkNotNull(fetcherManager, "Context cannot be null.");
Preconditions.checkNotNull(userSettingsStore, "User Settings Store cannot be null.");

this.fetcherManager = fetcherManager;
this.fetcherManager = get(fetcherManager);
}

@Override
protected void fetchGitHubRepository(@NonNull final Integer repositoryId) {
Preconditions.checkNotNull(repositoryId, "Repository Id cannot be null.");
checkNotNull(repositoryId);

Intent intent = new Intent();
intent.putExtra("serviceUriString", GitHubService.REPOSITORY.toString());
Expand All @@ -78,7 +78,7 @@ protected void fetchGitHubRepository(@NonNull final Integer repositoryId) {

@Override
protected void fetchGitHubRepositorySearch(@NonNull final String searchString) {
Preconditions.checkNotNull(searchString, "Search string Store cannot be null.");
checkNotNull(searchString);

Log.d(TAG, "fetchGitHubRepositorySearch(" + searchString + ")");
Intent intent = new Intent();
Expand Down

0 comments on commit c1234d2

Please sign in to comment.