diff options
Diffstat (limited to 'proxy/code/src/org/fedoraproject/candlepin/model')
7 files changed, 94 insertions, 151 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java b/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java deleted file mode 100644 index fafe205..0000000 --- a/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java +++ /dev/null @@ -1,131 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package org.fedoraproject.candlepin.model; - -import java.util.UUID; - -import javax.persistence.Column; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; - -/** - * @author mmccune - * - */ -@XmlRootElement -@XmlAccessorType(XmlAccessType.PROPERTY) -public class BaseModel { - - private String uuid; - private String name; - - /** - * Construct new with UUID - * @param uuid unique idea for the model object - */ - public BaseModel(String uuid) { - this.uuid = uuid; - } - - /** - * Default constructor - */ - public BaseModel() { - - } - - /** - * Returns the unique id of the model object. - * @return the unique id of the model object. - */ - public String getUuid() { - return uuid; - } - - /** - * Sets the unique id of the model object. - * @param uuid unique id of the model. - */ - public void setUuid(String uuid) { - this.uuid = uuid; - } - - /** - * Returns the name of the object. - * @return the name of the object. - */ - public String getName() { - return name; - } - - /** - * Set the name of the model object. - * @param name name of the object - */ - public void setName(String name) { - this.name = name; - } - - /** - * Generate a UUID for an object. - * @return String UUID. - */ - public static String generateUUID() { - return UUID.randomUUID().toString(); - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((uuid == null) ? 0 : uuid.hashCode()); - return result; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - - if (obj == null) { - return false; - } - - if (getClass() != obj.getClass()) { - return false; - } - - BaseModel other = (BaseModel) obj; - - if (this.getUuid() == null) { - if (other.getUuid() != null) { - return false; - } - } - else if (!this.getUuid().equals(other.getUuid())) { - return false; - } - - return true; - } -} diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java b/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java index f6c50db..f1614a8 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java @@ -15,20 +15,14 @@ package org.fedoraproject.candlepin.model; import java.util.Date; -import java.util.List; -import javax.persistence.CascadeType; -import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; import javax.persistence.Table; -import javax.persistence.Transient; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/JsonTestObject.java b/proxy/code/src/org/fedoraproject/candlepin/model/JsonTestObject.java index fb44d11..040ab59 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/JsonTestObject.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/JsonTestObject.java @@ -28,12 +28,22 @@ import javax.xml.bind.annotation.XmlRootElement; */ @XmlRootElement @XmlAccessorType(XmlAccessType.PROPERTY) -public class JsonTestObject extends BaseModel { +public class JsonTestObject { private List<String> stringlist = new ArrayList<String>(); //private String[] stringarray = new String[1]; private JsonTestObject parent; + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + /** * sets the parent * @param p Parent diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java b/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java index 7f86256..fa939b7 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java @@ -98,8 +98,8 @@ public class ObjectFactory { * @param uuid to lookup * @return BaseModel if found, null otherwise. */ - public BaseModel lookupByUUID(Class<?> clazz, String uuid) { - return (BaseModel) lookupByFieldName(clazz, "uuid", uuid); + public Object lookupByUUID(Class<?> clazz, String uuid) { + return (Object) lookupByFieldName(clazz, "uuid", uuid); } /** @@ -152,7 +152,7 @@ public class ObjectFactory { * @param clazz to lookup * @param removeMe model to remove */ - public void delete(Class clazz, BaseModel removeMe) { + public void delete(Class clazz, Object removeMe) { String key = clazz.getName(); List typelist = (List) objects.get(key); typelist.remove(removeMe); diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/User.java b/proxy/code/src/org/fedoraproject/candlepin/model/User.java index cbe2395..33a6ab5 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/User.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/User.java @@ -16,6 +16,12 @@ package org.fedoraproject.candlepin.model; import java.util.Formatter; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.ManyToOne; +import javax.persistence.Table; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; @@ -23,28 +29,48 @@ import javax.xml.bind.annotation.XmlTransient; /** * Represents the user. - * TODO: how does this differ from an Owner. + * + * A user is more akin to an account within an owner. (i.e. organization) */ @XmlRootElement @XmlAccessorType(XmlAccessType.PROPERTY) -public class User extends BaseModel { +@Entity +@Table(name="cp_user") +public class User { + @Id + @GeneratedValue(strategy=GenerationType.AUTO) + private Long id; + + @ManyToOne private Owner owner; + private String login; + + // TODO: Hash! private String password; + public User() { + } + + public User(Owner ownerIn, String loginIn, String passwordIn) { + owner = ownerIn; + login = loginIn; + password = passwordIn; + } + /** - * @param uuid unique id + * @return the id */ - public User(String uuid) { - super(uuid); + public Long getId() { + return id; } - + /** - * Default ctor + * @param id the id to set */ - public User() { - this(null); + public void setId(Long id) { + this.id = id; } /** diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/OwnerTest.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/OwnerTest.java index 6f587b9..bbef5db 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/test/OwnerTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/OwnerTest.java @@ -14,7 +14,6 @@ */ package org.fedoraproject.candlepin.model.test; -import org.fedoraproject.candlepin.model.BaseModel; import org.fedoraproject.candlepin.model.Consumer; import org.fedoraproject.candlepin.model.EntitlementPool; import org.fedoraproject.candlepin.model.Owner; diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/UserTest.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/UserTest.java new file mode 100644 index 0000000..88af7ff --- /dev/null +++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/UserTest.java @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2009 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package org.fedoraproject.candlepin.model.test; + +import org.fedoraproject.candlepin.model.Owner; +import org.fedoraproject.candlepin.model.User; +import org.fedoraproject.candlepin.test.DatabaseTestFixture; + +import org.junit.Test; +import static org.junit.Assert.*; + +public class UserTest extends DatabaseTestFixture { + + @Test + public void testCreate() throws Exception { + String ownerName = "Example Corporation"; + Owner o = new Owner(ownerName); + + String username = "TESTUSER"; + String password = "sekretpassword"; + User user = new User(o, username, password); + + beginTransaction(); + em.persist(o); + em.persist(user); + commitTransaction(); + + User lookedUp = (User)em.find(User.class, user.getId()); + assertEquals(username, lookedUp.getLogin()); + assertEquals(password, lookedUp.getPassword()); + } + +} |