Exemplo n.º 1
0
  /**
   * Creates task action event requests for tracked entity instance creation, program enrollment,
   * and program stage events.
   *
   * @return the new Channel Request
   */
  public ChannelRequest build() {

    ProgramActionBuilder programActionBuilder = new ProgramActionBuilder();
    CreateInstanceActionBuilder createInstanceActionBuilder = new CreateInstanceActionBuilder();
    StageActionBuilder stageActionBuilder = new StageActionBuilder();
    SendDataValueSetActionBuilder sendDataValueSetActionBuilder =
        new SendDataValueSetActionBuilder();

    List<ActionEventRequest> actions = new ArrayList<>();

    List<Program> programs = programService.findByRegistration(true);
    actions.addAll(programActionBuilder.build(programs, serverVersion));

    List<Stage> stages = stageService.findAll();
    actions.addAll(stageActionBuilder.build(stages));

    List<TrackedEntityAttribute> attributes = trackedEntityAttributeService.findAll();
    List<TrackedEntity> trackedEntities = trackedEntityService.findAll();
    actions.addAll(createInstanceActionBuilder.build(attributes, trackedEntities));
    actions.addAll(
        sendDataValueSetActionBuilder.addSendDataValueSetActions(dataSetService.findAll()));
    actions.add(addSendDataValue());

    return new ChannelRequest(
        DisplayNames.DHIS2_DISPLAY_NAME,
        bundleContext.getBundle().getSymbolicName(),
        bundleContext.getBundle().getVersion().toString(),
        null,
        new ArrayList<>(),
        actions);
  }