From 4b1757fb112ba96c96d3a3c30f80e2c4338c643c Mon Sep 17 00:00:00 2001 From: Adrian Damian <Adrian.Damian@nrc.ca> Date: Wed, 2 Jul 2014 15:50:48 -0700 Subject: [PATCH] Moved AC core classes from cadcUtil --- .../src/ca/nrc/cadc/ac}/Group.java | 2 +- .../src/ca/nrc/cadc/ac}/GroupProperty.java | 2 +- .../src/ca/nrc/cadc/ac/PersonalDetails.java | 203 ++++++++++++++++++ .../src/ca/nrc/cadc/ac}/PosixDetails.java | 2 +- .../src/ca/nrc/cadc/ac}/User.java | 2 +- .../src/ca/nrc/cadc/ac}/UserDetails.java | 4 +- .../test/src/ca/nrc/cadc/ac}/GroupTest.java | 2 +- .../test/src/ca/nrc/cadc/ac}/UserTest.java | 2 +- 8 files changed, 211 insertions(+), 8 deletions(-) rename projects/{cadcUtil/src/ca/nrc/cadc/auth/model => cadcAccessControl/src/ca/nrc/cadc/ac}/Group.java (99%) rename projects/{cadcUtil/src/ca/nrc/cadc/auth/model => cadcAccessControl/src/ca/nrc/cadc/ac}/GroupProperty.java (99%) create mode 100644 projects/cadcAccessControl/src/ca/nrc/cadc/ac/PersonalDetails.java rename projects/{cadcUtil/src/ca/nrc/cadc/auth/model => cadcAccessControl/src/ca/nrc/cadc/ac}/PosixDetails.java (99%) rename projects/{cadcUtil/src/ca/nrc/cadc/auth/model => cadcAccessControl/src/ca/nrc/cadc/ac}/User.java (98%) rename projects/{cadcUtil/src/ca/nrc/cadc/auth/model => cadcAccessControl/src/ca/nrc/cadc/ac}/UserDetails.java (98%) rename projects/{cadcUtil/test/src/ca/nrc/cadc/auth/model => cadcAccessControl/test/src/ca/nrc/cadc/ac}/GroupTest.java (99%) rename projects/{cadcUtil/test/src/ca/nrc/cadc/auth/model => cadcAccessControl/test/src/ca/nrc/cadc/ac}/UserTest.java (99%) diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/Group.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/Group.java similarity index 99% rename from projects/cadcUtil/src/ca/nrc/cadc/auth/model/Group.java rename to projects/cadcAccessControl/src/ca/nrc/cadc/ac/Group.java index a5dc8872..e8979814 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/Group.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/Group.java @@ -32,7 +32,7 @@ ************************************************************************ */ -package ca.nrc.cadc.auth.model; +package ca.nrc.cadc.ac; import java.security.Principal; import java.util.HashSet; diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/GroupProperty.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/GroupProperty.java similarity index 99% rename from projects/cadcUtil/src/ca/nrc/cadc/auth/model/GroupProperty.java rename to projects/cadcAccessControl/src/ca/nrc/cadc/ac/GroupProperty.java index cee88725..5ddfa801 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/GroupProperty.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/GroupProperty.java @@ -66,7 +66,7 @@ ************************************************************************ */ -package ca.nrc.cadc.auth.model; +package ca.nrc.cadc.ac; /** * A property representing metadata for a group. diff --git a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/PersonalDetails.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/PersonalDetails.java new file mode 100644 index 00000000..a5ca2405 --- /dev/null +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/PersonalDetails.java @@ -0,0 +1,203 @@ +/* + ************************************************************************ + **** C A N A D I A N A S T R O N O M Y D A T A C E N T R E ***** + * + * (c) 2014. (c) 2014. + * National Research Council Conseil national de recherches + * Ottawa, Canada, K1A 0R6 Ottawa, Canada, K1A 0R6 + * All rights reserved Tous droits reserves + * + * NRC disclaims any warranties Le CNRC denie toute garantie + * expressed, implied, or statu- enoncee, implicite ou legale, + * tory, of any kind with respect de quelque nature que se soit, + * to the software, including concernant le logiciel, y com- + * without limitation any war- pris sans restriction toute + * ranty of merchantability or garantie de valeur marchande + * fitness for a particular pur- ou de pertinence pour un usage + * pose. NRC shall not be liable particulier. Le CNRC ne + * in any event for any damages, pourra en aucun cas etre tenu + * whether direct or indirect, responsable de tout dommage, + * special or general, consequen- direct ou indirect, particul- + * tial or incidental, arising ier ou general, accessoire ou + * from the use of the software. fortuit, resultant de l'utili- + * sation du logiciel. + * + * + * @author adriand + * + * @version $Revision: $ + * + * + **** C A N A D I A N A S T R O N O M Y D A T A C E N T R E ***** + ************************************************************************ + */ + +package ca.nrc.cadc.ac; + +public class PersonalDetails implements UserDetails +{ + private String firstName; + private String lastName; + private String email; + private String address; + private String institute; + private String city; + private String country; + + public PersonalDetails(String firstName, String lastName, String email, + String address, String institute, String city, String country) + { + if (firstName == null) + { + throw new IllegalArgumentException("null firstName"); + } + if (lastName == null) + { + throw new IllegalArgumentException("null lastName"); + } + if (email == null) + { + throw new IllegalArgumentException("null email"); + } + + if (address == null) + { + throw new IllegalArgumentException("null address"); + } + if (institute == null) + { + throw new IllegalArgumentException("null institute"); + } + if (city == null) + { + throw new IllegalArgumentException("null city"); + } + if (country == null) + { + throw new IllegalArgumentException("null country"); + } + this.firstName = firstName; + this.lastName = lastName; + this.email = email; + this.address = address; + this.institute = institute; + this.city = city; + this.country = country; + } + + public String getFirstName() + { + return firstName; + } + + public String getLastName() + { + return lastName; + } + + public String getEmail() + { + return email; + } + + public String getAddress() + { + return address; + } + + public String getInstitute() + { + return institute; + } + + public String getCity() + { + return city; + } + + public String getCountry() + { + return country; + } + + /* (non-Javadoc) + * @see ca.nrc.cadc.auth.model.UserDetails#hashCode() + */ + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = prime * result + address.hashCode(); + result = prime * result + city.hashCode(); + result = prime * result + country.hashCode(); + result = prime * result + email.hashCode(); + result = prime * result + firstName.hashCode(); + result = prime * result + institute.hashCode(); + result = prime * result + lastName.hashCode(); + return result; + } + + /* + * (non-Javadoc) + * + * @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 (!(obj instanceof PersonalDetails)) + { + return false; + } + PersonalDetails other = (PersonalDetails) obj; + if (!firstName.equals(other.firstName)) + { + return false; + } + if (!lastName.equals(other.lastName)) + { + return false; + } + if (!email.equals(other.email)) + { + return false; + } + if (!institute.equals(other.institute)) + { + return false; + } + if (!address.equals(other.address)) + { + return false; + } + if (!city.equals(other.city)) + { + return false; + } + if (!country.equals(other.country)) + { + return false; + } + return true; + } + + /* (non-Javadoc) + * @see ca.nrc.cadc.auth.model.UserDetails#toString() + */ + @Override + public String toString() + { + return getClass().getSimpleName() + "[" + firstName + ", " + + lastName + ", " + email + ", " + address + ", " + + institute + ", " + city + ", " + country + "]"; + } +} diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/PosixDetails.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/PosixDetails.java similarity index 99% rename from projects/cadcUtil/src/ca/nrc/cadc/auth/model/PosixDetails.java rename to projects/cadcAccessControl/src/ca/nrc/cadc/ac/PosixDetails.java index 44d8ff46..12d8dec1 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/PosixDetails.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/PosixDetails.java @@ -32,7 +32,7 @@ ************************************************************************ */ -package ca.nrc.cadc.auth.model; +package ca.nrc.cadc.ac; /** * Represents the posix account details associated with a user account. diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/User.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/User.java similarity index 98% rename from projects/cadcUtil/src/ca/nrc/cadc/auth/model/User.java rename to projects/cadcAccessControl/src/ca/nrc/cadc/ac/User.java index e92232c2..3174d013 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/User.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/User.java @@ -34,7 +34,7 @@ -package ca.nrc.cadc.auth.model; +package ca.nrc.cadc.ac; import java.security.Principal; import java.util.HashSet; diff --git a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/UserDetails.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/UserDetails.java similarity index 98% rename from projects/cadcUtil/src/ca/nrc/cadc/auth/model/UserDetails.java rename to projects/cadcAccessControl/src/ca/nrc/cadc/ac/UserDetails.java index 6720b0f8..d03035c1 100644 --- a/projects/cadcUtil/src/ca/nrc/cadc/auth/model/UserDetails.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/UserDetails.java @@ -32,7 +32,7 @@ ************************************************************************ */ -package ca.nrc.cadc.auth.model; +package ca.nrc.cadc.ac; public interface UserDetails { @@ -53,4 +53,4 @@ public interface UserDetails public String toString(); -} \ No newline at end of file +} diff --git a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/GroupTest.java b/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/GroupTest.java similarity index 99% rename from projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/GroupTest.java rename to projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/GroupTest.java index 3acb1a87..3e48c9a0 100644 --- a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/GroupTest.java +++ b/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/GroupTest.java @@ -34,7 +34,7 @@ -package ca.nrc.cadc.auth.model; +package ca.nrc.cadc.ac; import org.apache.log4j.Logger; import org.junit.Test; diff --git a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/UserTest.java b/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/UserTest.java similarity index 99% rename from projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/UserTest.java rename to projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/UserTest.java index 75f0dd92..0fce989c 100644 --- a/projects/cadcUtil/test/src/ca/nrc/cadc/auth/model/UserTest.java +++ b/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/UserTest.java @@ -32,7 +32,7 @@ ************************************************************************ */ -package ca.nrc.cadc.auth.model; +package ca.nrc.cadc.ac; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -- GitLab