/** * Returns a Set<{@link ProgramWorkflowState}> including all non-retired ProgramWorkflowStates * and all retired ProgramWorkflowStates in this ProgramWorkflow if <code>includeRetired</code> * is true * * @param includeRetired - if false, returns only non-retired {@link ProgramWorkflowState} * objects in this ProgramWorkflow * @return Set<ProgramWorkflowState> - all ProgramWorkflowStates matching input parameters */ public Set<ProgramWorkflowState> getStates(boolean includeRetired) { Set<ProgramWorkflowState> ret = new HashSet<>(); for (ProgramWorkflowState s : getStates()) { if (includeRetired || !s.getRetired()) { ret.add(s); } } return ret; }
@Test public void retireProgram_shouldSaveTheRetiredProgramWithReason() throws APIException { String reason = "Feeling well."; String uuid = "eae98b4c-e195-403b-b34a-82d94103b2c0"; Program program = Context.getProgramWorkflowService().getProgramByUuid(uuid); Program retireProgram = pws.retireProgram(program, reason); assertTrue(retireProgram.getRetired()); assertEquals(reason, retireProgram.getRetireReason()); for (ProgramWorkflow programWorkflow : program.getAllWorkflows()) { assertTrue(programWorkflow.getRetired()); for (ProgramWorkflowState programWorkflowState : programWorkflow.getStates()) { assertTrue(programWorkflowState.getRetired()); } } }
@Override public void validateRefRepresentation() throws Exception { super.validateRefRepresentation(); assertPropEquals("retired", getObject().getRetired()); assertPropPresent("concept"); }
@Override public void validateFullRepresentation() throws Exception { super.validateFullRepresentation(); assertPropEquals("description", getObject().getDescription()); assertPropEquals("retired", getObject().getRetired()); assertPropPresent("concept"); }
@Override public void validateDefaultRepresentation() throws Exception { super.validateDefaultRepresentation(); assertPropEquals("description", getObject().getDescription()); assertPropEquals("retired", getObject().getRetired()); assertPropPresent("concept"); }