summaryrefslogtreecommitdiffstats
path: root/proxy/code/src/org/fedoraproject/candlepin/model
diff options
context:
space:
mode:
Diffstat (limited to 'proxy/code/src/org/fedoraproject/candlepin/model')
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java131
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Entitlement.java6
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/JsonTestObject.java12
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java6
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/User.java44
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/OwnerTest.java1
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/UserTest.java45
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());
+ }
+
+}