- private EiType registerType(ProducerEiTypeRegistrationInfo typeInfo) {
- EiType type = this.eiTypes.get(typeInfo.eiTypeId);
- if (type == null) {
- type = new EiType(typeInfo.eiTypeId, typeInfo.jobDataSchema);
- this.eiTypes.put(type);
- }
- return type;
- }
-
- EiProducer createProducer(Collection<EiType> types, String producerId, ProducerRegistrationInfo registrationInfo) {
- return new EiProducer(producerId, types, registrationInfo.jobCreationCallbackUrl,
- registrationInfo.jobDeletionCallbackUrl, registrationInfo.producerSupervisionCallbackUrl);
- }
-
- private EiProducer registerProducer(String producerId, ProducerRegistrationInfo registrationInfo) {
- ArrayList<EiType> types = new ArrayList<>();
- for (ProducerEiTypeRegistrationInfo typeInfo : registrationInfo.types) {
- types.add(registerType(typeInfo));
- }
- EiProducer producer = createProducer(types, producerId, registrationInfo);
- this.eiProducers.put(producer);
-
- for (EiType type : types) {
- for (EiJob job : this.eiJobs.getJobsForType(type)) {
- this.producerCallbacks.notifyProducerJobStarted(producer, job) //
- .subscribe();
- }
- type.addProducer(producer);
- }
- return producer;
- }
-
- ProducerRegistrationInfo toEiProducerRegistrationInfo(EiProducer p) {