*/
package org.oransc.portal.nonrtric.controlpanel.controller;
-import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import org.oransc.portal.nonrtric.controlpanel.eiproducerapi.EiProducerApi;
import org.oransc.portal.nonrtric.controlpanel.model.JobInfo;
import org.oransc.portal.nonrtric.controlpanel.model.ProducerInfo;
+import org.oransc.portal.nonrtric.controlpanel.model.ProducerRegistrationInfo;
+import org.oransc.portal.nonrtric.controlpanel.model.ProducerRegistrationInfo.ProducerEiTypeRegistrationInfo;
+import org.oransc.portal.nonrtric.controlpanel.model.ProducerStatusInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- private static com.google.gson.Gson gson = new GsonBuilder().create();
-
// Publish paths in constants so tests are easy to write
public static final String CONTROLLER_PATH = ControlPanelConstants.ENDPOINT_PREFIX + "/enrichment";
// Endpoints
}
private List<JobInfo> getJobs(JsonElement producerId) {
- List<JobInfo> jobs = new ArrayList<>();
- ResponseEntity<String> jobsResponse = this.eiProducerApi.getEiJobsForOneEiProducer(producerId.getAsString());
- JsonArray jobsJson = JsonParser.parseString(jobsResponse.getBody()).getAsJsonArray();
- for (JsonElement jobJson : jobsJson) {
- JobInfo jobInfo = gson.fromJson(jobJson, JobInfo.class);
- jobs.add(jobInfo);
- }
- return jobs;
+ ResponseEntity<List<JobInfo>> jobsResponse =
+ this.eiProducerApi.getEiJobsForOneEiProducer(producerId.getAsString());
+ return jobsResponse.getBody();
}
@ApiOperation(value = "Get EI producers")
}
private String[] getSupportedTypes(JsonElement producerId) {
- ResponseEntity<String> producerResponse = this.eiProducerApi.getEiProducer(producerId.getAsString());
- JsonArray supportedTypesJson = JsonParser.parseString(producerResponse.getBody()).getAsJsonObject()
- .get("supported_ei_types").getAsJsonArray();
+ ResponseEntity<ProducerRegistrationInfo> producerResponse =
+ this.eiProducerApi.getEiProducer(producerId.getAsString());
List<String> supportedTypes = new ArrayList<>();
- for (JsonElement typeJson : supportedTypesJson) {
- supportedTypes.add(typeJson.getAsJsonObject().get("ei_type_identity").getAsString());
+ for (ProducerEiTypeRegistrationInfo type : producerResponse.getBody().types) {
+ supportedTypes.add(type.eiTypeId);
}
return supportedTypes.toArray(new String[0]);
}
private String getProducerStatus(JsonElement producerId) {
- ResponseEntity<String> statusResponse = this.eiProducerApi.getEiProducerStatus(producerId.getAsString());
- return JsonParser.parseString(statusResponse.getBody()).getAsJsonObject().get("operational_state")
- .getAsString();
+ ResponseEntity<ProducerStatusInfo> statusResponse =
+ this.eiProducerApi.getEiProducerStatus(producerId.getAsString());
+ return statusResponse.getBody().opState.toString();
}
}