package JSON_Unpack; import Credentials.UserCredentials; import Files.ReadFile; import Files.WriteFile; import HttpCall.HttpCall; import org.json.JSONArray; import org.json.JSONObject; import java.util.ArrayList; // Get sensor from device for each partner public class BoxCall4Partner { public String FetchBox(String companyName, String token) throws Exception { switch (companyName) { case "Germes": return String.valueOf(onCallMethod("Germes", token)); case "Heufs": return String.valueOf(onCallMethod("Heufs", token)); case "Jacobs": return String.valueOf(onCallMethod("Jacobs", token)); case "Nica": return String.valueOf(onCallMethod("Nica", token)); } return null; } protected ArrayList onCallMethod(String cName, String token) throws Exception { ReadFile readFile = new ReadFile(); UserCredentials userCredentials = new UserCredentials(); HttpCall httpCall = new HttpCall(); WriteFile writingIntoFile = new WriteFile(); String baseURL = userCredentials.getBaseURL(); String homeRoot = userCredentials.getHomeRoot(); String outputGeneral = GeneralCall4All.FetchAll(token); JSONArray jsonarray = new JSONArray(outputGeneral); cName = readFile.ReadFromFile(homeRoot +cName +".txt"); ArrayList listOfCompanyOutputs=new ArrayList(); String[] arrayOfCompany = cName.split(","); int loopTerminator = 0; for (String iterator : arrayOfCompany) { for (int i = 0; i < jsonarray.length(); i++) { JSONObject jsonobject = jsonarray.getJSONObject(i); String jsonExternalID = jsonobject.getString("externalId"); if (iterator.equals(jsonExternalID)) { String jsonID = jsonobject.getString("id"); String companyOutput = httpCall.HttpGet(baseURL + "devices/" + jsonID + "/sensors" + "?access_token=" + token, token); listOfCompanyOutputs.add(companyOutput); writingIntoFile.WriteFile(homeRoot +i+" "+ cName + ".json", companyOutput); System.out.println(listOfCompanyOutputs); loopTerminator++; System.out.println(loopTerminator + " "+arrayOfCompany.length+" "+jsonarray.length()+" "+iterator); } if(loopTerminator == arrayOfCompany.length ){ System.out.println("Processing..... "); return listOfCompanyOutputs; } } } return null; } }