Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package red.epiandroidv2.Model;
- import android.app.Application;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.concurrent.ExecutionException;
- import org.apache.http.NameValuePair;
- import org.apache.http.client.ClientProtocolException;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.message.BasicNameValuePair;
- import com.fasterxml.jackson.core.JsonFactory;
- import com.fasterxml.jackson.core.JsonParser;
- import com.fasterxml.jackson.core.JsonToken;
- public class EpitechApi extends Application {
- private JsonFactory jFactory;
- private String token = null;
- public EpitechApi() {
- this.jFactory = new JsonFactory();
- }
- public void login(String login, String password) throws ClientProtocolException, IOException, ExecutionException, InterruptedException {
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("login", login));
- nvps.add(new BasicNameValuePair("password", password));
- JsonParser jp = jFactory.createParser(postRequest("login", nvps));
- jp.nextToken();
- while (jp.nextToken() != JsonToken.END_OBJECT) {
- String fieldname = jp.getCurrentName();
- jp.nextToken();
- if ("token".equals(fieldname))
- this.token = jp.getText();
- }
- }
- public ArrayList<Planning> getPlanning(String start, String end) throws ClientProtocolException, IOException, ExecutionException, InterruptedException {
- ArrayList<Planning> list = new ArrayList<Planning>();
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("token", this.token));
- nvps.add(new BasicNameValuePair("start", start));
- nvps.add(new BasicNameValuePair("end", end));
- String req = getRequest("planning", nvps);
- JsonParser jp = jFactory.createParser(req.substring(req.indexOf('['), req.lastIndexOf(']') + 1));
- while (jp.nextToken() != JsonToken.END_OBJECT && jp.getText() != "]") {
- Planning ev = new Planning();
- while (jp.nextToken() !=JsonToken.END_OBJECT) {
- if (jp.getText() == ("codemodule")) {
- jp.nextToken();
- ev.setCodemodule(jp.getText());
- } else if (jp.getText() == "titlemodule") {
- jp.nextToken();
- ev.setTitlemodule(jp.getText());
- } else if (jp.getText() == "title") {
- jp.nextToken();
- ev.setTitle(jp.getText());
- } else if (jp.getText() == "acti_title") {
- jp.nextToken();
- ev.setTitle(jp.getText());
- } else if (jp.getText() == "start") {
- jp.nextToken();
- ev.setStart(jp.getText());
- } else if (jp.getText() == "end") {
- jp.nextToken();
- ev.setEnd(jp.getText());
- } else if (jp.getText() == "codeevent") {
- jp.nextToken();
- ev.setCodeevent(jp.getText());
- } else if (jp.getText() == "codeacti") {
- jp.nextToken();
- ev.setCodeacti(jp.getText());
- } else if (jp.getText() == "codeinstance") {
- jp.nextToken();
- ev.setCodeinstance(jp.getText());
- } else if (jp.getText() == "scolaryear") {
- jp.nextToken();
- ev.setScolaryear(jp.getText());
- } else if (jp.getText() == "event_registered") {
- jp.nextToken();
- ev.setEvent_registered(jp.getText());
- } else if (jp.getText() == "allow_register") {
- jp.nextToken();
- ev.setAllow_register(jp.getBooleanValue());
- } else if (jp.getText() == "room") {
- while(jp.getText() != "code" && jp.getText() != "}") {jp.nextToken();}
- if (jp.getText() != "}") {
- jp.nextToken();
- ev.setRoom(jp.getText());
- jp.nextToken();
- }
- } else if (jp.getText() == "allow_token") {
- jp.nextToken();
- ev.setAllow_token(jp.getBooleanValue());
- } else if (jp.getText().equals("prof_inst")) {
- jp.nextToken();
- if (jp.getText() == "[") {while (jp.getText() != "]") {jp.nextToken();}
- } else if (jp.getText() == "null") {
- } else {while (jp.nextToken() !=JsonToken.END_OBJECT);}
- jp.nextToken();
- } else if (jp.getText().equals("rights")) {
- while (jp.nextToken() !=JsonToken.END_OBJECT);
- jp.nextToken();
- } else if (jp.getText().equals("maker")) {
- while (jp.nextToken() !=JsonToken.END_OBJECT);
- jp.nextToken();
- } else if (jp.getText().equals("owner")) {
- while (jp.nextToken() !=JsonToken.END_OBJECT);
- jp.nextToken();
- }
- }
- list.add(ev);
- }
- return list;
- }
- public ArrayList<Module> getModules() throws ClientProtocolException, IOException, ExecutionException, InterruptedException {
- ArrayList<Module> list = new ArrayList<Module>();
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("token", this.token));
- String req = getRequest("modules", nvps);
- JsonParser jp = jFactory.createParser(req.substring(req.indexOf('['), req.lastIndexOf(']') + 1));
- while (jp.nextToken() != JsonToken.END_OBJECT && jp.getText() != "]") {
- Module mod = new Module();
- while (jp.nextToken() !=JsonToken.END_OBJECT) {
- if (jp.getText() == "codemodule") {
- jp.nextToken();
- mod.setCodemodule(jp.getText());
- } else if (jp.getText() == "title") {
- jp.nextToken();
- mod.setTitle(jp.getText());
- } else if (jp.getText() == "credits") {
- jp.nextToken();
- mod.setCredits(jp.getLongValue());
- } else if (jp.getText() == "grade") {
- jp.nextToken();
- mod.setGrade(jp.getText());
- } else if (jp.getText() == "codeinstance") {
- jp.nextToken();
- mod.setCodeinstance(jp.getText());
- }
- }
- list.add(mod);
- }
- return list;
- }
- public ArrayList<Message> getMessages() throws ClientProtocolException, IOException, ExecutionException, InterruptedException {
- ArrayList<Message> list = new ArrayList<Message>();
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("token", this.token));
- String req = getRequest("messages", nvps);
- JsonParser jp = jFactory.createParser(req);
- jp.nextToken();
- while (jp.getCurrentToken() !=JsonToken.END_OBJECT && jp.getText() != "]") {
- Message msg = new Message();
- while (jp.nextToken() != JsonToken.END_OBJECT) {
- if (jp.getText().equals("title")) {
- jp.nextToken();
- msg.setTitle(jp.getText());
- } else if (jp.getText().equals("user")) {
- while (jp.nextToken() !=JsonToken.END_OBJECT);
- } else if (jp.getText().equals("content")) {
- jp.nextToken();
- msg.setContent(jp.getText());
- } else if (jp.getText().equals("date")) {
- jp.nextToken();
- msg.setDate(jp.getText());
- }
- }
- jp.nextToken();
- list.add(msg);
- }
- return list;
- }
- public ArrayList<Mark> getMarks() throws ClientProtocolException, IOException, ExecutionException, InterruptedException {
- ArrayList<Mark> list = new ArrayList<Mark>();
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("token", this.token));
- String req = getRequest("marks", nvps);
- JsonParser jp = jFactory.createParser(req.substring(req.indexOf('['), req.lastIndexOf(']') + 1));
- while (jp.nextToken() != JsonToken.END_OBJECT && jp.getText() != "]") {
- Mark mk= new Mark();
- while (jp.nextToken() !=JsonToken.END_OBJECT) {
- if (jp.getText() == ("codemodule")) {
- jp.nextToken();
- mk.setCodemodule(jp.getText());
- } else if (jp.getText() == "titlemodule") {
- jp.nextToken();
- mk.setTitlemodule(jp.getText());
- } else if (jp.getText() == "title") {
- jp.nextToken();
- mk.setTitle(jp.getText());
- } else if (jp.getText() == "date") {
- jp.nextToken();
- mk.setDate(jp.getText());
- } else if (jp.getText() == "final_note") {
- jp.nextToken();
- mk.setFinal_note(jp.getFloatValue());
- } else if (jp.getText() == "comment") {
- jp.nextToken();
- mk.setComment(jp.getText());
- }
- }
- list.add(mk);
- }
- return list;
- }
- public User getUser() throws ClientProtocolException, IOException, ExecutionException, InterruptedException {
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("token", this.token));
- String req = getRequest("infos", nvps);
- JsonParser jp = jFactory.createParser(req);
- User usr = new User();
- while (jp.nextToken() != JsonToken.END_OBJECT) {
- if (jp.getText() == "ip") {
- while (jp.getText() != "infos") {jp.nextToken();}
- }
- if (jp.getText() == "id") {
- jp.nextToken();
- usr.setId(jp.getText());
- } else if (jp.getText() == "title") {
- jp.nextToken();
- usr.setTitle(jp.getText());
- } else if (jp.getText() == "promo") {
- jp.nextToken();
- usr.setPromo(jp.getText());
- } else if (jp.getText() == "login") {
- jp.nextToken();
- usr.setLogin(jp.getText());
- } else if (jp.getText() == "picture") {
- jp.nextToken();
- usr.setPicture("https://cdn.local.epitech.eu/userprofil/" + jp.getText());
- } else if (jp.getText() == "achieved") {
- jp.nextToken();
- usr.setCredits(jp.getLongValue());
- } else if (jp.getText() == "active_log") {
- jp.nextToken();
- usr.setActive_log(jp.getText());
- } else if (jp.getText() == "rights") {
- while (jp.nextToken() != JsonToken.END_OBJECT);
- } else if (jp.getText() == "decoded") {
- while (jp.getText() != "{") {jp.nextToken();}
- }
- }
- return usr;
- }
- public void enterToken(Planning pl, String addtoken) throws InterruptedException, ExecutionException, IOException {
- List <NameValuePair> nvps = new ArrayList <NameValuePair>();
- nvps.add(new BasicNameValuePair("token", this.token));
- nvps.add(new BasicNameValuePair("scolaryear", pl.getScolaryear()));
- nvps.add(new BasicNameValuePair("codemodule", pl.getCodemodule()));
- nvps.add(new BasicNameValuePair("codeinstance", pl.getCodeinstance()));
- nvps.add(new BasicNameValuePair("codeacti", pl.getCodeacti()));
- nvps.add(new BasicNameValuePair("codeevent", pl.getCodeevent()));
- nvps.add(new BasicNameValuePair("tokenvalidationcode", addtoken));
- JsonParser jp = jFactory.createParser(postRequest("token", nvps));
- }
- // Gestion des requetes HTTP
- public String postRequest(String location, List<NameValuePair> values) throws ClientProtocolException, IOException, ExecutionException, InterruptedException {
- HttpPost httpPost = new HttpPost("http://epitech-api.herokuapp.com/" + location);
- httpPost.setEntity(new UrlEncodedFormEntity(values));
- return new postAsyncTask().execute(httpPost).get();
- }
- public String getRequest(String location, List<NameValuePair> values) throws IOException, ExecutionException, InterruptedException {
- String url = "http://epitech-api.herokuapp.com/" + location + "?";
- if (values != null) {
- for(int i = 0; i != values.size(); i++) {
- NameValuePair pair = values.get(i);
- if (i != 0) {url += "&";}
- url += pair.getName() + "=" + pair.getValue();
- }
- }
- System.out.println(url);
- return new getAsyncTask().execute(url).get();
- }
- }
Add Comment
Please, Sign In to add comment