[weld-commits] Weld SVN: r6698 - archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany.
weld-commits at lists.jboss.org
weld-commits at lists.jboss.org
Sat Jul 17 14:00:14 EDT 2010
Author: sboscarine
Date: 2010-07-17 14:00:14 -0400 (Sat, 17 Jul 2010)
New Revision: 6698
Added:
archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResourceRESTService.java
Removed:
archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResource.java
Modified:
archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepository.java
archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepositoryProducer.java
Log:
minor refactor, updated comments
Modified: archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepository.java
===================================================================
--- archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepository.java 2010-07-17 17:01:36 UTC (rev 6697)
+++ archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepository.java 2010-07-17 18:00:14 UTC (rev 6698)
@@ -8,9 +8,13 @@
import javax.inject.Qualifier;
/**
- * A qualifier used to differentiate between multiple data repositories
+ * A qualifier used to differentiate between multiple data repositories.
+ *
+ * If you only have 1 EntityManager, this annotation is optional
*/
@Qualifier
- at Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+ at Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
-public @interface MemberRepository {}
+public @interface MemberRepository
+{
+}
Modified: archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepositoryProducer.java
===================================================================
--- archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepositoryProducer.java 2010-07-17 17:01:36 UTC (rev 6697)
+++ archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberRepositoryProducer.java 2010-07-17 18:00:14 UTC (rev 6698)
@@ -3,7 +3,9 @@
import javax.enterprise.inject.Produces;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
-
+/**
+ * This class uses CDI to produce @MemberRepository EntityManagers.
+ */
public class MemberRepositoryProducer
{
@Produces
Deleted: archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResource.java
===================================================================
--- archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResource.java 2010-07-17 17:01:36 UTC (rev 6697)
+++ archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResource.java 2010-07-17 18:00:14 UTC (rev 6698)
@@ -1,30 +0,0 @@
-package com.mycompany;
-
-import java.util.List;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
- at Path("/members")
- at RequestScoped
-public class MemberResource
-{
- @Inject @MemberRepository
- private EntityManager em;
-
- @GET
- public List<Member> getMembers()
- {
- return em.createQuery("select m from Member m order by m.name").getResultList();
- }
-
- @GET
- @Path("/{id:[1-9][0-9]*}")
- public Member getMember(@PathParam("id") long id)
- {
- return em.find(Member.class, id);
- }
-}
Copied: archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResourceRESTService.java (from rev 6697, archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResource.java)
===================================================================
--- archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResourceRESTService.java (rev 0)
+++ archetypes/javaee6-webapp/trunk/src/main/java/com/mycompany/MemberResourceRESTService.java 2010-07-17 18:00:14 UTC (rev 6698)
@@ -0,0 +1,38 @@
+package com.mycompany;
+
+import java.util.List;
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+/**
+ * JAX-RS Example
+ *
+ * This class alone produces a RESTful service to read the contents of the members table.
+ */
+ at Path("/members")
+ at RequestScoped
+public class MemberResourceRESTService
+{
+ private static final String ALL_MEMBERS = "select m from Member m order by m.name";
+ @Inject
+ @MemberRepository
+ private EntityManager em;
+
+ @GET
+ public List<Member> listAllMembers()
+ {
+ @SuppressWarnings("unchecked") //Force IDE to ignore warnings about "genericizing" the results of this query
+ final List<Member> results = em.createQuery(ALL_MEMBERS).getResultList();
+ return results;
+ }
+
+ @GET
+ @Path("/{id:[1-9][0-9]*}")
+ public Member lookupMemberById(@PathParam("id") long id)
+ {
+ return em.find(Member.class, id);
+ }
+}
More information about the weld-commits
mailing list