Skip to content
Snippets Groups Projects
Commit dfec470c authored by Julian Horner's avatar Julian Horner
Browse files

Replace Double class of price fields with BigDecimal

parent 5e529f2e
No related branches found
No related tags found
No related merge requests found
......@@ -5,6 +5,7 @@
package de.dpunkt.myaktion.model;
import java.math.BigDecimal;
import java.util.List;
import javax.persistence.AttributeOverride;
......@@ -19,6 +20,8 @@ import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Transient;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
......@@ -26,7 +29,8 @@ import javax.validation.constraints.Size;
* @author Julian
*/
@NamedQueries({
@NamedQuery(name = Campaign.findAll, query = "SELECT c FROM Campaign c ORDER BY c.name"),
@NamedQuery(name = Campaign.findAll,
query = "SELECT c FROM Campaign c ORDER BY c.name"),
@NamedQuery(name = Campaign.getAmountDonatedSoFar,
query = "SELECT SUM(d.amount) FROM Donation d WHERE d.campaign = :campaign") })
@Entity
......@@ -48,15 +52,15 @@ public class Campaign {
private String name;
@NotNull(message = "{campaign.targetAmount.notNull}")
//@DecimalMin(value = "10.00", message = "{campaign.targetAmount.decimalMin}")
private Double targetAmount;
@DecimalMin(value = "10.00", message = "{campaign.targetAmount.decimalMin}")
private BigDecimal targetAmount;
@NotNull(message = "{campaign.donationMinimum.notNull}")
//@DecimalMin(value = "1.00", message = "{campaign.donationMinimum.decimalMin}")
private Double donationMinimum;
@DecimalMin(value = "1.00", message = "{campaign.donationMinimum.decimalMin}")
private BigDecimal donationMinimum;
@Transient
private Double amountDonatedSoFar;
private BigDecimal amountDonatedSoFar;
@Embedded
@AttributeOverrides({
......@@ -82,27 +86,27 @@ public class Campaign {
this.name = name;
}
public Double getTargetAmount() {
public BigDecimal getTargetAmount() {
return targetAmount;
}
public void setTargetAmount(Double targetAmount) {
public void setTargetAmount(BigDecimal targetAmount) {
this.targetAmount = targetAmount;
}
public Double getDonationMinimum() {
public BigDecimal getDonationMinimum() {
return donationMinimum;
}
public void setDonationMinimum(Double donationMinimum) {
public void setDonationMinimum(BigDecimal donationMinimum) {
this.donationMinimum = donationMinimum;
}
public Double getAmountDonatedSoFar() {
public BigDecimal getAmountDonatedSoFar() {
return amountDonatedSoFar;
}
public void setAmountDonatedSoFar(Double amountDonatedSoFar) {
public void setAmountDonatedSoFar(BigDecimal amountDonatedSoFar) {
this.amountDonatedSoFar = amountDonatedSoFar;
}
......
......@@ -5,6 +5,8 @@
package de.dpunkt.myaktion.model;
import java.math.BigDecimal;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
......@@ -26,8 +28,8 @@ public class Donation {
private Long id;
@NotNull(message = "{donation.amount.notNull}")
//@DecimalMin(value = "1.00", message = "{donation.amount.decimalMin}")
private Double amount;
@DecimalMin(value = "1.00", message = "{donation.amount.decimalMin}")
private BigDecimal amount;
@NotNull
@Size(min = 5, max = 40, message = "{donation.donorName.size}")
......@@ -69,11 +71,11 @@ public class Donation {
this.id = id;
}
public Double getAmount() {
public BigDecimal getAmount() {
return amount;
}
public void setAmount(Double amount) {
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
......
......@@ -5,6 +5,7 @@
package de.dpunkt.myaktion.services;
import java.math.BigDecimal;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
......@@ -71,14 +72,14 @@ public class CampaignServiceBean implements CampaignService {
//----------------------------------------------------------------------------------------------
private Double getAmountDonatedSoFar(Campaign campaign) {
TypedQuery<Double> query =
entityManager.createNamedQuery(Campaign.getAmountDonatedSoFar, Double.class);
private BigDecimal getAmountDonatedSoFar(Campaign campaign) {
TypedQuery<BigDecimal> query =
entityManager.createNamedQuery(Campaign.getAmountDonatedSoFar, BigDecimal.class);
query.setParameter("campaign", campaign);
Double result = query.getSingleResult();
BigDecimal result = query.getSingleResult();
if (result == null)
result = 0d;
result = BigDecimal.ZERO;
return result;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment