75 lines
2.7 KiB
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;
|
|
}
|
|
|
|
|
|
}
|