/* * Copyright (C) 2014 Maigret Aurelien / Colin Julien * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package net.dewep.intranetepitech.api; import org.apache.http.HttpStatus; import org.json.JSONArray; import org.json.JSONObject; import fr.qinder.api.APIRequest; import fr.qinder.tools.JSON; /** * TODO: Comments this class * * @author Maigret Aurelien * @author Colin Julien */ public abstract class RequestIntranet extends APIRequest { private Boolean mWithJson = true; private JSONObject mJsonObject = null; private JSONArray mJsonArray = null; public RequestIntranet(String url, Boolean withJson) { super(Configurations.getHost() + url); this.mWithJson = withJson; } public RequestIntranet(String url) { super(Configurations.getFullHost() + url); } public JSONObject getJSONObject() { return mJsonObject; } public JSONArray getJSONArray() { return mJsonArray; } public void preExecute() { super.preExecute(); if (mWithJson) { this.addGet("format", "json"); } } public void postExecute() { super.preExecute(); if (response.getData() != null && response.getData().startsWith("//") && response.getData().indexOf('\n') != -1) { response.setData(response.getData().substring(response.getData().indexOf('\n') + 1)); } if (mWithJson) { mJsonObject = JSON.getObject(response.getData()); } if (mJsonObject == null) { mJsonArray = JSON.getArray(response.getData()); } } @Override public void onResult() { if (response.getCode() == HttpStatus.SC_OK) { onPreSuccess(); onSuccess(); } else { onError(); } } public void onPreSuccess() { } public abstract void onSuccess(); public abstract void onError(); }