From 59cdd2b7ebceae94fbecdb1eeb46a969666dc88f Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Fri, 10 Jan 2014 12:25:27 +0000
Subject: [PATCH] #394 feature - Added all catalog resources with refereced fields

---
 securis/src/main/java/net/curisit/securis/db/User.java |   59 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 42 insertions(+), 17 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/db/User.java b/securis/src/main/java/net/curisit/securis/db/User.java
index ba5890f..4846eb8 100644
--- a/securis/src/main/java/net/curisit/securis/db/User.java
+++ b/securis/src/main/java/net/curisit/securis/db/User.java
@@ -1,6 +1,7 @@
 package net.curisit.securis.db;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -15,6 +16,7 @@
 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;
 
@@ -37,15 +39,16 @@
 	private String username;
 
 	private String password;
-	@JsonProperty(value = "short_name")
-	@Column(name = "short_name")
-	private String shortName;
+
+	@JsonProperty(value = "first_name")
+	@Column(name = "first_name")
+	private String firstName;
+
+	@JsonProperty(value = "last_name")
+	@Column(name = "last_name")
+	private String lastName;
 
 	private int roles;
-
-	@JsonProperty(value = "full_name")
-	@Column(name = "full_name")
-	private String fullName;
 
 	@JsonProperty(value = "last_login")
 	@Column(name = "last_login")
@@ -59,10 +62,11 @@
 
 	private String lang;
 
+	@JsonIgnore
 	@ManyToMany
 	@JoinTable(name = "user_organization", //
 	joinColumns =
-		{ @JoinColumn(name = "user_id", referencedColumnName = "username") }, //
+		{ @JoinColumn(name = "username", referencedColumnName = "username") }, //
 	inverseJoinColumns =
 		{ @JoinColumn(name = "organization_id", referencedColumnName = "id") } //
 	)
@@ -92,20 +96,20 @@
 		this.roles = roles;
 	}
 
-	public String getFullName() {
-		return fullName;
+	public String getFirstName() {
+		return firstName;
 	}
 
-	public void setFullName(String fullName) {
-		this.fullName = fullName;
+	public void setFirstName(String firstName) {
+		this.firstName = firstName;
 	}
 
-	public String getShortName() {
-		return shortName;
+	public String getLastName() {
+		return lastName;
 	}
 
-	public void setShortName(String shortName) {
-		this.shortName = shortName;
+	public void setLastName(String lastName) {
+		this.lastName = lastName;
 	}
 
 	public Date getLastLogin() {
@@ -134,7 +138,7 @@
 
 	@Override
 	public String toString() {
-		return "{User: " + username + " Full Name: " + fullName + ", last login: " + lastLogin + "}";
+		return "{User: " + username + " Name: " + firstName + " " + lastName + ", last login: " + lastLogin + "}";
 	}
 
 	public String getLang() {
@@ -153,6 +157,27 @@
 		this.organizations = organizations;
 	}
 
+	@JsonProperty("organizations_ids")
+	public void setOrgsIds(List<Integer> orgsIds) {
+		organizations = new ArrayList<>();
+		for (Integer orgid : orgsIds) {
+			Organization o = new Organization();
+			o.setId(orgid);
+			organizations.add(o);
+		}
+	}
+
+	@JsonProperty("organizations_ids")
+	public List<Integer> getOrgsIds() {
+		if (organizations == null)
+			return null;
+		List<Integer> ids = new ArrayList<>();
+		for (Organization org : organizations) {
+			ids.add(org.getId());
+		}
+		return ids;
+	}
+
 	static public class Rol {
 		static public final int ADVANCE = 0x01;
 		static public final int ADMIN = 0x02;

--
Gitblit v1.3.2