diff options
| author | jesus m. rodriguez <jesusr@redhat.com> | 2009-07-10 18:07:54 -0400 |
|---|---|---|
| committer | jesus m. rodriguez <jesusr@redhat.com> | 2009-07-10 18:13:18 -0400 |
| commit | ffe49cb1452cf90c5a8d1d7c993594dc40fe066f (patch) | |
| tree | 64f8a6ed6b0d33a6fe356937db78b08d6dab0bed /proxy/code/src | |
| parent | f0891ed4bcb266adbccc758bda760f7b7d134c42 (diff) | |
| download | candlepin-ffe49cb1452cf90c5a8d1d7c993594dc40fe066f.tar.gz candlepin-ffe49cb1452cf90c5a8d1d7c993594dc40fe066f.tar.xz candlepin-ffe49cb1452cf90c5a8d1d7c993594dc40fe066f.zip | |
refactor UserApi to be based on BaseApi
Diffstat (limited to 'proxy/code/src')
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); } /** |
