[jboss-cvs] JBossAS SVN: r97139 - in projects/snowdrop/trunk/documentation/samples/sportsclub: sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository and 9 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Nov 28 23:58:27 EST 2009


Author: marius.bogoevici
Date: 2009-11-28 23:58:26 -0500 (Sat, 28 Nov 2009)
New Revision: 97139

Added:
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/MembershipConverter.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/ReferenceData.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/footer.xhtml
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/header.xhtml
Modified:
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/entity/Membership.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/MembershipRepository.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/HibernateMembershipRepository.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/initializer/DatabaseInitializer.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-reservations-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AvailableEquipments.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionService.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionServiceImpl.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountCreate.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountSearch.java
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/faces-config.xml
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/web.xml
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/createForm.xhtml
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/layout/template.xhtml
   projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/searchForm.xhtml
Log:
More samples stuff.

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/entity/Membership.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/entity/Membership.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/entity/Membership.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -51,4 +51,33 @@
    {
       this.active = active;
    }
+
+   @Override
+   public boolean equals(Object o)
+   {
+      if (this == o)
+      {
+         return true;
+      }
+      if (o == null || getClass() != o.getClass())
+      {
+         return false;
+      }
+
+      Membership that = (Membership) o;
+
+      if (code != null ? !code.equals(that.code) : that.code != null)
+      {
+         return false;
+      }
+
+      return true;
+   }
+
+   @Override
+   public int hashCode()
+   {
+      return code != null ? code.hashCode() : 0;
+   }
+   
 }

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/MembershipRepository.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/MembershipRepository.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-domain/src/main/java/org/jboss/snowdrop/samples/sportsclub/domain/repository/MembershipRepository.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -7,7 +7,7 @@
 /**
  * @author <a href="mailto:mariusb at redhat.com">Marius Bogoevici</a>
  */
-public interface MembershipRepository extends Repository<Membership, Integer>
+public interface MembershipRepository extends Repository<Membership, String>
 {
    List<Membership> findAllActiveMembershipTypes();
 }

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/HibernateMembershipRepository.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/HibernateMembershipRepository.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/HibernateMembershipRepository.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -1,7 +1,9 @@
 package org.jboss.snowdrop.samples.stayfit.dao.hibernate;
 
+import org.hibernate.Criteria;
 import org.hibernate.Query;
 import org.hibernate.criterion.Projections;
+import org.hibernate.criterion.Restrictions;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Membership;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.MembershipRepository;
 
@@ -10,7 +12,7 @@
 /**
  * @author <a href="mailto:mariusb at redhat.com">Marius Bogoevici</a>
  */
-public class HibernateMembershipRepository extends HibernateRepository<Membership, Integer> implements MembershipRepository
+public class HibernateMembershipRepository extends HibernateRepository<Membership, String> implements MembershipRepository
 {
 
    public HibernateMembershipRepository()
@@ -20,7 +22,7 @@
 
    public List<Membership> findAllActiveMembershipTypes()
    {
-      Query query = getCurrentSession().createQuery("from Membership m where m.active");
+      Criteria query = getCurrentSession().createCriteria(Membership.class).add(Restrictions.eq("active", true));
       return query.list();
    }
 

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/initializer/DatabaseInitializer.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/initializer/DatabaseInitializer.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-hibernate-dao/src/main/java/org/jboss/snowdrop/samples/stayfit/dao/hibernate/initializer/DatabaseInitializer.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -45,8 +45,10 @@
 
             Query query = session.createQuery("select count(m) from Membership m");
 
-            if (((Long) query.uniqueResult()) > 0 )
+            if (((Long) query.uniqueResult()) > 0)
+            {
                return null;
+            }
 
             Membership silverMembership = createMembership("SILVER", "600.0");
             save(session, silverMembership);
@@ -58,10 +60,10 @@
 
             Person person = createPerson("Samuel", "Vimes", "1 Yonge", "Toronto", "Ontario", "Canada");
             save(session, person);
-            save(session,createAccount(silverMembership, BillingType.MONTHLY, person));
+            save(session, createAccount(silverMembership, BillingType.MONTHLY, person));
 
             person = createPerson("Sibyl", "Vimes", "1 Yonge", "Toronto", "Ontario", "Canada");
-            save(session,person);
+            save(session, person);
             save(session, createAccount(goldMembership, BillingType.WEEKLY, person));
 
             person = createPerson("Havelock", "Vetinari", "1 Bloor", "Toronto", "Ontario", "Canada");
@@ -77,7 +79,35 @@
             save(session, createAccount(platinumMembership, BillingType.BIWEEKLY, person));
 
 
+            person = createPerson("Magrat", "Garlick", "1 King", "Lancre", "Ramtops", "Canada");
+            save(session, person);
+            save(session, createAccount(platinumMembership, BillingType.BIWEEKLY, person));
 
+            person = createPerson("Gytha", "Ogg", "1 King", "Lancre", "Ramtops", "Canada");
+            save(session, person);
+            save(session, createAccount(platinumMembership, BillingType.BIWEEKLY, person));
+
+            person = createPerson("Esmerelda", "Weatherwax", "1 King", "Lancre", "Ramtops", "Canada");
+            save(session, person);
+            save(session, createAccount(platinumMembership, BillingType.MONTHLY, person));
+
+            person = createPerson("Mustrum", "Ridcully", "1 King", "Lancre", "Ramtops", "Canada");
+            save(session, person);
+            save(session, createAccount(platinumMembership, BillingType.BIWEEKLY, person));
+
+            person = createPerson("Bill", "Door", "1 King", "Lancre", "Ramtops", "Canada");
+            save(session, person);
+            save(session, createAccount(platinumMembership, BillingType.BIWEEKLY, person));
+
+            person = createPerson("Angua", "von Uberwald", "1 King", "Lancre", "Ramtops", "Canada");
+            save(session, person);
+            save(session, createAccount(platinumMembership, BillingType.BIWEEKLY, person));
+
+            person = createPerson("Claude", "Dibbler", "1 King", "Lancre", "Ramtops", "Canada");
+            save(session, person);
+            save(session, createAccount(platinumMembership, BillingType.BIWEEKLY, person));
+
+
             return null;
          }
       });

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-reservations-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AvailableEquipments.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-reservations-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AvailableEquipments.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-reservations-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AvailableEquipments.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -3,7 +3,6 @@
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.EquipmentRepository;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Equipment;
 
-import java.util.Collection;
 import java.util.List;
 import java.util.Collections;
 import java.util.Date;

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionService.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionService.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionService.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -1,9 +1,11 @@
 package org.jboss.snowdrop.samples.sportsclub.ejb;
 
 import javax.ejb.Local;
+import java.util.Collection;
 import java.util.List;
 
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Membership;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Person;
 
 /**
@@ -12,9 +14,11 @@
 @Local
 public interface SubscriptionService
 {
-   Account createAccountForPerson(Person person);
+   Account createAccountForPerson(Person person, Membership membership);
 
    int countAccountsBySubscriberName(String name);
 
    List<Account> findAccountsBySubscriberName(String name, int minIndex, int maxIndex);
+
+   Collection<Membership> getMembershipTypes();
 }

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionServiceImpl.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionServiceImpl.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-ejb/src/main/java/org/jboss/snowdrop/samples/sportsclub/ejb/SubscriptionServiceImpl.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -3,12 +3,15 @@
 import javax.ejb.Stateless;
 import javax.interceptor.Interceptors;
 
+import java.util.Collection;
 import java.util.List;
 
 import org.jboss.annotation.spring.Spring;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Membership;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Person;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.AccountRepository;
+import org.jboss.snowdrop.samples.sportsclub.domain.repository.MembershipRepository;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.PersonRepository;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.criteria.AccountSearchCriteria;
 import org.jboss.snowdrop.samples.sportsclub.domain.repository.criteria.PersonSearchCriteria;
@@ -30,6 +33,9 @@
    @Spring(bean = "personRepository", jndiName = "SpringDao")
    private PersonRepository personRepository;
 
+   @Spring(bean = "membershipRepository", jndiName = "SpringDao")
+   private MembershipRepository membershipRepository;
+
    public List<Account> findAccountsBySubscriberName(String name, int minIndex, int maxIndex)
    {
       PersonSearchCriteria personSearchCriteria = new PersonSearchCriteria();
@@ -49,13 +55,18 @@
       return accountRepository.countByCriteria(accountSearchCriteria);
    }
 
-   public Account createAccountForPerson(Person person)
+   public Account createAccountForPerson(Person person, Membership membership)
    {
       Account account = new Account();
       account.setSubscriber(person);
+      account.setMembership(membership);
       personRepository.save(person);
       accountRepository.save(account);
       return account;
    }
 
+   public Collection<Membership> getMembershipTypes()
+   {
+      return membershipRepository.findAllActiveMembershipTypes();
+   }
 }

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountCreate.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountCreate.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountCreate.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -2,6 +2,7 @@
 
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Account;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Address;
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Membership;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Name;
 import org.jboss.snowdrop.samples.sportsclub.domain.entity.Person;
 import org.jboss.snowdrop.samples.sportsclub.ejb.SubscriptionService;
@@ -16,8 +17,12 @@
    @EJB
    private SubscriptionService subscriptionService;
 
+   private ReferenceData referenceData;
+
    private String firstName;
 
+   private String middleName;
+
    private String lastName;
 
    private String city;
@@ -28,6 +33,13 @@
 
    private Account account = null;
 
+   private Membership membership = null;
+
+   public void setReferenceData(ReferenceData referenceData)
+   {
+      this.referenceData = referenceData;
+   }
+
    public String getAddress()
    {
       return address;
@@ -98,7 +110,27 @@
       person.getAddress().setStreetAddress(address);
 
 
-      account = subscriptionService.createAccountForPerson(person);
+      account = subscriptionService.createAccountForPerson(person, membership);
       return "success";
    }
+
+   public void setMiddleName(String middleName)
+   {
+      this.middleName = middleName;
+   }
+
+   public String getMiddleName()
+   {
+      return middleName;
+   }
+
+   public void setMembership(Membership membership)
+   {
+      this.membership = membership;
+   }
+
+   public Membership getMembership()
+   {
+      return membership;
+   }
 }

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountSearch.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountSearch.java	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/AccountSearch.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -25,8 +25,6 @@
 
    private String name;
 
-   private List<Account> accounts = Collections.<Account>emptyList();
-
    private int currentPage;
    private int currentRow;
    private Long currentId;
@@ -46,22 +44,11 @@
 
    public String searchAccounts()
    {
-//      List<Account> list = subscriptionService.findAccountsBySubscriberName(name);
-//      accountsMap = new HashMap<Long, Account>();
-//      for (Account row : list)
-//      {
-//         Long id = row.getId();
-//         accountsMap.put(id, row);
-//      }
       rowCount = subscriptionService.countAccountsBySubscriberName(name);
+      currentPage = 1;
       return "success";
    }
 
-   public List<Account> getAccounts()
-   {
-      return accounts;
-   }
-
    public int getCurrentPage()
    {
       return currentPage;

Added: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/MembershipConverter.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/MembershipConverter.java	                        (rev 0)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/MembershipConverter.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -0,0 +1,47 @@
+package org.jboss.snowdrop.samples.sportsclub.jsf.beans;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Membership;
+
+/**
+ * @author <a href="mailto:mariusb at redhat.com">Marius Bogoevici</a>
+ */
+public class MembershipConverter implements Converter
+{
+
+   private ReferenceData referenceData;
+
+   public void setReferenceData(ReferenceData referenceData)
+   {
+      this.referenceData = referenceData;
+   }
+
+   public Object getAsObject(FacesContext context, UIComponent component, String value)
+   {
+      if (value == null)
+         return null;
+      if (!referenceData.getMembershipTypes().containsKey(value))
+      {
+         FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,"Wrong code", "Membership code " + value + " does not exist or is not active.");
+         throw new ConverterException(message);
+      }
+      return referenceData.getMembershipTypes().get(value);
+   }
+
+   public String getAsString(FacesContext context, UIComponent component, Object value)
+   {
+      if (value == null)
+         return null;
+      if (!(value instanceof Membership))
+      {
+         FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,"Wrong type", "Object" + value + " is not of " + Membership.class.getName() + " type");
+         throw new ConverterException(message);
+      }
+      return ((Membership)value).getCode();
+   }
+}

Added: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/ReferenceData.java
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/ReferenceData.java	                        (rev 0)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/java/org/jboss/snowdrop/samples/sportsclub/jsf/beans/ReferenceData.java	2009-11-29 04:58:26 UTC (rev 97139)
@@ -0,0 +1,51 @@
+package org.jboss.snowdrop.samples.sportsclub.jsf.beans;
+
+import javax.ejb.EJB;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.jboss.snowdrop.samples.sportsclub.domain.entity.Membership;
+import org.jboss.snowdrop.samples.sportsclub.ejb.SubscriptionService;
+
+/**
+ * @author <a href="mailto:mariusb at redhat.com">Marius Bogoevici</a>
+ */
+public class ReferenceData
+{
+
+   @EJB
+   SubscriptionService subscriptionService;
+
+   Map<String, Membership> membershipTypes;
+
+   ReentrantLock lock = new ReentrantLock();
+
+   public Map<String, Membership> getMembershipTypes()
+   {
+
+      if (membershipTypes == null)
+      {
+         try
+         {
+            lock.lock();
+            if (membershipTypes == null)
+            {
+               Collection<Membership> memberships = subscriptionService.getMembershipTypes();
+               membershipTypes = new HashMap<String, Membership>();
+               for (Membership membership: memberships)
+               {
+                  membershipTypes.put(membership.getCode(), membership);
+               }
+            }
+         }
+         finally
+         {
+            lock.unlock();
+         }
+      }
+
+      return membershipTypes;
+   }
+}

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/faces-config.xml	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/faces-config.xml	2009-11-29 04:58:26 UTC (rev 97139)
@@ -17,6 +17,20 @@
         <managed-bean-class>org.jboss.snowdrop.samples.sportsclub.jsf.beans.AccountCreate</managed-bean-class>
         <managed-bean-scope>request</managed-bean-scope>
     </managed-bean>
+    <managed-bean>
+        <managed-bean-name>referenceData</managed-bean-name>
+        <managed-bean-class>org.jboss.snowdrop.samples.sportsclub.jsf.beans.ReferenceData</managed-bean-class>
+        <managed-bean-scope>application</managed-bean-scope>
+    </managed-bean>
+    <managed-bean>
+        <managed-bean-name>membershipConverter</managed-bean-name>
+        <managed-bean-class>org.jboss.snowdrop.samples.sportsclub.jsf.beans.MembershipConverter</managed-bean-class>
+        <managed-bean-scope>application</managed-bean-scope>
+        <managed-property>
+            <property-name>referenceData</property-name>
+            <value>#{referenceData}</value>
+        </managed-property>
+    </managed-bean>
     <!--<navigation-rule>-->
         <!--<from-view-id>/searchForm.xhtml</from-view-id>-->
         <!--<navigation-case>-->

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/web.xml	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/WEB-INF/web.xml	2009-11-29 04:58:26 UTC (rev 97139)
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/createForm.xhtml
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/createForm.xhtml	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/createForm.xhtml	2009-11-29 04:58:26 UTC (rev 97139)
@@ -1,20 +1,35 @@
 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:ui="http://java.sun.com/jsf/facelets"
-	xmlns:f="http://java.sun.com/jsf/core"
-	xmlns:h="http://java.sun.com/jsf/html"
-	xmlns:rich="http://richfaces.org/rich"
-	xmlns:a4j="http://richfaces.org/a4j"
-	template="layout/template.xhtml">
-	<ui:define name="content">
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:f="http://java.sun.com/jsf/core"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:rich="http://richfaces.org/rich"
+                xmlns:a4j="http://richfaces.org/a4j"
+                template="layout/template.xhtml">
+    <ui:define name="content">
         <rich:panel>
-        <h:form>
-        First name: <h:inputText value="#{accountCreate.firstName}" label="First name"/>
-        Last name: <h:inputText value="#{accountCreate.lastName}" label="Last name"/><p/>
-        Address: <h:inputText value="#{accountCreate.address}" label="Address"/><p/>
-        City: <h:inputText value="#{accountCreate.city}" label="City"/><p/>
-        Province: <h:inputText value="#{accountCreate.provinceOrState}" label="ProvinceOrState"/><p/>
-        <h:commandButton value="Save" action="#{accountCreate.create}" />
-        </h:form>
+            <h:form>
+                <h:panelGrid columns="2">
+                    <h:outputLabel value="First name"/>
+                    <rich:inplaceInput defaultLabel="Click to enter" value="#{accountCreate.firstName}"/>
+                    <h:outputLabel value="Middle name"/>
+                    <rich:inplaceInput defaultLabel="Click to enter" value="#{accountCreate.middleName}"/>
+                    <h:outputLabel value="Last name"/>
+                    <rich:inplaceInput defaultLabel="Click to enter" value="#{accountCreate.lastName}"/>
+                    <h:outputLabel value="Address"/>
+                    <rich:inplaceInput defaultLabel="Click to enter" value="#{accountCreate.address}"/>
+                    <h:outputLabel value="City"/>
+                    <rich:inplaceInput defaultLabel="Click to enter" value="#{accountCreate.city}"/>
+                    <h:outputLabel value="Province"/>
+                    <rich:inplaceInput defaultLabel="Click to enter" value="#{accountCreate.provinceOrState}"/>
+                    <h:outputLabel value="Membership"/>
+                    <rich:inplaceSelect defaultLabel="Click to select" value="#{accountCreate.membership}"
+                                        showControls="true" converter="#{membershipConverter}">
+                        <f:selectItems value="#{referenceData.membershipTypes}"/>
+                    </rich:inplaceSelect>
+                    <h:commandButton value="Save" action="#{accountCreate.create}"/>
+                </h:panelGrid>
+            </h:form>
         </rich:panel>
-	</ui:define>
+
+    </ui:define>
 </ui:composition>
\ No newline at end of file

Added: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/footer.xhtml
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/footer.xhtml	                        (rev 0)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/footer.xhtml	2009-11-29 04:58:26 UTC (rev 97139)
@@ -0,0 +1,10 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:rich="http://richfaces.org/rich"
+	xmlns:a4j="http://richfaces.org/a4j">
+    <rich:panel>
+       <h:outputText value="Sports Club Subscriptions"/>
+    </rich:panel>
+</ui:composition>
\ No newline at end of file

Added: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/header.xhtml
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/header.xhtml	                        (rev 0)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/includes/header.xhtml	2009-11-29 04:58:26 UTC (rev 97139)
@@ -0,0 +1,10 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:rich="http://richfaces.org/rich"
+	xmlns:a4j="http://richfaces.org/a4j">
+    <rich:panel>
+       <h:outputText value="Sports Club Reservations"/>
+    </rich:panel>
+</ui:composition>
\ No newline at end of file

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/layout/template.xhtml
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/layout/template.xhtml	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/layout/template.xhtml	2009-11-29 04:58:26 UTC (rev 97139)
@@ -16,12 +16,21 @@
     </head>
 
 
-    <body class="main-body" style="position: relative;">
+    <body class="main-body">
 
-    <div style="position: relative; height: auto; overflow: hidden; min-height: 100%; zoom: 1;" class="main-panel">
-        <ui:insert name="content"/>
+    <div style="width: 100%; height: 116px; left: 0px;">
+        <ui:include src="/includes/header.xhtml"/>
     </div>
 
+    <div style="height: 100%; WIDTH: 800px" id="content" class="clearfix">
+		<ui:insert name="content"/>
+	</div>
+
+
+    <div style="width: 100%; height: 82px; left: 0px;">
+        <ui:include src="/includes/footer.xhtml"/>
+    </div>
+
     </body>
 </f:view>
 </html>
\ No newline at end of file

Modified: projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/searchForm.xhtml
===================================================================
--- projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/searchForm.xhtml	2009-11-28 23:47:05 UTC (rev 97138)
+++ projects/snowdrop/trunk/documentation/samples/sportsclub/sportsclub-subscriptions-web/src/main/webapp/searchForm.xhtml	2009-11-29 04:58:26 UTC (rev 97139)
@@ -22,7 +22,7 @@
             <h:form>
                 <rich:panel header="Search results" rendered="#{accountSearch.searchInfoAvailable}">
 
-                    <rich:dataTable id="searchResultsTable" value="#{accountSearch}" var="account" rows="2">
+                    <rich:dataTable id="searchResultsTable" value="#{accountSearch}" var="account" rows="5">
                         <rich:column>
                             <f:facet name="header">
                                 <h:outputText value="First Name"/>
@@ -47,6 +47,12 @@
                             </f:facet>
                             <h:outputText value="#{account.membership.code}"/>
                         </rich:column>
+                        <rich:column>
+                            <f:facet name="header">
+                                <h:outputText value="Billing"/>
+                            </f:facet>
+                            <h:outputText value="#{account.billingType}"/>
+                        </rich:column>
                         <f:facet name="footer">
                             <rich:datascroller id="sc2" for="searchResultsTable" maxPages="5"
                                                page="#{accountSearch.currentPage}"/>




More information about the jboss-cvs-commits mailing list