GGD/src/main/java/JSON_Unpack/BoxCall4Partner.java

75 lines
2.7 KiB
Java

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<String> 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<String> listOfCompanyOutputs=new ArrayList<String>();
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;
}
}