Android Open Source - android Brewery Store






From Project

Back to project page android.

License

The source code is released under:

Apache License

If you think the Android project android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.github.digin.android.repositories;
/*www . ja  va 2  s  .c o m*/
import android.app.Activity;
import android.content.Context;

import com.github.digin.android.fragments.BreweryDetailsFragment;
import com.github.digin.android.listeners.OnParticipantQueryListener;
import com.github.digin.android.listeners.OnSingleParticipantQueryListener;
import com.github.digin.android.logging.Logger;
import com.github.digin.android.models.Brewery;
import com.github.digin.android.models.Chef;
import com.github.digin.android.models.Winery;
import com.github.digin.android.tasks.ParseAllBreweriesTask;

import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;

/**
 * Contains methods which return a list of breweries either stored
 * locally or on parse.
 * <p/>
 * Created by mike on 8/3/14.
 */
public abstract class BreweryStore {

    private static List<Brewery> breweriesCache;

    public static void getBreweries(Context context, final OnParticipantQueryListener<Brewery> listener) {

        if (breweriesCache != null) {
            if (listener != null) {
                listener.onComplete(breweriesCache);
            }
            return;
        }

        ParseAllBreweriesTask task = new ParseAllBreweriesTask(context, new OnParticipantQueryListener<Brewery>() {
            @Override
            public void onComplete(List<Brewery> breweries) {

                // Sort
                Collections.sort(breweries, new Comparator<Brewery>() {
                    public int compare(Brewery lhs, Brewery rhs) {
                        return lhs.getName().compareTo(rhs.getName());
                    }
                });

                breweriesCache = breweries;
                if (listener != null) {
                    listener.onComplete(breweries);
                }
            }
        });
        task.execute();

    }

    public static void getBreweriesNoCache(Context context, final OnParticipantQueryListener<Brewery> listener) {
        breweriesCache = null;
        getBreweries(context, listener);
    }

    //TODO: Change wine to beer.
    public static void getBreweryById(Context context, final String id, final OnSingleParticipantQueryListener<Brewery> listener) {
        Logger.log(ChefsStore.class, "Getting chef for ID");
        getBreweries(context, new OnParticipantQueryListener<Brewery>() {
            @Override
            public void onComplete(List<Brewery> wineries) {

                for (Brewery winery : wineries) {
                    if (winery.getId().equals(id)) {
                        listener.onComplete(winery);
                        return;
                    }

                }
                Logger.log(BreweryStore.class, "Found no brewery matching given ID");
                listener.onComplete(null);
            }
        });
    }

    public static void batchGetBreweryById(Context context, final Set<String> ids, final OnParticipantQueryListener<Brewery> listener) {
        Logger.log(ChefsStore.class, "Getting a subset of chefs by id");

        getBreweries(context, new OnParticipantQueryListener<Brewery>() {
            public void onComplete(List<Brewery> chefs) {

                List<Brewery> subset = new LinkedList<Brewery>();
                for (Brewery chef : chefs) {
                    if (ids.contains(chef.getId())) {
                        subset.add(chef);
                    }
                }

                if (listener != null) {
                    listener.onComplete(subset);
                }

            }
        });

    }
}




Java Source Code List

com.github.digin.android.ApplicationTest.java
com.github.digin.android.DiginApplication.java
com.github.digin.android.ImageCacheEntry.java
com.github.digin.android.NavDrawerController.java
com.github.digin.android.NavDrawerItem.java
com.github.digin.android.Utils.java
com.github.digin.android.activities.MainActivity.java
com.github.digin.android.adapters.ChefListAdapter.java
com.github.digin.android.adapters.NavDrawerAdapter.java
com.github.digin.android.adapters.ParticipantListAdapter.java
com.github.digin.android.constants.LocationDataHolder.java
com.github.digin.android.constants.MapOverlayData.java
com.github.digin.android.constants.ParseID.java
com.github.digin.android.constants.ParseKeys.java
com.github.digin.android.constants.Station.java
com.github.digin.android.exceptions.InvalidClassException.java
com.github.digin.android.factories.BreweryFactory.java
com.github.digin.android.factories.ChefFactory.java
com.github.digin.android.factories.WineryFactory.java
com.github.digin.android.fragments.BoundedMapFragment.java
com.github.digin.android.fragments.BreweriesFragment.java
com.github.digin.android.fragments.BreweryDetailsFragment.java
com.github.digin.android.fragments.ChefListFragment.java
com.github.digin.android.fragments.DetailsFragment.java
com.github.digin.android.fragments.DeveloperFragment.java
com.github.digin.android.fragments.DiginAboutFragment.java
com.github.digin.android.fragments.FavoritesFragment.java
com.github.digin.android.fragments.LineupListFragment.java
com.github.digin.android.fragments.ParticipantDetailsFragment.java
com.github.digin.android.fragments.WineriesFragment.java
com.github.digin.android.fragments.WineryDetailsFragment.java
com.github.digin.android.listeners.OnBoundsQueryListener.java
com.github.digin.android.listeners.OnBoundsRetrievalListener.java
com.github.digin.android.listeners.OnParticipantQueryListener.java
com.github.digin.android.listeners.OnSingleParticipantQueryListener.java
com.github.digin.android.logging.AnalyticsHelper.java
com.github.digin.android.logging.Logger.java
com.github.digin.android.models.Brewery.java
com.github.digin.android.models.Chef.java
com.github.digin.android.models.ParseBackedModel.java
com.github.digin.android.models.Participant.java
com.github.digin.android.models.TemporaryParticipantPlaceholder.java
com.github.digin.android.models.Winery.java
com.github.digin.android.models.map.BoundPoint.java
com.github.digin.android.models.map.Bounds.java
com.github.digin.android.repositories.BoundsStore.java
com.github.digin.android.repositories.BreweryStore.java
com.github.digin.android.repositories.ChefsStore.java
com.github.digin.android.repositories.FavoritesStore.java
com.github.digin.android.repositories.WineryStore.java
com.github.digin.android.tasks.ParseAllBoundsTask.java
com.github.digin.android.tasks.ParseAllBreweriesTask.java
com.github.digin.android.tasks.ParseAllChefsTask.java
com.github.digin.android.tasks.ParseAllWineriesTask.java
com.nirhart.parallaxscroll.views.ParallaxExpandableListView.java
com.nirhart.parallaxscroll.views.ParallaxListViewHelper.java
com.nirhart.parallaxscroll.views.ParallaxListView.java
com.nirhart.parallaxscroll.views.ParallaxScrollView.java
com.nirhart.parallaxscroll.views.ParallaxedView.java