package org.akaza.openclinica.controller.openrosa; import java.util.List; import org.akaza.openclinica.controller.openrosa.processor.InstanceIdProcessor; import org.akaza.openclinica.controller.openrosa.processor.Processor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class SubmissionProcessorChain { public enum ProcessorEnum {PROCEED, DO_NOT_PROCEED, PROCESS_ALL, INSTANCE_ID_PROCESSOR, FIELD_SUBMISSION_RPOCESSOR, SUBMISSION_PROCESSOR}; @Autowired List<Processor> processors; public void processSubmission(SubmissionContainer container) throws Exception { for (Processor processor:processors) { if (processor.process(container) != ProcessorEnum.PROCEED) { break; } } } }