r108 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
Author: bbrossaud Date: 2010-07-20 12:08:36 +0200 (Tue, 20 Jul 2010) New Revision: 108 Url: http://chorem.org/repositories/revision/bonzoms/108 Log: edition/addition person/employee/company work 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/CompanyFormController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.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/EmployeeFormController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.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-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-20 10:08:36 UTC (rev 108) @@ -70,6 +70,23 @@ map.put("companyData", companyData); } Window win = (Window) Executions.createComponents("companyFormPage.zul", null, map); + + win.addEventListener(CompanyFormController.EVENT_ON_SAVE_COMPANY, new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + CompanyData data = (CompanyData) event.getData(); + if (data != null) { + int rowIndex = _companyDataModel.indexOf(data); + if (rowIndex == -1) { + _companyDataModel.addData(data); + } else { + _companyDataModel.reloadContent(rowIndex); + } + } + } + }); + win.setPage(page); // win.doHighlighted(); win.setPosition("center"); Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-07-20 10:08:36 UTC (rev 108) @@ -23,12 +23,12 @@ */ package org.chorem.bonzoms.ui; -import java.util.ArrayList; import java.util.List; import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.AddressImpl; -import org.nuiton.util.StringUtil; +import org.chorem.data.bonzoms.Company; import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zkplus.databind.AnnotateDataBinder; import org.zkoss.zkplus.databind.DataBinder; @@ -47,6 +47,8 @@ protected Listbox addressListbox; protected Listbox phoneListbox; protected Listbox emailListbox; + + public final static String EVENT_ON_SAVE_COMPANY = "onSaveCompany"; @Override public void doAfterCompose(Component comp) throws Exception { @@ -90,7 +92,7 @@ } } - protected void addAddresses() { + protected void saveAddresses() { List<Address> addresses = _model.createAddresses(_companyData.getAddressesModel().getAddresses()); if (!_companyData.getRemovedAddresses().isEmpty()) { _model.deleteAddressesByIds(_companyData.getRemovedAddresses()); @@ -101,12 +103,12 @@ } } - protected void addEmails() { + protected void saveEmails() { String emails = _companyData.getEmailsModelAsString(); _companyData.getCompany().setEmails(emails); } - protected void addPhones() { + protected void savePhones() { String phones = _companyData.getPhonesModelAsString(); _companyData.getCompany().setPhones(phones); } @@ -158,11 +160,16 @@ } public void onClick$saveCompany() { - addPhones(); - addEmails(); - addAddresses(); + savePhones(); + saveEmails(); + saveAddresses(); - _model.updateCompany(_companyData.getCompany()); + Company company = _model.updateCompany(_companyData.getCompany()); + + _companyData.setCompany(company); + + Events.postEvent(EVENT_ON_SAVE_COMPANY, this.self, _companyData); + this.self.detach(); } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-07-20 10:08:36 UTC (rev 108) @@ -67,6 +67,10 @@ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); } + public void reloadContent(int rowIndex) { + fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex); + } + public void reload() { fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } 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-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-20 10:08:36 UTC (rev 108) @@ -73,12 +73,29 @@ return datas; } - public void createWindowEmployeeForm(EmployeeData employeeData) throws SuspendNotAllowedException, InterruptedException { + public void createWindowEmployeeForm(final EmployeeData employeeData) throws SuspendNotAllowedException, InterruptedException { Map<String, Object> map = new HashMap<String, Object>(); if (employeeData != null) { map.put("employeeData", employeeData); } Window win = (Window) Executions.createComponents("employeeFormPage.zul", null, map); + + win.addEventListener(EmployeeFormController.EVENT_ON_SAVE_EMPLOYEE, new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + EmployeeData data = (EmployeeData) event.getData(); + if (data != null) { + int rowIndex = _employeeModel.indexOf(data); + if (rowIndex == -1) { + _employeeModel.addData(data); + } else { + _employeeModel.reloadContent(rowIndex); + } + } + } + }); + win.setPage(page); win.setPosition("center"); // win.doOverlapped(); Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-07-20 10:08:36 UTC (rev 108) @@ -37,6 +37,7 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.SuspendNotAllowedException; +import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zkplus.databind.AnnotateDataBinder; import org.zkoss.zkplus.databind.DataBinder; @@ -57,6 +58,8 @@ protected Listbox phoneListbox; protected Listbox emailListbox; + public final static String EVENT_ON_SAVE_EMPLOYEE = "onSaveEmployee"; + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); @@ -135,7 +138,7 @@ } } - protected void addEmployeeContracts() { + protected void saveEmployeeContracts() { List<EmploymentContract> contracts = _model.createContracts(_employeeData.getContractsList()); if (!_employeeData.getRemovedContracts().isEmpty()) { _model.deleteContractsByIds(_employeeData.getRemovedContracts()); @@ -146,14 +149,14 @@ } } - protected void addEmployeeService() { + protected void saveEmployeeService() { Address serviceAddress = _model.createAddress(_employeeData.getServiceAddress()); _employeeData.getService().setAddress(serviceAddress.getWikittyId()); Service service = _model.updateService(_employeeData.getService()); _employeeData.getEmployee().setService(service.getWikittyId()); } - protected void addPersonAddresses() { + protected void savePersonAddresses() { List<Address> addresses = _model.createAddresses(_employeeData.getPersonAddresses()); if (!_employeeData.getPersonRemovedAddresses().isEmpty()) { _model.deleteAddressesByIds(_employeeData.getPersonRemovedAddresses()); @@ -164,20 +167,20 @@ } } - protected void addPersonEmails() { + protected void savePersonEmails() { String emails = _employeeData.getPersonEmailsModelAsString(); _employeeData.getPerson().setEmails(emails); } - protected void addPersonPhones() { + protected void savePersonPhones() { String phones = _employeeData.getPersonPhonesModelAsString(); _employeeData.getPerson().setPhones(phones); } - protected void addEmployeePerson() { - addPersonAddresses(); - addPersonPhones(); - addPersonEmails(); + protected void saveEmployeePerson() { + savePersonAddresses(); + savePersonPhones(); + savePersonEmails(); Person person = _model.createPerson(_employeeData.getPerson()); _employeeData.setPerson(person); _employeeData.getEmployee().setPerson(person.getWikittyId()); @@ -230,9 +233,9 @@ } public void onClick$saveEmployee() { - addEmployeePerson(); - addEmployeeContracts(); - addEmployeeService(); + saveEmployeePerson(); + saveEmployeeContracts(); + saveEmployeeService(); Address workingAddress = _model.updateAddress(_employeeData.getWorkingAddress()); _employeeData.getEmployee().setAddress(workingAddress.getWikittyId()); @@ -243,6 +246,8 @@ Employee employee = _model.createEmployee(_employeeData.getEmployee()); _employeeData.setEmployee(employee); + Events.postEvent(EVENT_ON_SAVE_EMPLOYEE, this.self, _employeeData); + this.self.detach(); } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-07-20 10:08:36 UTC (rev 108) @@ -67,6 +67,10 @@ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); } + public void reloadContent(int rowIndex) { + fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex); + } + public void reload() { fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } 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-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-20 10:08:36 UTC (rev 108) @@ -105,11 +105,12 @@ Listcell firstNameCell = new Listcell(personData.getPerson().getFirstName()); Listcell lastNameCell = new Listcell(personData.getPerson().getLastName()); - Date birthday = personData.getPerson().getBirthDay(); - if (birthday == null) { - birthday = new Date(); + String birthday = ""; + Date date = personData.getPerson().getBirthDay(); + if (date != null) { + birthday = sdf.format(date); } - Listcell dateCell = new Listcell(sdf.format(birthday)); + Listcell dateCell = new Listcell(birthday); Listcell detailsCell = new Listcell(); Button details = new Button("details"); detailsCell.appendChild(details); Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-07-20 10:08:36 UTC (rev 108) @@ -9,6 +9,7 @@ import java.util.List; import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.AddressImpl; +import org.chorem.data.bonzoms.Person; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zkplus.databind.AnnotateDataBinder; @@ -29,6 +30,8 @@ protected Listbox phoneListbox; protected Listbox emailListbox; + public final static String EVENT_ON_SAVE_ = "onWhatever"; + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); @@ -66,10 +69,48 @@ this.personData.setPhones(personData.getPerson().getPhones()); } + protected void removeAddresses() { + List<String> ids = personData.getRemovedAddresses(); + for (String id : ids) { + personData.getPerson().removeAddress(id); + } + } + + protected void saveAddresses() { + List<Address> addresses = model.createAddresses(personData.getAddresses()); + if (!personData.getRemovedAddresses().isEmpty()) { + model.deleteAddressesByIds(personData.getRemovedAddresses()); + removeAddresses(); + } + for (Address address : addresses) { + personData.getPerson().addAddress(address.getWikittyId()); + } + } + + protected void saveEmails() { + String emails = personData.getEmailsAsString(); + personData.getPerson().setEmails(emails); + } + + protected void savePhones() { + String phones = personData.getPhonesAsString(); + personData.getPerson().setPhones(phones); + } + /* + * Events + */ + public void onClick$savePerson() { + saveAddresses(); + savePhones(); + saveEmails(); + Person person = model.createPerson(personData.getPerson()); + personData.setPerson(person); + } + + /* * Getters */ - public PersonData getPersonData() { return personData; } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-07-20 10:08:36 UTC (rev 108) @@ -43,6 +43,10 @@ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); } + public void reloadContent(int rowIndex) { + fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex); + } + public void reload() { fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-07-20 10:08:36 UTC (rev 108) @@ -42,10 +42,10 @@ <textbox value="@{contract.name, save-when='save.onClick'}" /> <label value="Start" /> - <datebox format="dd/MM/yyyy" value="@{contract.start, save-when='save.onClick'}" /> + <datebox format="yyyy/MM/dd" value="@{contract.start, save-when='save.onClick'}" /> <label value="End" /> - <datebox format="dd/MM/yyyy" value="@{contract.end, save-when='save.onClick'}" /> + <datebox format="yyyy/MM/dd" value="@{contract.end, save-when='save.onClick'}" /> <label value="Description" /> <textbox rows="5" value="@{contract.description, save-when='save.onClick'}" /> Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-20 10:08:36 UTC (rev 108) @@ -51,7 +51,7 @@ <label value="Last name" /> <textbox value="@{composer.employeeData.person.lastName, save-when='saveEmployee.onClick'}" /> <label value="Birthday" /> - <datebox value="@{composer.employeeData.person.birthDay, save-when='saveEmployee.onClick'}" /> + <datebox format="yyyy/MM/dd" value="@{composer.employeeData.person.birthDay, save-when='saveEmployee.onClick'}" /> </vbox> <space /> Modified: trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-07-20 10:08:36 UTC (rev 108) @@ -9,13 +9,13 @@ <label value="Last name" /> <textbox value="@{composer.personData.person.lastName, save-when='savePerson.onClick'}" /> <label value="Birthday" /> - <datebox value="@{composer.personData.person.birthDay, save-when='savePerson.onClick'}" /> + <datebox format="yyyy/MM/dd" value="@{composer.personData.person.birthDay, save-when='savePerson.onClick'}" /> </vbox> <space /> <vbox> - <listbox id="addressListbox" model="@{composer.personData.personAddressesModel}" width="200px"> + <listbox id="addressListbox" model="@{composer.personData.addressesModel}" width="200px"> <listitem self="@{each='address'}"> <listcell> <groupbox> @@ -60,7 +60,7 @@ <caption label="Phones" /> - <listbox id="phoneListbox" model="@{composer.personData.personPhonesModel}" width="310px"> + <listbox id="phoneListbox" model="@{composer.personData.phonesModel}" width="310px"> <listhead sizable="true"> <listheader label="Name" /> <listheader label="Phone Number" /> @@ -87,7 +87,7 @@ <caption label="Emails" /> - <listbox id="emailListbox" model="@{composer.personData.personEmailsModel}" width="310px"> + <listbox id="emailListbox" model="@{composer.personData.emailsModel}" width="310px"> <listhead sizable="true"> <listheader label="Name" /> <listheader label="Email" /> Modified: trunk/bonzoms-ui-zk/transaction.log =================================================================== --- trunk/bonzoms-ui-zk/transaction.log 2010-07-19 16:09:42 UTC (rev 107) +++ trunk/bonzoms-ui-zk/transaction.log 2010-07-20 10:08:36 UTC (rev 108) @@ -498,3 +498,12 @@ 2010-07-19 18:06:53,687 [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 58500 2010-07-19 18:06:53,689 [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 500 2010-07-19 18:06:53,796 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 58500 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-20 09:58:11,528 [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 47552 +2010-07-20 09:58:11,562 [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: 47 552 +2010-07-20 09:58:11,642 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 47552 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-20 10:02:51,201 [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 41731 +2010-07-20 10:02:51,203 [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: 41 731 +2010-07-20 10:02:51,280 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 41731 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +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
participants (1)
-
bbrossaud@users.chorem.org