import java.util.Collection;
import java.util.List;
-import org.oransc.enrichment.clients.ProducerCallbacks;
-import org.oransc.enrichment.clients.ProducerJobInfo;
import org.oransc.enrichment.controllers.ErrorResponse;
import org.oransc.enrichment.controllers.VoidResponse;
+import org.oransc.enrichment.controllers.consumer.ConsumerCallbacks;
import org.oransc.enrichment.controllers.producer.ProducerRegistrationInfo.ProducerEiTypeRegistrationInfo;
import org.oransc.enrichment.repository.EiJob;
import org.oransc.enrichment.repository.EiJobs;
private final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- private static Gson gson = new GsonBuilder() //
- .serializeNulls() //
- .create(); //
+ private static Gson gson = new GsonBuilder().create();
@Autowired
private EiJobs eiJobs;
@Autowired
ProducerCallbacks producerCallbacks;
+ @Autowired
+ ConsumerCallbacks consumerCallbacks;
+
@GetMapping(path = ProducerConsts.API_ROOT + "/eitypes", produces = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "EI type identifiers", notes = "")
@ApiResponses(
}
@GetMapping(path = ProducerConsts.API_ROOT + "/eitypes/{eiTypeId}", produces = MediaType.APPLICATION_JSON_VALUE)
- @ApiOperation(value = "Individual EI Type", notes = "")
+ @ApiOperation(value = "Individual EI type", notes = "")
@ApiResponses(
value = { //
@ApiResponse(code = 200, message = "EI type", response = ProducerEiTypeInfo.class), //
@ApiOperation(value = "Individual EI producer", notes = "")
@ApiResponses(
value = { //
- @ApiResponse(code = 200, message = "EI Jobs", response = ProducerRegistrationInfo.class), //
+ @ApiResponse(code = 200, message = "EI jobs", response = ProducerRegistrationInfo.class), //
@ApiResponse(
code = 404,
message = "Enrichment Information producer is not found",
ProducerStatusInfo.OperationalState opState =
producer.isAvailable() ? ProducerStatusInfo.OperationalState.ENABLED
: ProducerStatusInfo.OperationalState.DISABLED;
+ this.logger.debug("opState {}", opState);
return new ProducerStatusInfo(opState);
}
private void purgeTypes(Collection<EiType> types) {
for (EiType type : types) {
if (type.getProducerIds().isEmpty()) {
- this.eiTypes.deregisterType(type, this.eiJobs);
+ this.eiTypes.remove(type);
}
}
}
try {
final EiProducer producer = this.eiProducers.getProducer(eiProducerId);
this.eiProducers.deregisterProducer(producer, this.eiTypes, this.eiJobs);
+ this.consumerCallbacks.notifyConsumersProducerDeleted(producer);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
} catch (Exception e) {
return ErrorResponse.create(e, HttpStatus.NOT_FOUND);
if (type == null) {
type = new EiType(typeInfo.eiTypeId, typeInfo.jobDataSchema);
this.eiTypes.put(type);
+ this.consumerCallbacks.notifyConsumersTypeAdded(type);
}
return type;
}
EiProducer createProducer(Collection<EiType> types, String producerId, ProducerRegistrationInfo registrationInfo) {
- return new EiProducer(producerId, types, registrationInfo.jobCreationCallbackUrl,
- registrationInfo.jobDeletionCallbackUrl, registrationInfo.producerSupervisionCallbackUrl);
+ return new EiProducer(producerId, types, registrationInfo.jobCallbackUrl,
+ registrationInfo.producerSupervisionCallbackUrl);
}
private EiProducer registerProducer(String producerId, ProducerRegistrationInfo registrationInfo) {
for (EiType type : p.getEiTypes()) {
types.add(toEiTypeRegistrationInfo(type));
}
- return new ProducerRegistrationInfo(types, p.getJobCreationCallbackUrl(), p.getJobDeletionCallbackUrl(),
- p.getProducerSupervisionCallbackUrl());
+ return new ProducerRegistrationInfo(types, p.getJobCallbackUrl(), p.getProducerSupervisionCallbackUrl());
}
private ProducerEiTypeRegistrationInfo toEiTypeRegistrationInfo(EiType type) {