Skip to content

Commit

Permalink
TRUNK-5492: Replace Person and Patient hbm mapping file with annotati…
Browse files Browse the repository at this point in the history
…on (openmrs#3063)

* TRUNK-5492: Replace Person and Patient hbm mapping file with annotation
Fix problem with auditable parameters inherited from BaseOpenmrsData
  • Loading branch information
mogoodrich committed Nov 29, 2019
1 parent 7d3afc6 commit 8764b21
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 60 deletions.
117 changes: 70 additions & 47 deletions api/src/main/java/org/openmrs/Patient.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,9 @@
*/
package org.openmrs;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import org.hibernate.annotations.SortNatural;
import org.hibernate.search.annotations.ContainedIn;
import org.hibernate.search.annotations.Field;

import javax.persistence.Access;
import javax.persistence.AccessType;
Expand All @@ -27,10 +23,13 @@
import javax.persistence.OneToMany;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import org.hibernate.annotations.SortNatural;
import org.hibernate.search.annotations.ContainedIn;
import org.hibernate.search.annotations.Field;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

/**
* Defines a Patient in the system. A patient is simply an extension of a person and all that that
Expand All @@ -55,42 +54,7 @@ public class Patient extends Person {
@SortNatural
@ContainedIn
private Set<PatientIdentifier> identifiers;

@ManyToOne
@JoinColumn(name = "creator", updatable = false)
@Access(AccessType.PROPERTY)
private User creator;

@Column(name = "date_created", nullable = false, updatable = false, length = 19)
@Access(AccessType.PROPERTY)
private Date dateCreated;

@Column(name = "voided", nullable = false)
@Access(AccessType.PROPERTY)
@Field
private Boolean voided = Boolean.FALSE;

@Column(name = "date_voided", length = 19)
@Access(AccessType.PROPERTY)
private Date dateVoided;

@ManyToOne
@JoinColumn(name = "voided_by")
@Access(AccessType.PROPERTY)
private User voidedBy;

@Column(name = "void_reason")
@Access(AccessType.PROPERTY)
private String voidReason;

@ManyToOne
@JoinColumn(name = "changed_by")
@Access(AccessType.PROPERTY)
private User changedBy;

@Column(name = "date_changed", length = 19)
@Access(AccessType.PROPERTY)
private Date dateChanged;


// Constructors

Expand Down Expand Up @@ -234,7 +198,66 @@ public Set<PatientIdentifier> getIdentifiers() {
public void setIdentifiers(Set<PatientIdentifier> identifiers) {
this.identifiers = identifiers;
}

@ManyToOne
@JoinColumn(name = "creator", updatable = false)
@Access(AccessType.PROPERTY)
@Override
public User getCreator() {
return super.getCreator();
}

@Column(name = "date_created", nullable = false, updatable = false, length = 19)
@Access(AccessType.PROPERTY)
@Override
public Date getDateCreated() {
return super.getDateCreated();
}

@Column(name = "voided", nullable = false)
@Access(AccessType.PROPERTY)
@Field
@Override
public Boolean getVoided() {
return super.getVoided();
}

@Column(name = "date_voided", length = 19)
@Access(AccessType.PROPERTY)
@Override
public Date getDateVoided() {
return super.getDateVoided();
}

@ManyToOne
@JoinColumn(name = "voided_by")
@Override
public User getVoidedBy() {
return super.getVoidedBy();
}

@Column(name = "void_reason")
@Access(AccessType.PROPERTY)
@Override
public String getVoidReason() {
return super.getVoidReason();
}

@ManyToOne
@JoinColumn(name = "changed_by")
@Access(AccessType.PROPERTY)
@Override
public User getChangedBy() {
return super.getChangedBy();
}

@Column(name = "date_changed", length = 19)
@Access(AccessType.PROPERTY)
@Override
public Date getDateChanged() {
return super.getDateChanged();
}

/**
* Adds this PatientIdentifier if the patient doesn't contain it already
*
Expand Down
28 changes: 15 additions & 13 deletions api/src/test/java/org/openmrs/api/PatientServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,6 @@
*/
package org.openmrs.api;

import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.openmrs.test.TestUtil.assertCollectionContentsEquals;
import static org.openmrs.util.AddressMatcher.containsAddress;
import static org.openmrs.util.NameMatcher.containsFullName;
import org.apache.commons.collections.CollectionUtils;
import org.junit.Assert;
import org.junit.Before;
Expand Down Expand Up @@ -79,6 +66,20 @@
import java.util.Set;
import java.util.stream.Collectors;

import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.openmrs.test.TestUtil.assertCollectionContentsEquals;
import static org.openmrs.util.AddressMatcher.containsAddress;
import static org.openmrs.util.NameMatcher.containsFullName;

/**
* This class tests methods in the PatientService class TODO Add methods to test all methods in
* PatientService class
Expand Down Expand Up @@ -1547,6 +1548,7 @@ public void voidPatient_shouldVoidGivenPatientWithGivenReason() throws Exception

Assert.assertTrue(voidedPatient.getVoided());
Assert.assertEquals("Void for testing", voidedPatient.getVoidReason());
Assert.assertFalse(Context.getPatientService().getAllPatients(false).contains(patient));
}

/**
Expand Down

0 comments on commit 8764b21

Please sign in to comment.