From c8eb07e8dc020346aaee0d859040ccabb79349bd Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Fri, 17 Jan 2014 12:26:05 +0000
Subject: [PATCH] #395 feature - Changes in REST API for license system

---
 securis/src/main/java/net/curisit/securis/db/License.java |  189 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 165 insertions(+), 24 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/db/License.java b/securis/src/main/java/net/curisit/securis/db/License.java
index fb4ce46..6ef4659 100644
--- a/securis/src/main/java/net/curisit/securis/db/License.java
+++ b/securis/src/main/java/net/curisit/securis/db/License.java
@@ -14,6 +14,8 @@
 import javax.persistence.Table;
 
 import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
 
 /**
@@ -36,22 +38,45 @@
 
 	private String code;
 
-	@Column(name = "creation_timestamp")
-	private Date creationTimestamp;
-
-	@ManyToOne
-	@JoinColumn(name = "organization_id")
-	private Organization organization;
-
+	@JsonIgnore
 	@ManyToOne
 	@JoinColumn(name = "pack_id")
 	private Pack pack;
 
+	@JsonIgnore
 	@ManyToOne
 	@JoinColumn(name = "created_by")
 	private User createdBy;
 
-	private int numLicenses;
+	@JsonIgnore
+	@ManyToOne
+	@JoinColumn(name = "canceled_by")
+	private User canceledBy;
+
+	private int status;
+
+	@JoinColumn(name = "full_name")
+	private String fullName;
+
+	private String email;
+
+	@Column(name = "creation_timestamp")
+	private Date creationTimestamp;
+
+	@Column(name = "modification_timestamp")
+	private Date modificationTimestamp;
+
+	@Column(name = "activation_timestamp")
+	private Date activationTimestamp;
+
+	@Column(name = "cancelation_timestamp")
+	private Date cancelationTimestamp;
+
+	@Column(name = "send_timestamp")
+	private Date sendTimestamp;
+
+	@Column(name = "last_access_timestamp")
+	private Date lastAccessTimestamp;
 
 	public int getId() {
 		return id;
@@ -73,28 +98,12 @@
 		this.creationTimestamp = creationTimestamp;
 	}
 
-	public Organization getOrganization() {
-		return organization;
-	}
-
-	public void setOrganization(Organization organization) {
-		this.organization = organization;
-	}
-
 	public User getCreatedBy() {
 		return createdBy;
 	}
 
 	public void setCreatedBy(User createdBy) {
 		this.createdBy = createdBy;
-	}
-
-	public int getNumLicenses() {
-		return numLicenses;
-	}
-
-	public void setNumLicenses(int numLicenses) {
-		this.numLicenses = numLicenses;
 	}
 
 	public Pack getPack() {
@@ -105,4 +114,136 @@
 		this.pack = pack;
 	}
 
+	@JsonProperty("created_by_id")
+	public String getCreatedById() {
+		return createdBy == null ? null : createdBy.getUsername();
+	}
+
+	@JsonProperty("created_by_id")
+	public void setCreatedById(String username) {
+		if (username == null) {
+			createdBy = null;
+		} else {
+			createdBy = new User();
+			createdBy.setUsername(username);
+		}
+	}
+
+	@JsonProperty("canceled_by_id")
+	public String getCanceledById() {
+		return canceledBy == null ? null : canceledBy.getUsername();
+	}
+
+	@JsonProperty("canceled_by_id")
+	public void setCanceledById(String username) {
+		if (username == null) {
+			canceledBy = null;
+		} else {
+			canceledBy = new User();
+			canceledBy.setUsername(username);
+		}
+	}
+
+	@JsonProperty("pack_code")
+	public String getLicenseTypcode() {
+		return pack == null ? null : pack.getCode();
+	}
+
+	@JsonProperty("pack_id")
+	public Integer getOrgId() {
+		return pack == null ? null : pack.getId();
+	}
+
+	@JsonProperty("pack_id")
+	public void setOrgId(Integer idPack) {
+		if (idPack == null) {
+			pack = null;
+		} else {
+			pack = new Pack();
+			pack.setId(idPack);
+		}
+	}
+
+	public int getStatus() {
+		return status;
+	}
+
+	public void setStatus(int status) {
+		this.status = status;
+	}
+
+	public Date getModificationTimestamp() {
+		return modificationTimestamp;
+	}
+
+	public void setModificationTimestamp(Date modificationTimestamp) {
+		this.modificationTimestamp = modificationTimestamp;
+	}
+
+	public String getFullName() {
+		return fullName;
+	}
+
+	public void setFullName(String fullName) {
+		this.fullName = fullName;
+	}
+
+	public String getEmail() {
+		return email;
+	}
+
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	public Date getActivationTimestamp() {
+		return activationTimestamp;
+	}
+
+	public void setActivationTimestamp(Date activationTimestamp) {
+		this.activationTimestamp = activationTimestamp;
+	}
+
+	public Date getSendTimestamp() {
+		return sendTimestamp;
+	}
+
+	public void setSendTimestamp(Date sendTimestamp) {
+		this.sendTimestamp = sendTimestamp;
+	}
+
+	public void setId(int id) {
+		this.id = id;
+	}
+
+	public User getCanceledBy() {
+		return canceledBy;
+	}
+
+	public void setCanceledBy(User canceledBy) {
+		this.canceledBy = canceledBy;
+	}
+
+	public Date getCancelationTimestamp() {
+		return cancelationTimestamp;
+	}
+
+	public void setCancelationTimestamp(Date cancelationTimestamp) {
+		this.cancelationTimestamp = cancelationTimestamp;
+	}
+
+	public Date getLastAccessTimestamp() {
+		return lastAccessTimestamp;
+	}
+
+	public void setLastAccessTimestamp(Date lastAccessTimestamp) {
+		this.lastAccessTimestamp = lastAccessTimestamp;
+	}
+
+	public static class Status {
+		public static final int CREATED = 0;
+		public static final int SENT = 1;
+		public static final int ACTIVE = 2;
+		public static final int CANCELED = 3;
+	}
 }

--
Gitblit v1.3.2