diff options
| author | jesus m. rodriguez <jesusr@redhat.com> | 2009-07-10 11:59:56 -0400 |
|---|---|---|
| committer | jesus m. rodriguez <jesusr@redhat.com> | 2009-07-10 11:59:56 -0400 |
| commit | 18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a (patch) | |
| tree | 0ec3cb6c34818cbd8df4974090529e567241f37d /proxy/code/src | |
| parent | bc268e00a0e5c37180c349266ae1072c43f11d8f (diff) | |
| download | candlepin-18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a.tar.gz candlepin-18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a.tar.xz candlepin-18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a.zip | |
add json support to model objects & add userapi
Diffstat (limited to 'proxy/code/src')
6 files changed, 31 insertions, 5 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java b/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java index 97702bb..beb70e5 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java +++ b/proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java @@ -14,12 +14,15 @@ */ 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; import javax.ws.rs.core.MediaType; @@ -32,11 +35,18 @@ public class UserApi { @POST @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED}) @Produces(MediaType.APPLICATION_JSON) - public User newUser(@FormParam("login") String login, + public User create(@FormParam("login") String login, @FormParam("password") String password) { System.out.println("newUser(" + login + ", " + password + ")"); - return new User(login, password); + User u = new User(login, password); + ObjectFactory.get().store(u); + return u; } + @GET @Path("/{login}") + @Produces(MediaType.APPLICATION_JSON) + public User get(@PathParam("login") String login) { + return (User) ObjectFactory.get().lookupByFieldName(User.class, "login", login); + } } 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 b53f894..769b847 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java @@ -28,17 +28,17 @@ public class UserApiTest extends TestCase { private UserApi api = new UserApi(); public void testNewUser() { - User user = api.newUser("candlepin", "cp_p@$sw0rd"); + User user = api.create("candlepin", "cp_p@$sw0rd"); assertNotNull(user); assertEquals("candlepin", user.getLogin()); assertEquals("cp_p@$sw0rd", user.getPassword()); - user = api.newUser(null, null); + user = api.create(null, null); assertNotNull(user); assertNull(user.getLogin()); assertNull(user.getPassword()); - user = api.newUser("", ""); + user = api.create("", ""); assertNotNull(user); assertEquals("", user.getLogin()); assertEquals("", user.getPassword()); diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java b/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java index 56ee5ba..6d7162c 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java @@ -16,6 +16,8 @@ package org.fedoraproject.candlepin.model; import java.util.UUID; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -24,6 +26,7 @@ import javax.xml.bind.annotation.XmlRootElement; * */ @XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class BaseModel { @XmlElement diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java index 216ff77..1351cee 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java @@ -23,6 +23,13 @@ public class Consumer extends BaseModel { private Consumer parent; private List<Product> consumedProducts; private ConsumerInfo info; + + /** + * default ctor + */ + public Consumer() { + this(null); + } /** * @param uuid diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java b/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java index f9623cc..883de5c 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/Organization.java @@ -17,10 +17,13 @@ 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.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class Organization extends BaseModel { @XmlElement diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/User.java b/proxy/code/src/org/fedoraproject/candlepin/model/User.java index a44df66..d4a4475 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/User.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/User.java @@ -14,10 +14,13 @@ */ package org.fedoraproject.candlepin.model; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class User extends BaseModel { @XmlElement |
