From 58cb2dcc27a95b64b3eb486f1e56ea641be9f1f7 Mon Sep 17 00:00:00 2001 From: "jesus m. rodriguez" Date: Mon, 14 Sep 2009 13:46:20 -0400 Subject: more refactoring --- .../candlepin/resource/BaseResource.java | 13 +++++- .../candlepin/resource/ConsumerResource.java | 8 ++-- .../candlepin/resource/EntitlementPoolApi.java | 47 --------------------- .../resource/EntitlementPoolResource.java | 49 ++++++++++++++++++++++ .../candlepin/resource/EntitlementResource.java | 25 ++++++----- .../candlepin/resource/OwnerResource.java | 8 ++-- .../candlepin/resource/UserResource.java | 15 ++++--- 7 files changed, 90 insertions(+), 75 deletions(-) delete mode 100644 proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolApi.java create mode 100644 proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolResource.java (limited to 'proxy/code/src/org') diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/BaseResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/BaseResource.java index 37c51c2..e671dec 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/BaseResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/BaseResource.java @@ -34,7 +34,16 @@ import javax.ws.rs.core.MediaType; public abstract class BaseResource { + private Class model; + /** + * Ctor + * @param model + */ + public BaseResource(Class modelClass) { + this.model = modelClass; + } + /** * Logger for this class */ @@ -79,6 +88,8 @@ public abstract class BaseResource { log.debug("Deleted."); } - protected abstract Class getApiClass(); + protected Class getApiClass() { + return model; + } } diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java index 4395f9f..54f5577 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java @@ -35,9 +35,11 @@ import javax.ws.rs.core.MediaType; @Path("/consumer") public class ConsumerResource extends BaseResource { - @Override - protected Class getApiClass() { - return Consumer.class; + /** + * default ctor + */ + public ConsumerResource() { + super(Consumer.class); } @GET diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolApi.java b/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolApi.java deleted file mode 100644 index d86f9ca..0000000 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolApi.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright (c) 2008 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.resource; - -import org.fedoraproject.candlepin.model.EntitlementPool; -import org.fedoraproject.candlepin.model.ObjectFactory; - -import java.util.ArrayList; -import java.util.List; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -@Path("/entitlementpool") -public class EntitlementPoolApi extends BaseResource { - - @Override - protected Class getApiClass() { - return EntitlementPool.class; - } - - @GET - @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) - public List list() { - List u = ObjectFactory.get().listObjectsByClass(getApiClass()); - List pools = new ArrayList(); - for (Object o : u) { - pools.add((EntitlementPool) o); - } - return pools; - } - -} diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolResource.java new file mode 100644 index 0000000..3c2d956 --- /dev/null +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementPoolResource.java @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2008 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.resource; + +import org.fedoraproject.candlepin.model.EntitlementPool; +import org.fedoraproject.candlepin.model.ObjectFactory; + +import java.util.ArrayList; +import java.util.List; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +@Path("/entitlementpool") +public class EntitlementPoolResource extends BaseResource { + + /** + * default ctor + */ + public EntitlementPoolResource() { + super(EntitlementPool.class); + } + + @GET + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public List list() { + List u = ObjectFactory.get().listObjectsByClass(getApiClass()); + List pools = new ArrayList(); + for (Object o : u) { + pools.add((EntitlementPool) o); + } + return pools; + } + +} diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java index 9d50639..4619bbc 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java @@ -14,18 +14,18 @@ */ package org.fedoraproject.candlepin.resource; -import com.sun.jersey.api.representation.Form; - -import org.apache.log4j.Logger; import org.fedoraproject.candlepin.model.BaseModel; import org.fedoraproject.candlepin.model.Consumer; import org.fedoraproject.candlepin.model.Entitlement; import org.fedoraproject.candlepin.model.EntitlementPool; -import org.fedoraproject.candlepin.model.JsonTestObject; import org.fedoraproject.candlepin.model.ObjectFactory; import org.fedoraproject.candlepin.model.Product; import org.fedoraproject.candlepin.resource.cert.CertGenerator; +import com.sun.jersey.api.representation.Form; + +import org.apache.log4j.Logger; + import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -46,18 +46,17 @@ import javax.ws.rs.core.MediaType; public class EntitlementResource extends BaseResource { /** - * Logger for this class + * default ctor */ - private static final Logger log = Logger.getLogger(EntitlementResource.class); + public EntitlementResource() { + super(Entitlement.class); + } /** - * {@inheritDoc} + * Logger for this class */ - @Override - protected Class getApiClass() { - return Entitlement.class; - } - + private static final Logger log = Logger.getLogger(EntitlementResource.class); + private Object validateObjectInput(Form form, String fieldName, Class clazz) { String uuid = form.getFirst(fieldName); log.debug("UUID: " + uuid); @@ -160,7 +159,7 @@ public class EntitlementResource extends BaseResource { @Path("/listavailable") public List listAvailableEntitlements(@PathParam("uuid") String uuid) { Consumer c = (Consumer) validateObjectInput(uuid, Consumer.class); - List entitlementPools = new EntitlementPoolApi().list(); + List entitlementPools = new EntitlementPoolResource().list(); List retval = new ArrayList(); EntitlementMatcher matcher = new EntitlementMatcher(); for (EntitlementPool ep : entitlementPools) { diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/OwnerResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/OwnerResource.java index ad94c59..c66747c 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/OwnerResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/OwnerResource.java @@ -28,9 +28,11 @@ import javax.ws.rs.core.MediaType; @Path("/owner") public class OwnerResource extends BaseResource { - @Override - protected Class getApiClass() { - return Owner.class; + /** + * @param modelClassIn + */ + public OwnerResource() { + super(Owner.class); } @GET diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/UserResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/UserResource.java index 5b5b08e..f88cb3f 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/UserResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/UserResource.java @@ -36,6 +36,13 @@ import javax.ws.rs.core.MediaType; @Path("/user") public class UserResource extends BaseResource { + /** + * default ctor + */ + public UserResource() { + super(User.class); + } + /** * Returns the User identified by the given login. * @return user whose login is 'login' @@ -46,14 +53,6 @@ public class UserResource extends BaseResource { return (User) ObjectFactory.get().lookupByFieldName(User.class, "login", login); } - /** - * {@inheritDoc} - */ - @Override - protected Class getApiClass() { - return User.class; - } - /** * Returns a list of Users. * @return a list of Users. -- cgit