package it.fdev.scraper.esse3; import it.fdev.unisaconnect.data.SharedPrefDataManager; import java.io.IOException; import org.jsoup.Connection.Method; import org.jsoup.Connection.Response; import org.jsoup.HttpStatusException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import android.content.Context; public abstract class Esse3BasicScraper { protected Context mContext; protected SharedPrefDataManager mDataManager; protected String base64login; protected String broadcastID; public static enum LoadStates { WRONG_DATA, NO_DATA, NO_INTERNET, UNKNOWN_PROBLEM, ESSE3_PROBLEM, FINISHED }; public Esse3BasicScraper(Context context, SharedPrefDataManager dataManager, String base64login, String broadcastID){ this.mContext = context; this.mDataManager = dataManager; this.base64login = base64login; this.broadcastID = broadcastID; } public LoadStates run() { LoadStates result = startScraper(); if (broadcastID != null) { Esse3ScraperService.broadcastStatus(mContext, broadcastID, result); } return result; } protected abstract LoadStates startScraper(); public Document scraperGetUrl(String url) throws IOException, InterruptedException, HttpStatusException { Response res = Jsoup.connect(url).header("Authorization", "Basic " + base64login).method(Method.GET).timeout(30000).execute(); Document document = res.parse(); Thread.sleep(100); return document; } }