Commit 0c8cf862 by Tuomas Riihimäki

Added comments to few Entities

1 parent f5df2fe5
......@@ -29,21 +29,33 @@ import javax.persistence.Version;
@NamedQuery(name = "AccessRight.findByName", query = "SELECT a FROM AccessRight a WHERE a.name = :name") })
public class AccessRight implements ModelInterface<Integer>{
private static final long serialVersionUID = 1L;
/**
* AccessRight is global entity, and thus does not have a reference to Event.
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "access_rights_id", nullable = false)
private Integer id;
@Column(name = "right_name", nullable = false)
/**
* Name of the access right. Code finds rights by this name, so
* this field should not be changed under any circumstances.
*/
@Column(name = "right_name", nullable = false, updatable=false)
private String name;
/**
* Decribes the access right...
* Informative human readable description of the access right.
*/
@Lob
@Column(name = "right_description")
private String description;
/**
* Role rights that have references to this access right object.
*/
@OneToMany(mappedBy = "accessRight")
private List<RoleRight> roleRights;
......
......@@ -25,65 +25,97 @@ import javax.persistence.TemporalType;
import javax.persistence.Version;
/**
*
* Account event contains the money / credit traffic for the user. Each row
* references a Product entity.
*/
@Entity
@Table(name = "account_events")
@NamedQueries( {
@NamedQueries({
@NamedQuery(name = "AccountEvent.findAll", query = "SELECT a FROM AccountEvent a"),
@NamedQuery(name = "AccountEvent.findByUnitPrice", query = "SELECT a FROM AccountEvent a WHERE a.unitPrice = :unitPrice"),
@NamedQuery(name = "AccountEvent.findByUnits", query = "SELECT a FROM AccountEvent a WHERE a.units = :units"),
@NamedQuery(name = "AccountEvent.findByEventTime", query = "SELECT a FROM AccountEvent a WHERE a.eventTime = :eventTime"),
@NamedQuery(name = "AccountEvent.findByDelivered", query = "SELECT a FROM AccountEvent a WHERE a.delivered = :delivered") })
public class AccountEvent implements EventChildInterface{
public class AccountEvent implements EventChildInterface {
private static final long serialVersionUID = 1L;
@EmbeddedId
private EventPk id;
/**
* What 1 unit of this product costs.
*/
@Column(name = "unit_price", nullable = false, precision = 24, scale = 4)
private BigDecimal unitPrice;
/**
* The units of the product, eg 1.345 (l), 5 (units) 888.32 (g)..
*/
@Column(name = "unit_count", nullable = false, precision = 24, scale = 4)
private BigDecimal units;
/**
* The time this AccountEvent is created.
*/
@Column(name = "event_time", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Calendar eventTime;
private Calendar eventTime = Calendar.getInstance();
/**
* Is the product delivered to the user.
*/
@Column(name = "delivered")
@Temporal(TemporalType.TIMESTAMP)
private Calendar delivered;
/**
* If this AccountEvent is a product in foodwace, this field is a reference
* to that foodwave.
*/
@JoinColumns({
@JoinColumn(name = "food_waves_id", referencedColumnName = "entity_id", nullable = false, updatable = false, insertable = false),
@JoinColumn(name="food_waves_event_id",referencedColumnName = "events_pk_id", nullable = false, updatable = false, insertable = false)
})
@JoinColumn(name = "food_waves_id", referencedColumnName = "entity_id", updatable = false, insertable = false),
@JoinColumn(name = "food_waves_event_id", referencedColumnName = "events_pk_id", updatable = false, insertable = false) })
@ManyToOne
private FoodWave foodWave;
/**
* The product user has acquired and this this AccountEvent is a reference
* to.
*/
@JoinColumns({
@JoinColumn(name = "products_id", referencedColumnName = "entity_id", nullable = false, updatable = false, insertable = false),
@JoinColumn(name="products_event_id",referencedColumnName = "events_pk_id", nullable = false, updatable = false, insertable = false)
})
@JoinColumn(name = "products_event_id", referencedColumnName = "events_pk_id", nullable = false, updatable = false, insertable = false) })
@ManyToOne(optional = false)
private Product product;
/**
* The user that bought the products.
*/
@JoinColumn(name = "users_id", referencedColumnName = "users_id", nullable = false)
@ManyToOne(optional = false)
private User user;
/**
* Who sold the items to the user.
*/
@JoinColumn(name = "seller", referencedColumnName = "users_id", nullable = false)
@ManyToOne(optional = true)
private User seller;
/**
* What discounts user has for this account event. Some magic is applied to
* calculate these.. :)
*/
@OneToMany(mappedBy = "accountEvent")
private List<DiscountInstance> discountInstances;
/**
* When user has paid a bill a Account event for product "Credit" is created
* and reference to that bill is here..
*/
@JoinColumns({
@JoinColumn(name = "bill_id", referencedColumnName = "entity_id", nullable = false, updatable = false, insertable = false),
@JoinColumn(name="bill_event_id",referencedColumnName = "events_pk_id", nullable = false, updatable = false, insertable = false)
})
@JoinColumn(name = "bill_event_id", referencedColumnName = "events_pk_id", nullable = false, updatable = false, insertable = false) })
@OneToOne
private Bill bill;
......
......@@ -25,20 +25,17 @@ import javax.persistence.Version;
/**
*
* @author jkj
*
*/
@Entity
@Table(name = "bills")
@NamedQueries( {
@NamedQueries({
@NamedQuery(name = "Bill.findAll", query = "SELECT b FROM Bill b"),
// @NamedQuery(name = "Bill.findById", query =
@NamedQuery(name = "Bill.findByDueDate", query = "SELECT b FROM Bill b WHERE b.dueDate = :dueDate"),
@NamedQuery(name = "Bill.findByPaidDate", query = "SELECT b FROM Bill b WHERE b.paidDate = :paidDate"),
@NamedQuery(name = "Bill.findByReferenceNumber", query = "SELECT b FROM Bill b WHERE b.referenceNumber = :referenceNumber"),
@NamedQuery(name = "Bill.findByNotes", query = "SELECT b FROM Bill b WHERE b.notes = :notes") })
public class Bill implements EventChildInterface{
public class Bill implements EventChildInterface {
private static final long serialVersionUID = 1L;
......@@ -64,22 +61,19 @@ public class Bill implements EventChildInterface{
private List<BillLine> billLines;
@JoinColumns({
@JoinColumn(name = "account_event_id", referencedColumnName = "entity_id", nullable = false, updatable=false,insertable=false),
@JoinColumn(name = "account_event_event_id", referencedColumnName = "events_pk_id", nullable = false, updatable=false,insertable=false) })
@JoinColumn(name = "account_event_id", referencedColumnName = "entity_id", nullable = false, updatable = false, insertable = false),
@JoinColumn(name = "account_event_event_id", referencedColumnName = "events_pk_id", nullable = false, updatable = false, insertable = false) })
@OneToOne
private AccountEvent accountEvent;
@JoinColumn(name = "users_id", referencedColumnName = "users_id", nullable = false)
@ManyToOne(optional = false)
private User user;
@ManyToOne
@JoinColumn(name = "events_id", referencedColumnName = "events_id")
private Event event;
@Override
public EventPk getId() {
return id;
......@@ -90,8 +84,6 @@ public class Bill implements EventChildInterface{
this.id = id;
}
@Version
@Column(nullable = false)
private int jpaVersionField;
......@@ -204,7 +196,8 @@ public class Bill implements EventChildInterface{
}
/**
* @param event the event to set
* @param event
* the event to set
*/
public void setEvent(Event event) {
this.event = event;
......
......@@ -15,14 +15,15 @@ import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import javax.persistence.Version;
/**
*
*/
@Entity
@Table(name = "event_log_types")
@NamedQueries( {
@Table(name = "event_log_types", uniqueConstraints = { @UniqueConstraint(columnNames = { "events_pk_id", "logentry_name" }) })
@NamedQueries({
@NamedQuery(name = "LogEntryType.findAll", query = "SELECT l FROM LogEntryType l"),
@NamedQuery(name = "LogEntryType.findByName", query = "SELECT l FROM LogEntryType l WHERE l.name = :name"),
@NamedQuery(name = "LogEntryType.findByDescription", query = "SELECT l FROM LogEntryType l WHERE l.description = :description") })
......@@ -33,13 +34,19 @@ public class LogEntryType implements EventChildInterface {
@EmbeddedId
private EventPk id;
@Column(name = "event_type_name", nullable = false)
/**
* Do not change this.. log entries are added to this field..
*/
@Column(name = "logentry_name", nullable = false, updatable = false)
private String name;
@Lob
@Column(name = "event_type_description", nullable = false)
private String description;
/**
* Entries of this type of entrytypes...
*/
@OneToMany(cascade = CascadeType.ALL, mappedBy = "type")
private List<LogEntry> logEntries;
......@@ -47,6 +54,12 @@ public class LogEntryType implements EventChildInterface {
@Column(nullable = false)
private int jpaVersionField;
/**
* Admins can change the loglevel of EntryTypes to receive eg. email for
* certain entry types.
*/
private int logLevel = 1;
public LogEntryType() {
}
......@@ -143,4 +156,12 @@ public class LogEntryType implements EventChildInterface {
public String getName() {
return name;
}
public void setLogLevel(int logLevel) {
this.logLevel = logLevel;
}
public int getLogLevel() {
return logLevel;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!