Red Hat Application Migration Toolkit
package com.mpdmal.cloudental.entities; import com.mpdmal.cloudental.entities.Discount; import com.mpdmal.cloudental.entities.Patienthistory; import com.mpdmal.cloudental.entities.PricelistItem; import com.mpdmal.cloudental.entities.Visit; import com.mpdmal.cloudental.entities.base.DBEntity; import com.mpdmal.cloudental.util.CloudentUtils; import java.io.Serializable; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.Iterator; 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.Temporal; import javax.persistence.TemporalType; import javax.validation.constraints.NotNull; @Entity public class Activity extends DBEntity implements Serializable { private static final long serialVersionUID = 1L; public static final String DEFAULT_ACTIVITY_IDENTIFIER_DESCR = "def act| cdent"; @Id @GeneratedValue( strategy = GenerationType.IDENTITY ) private Integer id; @NotNull private String description; @Temporal(TemporalType.TIMESTAMP) private Date enddate; @NotNull @Temporal(TemporalType.TIMESTAMP) private Date startdate; @NotNull @ManyToOne( fetch = FetchType.LAZY ) @JoinColumn( name = "patienthistid" ) private Patienthistory patienthistory; @NotNull @ManyToOne( fetch = FetchType.LAZY ) @JoinColumn( name = "priceable" ) private PricelistItem priceable; @NotNull @ManyToOne( fetch = FetchType.LAZY ) @JoinColumn( name = "discount" ) private Discount discount; @OneToMany( cascade = {CascadeType.ALL}, mappedBy = "activity", fetch = FetchType.EAGER ) private Collection visits; @NotNull private boolean isopen = true; @Column( precision = 131089 ) private BigDecimal price; public Integer getId() { return this.id; } public void setOpen(boolean isOpen) { if(this.enddate == null) { CloudentUtils.logError("wont close an activity without an enddate " + this.getId() + "|" + this.getDescription()); } else { this.isopen = isOpen; } } public void setId(Integer id) { this.id = id; } public void setDescription(String description) { this.description = description; } public void setEnddate(Date enddate) { if(enddate != null && enddate.getTime() > this.startdate.getTime()) { this.enddate = enddate; CloudentUtils.logMessage("Activity closed " + this.id + "(" + this.description + ")"); this.isopen = false; } } public void setStartdate(Date startdate) { this.startdate = startdate; } public void setPriceable(PricelistItem priceable) { this.priceable = priceable; } public void setDiscount(Discount discount) { this.discount = discount; } public void setPatienthistory(Patienthistory patienthistory) { this.patienthistory = patienthistory; } public void setPrice(BigDecimal price) { this.price = price; } public void setVisits(Collection visits) { if(visits == null) { visits = new ArrayList(); } else { ((Collection)visits).clear(); } Iterator var2 = ((Collection)visits).iterator(); while(var2.hasNext()) { Visit visit = (Visit)var2.next(); this.addVisit(visit); } } public void addVisit(Visit v) { if(this.visits == null) { this.visits = new ArrayList(); } this.visits.add(v); } public void removeVisit(Visit v) { if(this.visits.contains(v)) { this.visits.remove(v); } } public String getDescription() { return this.description; } public Date getEnddate() { return this.enddate; } public Date getStartdate() { return this.startdate; } public PricelistItem getPriceable() { return this.priceable; } public Discount getDiscount() { return this.discount; } public Patienthistory getPatienthistory() { return this.patienthistory; } public Collection getVisits() { return this.visits; } public BigDecimal getPrice() { return this.price; } public boolean isOpen() { return this.isopen; } public String getXML() { StringBuilder ans = new StringBuilder("<activity></activity>"); ans.insert(ans.indexOf("</activity"), "<description>" + this.description + "</description>"); ans.insert(ans.indexOf("</activity"), "<price>" + this.priceable.getPrice() + "</price>"); ans.insert(ans.indexOf("</activity"), "<isOpen>" + this.isopen + "</isOpen>"); ans.insert(ans.indexOf("</activity"), "<startdate>" + this.startdate + "</startdate>"); ans.insert(ans.indexOf("</activity"), "<enddate>" + this.enddate + "</enddate>"); ans.insert(ans.indexOf("</activity"), "<visits>"); if(this.visits != null) { Iterator var2 = this.visits.iterator(); while(var2.hasNext()) { Visit visit = (Visit)var2.next(); ans.insert(ans.indexOf("</activity"), visit.getXML()); } } ans.insert(ans.indexOf("</activity"), "</visits>"); return ans.toString(); } }