Android Open Source - WineDB U P C Database Org Wine Scraper






From Project

Back to project page WineDB.

License

The source code is released under:

MIT License

If you think the Android project WineDB 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.selesse.android.winedb.winescraper.impl;
//  www  .  ja v a 2  s.c o m
import android.util.Log;
import com.google.common.collect.Lists;
import com.google.common.io.CharStreams;
import com.google.gson.Gson;
import com.selesse.android.winedb.database.Wine;
import com.selesse.android.winedb.priv.UPCDatabaseOrgKey;
import com.selesse.android.winedb.winescraper.WineScraper;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;

public class UPCDatabaseOrgWineScraper implements WineScraper {
    private static final String TAG = UPCDatabaseOrgWineScraper.class.getSimpleName();
    private String url;
    private List<Exception> errors;

    public UPCDatabaseOrgWineScraper(String barcode) {
        url = "http://upcdatabase.org/api/json/" + UPCDatabaseOrgKey.getKey() + "/" + barcode;
        errors = Lists.newArrayList();
    }

    @Override
    public List<Wine> scrape() {
        List<Wine> scrapedWines = Lists.newArrayList();
        try {
            URL url = new URL(getQueryUrl());
            URLConnection connection = url.openConnection();
            String jsonResponse = CharStreams.toString(new InputStreamReader(connection.getInputStream()));

            Gson gson = new Gson();
            Log.d(TAG, "UPCDatabase.org JSON response was: \n" + jsonResponse);
            UPCDatabaseOrgResponse results = gson.fromJson(jsonResponse, UPCDatabaseOrgResponse.class);
            if (results.getResultsSize() > 0) {
                scrapedWines = results.convertResponsesToWineList();
            }
        } catch (IOException e) {
            Log.e(TAG, "UPCDatabase.org threw exception : \n" + e);
            errors.add(e);
        }

        return scrapedWines;
    }

    @Override
    public String getQueryUrl() {
        return url;
    }

    @Override
    public List<Exception> getErrors() {
        return errors;
    }

    @Override
    public String getSourceName() { return "UPCDatabase.org"; }
}




Java Source Code List

com.google.zxing.integration.android.IntentIntegrator.java
com.google.zxing.integration.android.IntentResult.java
com.selesse.android.winedb.activity.CreateOrEditWineActivity.java
com.selesse.android.winedb.activity.SingleWineFragment.java
com.selesse.android.winedb.activity.SingleWineViewActivity.java
com.selesse.android.winedb.activity.WineCollectionPagerAdapter.java
com.selesse.android.winedb.activity.WineDB.java
com.selesse.android.winedb.activity.WineListFragment.java
com.selesse.android.winedb.async.AsyncImageLoader.java
com.selesse.android.winedb.contentprovider.WineContentProvider.java
com.selesse.android.winedb.database.FileDatabaseBackup.java
com.selesse.android.winedb.database.FileUtils.java
com.selesse.android.winedb.database.WineDatabaseHandler.java
com.selesse.android.winedb.database.Wine.java
com.selesse.android.winedb.model.RequestCode.java
com.selesse.android.winedb.model.SortOrder.java
com.selesse.android.winedb.model.WineColor.java
com.selesse.android.winedb.model.WineContextMenu.java
com.selesse.android.winedb.winescraper.AbstractWineResponse.java
com.selesse.android.winedb.winescraper.WineResponse.java
com.selesse.android.winedb.winescraper.WineScraperThread.java
com.selesse.android.winedb.winescraper.WineScraper.java
com.selesse.android.winedb.winescraper.WineScrapers.java
com.selesse.android.winedb.winescraper.impl.Semantics3Response.java
com.selesse.android.winedb.winescraper.impl.Semantics3WineScraper.java
com.selesse.android.winedb.winescraper.impl.UPCDatabaseOrgResponse.java
com.selesse.android.winedb.winescraper.impl.UPCDatabaseOrgWineScraper.java
com.selesse.android.winedb.winescraper.impl.UPCDatabaseWineScraper.java