summaryrefslogtreecommitdiffstats
path: root/proxy/code/src
diff options
context:
space:
mode:
authorjesus m. rodriguez <jesusr@redhat.com>2009-07-10 11:59:56 -0400
committerjesus m. rodriguez <jesusr@redhat.com>2009-07-10 11:59:56 -0400
commit18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a (patch)
tree0ec3cb6c34818cbd8df4974090529e567241f37d /proxy/code/src
parentbc268e00a0e5c37180c349266ae1072c43f11d8f (diff)
downloadcandlepin-18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a.tar.gz
candlepin-18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a.tar.xz
candlepin-18d2bf5aad7df2f36edf5034c4dc27ce6b38eb9a.zip
add json support to model objects & add userapi
Diffstat (limited to 'proxy/code/src')
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/api/UserApi.java14
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/api/test/UserApiTest.java6
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/BaseModel.java3
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java7
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Organization.java3
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/User.java3
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