summaryrefslogtreecommitdiffstats
path: root/proxy/code/src
diff options
context:
space:
mode:
authorjesus m. rodriguez <jesusr@redhat.com>2009-07-10 18:07:54 -0400
committerjesus m. rodriguez <jesusr@redhat.com>2009-07-10 18:13:18 -0400
commitffe49cb1452cf90c5a8d1d7c993594dc40fe066f (patch)
tree64f8a6ed6b0d33a6fe356937db78b08d6dab0bed /proxy/code/src
parentf0891ed4bcb266adbccc758bda760f7b7d134c42 (diff)
downloadcandlepin-ffe49cb1452cf90c5a8d1d7c993594dc40fe066f.tar.gz
candlepin-ffe49cb1452cf90c5a8d1d7c993594dc40fe066f.tar.xz
candlepin-ffe49cb1452cf90c5a8d1d7c993594dc40fe066f.zip
refactor UserApi to be based on BaseApi
Diffstat (limited to 'proxy/code/src')
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java25
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java21
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java6
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java3
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/User.java10
5 files changed, 37 insertions, 28 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java b/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java
index beb70e5..56c7af3 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java
@@ -17,10 +17,7 @@ package org.fedoraproject.candlepin.api;
import org.fedoraproject.candlepin.model.ObjectFactory;
import org.fedoraproject.candlepin.model.User;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
-import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@@ -31,22 +28,18 @@ import javax.ws.rs.core.MediaType;
* REST api gateway for the User object.
*/
@Path("/user")
-public class UserApi {
- @POST
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED})
- @Produces(MediaType.APPLICATION_JSON)
- public User create(@FormParam("login") String login,
- @FormParam("password") String password) {
-
- System.out.println("newUser(" + login + ", " + password + ")");
- User u = new User(login, password);
- ObjectFactory.get().store(u);
- return u;
- }
-
+public class UserApi extends BaseApi {
@GET @Path("/{login}")
@Produces(MediaType.APPLICATION_JSON)
public User get(@PathParam("login") String login) {
return (User) ObjectFactory.get().lookupByFieldName(User.class, "login", login);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Class getApiClass() {
+ return User.class;
+ }
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java b/proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java
index 769b847..74b54ec 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java
@@ -17,6 +17,8 @@ package org.fedoraproject.candlepin.api.test;
import org.fedoraproject.candlepin.api.UserApi;
import org.fedoraproject.candlepin.model.User;
+import com.sun.jersey.api.representation.Form;
+
import junit.framework.TestCase;
@@ -28,17 +30,26 @@ public class UserApiTest extends TestCase {
private UserApi api = new UserApi();
public void testNewUser() {
- User user = api.create("candlepin", "cp_p@$sw0rd");
+ Form f = new Form();
+ f.add("login", "candlepin");
+ f.add("password", "cp_p@$sw0rd");
+ User user = (User) api.create(f);
assertNotNull(user);
assertEquals("candlepin", user.getLogin());
assertEquals("cp_p@$sw0rd", user.getPassword());
- user = api.create(null, null);
+ f.clear();
+ f.add("login", null);
+ f.add("password", null);
+ user = (User) api.create(f);
assertNotNull(user);
- assertNull(user.getLogin());
- assertNull(user.getPassword());
+ assertEquals("", user.getLogin());
+ assertEquals("", user.getPassword());
- user = api.create("", "");
+ f.clear();
+ f.add("login", "");
+ f.add("password", "");
+ user = (User) api.create(f);
assertNotNull(user);
assertEquals("", user.getLogin());
assertEquals("", user.getPassword());
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
index 1351cee..7008f1d 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
@@ -17,6 +17,12 @@ package org.fedoraproject.candlepin.model;
import java.util.LinkedList;
import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.PROPERTY)
public class Consumer extends BaseModel {
private Organization organization;
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java b/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java
index 936e9cc..3814715 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/ObjectFactory.java
@@ -139,7 +139,7 @@ public class ObjectFactory {
* Store an object
* @param u
*/
- public void store(Object u) {
+ public Object store(Object u) {
String key = u.getClass().getName();
if (!objects.containsKey(key)) {
List newtype = new LinkedList();
@@ -148,6 +148,7 @@ public class ObjectFactory {
}
List typelist = (List) objects.get(key);
typelist.add(u);
+ return u;
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/User.java b/proxy/code/src/org/fedoraproject/candlepin/model/User.java
index d4c1ad4..f927772 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/User.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/User.java
@@ -27,19 +27,17 @@ public class User extends BaseModel {
private String password;
/**
- * @param login
- * @param password
+ * @param uuid unique id
*/
- public User(String login, String password) {
- this.login = login;
- this.password = password;
+ public User(String uuid) {
+ super(uuid);
}
/**
* Default ctor
*/
public User() {
- this("", "");
+ this(null);
}
/**