Author: bbrossaud Date: 2010-07-20 15:26:47 +0200 (Tue, 20 Jul 2010) New Revision: 110 Url: http://chorem.org/repositories/revision/bonzoms/110 Log: addition search action Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java trunk/bonzoms-ui-zk/src/main/webapp/index.zul trunk/bonzoms-ui-zk/transaction.log Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-20 11:55:57 UTC (rev 109) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-20 13:26:47 UTC (rev 110) @@ -30,6 +30,7 @@ import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.Company; import org.nuiton.util.StringUtil; +import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.SuspendNotAllowedException; import org.zkoss.zk.ui.event.Event; @@ -51,8 +52,16 @@ protected CompanyModel _companyDataModel = new CompanyModel(); - public CompanyController() { - List<Company> companies = _model.retrieveAllCompanies(); + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + String search = (String) arg.get("search"); + List<Company> companies; + if (search != null && !search.isEmpty()) { + companies = _model.retrieveCompaniesBySearch(search); + } else { + companies = _model.retrieveAllCompanies(); + } createCompaniesData(companies); } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-20 11:55:57 UTC (rev 109) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-20 13:26:47 UTC (rev 110) @@ -30,6 +30,7 @@ import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.Employee; import org.chorem.data.bonzoms.Person; +import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.SuspendNotAllowedException; import org.zkoss.zk.ui.event.CreateEvent; @@ -53,14 +54,20 @@ protected EmployeeModel _employeeModel = new EmployeeModel(); protected Employee _selectedEmployee = null; - public EmployeeController() { - List<Employee> employees = _model.retrieveAllEmployees(); - List<EmployeeData> datas = createEmployeeDataList(employees); - _employeeModel.setEmployees(datas); + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + String search = (String) arg.get("search"); + List<Employee> employees; + if (search != null && !search.isEmpty()) { + employees = _model.retrieveEmployeesBySearch(search); + } else { + employees = _model.retrieveAllEmployees(); + } + createEmployeeDataList(employees); } - public List<EmployeeData> createEmployeeDataList(List<Employee> employees) { - List<EmployeeData> datas = new ArrayList<EmployeeData>(); + public void createEmployeeDataList(List<Employee> employees) { for (Employee employee : employees) { Address address = _model.retrieveAddressById(employee.getAddress()); Person person = _model.retrievePersonById(employee.getPerson()); @@ -68,9 +75,8 @@ EmployeeData data = new EmployeeData(employee, address); data.getPersonData().setAddresses(addresses); data.getPersonData().setPerson(person); - datas.add(data); + _employeeModel.addData(data); } - return datas; } public void createWindowEmployeeForm(final EmployeeData employeeData) throws SuspendNotAllowedException, InterruptedException { Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-20 11:55:57 UTC (rev 109) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-20 13:26:47 UTC (rev 110) @@ -23,9 +23,12 @@ */ package org.chorem.bonzoms.ui; +import java.util.HashMap; +import java.util.Map; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.util.GenericForwardComposer; +import org.zkoss.zul.Textbox; import org.zkoss.zul.Vbox; /** @@ -35,56 +38,78 @@ public class MainController extends GenericForwardComposer { protected Vbox content; + protected Textbox searchBox; + public final static String COMPANY_WINDOW_ID = "company"; + public final static String EMPLOYEE_WINDOW_ID ="employee"; + public final static String PERSON_WINDOW_ID = "person"; + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); createEmployeesPage(null); } - public void createEmployeesPage(String search) { - Component newContent = Executions.createComponents("employeePage.zul", null, null); + protected void createEmployeesPage(Map<String, Object> map) { + removeAllContentPage(); + Component newContent = Executions.createComponents("employeePage.zul", null, map); content.appendChild(newContent); } - public void createPersonsPage(String search) { - Component newContent = Executions.createComponents("personPage.zul", null, null); + protected void createPersonsPage(Map<String, Object> map) { + removeAllContentPage(); + Component newContent = Executions.createComponents("personPage.zul", null, map); content.appendChild(newContent); } - public void createCompaniesPage(String search) { - Component newContent = Executions.createComponents("companyPage.zul", null, null); + protected void createCompaniesPage(Map<String, Object> map) { + removeAllContentPage(); + Component newContent = Executions.createComponents("companyPage.zul", null, map); content.appendChild(newContent); } - public void removeAllContentPage() { + protected void removeAllContentPage() { content.getLastChild().detach(); } + protected Map<String, Object> initMap() { + String search = searchBox.getValue(); + Map<String, Object> map = new HashMap<String, Object>(); + if (search != null && !search.isEmpty()) { + map.put("search", searchBox.getValue()); + } + return map; + } + /* * Events */ - public void onOK$search() { - - removeAllContentPage(); + public void onOK$searchBox() { + Component win = content.getLastChild(); + String id = win.getId(); + Map<String, Object> map = initMap(); + if (id.equals(EMPLOYEE_WINDOW_ID)) { + createEmployeesPage(map); + } else if (id.equals(COMPANY_WINDOW_ID)) { + createCompaniesPage(map); + } else if (id.equals(PERSON_WINDOW_ID)) { + createPersonsPage(map); + } } public void onClick$searchButton() { - onOK$search(); + onOK$searchBox(); } public void onClick$employees() { - removeAllContentPage(); - createEmployeesPage(null); + createEmployeesPage(new HashMap<String, Object>()); } public void onClick$persons() { - removeAllContentPage(); - createPersonsPage(null); + createPersonsPage(new HashMap<String, Object>()); } public void onClick$companies() { - removeAllContentPage(); - createCompaniesPage(null); + createCompaniesPage(new HashMap<String, Object>()); } } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-20 11:55:57 UTC (rev 109) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-20 13:26:47 UTC (rev 110) @@ -123,6 +123,27 @@ return persons; } + public List<Employee> retrieveEmployeesBySearch(String search) { + Criteria criteria = Search.query().keyword(search).criteria(); + List<Employee> employees = proxy.findAllByCriteria(Employee.class, criteria).getAll(); + employees = new ArrayList<Employee>(employees); + return employees; + } + + public List<Person> retrievePersonsBySearch(String search) { + Criteria criteria = Search.query().keyword(search).criteria(); + List<Person> persons = proxy.findAllByCriteria(Person.class, criteria).getAll(); + persons = new ArrayList<Person>(persons); + return persons; + } + + public List<Company> retrieveCompaniesBySearch(String search) { + Criteria criteria = Search.query().keyword(search).criteria(); + List<Company> companies = proxy.findAllByCriteria(Company.class, criteria).getAll(); + companies = new ArrayList<Company>(companies); + return companies; + } + /* * Update */ Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-20 11:55:57 UTC (rev 109) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-20 13:26:47 UTC (rev 110) @@ -21,10 +21,6 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * #L% */ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.chorem.bonzoms.ui; @@ -36,6 +32,7 @@ import java.util.Map; import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.Person; +import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.SuspendNotAllowedException; import org.zkoss.zk.ui.event.Event; @@ -57,8 +54,16 @@ protected PersonModel personModel = new PersonModel(); - public PersonController() { - List<Person> persons = model.retrieveAllPersons(); + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + String search = (String) arg.get("search"); + List<Person> persons; + if (search != null && !search.isEmpty()) { + persons = model.retrievePersonsBySearch(search); + } else { + persons = model.retrieveAllPersons(); + } createPersonsData(persons); } Modified: trunk/bonzoms-ui-zk/src/main/webapp/index.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/index.zul 2010-07-20 11:55:57 UTC (rev 109) +++ trunk/bonzoms-ui-zk/src/main/webapp/index.zul 2010-07-20 13:26:47 UTC (rev 110) @@ -14,7 +14,7 @@ </groupbox> <vbox id="content" > <hbox> - Search: <textbox id="search" /> <button label="Search" id="searchButton" /> + Search: <textbox id="searchBox" /> <button label="Search" id="searchButton" /> </hbox> <separator bar="true" /> </vbox> Modified: trunk/bonzoms-ui-zk/transaction.log =================================================================== --- trunk/bonzoms-ui-zk/transaction.log 2010-07-20 11:55:57 UTC (rev 109) +++ trunk/bonzoms-ui-zk/transaction.log 2010-07-20 13:26:47 UTC (rev 110) @@ -507,3 +507,15 @@ 2010-07-20 11:59:37,279 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 34481 2010-07-20 11:59:37,281 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 34 481 2010-07-20 11:59:37,357 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 34481 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-20 14:01:07,153 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 58039 +2010-07-20 14:01:07,155 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 58 039 +2010-07-20 14:01:07,225 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 58039 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-20 15:05:56,191 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 40876 +2010-07-20 15:05:56,197 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 40 876 +2010-07-20 15:05:56,269 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 40876 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-20 15:08:52,171 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 59353 +2010-07-20 15:08:52,173 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 59 353 +2010-07-20 15:08:52,253 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 59353 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-20 15:20:43,440 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 55108 +2010-07-20 15:20:43,442 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 55 108 +2010-07-20 15:20:43,507 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 55108 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService