[jboss-cvs] JBossAS SVN: r101177 - in projects/snowdrop/examples/trunk/sportsclub: sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 19 11:22:59 EST 2010


Author: lvlcek at redhat.com
Date: 2010-02-19 11:22:58 -0500 (Fri, 19 Feb 2010)
New Revision: 101177

Added:
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/TestHibernatePaymentRepository.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/TestJpaPaymentRepository.java
Modified:
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/PaymentRepository.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernateInvoiceRepository.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernatePaymentRepository.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingService.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingServiceImpl.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/java/org/jboss/snowdrop/samples/sportsclub/springmvc/AccountController.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/WEB-INF/jsp/accountDetail.jsp
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/index.jsp
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaInvoiceRepository.java
   projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaPaymentRepository.java
Log:
JBQA-3118

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/PaymentRepository.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/PaymentRepository.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/PaymentRepository.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -1,7 +1,11 @@
 package org.jboss.snowdrop.samples.sportsclub.domain.repository;
 
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
 
+import java.util.List;
+
 public interface PaymentRepository extends Repository<Payment, Long>
 {
+   List<Payment> findForAccount(Account account);
 }

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernateInvoiceRepository.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernateInvoiceRepository.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernateInvoiceRepository.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -1,15 +1,12 @@
 package org.jboss.snowdrop.samples.sportsclub.dao.hibernate;
 
-import java.util.List;
-
-import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
-
+import org.hibernate.Criteria;
+import org.hibernate.criterion.Restrictions;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Invoice;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.InvoiceRepository;
 
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Restrictions;
+import java.util.List;
 
 public class HibernateInvoiceRepository extends HibernateRepository<Invoice, Long> implements InvoiceRepository
 {
@@ -22,7 +19,7 @@
    {
       Criteria criteria = getCurrentSession().createCriteria(Invoice.class);
       criteria.createCriteria("account").add(Restrictions.eq("id", account.getId()));
-      return ((List<Invoice>) criteria.list());
+      return criteria.list();
    }
 }
 

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernatePaymentRepository.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernatePaymentRepository.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/HibernatePaymentRepository.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -1,12 +1,24 @@
 package org.jboss.snowdrop.samples.sportsclub.dao.hibernate;
 
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.PaymentRepository;
+import org.hibernate.Criteria;
+import org.hibernate.criterion.Restrictions;
 
+import java.util.List;
+
 public class HibernatePaymentRepository extends HibernateRepository<Payment, Long> implements PaymentRepository
 {
    public HibernatePaymentRepository()
    {
       super(Payment.class);
    }
+
+   public List<Payment> findForAccount(Account account)
+   {
+      Criteria criteria = getCurrentSession().createCriteria(Payment.class);
+      criteria.createCriteria("account").add(Restrictions.eq("id", account.getId()));
+      return criteria.list();
+   }
 }

Added: projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/TestHibernatePaymentRepository.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/TestHibernatePaymentRepository.java	                        (rev 0)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-hibernate-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/hibernate/TestHibernatePaymentRepository.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -0,0 +1,42 @@
+package org.jboss.snowdrop.samples.sportsclub.dao.hibernate;
+
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.junit.runner.RunWith;
+import org.junit.Test;
+import org.jboss.snowdrop.samples.sportsclub.domain.repository.PaymentRepository;
+import org.jboss.snowdrop.samples.sportsclub.domain.repository.AccountRepository;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
+
+import java.util.List;
+
+import junit.framework.Assert;
+
+/**
+ * @author <a href="mailto:lvlcek at redhat.com">Lukas Vlcek</a>
+ */
+ at ContextConfiguration(locations = {"classpath:test-db-infrastructure.xml",
+      "classpath:test-hibernate-infrastructure.xml",
+      "classpath:dao-context.xml"})
+ at RunWith(SpringJUnit4ClassRunner.class)
+ at Transactional
+public class TestHibernatePaymentRepository
+{
+   @Autowired
+   AccountRepository accountRepository;
+
+   @Autowired
+   PaymentRepository paymentRepository;
+
+   @Test
+   public void testFindNoPaymentsForAccount()
+   {
+      Account a = accountRepository.findById(2L);
+      List<Payment> payments = paymentRepository.findForAccount(a);
+
+      Assert.assertEquals(0, payments.size());
+   }
+}

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingService.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingService.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingService.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -1,15 +1,33 @@
 package org.jboss.spring.samples.sportsclub.invoicing.services;
 
-import java.math.BigDecimal;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Invoice;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
 
 import javax.ejb.Local;
+import java.util.List;
 
-import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
-import org.jboss.snowdrop.samples.sportsclub.domain.entity.Invoice;
-
 @Local
 public interface BillingService
 {
+   /**
+    * Generate a new {@link Invoice} for given {@link Account}
+    * @param account
+    * @return
+    */
    Invoice generateInvoice(Account account);
 
+   /**
+    * Get all {@link Invoice}s for given {@link Account}
+    * @param account
+    * @return
+    */
+   List<Invoice> getInvoices(Account account);
+
+   /**
+    * Get all {@link Payment}s for given {@link Account}
+    * @param account
+    * @return
+    */
+   List<Payment> getPayments(Account account);
 }

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingServiceImpl.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingServiceImpl.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-ejb/src/main/java/org/jboss/spring/samples/sportsclub/invoicing/services/BillingServiceImpl.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -5,6 +5,7 @@
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Balance;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Invoice;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.AccountRepository;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.InvoiceRepository;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.PaymentRepository;
@@ -13,6 +14,7 @@
 import javax.ejb.Stateless;
 import javax.interceptor.Interceptors;
 import java.util.Date;
+import java.util.List;
 
 @Stateless
 @Interceptors(SpringLifecycleInterceptor.class)
@@ -58,5 +60,15 @@
       return invoice;
    }
 
- 
+   public List<Invoice> getInvoices(Account account)
+   {
+      return invoiceRepository.findForAccount(account);
+   }
+
+   public List<Payment> getPayments(Account account)
+   {
+      return paymentRepository.findForAccount(account);
+   }
+
+
 }

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/java/org/jboss/snowdrop/samples/sportsclub/springmvc/AccountController.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/java/org/jboss/snowdrop/samples/sportsclub/springmvc/AccountController.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/java/org/jboss/snowdrop/samples/sportsclub/springmvc/AccountController.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -1,21 +1,18 @@
 package org.jboss.snowdrop.samples.sportsclub.springmvc;
 
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Invoice;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
+import org.jboss.snowdrop.samples.sportsclub.ejb.SubscriptionService;
+import org.jboss.spring.samples.sportsclub.invoicing.services.BillingService;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.ui.ModelMap;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jms.core.JmsTemplate;
-import org.jboss.snowdrop.samples.sportsclub.ejb.SubscriptionService;
-import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
-import org.jboss.snowdrop.samples.sportsclub.domain.entity.Invoice;
-import org.jboss.snowdrop.samples.sportsclub.domain.entity.PaymentNotification;
-import org.jboss.spring.samples.sportsclub.invoicing.services.BillingService;
 
 import javax.ejb.EJB;
 import java.util.List;
-import java.math.BigDecimal;
 
 /**
  * @author <a href="mailto:lvlcek at redhat.com">Lukas Vlcek</a>
@@ -72,16 +69,19 @@
    {
       Account account = subscriptionService.findAccountById(Long.parseLong(id));
 
+      List<Invoice> invoices = billingService.getInvoices(account);
+      List<Payment> payments = billingService.getPayments(account);
+
       ModelMap model = new ModelMap();
       model.addAttribute(account);
+      model.addAttribute("invoices", invoices);
+      model.addAttribute("paymetns", payments);
       return model;
    }
 
    @RequestMapping(value = "/generateInvoice.do", method = RequestMethod.POST)
    ModelMap generateInvoice(@RequestParam("id") String id)
    {
-
-      // doublecheck that account does not have current invoice
       Account account = subscriptionService.findAccountById(Long.parseLong(id));
       Invoice invoice = billingService.generateInvoice(account);
 

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/WEB-INF/jsp/accountDetail.jsp
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/WEB-INF/jsp/accountDetail.jsp	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/WEB-INF/jsp/accountDetail.jsp	2010-02-19 16:22:58 UTC (rev 101177)
@@ -2,13 +2,18 @@
 
 <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
 
 <html>
 <head><title>Sports Club: Invoicing - account detail</title></head>
 <body>
 
-<div>Account details</div>
+<p>
+    <a href='searchAccount.do'>Go back to search form.</a>
+</p>
 
+<h3>Account details</h3>
+
 <table>
     <tr>
         <td></td>
@@ -76,11 +81,67 @@
     </c:if>
 </table>
 
-<form:form action="generateInvoice.do">
-    You can create new invoice for this account:
-    <input type="hidden" name="id" value="<c:out value="${account.id}"/>">
-    <input type="submit" value="Create invoice"/><br/>
-</form:form>
+<p>
+    <form:form action="generateInvoice.do">
+        You can create new invoice for this account:
+        <input type="hidden" name="id" value="<c:out value="${account.id}"/>">
+        <input type="submit" value="Create invoice"/><br/>
+    </form:form>
+</p>
 
+<table cellspacing="10">
+    <tr>
+        <td>
+            <table border="1">
+                <thead>
+                <tr>
+                    <th colspan="5">Invoices</th>
+                </tr>
+                <tr>
+                    <th rowspan="2">Id</th>
+                    <th rowspan="2">IssueDate</th>
+                    <th rowspan="2">Amount</th>
+                    <th colspan="2">BillingPeriod</th>
+                </tr>
+                <tr>
+                    <th>Start</th>
+                    <th>End</th>
+                </tr>
+                </thead>
+                <c:forEach items="${invoices}" var="invoice">
+                    <tr>
+                        <td><c:out value="${invoice.id}"/></td>
+                        <td><c:out value="${invoice.issueDate}"/></td>
+                        <td><c:out value="${invoice.amount}"/></td>
+                        <td><fmt:formatDate value="${invoice.billingPeriod.startDate}" dateStyle="short" timeStyle="short" type="both"/></td>
+                        <td><fmt:formatDate value="${invoice.billingPeriod.endDate}" dateStyle="short" timeStyle="short" type="both"/></td>
+                    </tr>
+                </c:forEach>
+            </table>
+        </td>
+        <td>
+            <table border="1">
+                <thead>
+                <tr>
+                    <th colspan="3">Payments</th>
+                </tr>
+                <tr>
+                    <th>Id</th>
+                    <th>Amount</th>
+                    <th>Date</th>
+                </tr>
+                </thead>
+                <c:forEach items="${payments}" var="payment">
+                    <tr>
+                        <td><c:out value="${payment.id}"/></td>
+                        <td><c:out value="${payment.amount}"/></td>
+                        <td><fmt:formatDate value="${payment.date}" dateStyle="short" timeStyle="short" type="both"/></td>
+                    </tr>
+                </c:forEach>
+            </table>
+        </td>
+    </tr>
+</table>
+
 </body>
 </html>
\ No newline at end of file

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/index.jsp
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/index.jsp	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-invoicing-webmvc/src/main/webapp/index.jsp	2010-02-19 16:22:58 UTC (rev 101177)
@@ -1,5 +1,11 @@
 <html>
+<head><title>Sports Club: Invoicing</title></head>
 <body>
-<h2>Deployed again</h2>
+<p>
+    Search for account, view detail and create invoice if needed.
+</p>
+<p>
+    <a href="searchAccount.do">Go to search page.</a>
+</p>
 </body>
 </html>

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaInvoiceRepository.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaInvoiceRepository.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaInvoiceRepository.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -3,13 +3,9 @@
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Invoice;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.InvoiceRepository;
-import org.jboss.snowdrop.samples.sportsclub.domain.repository.criteria.InvoiceSearchCriteria;
-
 import org.springframework.stereotype.Repository;
 
 import javax.persistence.Query;
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -26,8 +22,8 @@
 
    public List<Invoice> findForAccount(Account account)
    {
-      Query q = entityManager.createQuery("FROM " + Invoice.class.getSimpleName() + " i WHERE i.account.id = :id");
-      q.setParameter("id", account.getId());
-      return q.getResultList();
+      Query query = entityManager.createQuery("FROM " + Invoice.class.getSimpleName() + " i WHERE i.account.id = :id");
+      query.setParameter("id", account.getId());
+      return query.getResultList();
    }
 }

Modified: projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaPaymentRepository.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaPaymentRepository.java	2010-02-19 16:11:41 UTC (rev 101176)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/main/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/JpaPaymentRepository.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -1,9 +1,13 @@
 package org.jboss.snowdrop.samples.sportsclub.dao.jpa;
 
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.PaymentRepository;
 import org.springframework.stereotype.Repository;
 
+import javax.persistence.Query;
+import java.util.List;
+
 /**
  * @author Marius Bogoevici
  */
@@ -14,4 +18,11 @@
    {
       super(Payment.class);
    }
+
+   public List<Payment> findForAccount(Account account)
+   {
+      Query query = entityManager.createQuery("FROM " + Payment.class.getSimpleName() + " p WHERE p.account.id = :id");
+      query.setParameter("id", account.getId());
+      return query.getResultList();
+   }
 }

Added: projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/TestJpaPaymentRepository.java
===================================================================
--- projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/TestJpaPaymentRepository.java	                        (rev 0)
+++ projects/snowdrop/examples/trunk/sportsclub/sportsclub-jpa-dao/src/test/java/org/jboss/snowdrop/samples/sportsclub/dao/jpa/TestJpaPaymentRepository.java	2010-02-19 16:22:58 UTC (rev 101177)
@@ -0,0 +1,40 @@
+package org.jboss.snowdrop.samples.sportsclub.dao.jpa;
+
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.junit.runner.RunWith;
+import org.junit.Test;
+import org.jboss.snowdrop.samples.sportsclub.domain.repository.AccountRepository;
+import org.jboss.snowdrop.samples.sportsclub.domain.repository.PaymentRepository;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Payment;
+
+import java.util.List;
+
+import junit.framework.Assert;
+
+/**
+ * @author <a href="mailto:lvlcek at redhat.com">Lukas Vlcek</a>
+ */
+ at ContextConfiguration(locations = {"classpath:test-db-infrastructure.xml",
+                                   "classpath:TEST-jpa-infrastructure.xml",
+                                   "classpath:dao-context.xml"})
+ at RunWith(SpringJUnit4ClassRunner.class)
+public class TestJpaPaymentRepository
+{
+   @Autowired
+   AccountRepository accountRepository;
+
+   @Autowired
+   PaymentRepository paymentRepository;
+
+   @Test
+   public void testFindNoPaymentsForAccount()
+   {
+      Account a = accountRepository.findById(2L);
+      List<Payment> payments = paymentRepository.findForAccount(a);
+
+      Assert.assertEquals(0, payments.size());
+   }
+}




More information about the jboss-cvs-commits mailing list