From: <fg...@us...> - 2006-11-20 19:49:49
|
Revision: 131 http://svn.sourceforge.net/openutils/?rev=131&view=rev Author: fgiust Date: 2006-11-20 11:40:26 -0800 (Mon, 20 Nov 2006) Log Message: ----------- [maven-scm] copy for tag openutils-usermanagement-dataobjects-1.1.1 Added Paths: ----------- tags/openutils-usermanagement-dataobjects-1.1.1/ tags/openutils-usermanagement-dataobjects-1.1.1/pom.xml tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Group.java tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Role.java tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/User.java Removed Paths: ------------- tags/openutils-usermanagement-dataobjects-1.1.1/pom.xml tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Group.java tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Role.java tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/User.java Copied: tags/openutils-usermanagement-dataobjects-1.1.1 (from rev 109, trunk/openutils-usermanagement-dataobjects) Deleted: tags/openutils-usermanagement-dataobjects-1.1.1/pom.xml =================================================================== --- trunk/openutils-usermanagement-dataobjects/pom.xml 2006-11-13 21:23:57 UTC (rev 109) +++ tags/openutils-usermanagement-dataobjects-1.1.1/pom.xml 2006-11-20 19:40:26 UTC (rev 131) @@ -1,73 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>net.sourceforge.openutils</groupId> - <artifactId>openutils</artifactId> - <version>2</version> - <relativePath>../openutils-parent</relativePath> - </parent> - <groupId>net.sourceforge.openutils</groupId> - <artifactId>openutils-usermanagement-dataobjects</artifactId> - <packaging>jar</packaging> - <name>openutils-usermanagement-dataobjects</name> - <version>1.1.1-SNAPSHOT</version> - <description>Usermanagement dataobjects</description> - <dependencies> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-annotations</artifactId> - <version>3.2.0.ga</version> - <exclusions> - <exclusion> - <!-- not needed here, just load annotations --> - <groupId>org.hibernate</groupId> - <artifactId>hibernate</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <version>2.2</version> - </dependency> - <dependency> - <groupId>org.acegisecurity</groupId> - <artifactId>acegi-security</artifactId> - <version>1.0.2</version> - <exclusions> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-remoting</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-jdbc</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-support</artifactId> - </exclusion> - <exclusion> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - </exclusion> - <exclusion> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - </exclusion> - <exclusion> - <groupId>oro</groupId> - <artifactId>oro</artifactId> - </exclusion> - <exclusion> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - </exclusion> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> -</project> \ No newline at end of file Copied: tags/openutils-usermanagement-dataobjects-1.1.1/pom.xml (from rev 130, trunk/openutils-usermanagement-dataobjects/pom.xml) =================================================================== --- tags/openutils-usermanagement-dataobjects-1.1.1/pom.xml (rev 0) +++ tags/openutils-usermanagement-dataobjects-1.1.1/pom.xml 2006-11-20 19:40:26 UTC (rev 131) @@ -0,0 +1,79 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils</artifactId> + <version>2</version> + <relativePath>../openutils-parent</relativePath> + </parent> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-usermanagement-dataobjects</artifactId> + <packaging>jar</packaging> + <name>openutils-usermanagement-dataobjects</name> + <version>1.1.1</version> + <description>Usermanagement dataobjects</description> + <dependencies> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-annotations</artifactId> + <version>3.2.0.ga</version> + <exclusions> + <exclusion> + <!-- not needed here, just load annotations --> + <groupId>org.hibernate</groupId> + <artifactId>hibernate</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.2</version> + </dependency> + <dependency> + <groupId>org.acegisecurity</groupId> + <artifactId>acegi-security</artifactId> + <version>1.0.2</version> + <exclusions> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-remoting</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-jdbc</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-support</artifactId> + </exclusion> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + <exclusion> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + </exclusion> + <exclusion> + <groupId>oro</groupId> + <artifactId>oro</artifactId> + </exclusion> + <exclusion> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + </exclusion> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + + <scm> + <connection>scm:svn:https://svn.sourceforge.net/svnroot/openutils/tags/openutils-usermanagement-dataobjects-1.1.1</connection> + <developerConnection>scm:svn:https://svn.sourceforge.net/svnroot/openutils/tags/openutils-usermanagement-dataobjects-1.1.1</developerConnection> + <url>http://svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-usermanagement-dataobjects-1.1.1</url> + </scm> +</project> \ No newline at end of file Deleted: tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Group.java =================================================================== --- trunk/openutils-usermanagement-dataobjects/src/main/java/it/openutils/usermanagement/dataobjects/Group.java 2006-11-13 21:23:57 UTC (rev 109) +++ tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Group.java 2006-11-20 19:40:26 UTC (rev 131) @@ -1,110 +0,0 @@ -package it.openutils.usermanagement.dataobjects; - -import java.io.Serializable; -import java.util.Set; - -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.Table; - -import org.apache.commons.lang.builder.ToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; -import org.hibernate.annotations.Fetch; -import org.hibernate.annotations.FetchMode; - - -/** - * @author fberar - * @version $Revision$ ($Author$) - */ -@Entity -@Table(name = "APP_GROUP") -public class Group implements Serializable -{ - - /** - * stable serialVersionUID. - */ - private static final long serialVersionUID = 1L; - - @Id - @Column(name = "ID_GROUP", length = 100) - private String id; - - @Column(name = "DESCRIPTION", length = 255, nullable = false) - private String description; - - @Column(name = "ENABLED", nullable = false) - private Boolean enabled; - - @ManyToMany(cascade = CascadeType.PERSIST, targetEntity = Role.class, fetch = FetchType.EAGER) - @Fetch(FetchMode.SUBSELECT) - @JoinTable(name = "APP_GROUP_ROLE", joinColumns = @JoinColumn(name = "ID_GROUP"), inverseJoinColumns = @JoinColumn(name = "ID_ROLE")) - private Set<Role> roles; - - /** - * Getter for <code>id</code>. - * @return Returns the id. - */ - public String getId() - { - return this.id; - } - - /** - * Setter for <code>id</code>. - * @param id The id to set. - */ - public void setId(String id) - { - this.id = id; - } - - public Boolean getEnabled() - { - return this.enabled; - } - - public void setEnabled(Boolean enabled) - { - this.enabled = enabled; - } - - public String getDescription() - { - return description; - } - - public void setDescription(String description) - { - this.description = description; - } - - /** - * @see java.lang.Object#toString() - */ - @Override - public String toString() - { - return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("id", this.id).append( - "description", - this.description).append("enabled", this.enabled).toString(); - } - - public Set<Role> getRoles() - { - return roles; - } - - public void setRoles(Set<Role> roles) - { - this.roles = roles; - } - -} Copied: tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Group.java (from rev 129, trunk/openutils-usermanagement-dataobjects/src/main/java/it/openutils/usermanagement/dataobjects/Group.java) =================================================================== --- tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Group.java (rev 0) +++ tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Group.java 2006-11-20 19:40:26 UTC (rev 131) @@ -0,0 +1,155 @@ +package it.openutils.usermanagement.dataobjects; + +import java.io.Serializable; +import java.util.Set; + +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.ManyToMany; +import javax.persistence.Table; + +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; +import org.hibernate.annotations.Fetch; +import org.hibernate.annotations.FetchMode; + + +/** + * @author fberar + * @version $Revision$ ($Author$) + */ +@Entity +@Table(name = "APP_GROUP") +public class Group implements Serializable +{ + + /** + * stable serialVersionUID. + */ + private static final long serialVersionUID = 1L; + + @Id + @Column(name = "ID_GROUP", length = 100) + private String id; + + @Column(name = "DESCRIPTION", length = 255, nullable = false) + private String description; + + @Column(name = "ENABLED", nullable = false) + private Boolean enabled; + + @ManyToMany(cascade = CascadeType.PERSIST, targetEntity = Role.class, fetch = FetchType.EAGER) + @Fetch(FetchMode.SUBSELECT) + @JoinTable(name = "APP_GROUP_ROLE", joinColumns = @JoinColumn(name = "ID_GROUP"), inverseJoinColumns = @JoinColumn(name = "ID_ROLE")) + private Set<Role> roles; + + /** + * Getter for <code>id</code>. + * @return Returns the id. + */ + public String getId() + { + return this.id; + } + + /** + * Setter for <code>id</code>. + * @param id The id to set. + */ + public void setId(String id) + { + this.id = id; + } + + public Boolean getEnabled() + { + return this.enabled; + } + + public void setEnabled(Boolean enabled) + { + this.enabled = enabled; + } + + public String getDescription() + { + return description; + } + + public void setDescription(String description) + { + this.description = description; + } + + /** + * @see java.lang.Object#toString() + */ + @Override + public String toString() + { + return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("id", this.id).append( + "description", + this.description).append("enabled", this.enabled).toString(); + } + + public Set<Role> getRoles() + { + return roles; + } + + public void setRoles(Set<Role> roles) + { + this.roles = roles; + } + + /** + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() + { + final int PRIME = 31; + int result = 1; + result = PRIME * result + ((this.id == null) ? 0 : this.id.hashCode()); + return result; + } + + /** + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) + { + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final Group other = (Group) obj; + if (this.id == null) + { + if (other.id != null) + { + return false; + } + } + else if (!this.id.equals(other.id)) + { + return false; + } + return true; + } + +} Deleted: tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Role.java =================================================================== --- trunk/openutils-usermanagement-dataobjects/src/main/java/it/openutils/usermanagement/dataobjects/Role.java 2006-11-13 21:23:57 UTC (rev 109) +++ tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Role.java 2006-11-20 19:40:26 UTC (rev 131) @@ -1,74 +0,0 @@ -package it.openutils.usermanagement.dataobjects; - -import java.io.Serializable; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; - -import org.apache.commons.lang.builder.ToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; - - -/** - * @author fberar - * @version $Revision$ ($Author$) - */ -@Entity -@Table(name = "APP_ROLE") -public class Role implements Serializable -{ - - /** - * stable serialVersionUID. - */ - private static final long serialVersionUID = 1L; - - @Id - @Column(name = "ID_ROLE", length = 100) - private String id; - - @Column(name = "DESCRIPTION", length = 255, nullable = false) - private String description; - - /** - * Getter for <code>id</code>. - * @return Returns the id. - */ - public String getId() - { - return this.id; - } - - /** - * Setter for <code>id</code>. - * @param id The id to set. - */ - public void setId(String id) - { - this.id = id; - } - - public String getDescription() - { - return description; - } - - public void setDescription(String description) - { - this.description = description; - } - - /** - * @see java.lang.Object#toString() - */ - @Override - public String toString() - { - return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("id", this.id).append( - "description", - this.description).toString(); - } - -} Copied: tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Role.java (from rev 129, trunk/openutils-usermanagement-dataobjects/src/main/java/it/openutils/usermanagement/dataobjects/Role.java) =================================================================== --- tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Role.java (rev 0) +++ tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/Role.java 2006-11-20 19:40:26 UTC (rev 131) @@ -0,0 +1,117 @@ +package it.openutils.usermanagement.dataobjects; + +import java.io.Serializable; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + + +/** + * @author fberar + * @version $Revision$ ($Author$) + */ +@Entity +@Table(name = "APP_ROLE") +public class Role implements Serializable +{ + + /** + * stable serialVersionUID. + */ + private static final long serialVersionUID = 1L; + + @Id + @Column(name = "ID_ROLE", length = 100) + private String id; + + @Column(name = "DESCRIPTION", length = 255, nullable = false) + private String description; + + /** + * Getter for <code>id</code>. + * @return Returns the id. + */ + public String getId() + { + return this.id; + } + + /** + * Setter for <code>id</code>. + * @param id The id to set. + */ + public void setId(String id) + { + this.id = id; + } + + public String getDescription() + { + return description; + } + + public void setDescription(String description) + { + this.description = description; + } + + /** + * @see java.lang.Object#toString() + */ + @Override + public String toString() + { + return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("id", this.id).append( + "description", + this.description).toString(); + } + + /** + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() + { + final int PRIME = 31; + int result = 1; + result = PRIME * result + ((this.id == null) ? 0 : this.id.hashCode()); + return result; + } + + /** + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) + { + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final Role other = (Role) obj; + if (this.id == null) + { + if (other.id != null) + return false; + } + else if (!this.id.equals(other.id)) + { + return false; + } + return true; + } + +} Deleted: tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/User.java =================================================================== --- trunk/openutils-usermanagement-dataobjects/src/main/java/it/openutils/usermanagement/dataobjects/User.java 2006-11-13 21:23:57 UTC (rev 109) +++ tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/User.java 2006-11-20 19:40:26 UTC (rev 131) @@ -1,246 +0,0 @@ -package it.openutils.usermanagement.dataobjects; - -import java.io.Serializable; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.Table; - -import org.acegisecurity.GrantedAuthority; -import org.acegisecurity.GrantedAuthorityImpl; -import org.acegisecurity.userdetails.UserDetails; -import org.apache.commons.lang.builder.ToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; -import org.hibernate.annotations.Fetch; -import org.hibernate.annotations.FetchMode; - - -/** - * @author fberar - * @version $Revision$ ($Author$) - */ -@Entity -@Table(name = "APP_USER") -public class User implements Serializable, UserDetails -{ - - /** - * stable serialVersionUID. - */ - private static final long serialVersionUID = 1L; - - @Id - @Column(name = "ID_USER", length = 50) - private String id; - - @Column(name = "PASSWORD", nullable = false, length = 50) - private String password; - - @Column(name = "ENABLED", nullable = false) - private Boolean enabled; - - @Column(name = "NAME", nullable = false, length = 80) - private String name; - - @Column(name = "SURNAME", nullable = false, length = 80) - private String surname; - - @Column(name = "EMAIL", nullable = false, length = 150) - private String email; - - @ManyToMany(cascade = CascadeType.PERSIST, targetEntity = Group.class, fetch = FetchType.EAGER) - @Fetch(FetchMode.SUBSELECT) - @JoinTable(name = "APP_USER_GROUP", joinColumns = @JoinColumn(name = "ID_USER"), inverseJoinColumns = @JoinColumn(name = "ID_GROUP")) - private Set<Group> groups; - - public Set<Group> getGroups() - { - return groups; - } - - public void setGroups(Set<Group> groups) - { - this.groups = groups; - } - - /** - * Getter for <code>id</code>. - * @return Returns the id. - */ - public String getId() - { - return this.id; - } - - /** - * Setter for <code>id</code>. - * @param id The id to set. - */ - public void setId(String id) - { - this.id = id; - } - - public Boolean getEnabled() - { - return this.enabled; - } - - public void setEnabled(Boolean enabled) - { - this.enabled = enabled; - } - - public String getPassword() - { - return password; - } - - public void setPassword(String password) - { - this.password = password; - } - - public Set<Role> getRoles() - { - if (groups == null) - { - return null; - } - - Set<Role> roles = new HashSet<Role>(); - - for (Group group : groups) - { - roles.addAll(group.getRoles()); - } - - return roles; - } - - /** - * @see UserDetails.isAccountNonExpired() - */ - public boolean isAccountNonExpired() - { - return (this.enabled == null) ? false : this.enabled.booleanValue(); - } - - /** - * @see UserDetails.isAccountNonLocked() - */ - public boolean isAccountNonLocked() - { - return (this.enabled == null) ? false : this.enabled.booleanValue(); - } - - /** - * @see UserDetails.isCredentialsNonExpired() - */ - public boolean isCredentialsNonExpired() - { - return (this.enabled == null) ? false : this.enabled.booleanValue(); - } - - /** - * @see UserDetails.getAuthorities() - */ - public GrantedAuthority[] getAuthorities() - { - if (this.getRoles() == null) - { - return null; - } - - GrantedAuthority[] auths = new GrantedAuthorityImpl[this.getRoles().size()]; - Iterator<Role> iter = this.getRoles().iterator(); - int i = 0; - while (iter.hasNext()) - { - Role r = iter.next(); - auths[i] = new GrantedAuthorityImpl(r.getId()); - i++; - } - - return auths; - } - - /** - * @see UserDetails.getUsername() - */ - public String getUsername() - { - return this.id; - } - - /** - * @see UserDetails.isEnabled() - */ - public boolean isEnabled() - { - return (this.enabled == null) ? false : this.enabled.booleanValue(); - } - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public String getSurname() - { - return surname; - } - - public void setSurname(String surname) - { - this.surname = surname; - } - - /** - * Getter for <code>email</code>. - * @return Returns the email. - */ - public String getEmail() - { - return this.email; - } - - /** - * Setter for <code>email</code>. - * @param email The email to set. - */ - public void setEmail(String email) - { - this.email = email; - } - - /** - * @see java.lang.Object#toString() - */ - @Override - public String toString() - { - return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("id", this.id).append( - "enabled", - this.enabled).append("name", this.name).append("surname", this.surname).append( - "authorities", - this.getAuthorities()).append("username", this.getUsername()).append("email", this.email).append( - "password", - this.password).toString(); - } - -} Copied: tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/User.java (from rev 129, trunk/openutils-usermanagement-dataobjects/src/main/java/it/openutils/usermanagement/dataobjects/User.java) =================================================================== --- tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/User.java (rev 0) +++ tags/openutils-usermanagement-dataobjects-1.1.1/src/main/java/it/openutils/usermanagement/dataobjects/User.java 2006-11-20 19:40:26 UTC (rev 131) @@ -0,0 +1,301 @@ +package it.openutils.usermanagement.dataobjects; + +import java.io.Serializable; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.ManyToMany; +import javax.persistence.Table; + +import org.acegisecurity.GrantedAuthority; +import org.acegisecurity.GrantedAuthorityImpl; +import org.acegisecurity.userdetails.UserDetails; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; +import org.hibernate.annotations.Fetch; +import org.hibernate.annotations.FetchMode; + + +/** + * @author fberar + * @version $Revision$ ($Author$) + */ +@Entity +@Table(name = "APP_USER") +public class User implements Serializable, UserDetails +{ + + /** + * stable serialVersionUID. + */ + private static final long serialVersionUID = 1L; + + @Id + @Column(name = "ID_USER", length = 50) + private String id; + + @Column(name = "PASSWORD", nullable = false, length = 50) + private String password; + + @Column(name = "ENABLED", nullable = false) + private Boolean enabled; + + @Column(name = "NAME", nullable = false, length = 80) + private String name; + + @Column(name = "SURNAME", nullable = false, length = 80) + private String lastname; + + @Column(name = "EMAIL", nullable = false, length = 150) + private String email; + + @ManyToMany(cascade = CascadeType.PERSIST, targetEntity = Group.class, fetch = FetchType.EAGER) + @Fetch(FetchMode.SUBSELECT) + @JoinTable(name = "APP_USER_GROUP", joinColumns = @JoinColumn(name = "ID_USER"), inverseJoinColumns = @JoinColumn(name = "ID_GROUP")) + private Set<Group> groups; + + public Set<Group> getGroups() + { + return groups; + } + + public void setGroups(Set<Group> groups) + { + this.groups = groups; + } + + /** + * Getter for <code>id</code>. + * @return Returns the id. + */ + public String getId() + { + return this.id; + } + + /** + * Setter for <code>id</code>. + * @param id The id to set. + */ + public void setId(String id) + { + this.id = id; + } + + public Boolean getEnabled() + { + return this.enabled; + } + + public void setEnabled(Boolean enabled) + { + this.enabled = enabled; + } + + public String getPassword() + { + return password; + } + + public void setPassword(String password) + { + this.password = password; + } + + public Set<Role> getRoles() + { + if (groups == null) + { + return null; + } + + Set<Role> roles = new HashSet<Role>(); + + for (Group group : groups) + { + roles.addAll(group.getRoles()); + } + + return roles; + } + + /** + * @see UserDetails.isAccountNonExpired() + */ + public boolean isAccountNonExpired() + { + return (this.enabled == null) ? false : this.enabled.booleanValue(); + } + + /** + * @see UserDetails.isAccountNonLocked() + */ + public boolean isAccountNonLocked() + { + return (this.enabled == null) ? false : this.enabled.booleanValue(); + } + + /** + * @see UserDetails.isCredentialsNonExpired() + */ + public boolean isCredentialsNonExpired() + { + return (this.enabled == null) ? false : this.enabled.booleanValue(); + } + + /** + * @see UserDetails.getAuthorities() + */ + public GrantedAuthority[] getAuthorities() + { + if (this.getRoles() == null) + { + return null; + } + + GrantedAuthority[] auths = new GrantedAuthorityImpl[this.getRoles().size()]; + Iterator<Role> iter = this.getRoles().iterator(); + int i = 0; + while (iter.hasNext()) + { + Role r = iter.next(); + auths[i] = new GrantedAuthorityImpl(r.getId()); + i++; + } + + return auths; + } + + /** + * @see UserDetails.getUsername() + */ + public String getUsername() + { + return this.id; + } + + /** + * @see UserDetails.isEnabled() + */ + public boolean isEnabled() + { + return Boolean.TRUE.equals(this.enabled); + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public String getSurname() + { + return lastname; + } + + public void setSurname(String surname) + { + this.lastname = surname; + } + + public void setLastname(String lastname) + { + this.lastname = lastname; + } + + public String getLastname() + { + return lastname; + } + + /** + * Getter for <code>email</code>. + * @return Returns the email. + */ + public String getEmail() + { + return this.email; + } + + /** + * Setter for <code>email</code>. + * @param email The email to set. + */ + public void setEmail(String email) + { + this.email = email; + } + + /** + * @see java.lang.Object#toString() + */ + @Override + public String toString() + { + return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("id", this.id).append( + "enabled", + this.enabled).append("name", this.name).append("surname", this.lastname).append( + "authorities", + this.getAuthorities()).append("username", this.getUsername()).append("email", this.email).append( + "password", + this.password).toString(); + } + + /** + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() + { + final int PRIME = 31; + int result = 1; + result = PRIME * result + ((this.id == null) ? 0 : this.id.hashCode()); + return result; + } + + /** + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) + { + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final User other = (User) obj; + if (this.id == null) + { + if (other.id != null) + { + return false; + } + } + else if (!this.id.equals(other.id)) + { + return false; + } + return true; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |