From c9785df8a1580b2118e8a80baa8e8d0fa75d8562 Mon Sep 17 00:00:00 2001 From: Isabirye1515 Date: Wed, 15 Jan 2025 16:59:40 +0300 Subject: [PATCH 1/3] TRUNK-5842-ProgramWorkflow-Domain-Switching-from-Hibernate-Mappings-to-Annotations --- .../java/org/openmrs/BaseOpenmrsMetadata.java | 2 +- .../java/org/openmrs/ProgramWorkflow.java | 36 +++++++++++-- api/src/main/resources/hibernate.cfg.xml | 3 +- .../api/db/hibernate/ProgramWorkflow.hbm.xml | 51 ------------------- .../api/ProgramWorkflowServiceTest.java | 9 ++-- 5 files changed, 40 insertions(+), 61 deletions(-) delete mode 100644 api/src/main/resources/org/openmrs/api/db/hibernate/ProgramWorkflow.hbm.xml diff --git a/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java b/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java index 664379ecb89e..83680a4c1297 100644 --- a/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java +++ b/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java @@ -34,7 +34,7 @@ public abstract class BaseOpenmrsMetadata extends BaseOpenmrsObject implements OpenmrsMetadata { //***** Properties ***** - @Column(name = "name", nullable = false, length = 255) + @Column(name = "name", length = 255) @Field private String name; diff --git a/api/src/main/java/org/openmrs/ProgramWorkflow.java b/api/src/main/java/org/openmrs/ProgramWorkflow.java index 93715d068092..6693b2ef48f6 100644 --- a/api/src/main/java/org/openmrs/ProgramWorkflow.java +++ b/api/src/main/java/org/openmrs/ProgramWorkflow.java @@ -17,12 +17,28 @@ import java.util.Set; import java.util.TreeSet; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.OrderBy; +import javax.persistence.Table; +import javax.validation.constraints.NotNull; + import org.hibernate.envers.Audited; import org.openmrs.util.NaturalStrings; /** * ProgramWorkflow */ +@Entity +@Table(name = "program_workflow") @Audited public class ProgramWorkflow extends BaseChangeableOpenmrsMetadata { @@ -31,13 +47,23 @@ public class ProgramWorkflow extends BaseChangeableOpenmrsMetadata { // ****************** // Properties // ****************** - + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "program_workflow_program_workflow_id_seq") + @Column(name = "program_workflow_id") private Integer programWorkflowId; - private Program program; - - private Concept concept; - + @ManyToOne(fetch = FetchType.LAZY, optional = false) + @JoinColumn(name = "program_id", nullable = false) + @NotNull + private Program program; + + @ManyToOne(fetch = FetchType.LAZY, optional = false) + @JoinColumn(name = "concept_id", nullable = false) + @NotNull + private Concept concept; + + @OneToMany(mappedBy = "programWorkflow", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @OrderBy("dateCreated ASC") private Set states = new HashSet<>(); // ****************** diff --git a/api/src/main/resources/hibernate.cfg.xml b/api/src/main/resources/hibernate.cfg.xml index 2bd3c6ad8dc1..8b5f4b9bfe69 100644 --- a/api/src/main/resources/hibernate.cfg.xml +++ b/api/src/main/resources/hibernate.cfg.xml @@ -80,7 +80,7 @@ - + @@ -109,6 +109,7 @@ + diff --git a/api/src/main/resources/org/openmrs/api/db/hibernate/ProgramWorkflow.hbm.xml b/api/src/main/resources/org/openmrs/api/db/hibernate/ProgramWorkflow.hbm.xml deleted file mode 100644 index f2973faa0b4b..000000000000 --- a/api/src/main/resources/org/openmrs/api/db/hibernate/ProgramWorkflow.hbm.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - program_workflow_program_workflow_id_seq - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java index 8b4fef4d74ce..074e06648758 100644 --- a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java +++ b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java @@ -387,9 +387,9 @@ public void savePatientProgram_shouldSetEndDateOfAllRecentStatesOnTransitionToTe * * @see ProgramWorkflowService#saveProgram(Program) */ + @SuppressWarnings("null") @Test public void saveProgram_shouldCreateProgramWorkflows() { - int numBefore = Context.getProgramWorkflowService().getAllPrograms().size(); Program program = new Program(); @@ -399,16 +399,19 @@ public void saveProgram_shouldCreateProgramWorkflows() { ProgramWorkflow workflow = new ProgramWorkflow(); workflow.setConcept(cs.getConcept(4)); + workflow.setName("CIVIL STATUS"); // Set a valid name program.addWorkflow(workflow); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setConcept(cs.getConcept(5)); + state1.setName("SINGLE"); // Set a valid name state1.setInitial(true); state1.setTerminal(false); workflow.addState(state1); ProgramWorkflowState state2 = new ProgramWorkflowState(); state2.setConcept(cs.getConcept(6)); + state2.setName("MARRIED"); // Set a valid name state2.setInitial(false); state2.setTerminal(true); workflow.addState(state2); @@ -422,7 +425,7 @@ public void saveProgram_shouldCreateProgramWorkflows() { assertEquals(1, p.getWorkflows().size(), "Wrong number of workflows"); ProgramWorkflow wf = p.getWorkflowByName("CIVIL STATUS"); - assertNotNull(wf); + assertNotNull(wf, "Workflow 'CIVIL STATUS' not found"); List names = new ArrayList<>(); for (ProgramWorkflowState s : wf.getStates()) { @@ -431,6 +434,7 @@ public void saveProgram_shouldCreateProgramWorkflows() { TestUtil.assertCollectionContentsEquals(Arrays.asList("SINGLE", "MARRIED"), names); } + /** * @see ProgramWorkflowService#getConceptStateConversionByUuid(String) */ @@ -585,7 +589,6 @@ public void getWorkflowByUuid_shouldReturnNullIfNoObjectFoundWithGivenUuid() { public void getSortedStates_shouldSortNamesContainingNumbersIntelligently() { ProgramWorkflow program = new ProgramWorkflow(); - ConceptName state1ConceptName = new ConceptName("Group 10", Context.getLocale()); Concept state1Concept = new Concept(); state1Concept.addName(state1ConceptName); From a18191760ec0241d6980efad711e8dfd46476390 Mon Sep 17 00:00:00 2001 From: Isabirye1515 Date: Sun, 19 Jan 2025 06:36:55 +0300 Subject: [PATCH 2/3] TRUNK-5842-ProgramWorkflow-Domain-Switching-from-Hibernate-Mappings to annotations -updates --- .../java/org/openmrs/BaseOpenmrsMetadata.java | 2 +- .../java/org/openmrs/ProgramWorkflow.java | 107 ++++++++++++++++-- .../api/impl/ProgramWorkflowServiceImpl.java | 1 + api/src/main/resources/hibernate.cfg.xml | 5 +- .../api/ProgramWorkflowServiceTest.java | 10 +- 5 files changed, 105 insertions(+), 20 deletions(-) diff --git a/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java b/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java index 83680a4c1297..664379ecb89e 100644 --- a/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java +++ b/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java @@ -34,7 +34,7 @@ public abstract class BaseOpenmrsMetadata extends BaseOpenmrsObject implements OpenmrsMetadata { //***** Properties ***** - @Column(name = "name", length = 255) + @Column(name = "name", nullable = false, length = 255) @Field private String name; diff --git a/api/src/main/java/org/openmrs/ProgramWorkflow.java b/api/src/main/java/org/openmrs/ProgramWorkflow.java index 6693b2ef48f6..93ca340d17a4 100644 --- a/api/src/main/java/org/openmrs/ProgramWorkflow.java +++ b/api/src/main/java/org/openmrs/ProgramWorkflow.java @@ -11,12 +11,12 @@ import java.util.ArrayList; import java.util.Comparator; +import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Set; import java.util.TreeSet; - import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; @@ -29,8 +29,6 @@ import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; -import javax.validation.constraints.NotNull; - import org.hibernate.envers.Audited; import org.openmrs.util.NaturalStrings; @@ -40,7 +38,7 @@ @Entity @Table(name = "program_workflow") @Audited -public class ProgramWorkflow extends BaseChangeableOpenmrsMetadata { +public class ProgramWorkflow extends BaseOpenmrsObject { private static final long serialVersionUID = 1L; @@ -52,19 +50,46 @@ public class ProgramWorkflow extends BaseChangeableOpenmrsMetadata { @Column(name = "program_workflow_id") private Integer programWorkflowId; - @ManyToOne(fetch = FetchType.LAZY, optional = false) + @ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "program_id", nullable = false) - @NotNull private Program program; @ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "concept_id", nullable = false) - @NotNull private Concept concept; - @OneToMany(mappedBy = "programWorkflow", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @OneToMany(mappedBy = "programWorkflow", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) @OrderBy("dateCreated ASC") - private Set states = new HashSet<>(); + private Set states = new HashSet<>(); + + @ManyToOne(optional = false) + @JoinColumn(name = "creator") + private User creator; + + @Column(name = "date_created", nullable = false) + private Date dateCreated; + + @ManyToOne + @JoinColumn(name = "changed_by") + private User changedBy; + + @Column(name = "date_changed") + private Date dateChanged; + + @Column(name = "retired", nullable = false) + @org.hibernate.search.annotations.Field + private Boolean retired = Boolean.FALSE; + + @Column(name = "date_retired") + private Date dateRetired; + + @ManyToOne + @JoinColumn(name = "retired_by") + private User retiredBy; + + @Column(name = "retire_reason", length = 255) + private String retireReason; + // ****************** // Constructors @@ -318,6 +343,70 @@ public void setId(Integer id) { } + public User getCreator() { + return creator; + } + + public void setCreator(User creator) { + this.creator = creator; + } + + public Date getDateCreated() { + return dateCreated; + } + + public void setDateCreated(Date dateCreated) { + this.dateCreated = dateCreated; + } + + public User getChangedBy() { + return changedBy; + } + + public void setChangedBy(User changedBy) { + this.changedBy = changedBy; + } + + public Date getDateChanged() { + return dateChanged; + } + + public void setDateChanged(Date dateChanged) { + this.dateChanged = dateChanged; + } + + public Boolean getRetired() { + return retired; + } + + public void setRetired(Boolean retired) { + this.retired = retired; + } + + public Date getDateRetired() { + return dateRetired; + } + + public void setDateRetired(Date dateRetired) { + this.dateRetired = dateRetired; + } + + public User getRetiredBy() { + return retiredBy; + } + + public void setRetiredBy(User retiredBy) { + this.retiredBy = retiredBy; + } + + public String getRetireReason() { + return retireReason; + } + + public void setRetireReason(String retireReason) { + this.retireReason = retireReason; + } + /** * Gets the number of states which are not retired * diff --git a/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java b/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java index 233388c49c29..0aff18fd05ed 100644 --- a/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java +++ b/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java @@ -70,6 +70,7 @@ public void setProgramWorkflowDAO(ProgramWorkflowDAO dao) { * @see org.openmrs.api.ProgramWorkflowService#saveProgram(org.openmrs.Program) */ @Override + @Transactional public Program saveProgram(Program program) throws APIException { // Program if (program.getConcept() == null) { diff --git a/api/src/main/resources/hibernate.cfg.xml b/api/src/main/resources/hibernate.cfg.xml index 8b5f4b9bfe69..4a09efcc1cfa 100644 --- a/api/src/main/resources/hibernate.cfg.xml +++ b/api/src/main/resources/hibernate.cfg.xml @@ -77,10 +77,9 @@ - + - @@ -109,7 +108,7 @@ - + diff --git a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java index 074e06648758..b8631edcc5d5 100644 --- a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java +++ b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java @@ -387,7 +387,6 @@ public void savePatientProgram_shouldSetEndDateOfAllRecentStatesOnTransitionToTe * * @see ProgramWorkflowService#saveProgram(Program) */ - @SuppressWarnings("null") @Test public void saveProgram_shouldCreateProgramWorkflows() { int numBefore = Context.getProgramWorkflowService().getAllPrograms().size(); @@ -399,19 +398,16 @@ public void saveProgram_shouldCreateProgramWorkflows() { ProgramWorkflow workflow = new ProgramWorkflow(); workflow.setConcept(cs.getConcept(4)); - workflow.setName("CIVIL STATUS"); // Set a valid name program.addWorkflow(workflow); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setConcept(cs.getConcept(5)); - state1.setName("SINGLE"); // Set a valid name state1.setInitial(true); state1.setTerminal(false); workflow.addState(state1); ProgramWorkflowState state2 = new ProgramWorkflowState(); state2.setConcept(cs.getConcept(6)); - state2.setName("MARRIED"); // Set a valid name state2.setInitial(false); state2.setTerminal(true); workflow.addState(state2); @@ -425,7 +421,7 @@ public void saveProgram_shouldCreateProgramWorkflows() { assertEquals(1, p.getWorkflows().size(), "Wrong number of workflows"); ProgramWorkflow wf = p.getWorkflowByName("CIVIL STATUS"); - assertNotNull(wf, "Workflow 'CIVIL STATUS' not found"); + assertNotNull(wf); List names = new ArrayList<>(); for (ProgramWorkflowState s : wf.getStates()) { @@ -434,7 +430,6 @@ public void saveProgram_shouldCreateProgramWorkflows() { TestUtil.assertCollectionContentsEquals(Arrays.asList("SINGLE", "MARRIED"), names); } - /** * @see ProgramWorkflowService#getConceptStateConversionByUuid(String) */ @@ -589,6 +584,7 @@ public void getWorkflowByUuid_shouldReturnNullIfNoObjectFoundWithGivenUuid() { public void getSortedStates_shouldSortNamesContainingNumbersIntelligently() { ProgramWorkflow program = new ProgramWorkflow(); + ConceptName state1ConceptName = new ConceptName("Group 10", Context.getLocale()); Concept state1Concept = new Concept(); state1Concept.addName(state1ConceptName); @@ -1117,4 +1113,4 @@ public void triggerStateConversion_shouldTestTransitionToState(){ // return props; // } -} +} \ No newline at end of file From 82f820f208bb63d7a448236505ab3635b023acb7 Mon Sep 17 00:00:00 2001 From: Isabirye1515 Date: Sun, 19 Jan 2025 09:04:27 +0300 Subject: [PATCH 3/3] Removed the ProgramWorkFlowServiceTest from the PR --- .../java/org/openmrs/BaseOpenmrsMetadata.java | 2 +- .../java/org/openmrs/ProgramWorkflow.java | 107 ++++++++++++++++-- .../api/impl/ProgramWorkflowServiceImpl.java | 1 + api/src/main/resources/hibernate.cfg.xml | 5 +- .../api/ProgramWorkflowServiceTest.java | 10 +- 5 files changed, 105 insertions(+), 20 deletions(-) diff --git a/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java b/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java index 83680a4c1297..664379ecb89e 100644 --- a/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java +++ b/api/src/main/java/org/openmrs/BaseOpenmrsMetadata.java @@ -34,7 +34,7 @@ public abstract class BaseOpenmrsMetadata extends BaseOpenmrsObject implements OpenmrsMetadata { //***** Properties ***** - @Column(name = "name", length = 255) + @Column(name = "name", nullable = false, length = 255) @Field private String name; diff --git a/api/src/main/java/org/openmrs/ProgramWorkflow.java b/api/src/main/java/org/openmrs/ProgramWorkflow.java index 6693b2ef48f6..93ca340d17a4 100644 --- a/api/src/main/java/org/openmrs/ProgramWorkflow.java +++ b/api/src/main/java/org/openmrs/ProgramWorkflow.java @@ -11,12 +11,12 @@ import java.util.ArrayList; import java.util.Comparator; +import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Set; import java.util.TreeSet; - import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; @@ -29,8 +29,6 @@ import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; -import javax.validation.constraints.NotNull; - import org.hibernate.envers.Audited; import org.openmrs.util.NaturalStrings; @@ -40,7 +38,7 @@ @Entity @Table(name = "program_workflow") @Audited -public class ProgramWorkflow extends BaseChangeableOpenmrsMetadata { +public class ProgramWorkflow extends BaseOpenmrsObject { private static final long serialVersionUID = 1L; @@ -52,19 +50,46 @@ public class ProgramWorkflow extends BaseChangeableOpenmrsMetadata { @Column(name = "program_workflow_id") private Integer programWorkflowId; - @ManyToOne(fetch = FetchType.LAZY, optional = false) + @ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "program_id", nullable = false) - @NotNull private Program program; @ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "concept_id", nullable = false) - @NotNull private Concept concept; - @OneToMany(mappedBy = "programWorkflow", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @OneToMany(mappedBy = "programWorkflow", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) @OrderBy("dateCreated ASC") - private Set states = new HashSet<>(); + private Set states = new HashSet<>(); + + @ManyToOne(optional = false) + @JoinColumn(name = "creator") + private User creator; + + @Column(name = "date_created", nullable = false) + private Date dateCreated; + + @ManyToOne + @JoinColumn(name = "changed_by") + private User changedBy; + + @Column(name = "date_changed") + private Date dateChanged; + + @Column(name = "retired", nullable = false) + @org.hibernate.search.annotations.Field + private Boolean retired = Boolean.FALSE; + + @Column(name = "date_retired") + private Date dateRetired; + + @ManyToOne + @JoinColumn(name = "retired_by") + private User retiredBy; + + @Column(name = "retire_reason", length = 255) + private String retireReason; + // ****************** // Constructors @@ -318,6 +343,70 @@ public void setId(Integer id) { } + public User getCreator() { + return creator; + } + + public void setCreator(User creator) { + this.creator = creator; + } + + public Date getDateCreated() { + return dateCreated; + } + + public void setDateCreated(Date dateCreated) { + this.dateCreated = dateCreated; + } + + public User getChangedBy() { + return changedBy; + } + + public void setChangedBy(User changedBy) { + this.changedBy = changedBy; + } + + public Date getDateChanged() { + return dateChanged; + } + + public void setDateChanged(Date dateChanged) { + this.dateChanged = dateChanged; + } + + public Boolean getRetired() { + return retired; + } + + public void setRetired(Boolean retired) { + this.retired = retired; + } + + public Date getDateRetired() { + return dateRetired; + } + + public void setDateRetired(Date dateRetired) { + this.dateRetired = dateRetired; + } + + public User getRetiredBy() { + return retiredBy; + } + + public void setRetiredBy(User retiredBy) { + this.retiredBy = retiredBy; + } + + public String getRetireReason() { + return retireReason; + } + + public void setRetireReason(String retireReason) { + this.retireReason = retireReason; + } + /** * Gets the number of states which are not retired * diff --git a/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java b/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java index 233388c49c29..0aff18fd05ed 100644 --- a/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java +++ b/api/src/main/java/org/openmrs/api/impl/ProgramWorkflowServiceImpl.java @@ -70,6 +70,7 @@ public void setProgramWorkflowDAO(ProgramWorkflowDAO dao) { * @see org.openmrs.api.ProgramWorkflowService#saveProgram(org.openmrs.Program) */ @Override + @Transactional public Program saveProgram(Program program) throws APIException { // Program if (program.getConcept() == null) { diff --git a/api/src/main/resources/hibernate.cfg.xml b/api/src/main/resources/hibernate.cfg.xml index 8b5f4b9bfe69..4a09efcc1cfa 100644 --- a/api/src/main/resources/hibernate.cfg.xml +++ b/api/src/main/resources/hibernate.cfg.xml @@ -77,10 +77,9 @@ - + - @@ -109,7 +108,7 @@ - + diff --git a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java index 074e06648758..b8631edcc5d5 100644 --- a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java +++ b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceTest.java @@ -387,7 +387,6 @@ public void savePatientProgram_shouldSetEndDateOfAllRecentStatesOnTransitionToTe * * @see ProgramWorkflowService#saveProgram(Program) */ - @SuppressWarnings("null") @Test public void saveProgram_shouldCreateProgramWorkflows() { int numBefore = Context.getProgramWorkflowService().getAllPrograms().size(); @@ -399,19 +398,16 @@ public void saveProgram_shouldCreateProgramWorkflows() { ProgramWorkflow workflow = new ProgramWorkflow(); workflow.setConcept(cs.getConcept(4)); - workflow.setName("CIVIL STATUS"); // Set a valid name program.addWorkflow(workflow); ProgramWorkflowState state1 = new ProgramWorkflowState(); state1.setConcept(cs.getConcept(5)); - state1.setName("SINGLE"); // Set a valid name state1.setInitial(true); state1.setTerminal(false); workflow.addState(state1); ProgramWorkflowState state2 = new ProgramWorkflowState(); state2.setConcept(cs.getConcept(6)); - state2.setName("MARRIED"); // Set a valid name state2.setInitial(false); state2.setTerminal(true); workflow.addState(state2); @@ -425,7 +421,7 @@ public void saveProgram_shouldCreateProgramWorkflows() { assertEquals(1, p.getWorkflows().size(), "Wrong number of workflows"); ProgramWorkflow wf = p.getWorkflowByName("CIVIL STATUS"); - assertNotNull(wf, "Workflow 'CIVIL STATUS' not found"); + assertNotNull(wf); List names = new ArrayList<>(); for (ProgramWorkflowState s : wf.getStates()) { @@ -434,7 +430,6 @@ public void saveProgram_shouldCreateProgramWorkflows() { TestUtil.assertCollectionContentsEquals(Arrays.asList("SINGLE", "MARRIED"), names); } - /** * @see ProgramWorkflowService#getConceptStateConversionByUuid(String) */ @@ -589,6 +584,7 @@ public void getWorkflowByUuid_shouldReturnNullIfNoObjectFoundWithGivenUuid() { public void getSortedStates_shouldSortNamesContainingNumbersIntelligently() { ProgramWorkflow program = new ProgramWorkflow(); + ConceptName state1ConceptName = new ConceptName("Group 10", Context.getLocale()); Concept state1Concept = new Concept(); state1Concept.addName(state1ConceptName); @@ -1117,4 +1113,4 @@ public void triggerStateConversion_shouldTestTransitionToState(){ // return props; // } -} +} \ No newline at end of file