You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by id...@apache.org on 2007/05/18 15:07:43 UTC

svn commit: r539448 - in /myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook: AddressDao.java InMemoryAddressDao.java JpaAddressDao.java web/Controller.java

Author: idus
Date: Fri May 18 06:07:42 2007
New Revision: 539448

URL: http://svn.apache.org/viewvc?view=rev&rev=539448
Log:
added rudimental implementation for address search

Modified:
    myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/AddressDao.java
    myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/InMemoryAddressDao.java
    myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/JpaAddressDao.java
    myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/Controller.java

Modified: myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/AddressDao.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/AddressDao.java?view=diff&rev=539448&r1=539447&r2=539448
==============================================================================
--- myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/AddressDao.java (original)
+++ myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/AddressDao.java Fri May 18 06:07:42 2007
@@ -28,9 +28,9 @@
 
   Address updateAddress(Address address) throws AddressDaoException;
 
-  List<Address> findAddresses() throws AddressDaoException;
+  List<Address> findAddresses(String filter) throws AddressDaoException;
 
-  List<Address> findAddresses(String column, boolean order) throws AddressDaoException;
+  List<Address> findAddresses(String filter, String column, boolean order) throws AddressDaoException;
 
   void removeAddress(Address address) throws AddressDaoException;
 

Modified: myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/InMemoryAddressDao.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/InMemoryAddressDao.java?view=diff&rev=539448&r1=539447&r2=539448
==============================================================================
--- myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/InMemoryAddressDao.java (original)
+++ myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/InMemoryAddressDao.java Fri May 18 06:07:42 2007
@@ -55,11 +55,11 @@
     return address;
   }
 
-  public List<Address> findAddresses(String column, boolean order) {
-    return findAddresses();
+  public List<Address> findAddresses(String filter, String column, boolean order) {
+    return findAddresses(filter);
   }
 
-  public synchronized List<Address> findAddresses() {
+  public synchronized List<Address> findAddresses(String filter) {
     LOG.debug("Find addresses: "+addresses);
     return Collections.unmodifiableList(addresses);
   }

Modified: myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/JpaAddressDao.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/JpaAddressDao.java?view=diff&rev=539448&r1=539447&r2=539448
==============================================================================
--- myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/JpaAddressDao.java (original)
+++ myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/JpaAddressDao.java Fri May 18 06:07:42 2007
@@ -45,19 +45,35 @@
     return address;
   }
 
-  public List<Address> findAddresses() throws AddressDaoException {
-    return getJpaTemplate().find("select a from Address a");
+  public List<Address> findAddresses(String filter) throws AddressDaoException {
+    return findAddresses(filter, null, true);
   }
 
-  public List<Address> findAddresses(String column, boolean order) throws AddressDaoException {
-    return getJpaTemplate().find("select a from Address a order by a." + column + (order?" desc":" asc"));
+  public List<Address> findAddresses(String filter, String column, boolean order) throws AddressDaoException {
+    StringBuilder builder = new StringBuilder();
+    builder.append("select a from Address a");
+    if (filter != null) {
+      if (filter.indexOf('_') == -1 && filter.indexOf('%') == -1) {
+        filter = "%" + filter + "%";
+      }
+      builder.append(" where a.firstName like '");
+      builder.append(filter);
+      builder.append("' or a.lastName like '");
+      builder.append(filter);
+      builder.append("'");
+    }
+    if (column != null) {
+      builder.append(" order by a.");
+      builder.append(column);
+      builder.append(order ? " desc" : " asc");
+    }
+    return getJpaTemplate().find(builder.toString());
   }
 
-  public  void removeAddress(Address address) throws AddressDaoException {
+  public void removeAddress(Address address) throws AddressDaoException {
     address = getAddress(address.getId());
     getJpaTemplate().remove(address);
   }
-
 
   public Address getAddress(Integer id) {
     return getJpaTemplate().find(Address.class, id);

Modified: myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/Controller.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/Controller.java?view=diff&rev=539448&r1=539447&r2=539448
==============================================================================
--- myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/Controller.java (original)
+++ myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/Controller.java Fri May 18 06:07:42 2007
@@ -109,7 +109,7 @@
 
   public void setAddressDao(AddressDao addressDao) throws AddressDaoException {
     this.addressDao = addressDao;
-    currentAddressList = addressDao.findAddresses();
+    currentAddressList = addressDao.findAddresses(searchCriterion);
   }
 
   public void sheetSorter(ActionEvent event) throws AddressDaoException {
@@ -118,11 +118,12 @@
       UIColumn column = (UIColumn) sortEvent.getColumn();
 
       SheetState sheetState = sortEvent.getSheet().getSheetState(FacesContext.getCurrentInstance());
-      currentAddressList = addressDao.findAddresses(column.getId(), sheetState.isAscending());
+      currentAddressList = addressDao.findAddresses(searchCriterion, column.getId(), sheetState.isAscending());
     }
   }
 
   public String search() throws AddressDaoException {
+    currentAddressList = addressDao.findAddresses(searchCriterion);
     return OUTCOME_LIST;
   }
 
@@ -172,7 +173,7 @@
       addressDao.removeAddress(address);
     }
     selectedAddresses.resetSelected();
-    currentAddressList = addressDao.findAddresses();
+    currentAddressList = addressDao.findAddresses(searchCriterion);
     return OUTCOME_LIST;
   }
 
@@ -180,12 +181,12 @@
     LOG.debug("action: storeAddress");
     currentAddress = addressDao.updateAddress(currentAddress);
     selectedAddresses.resetSelected();
-    currentAddressList = addressDao.findAddresses();
+    currentAddressList = addressDao.findAddresses(searchCriterion);
     return OUTCOME_LIST;
   }
 
   public String cancel() throws AddressDaoException {
-    currentAddressList = addressDao.findAddresses();
+    currentAddressList = addressDao.findAddresses(searchCriterion);
     return OUTCOME_LIST;
   }