r122 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp
Author: bbrossaud Date: 2010-08-05 14:51:10 +0200 (Thu, 05 Aug 2010) New Revision: 122 Url: http://chorem.org/repositories/revision/bonzoms/122 Log: addition pagination and bandbox Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.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/ContractFormController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.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/java/org/chorem/bonzoms/ui/ServiceController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -2,6 +2,7 @@ import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.AddressImpl; +import org.nuiton.wikitty.WikittyProxy; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Events; @@ -16,7 +17,7 @@ */ public class AddressFormController extends GenericForwardComposer { - protected Model model = new Model(); + protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Address address = new AddressImpl(); @@ -34,7 +35,7 @@ addressId = (String) arg.get("addressId"); } if (addressId != null) { - address = model.retrieveAddressById(addressId); + address = proxy.restore(Address.class, addressId); } DataBinder binder = new AnnotateDataBinder(comp); binder.bindBean("composer", this); @@ -49,7 +50,7 @@ } public void onClick$saveAddress() { - address = model.createAddress(address); + address = proxy.store(address); Events.postEvent(EVENT_ON_SAVE_ADDRESS, this.self, address); 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-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -30,6 +30,7 @@ import org.chorem.data.bonzoms.AddressImpl; import org.chorem.data.bonzoms.Company; import org.chorem.data.bonzoms.CompanyImpl; +import org.nuiton.wikitty.WikittyProxy; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; @@ -45,10 +46,10 @@ */ public class CompanyFormController extends GenericForwardComposer { - protected Model model = new Model(); + protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Company company = new CompanyImpl(); - protected AddressesModel addressesModel = new AddressesModel(); + protected AddressModel addressesModel = new AddressModel(); protected PhonesModel phonesModel = new PhonesModel(); protected EmailsModel emailsModel = new EmailsModel(); @@ -97,8 +98,9 @@ } protected void initCompany(String companyId) { - this.company = model.retrieveCompanyById(companyId); - List<Address> addresses = model.retrieveAddressesByIds(new ArrayList<String>(company.getAddress())); + this.company = proxy.restore(Company.class, companyId); + List<Address> addresses = proxy.restore(Address.class, new ArrayList<String>(company.getAddress())); + addresses = new ArrayList<Address>(addresses); addressesModel.setAddresses(addresses); emailsModel.setEmails(company.getEmails()); phonesModel.setPhones(company.getPhones()); @@ -111,9 +113,9 @@ } protected void saveAddresses() { - List<Address> addresses = model.createAddresses(addressesModel.getAddresses()); + List<Address> addresses = proxy.store(addressesModel.getAddresses()); if (!removedAddresses.isEmpty()) { - model.deleteAddressesByIds(removedAddresses); + proxy.delete(removedAddresses); removeCompanyAddresses(); } for (Address address : addresses) { @@ -186,7 +188,7 @@ saveEmails(); saveAddresses(); - company = model.updateCompany(company); + company = proxy.store(company); Events.postEvent(EVENT_ON_SAVE_COMPANY, this.self, company); @@ -200,7 +202,7 @@ return company; } - public AddressesModel getAddressesModel() { + public AddressModel getAddressesModel() { return addressesModel; } 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-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-08-05 12:51:10 UTC (rev 122) @@ -43,13 +43,11 @@ protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Criteria criteria = null; protected int itemsByPage = 1; - protected int size = 0; protected int currentPage = 0; protected List<Company> companies = new ArrayList<Company>(); public CompanyModel(int itemsByPage) { this.itemsByPage = itemsByPage; - size = getSize(); createList(); } @@ -86,14 +84,21 @@ } public void addData(Company newData) { - size = getSize(); + int listSize = companies.size(); + if (listSize < (itemsByPage)) { + companies.add(newData); + } + int size = getSize(); fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1); } public void removeData(Company data) { - int interval = companies.indexOf(data) + (itemsByPage * currentPage); - proxy.delete(data.getWikittyId()); - fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + int index = companies.indexOf(data); + if (index != -1) { + companies.remove(index); + int interval = index + (itemsByPage * currentPage); + fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + } } public void reloadContent(int rowIndex) { @@ -105,7 +110,6 @@ public void reload() { createList(); - size = getSize(); fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -2,6 +2,7 @@ import org.chorem.data.bonzoms.EmploymentContract; import org.chorem.data.bonzoms.EmploymentContractImpl; +import org.nuiton.wikitty.WikittyProxy; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Events; @@ -16,7 +17,7 @@ */ public class ContractFormController extends GenericForwardComposer { - protected Model model = new Model(); + protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected EmploymentContract contract = new EmploymentContractImpl(); public static final String EVENT_ON_SAVE_CONTRACT = "onSaveContract"; @@ -33,7 +34,7 @@ contractId = (String) arg.get("contractId"); } if (contractId != null) { - contract = model.retrieveContractById(contractId); + contract = proxy.restore(EmploymentContract.class, contractId); } DataBinder binder = new AnnotateDataBinder(comp); binder.bindBean("composer", this); @@ -48,7 +49,7 @@ } public void onClick$saveContract() { - contract = model.createContract(contract); + contract = proxy.store(contract); Events.postEvent(EVENT_ON_SAVE_CONTRACT, this.self, contract); Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java 2010-08-05 12:51:10 UTC (rev 122) @@ -85,21 +85,22 @@ return index; } - public void addData(EmploymentContract newData, boolean store) { - if (store == true) { - proxy.store(newData); - } - size = getSize(); + public void addData(EmploymentContract newData) { + int listSize = contracts.size(); + if (listSize < (itemsByPage)) { + contracts.add(newData); + } + int size = getSize(); fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1); } - public void removeData(EmploymentContract data, boolean delete) { - int interval = contracts.indexOf(data) + (itemsByPage * currentPage); - if (delete == true) { - proxy.delete(data.getWikittyId()); - } - createList(); - fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + public void removeData(EmploymentContract data) { + int index = contracts.indexOf(data); + if (index != -1) { + contracts.remove(index); + int interval = index + (itemsByPage * currentPage); + fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + } } public void reloadContent(int rowIndex) { Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -59,7 +59,7 @@ protected void initDefaultContracts() { EmploymentContract contract = new EmploymentContractImpl(); contract.setEmployee(employeeId); - contractModel.addData(contract, false); + contractModel.addData(contract); } protected void initContracts() { @@ -75,7 +75,7 @@ public void onClick$addContract() { EmploymentContract contract = new EmploymentContractImpl(); contract.setEmployee(employeeId); - contractModel.addData(contract, false); + contractModel.addData(contract); } public void onClick$deleteContract() { 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-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -120,6 +120,7 @@ Service service = proxy.restore(Service.class, serviceId); serviceBandbox.setValue(service.getType()); } + serviceBandbox.close(); } protected void initCompanyModel() { @@ -129,6 +130,7 @@ Company company = proxy.restore(Company.class, companyId); companyBandbox.setValue(company.getName()); } + companyBandbox.close(); } protected void initPersonModel() { @@ -139,6 +141,7 @@ String name = person.getFirstName() + " " + person.getLastName(); personBandbox.setValue(name); } + personBandbox.close(); } /* @@ -355,6 +358,10 @@ public CompanyModel getCompanyModel() { return companyModel; } + + public PersonModel getPersonModel() { + return personModel; + } public ServiceModel getServiceModel() { return serviceModel; 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-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-08-05 12:51:10 UTC (rev 122) @@ -43,13 +43,11 @@ protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Criteria criteria = null; protected int itemsByPage = 1; - protected int size = 0; protected int currentPage = 0; protected List<Employee> employees = new ArrayList<Employee>(); public EmployeeModel(int itemsByPage) { this.itemsByPage = itemsByPage; - size = getSize(); createList(); } @@ -87,14 +85,21 @@ } public void addData(Employee newData) { - size = getSize(); + int listSize = employees.size(); + if (listSize < (itemsByPage)) { + employees.add(newData); + } + int size = getSize(); fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1); } public void removeData(Employee data) { - int interval = employees.indexOf(data) + (itemsByPage * currentPage); - proxy.delete(data.getWikittyId()); - fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + int index = employees.indexOf(data); + if (index != -1) { + employees.remove(index); + int interval = index + (itemsByPage * currentPage); + fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + } } public void reloadContent(int rowIndex) { @@ -106,7 +111,6 @@ public void reload() { createList(); - size = getSize(); 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-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -31,6 +31,7 @@ import org.chorem.data.bonzoms.Person; import org.nuiton.wikitty.Criteria; +import org.nuiton.wikitty.WikittyProxy; import org.nuiton.wikitty.search.Element; import org.nuiton.wikitty.search.Search; import org.zkoss.zk.ui.Component; @@ -51,7 +52,7 @@ */ public class PersonController extends GenericForwardComposer { - protected Model model = new Model(); + protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected PersonModel personModel = new PersonModel(20); 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-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -6,14 +6,22 @@ import org.chorem.data.bonzoms.AddressImpl; import org.chorem.data.bonzoms.Person; import org.chorem.data.bonzoms.PersonImpl; +import org.nuiton.wikitty.WikittyProxy; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; 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; +import org.zkoss.zul.Caption; import org.zkoss.zul.Listbox; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; import org.zkoss.zul.Window; +import org.zkoss.zul.api.Textbox; /** * @@ -21,13 +29,14 @@ */ public class PersonFormController extends GenericForwardComposer { - protected Model model = new Model(); + protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Person person = new PersonImpl(); - protected AddressesModel addressesModel = new AddressesModel(); + protected AddressModel addressModel = new AddressModel(); + protected Address selectedAddress = null; protected EmailsModel emailsModel = new EmailsModel(); protected PhonesModel phonesModel = new PhonesModel(); - List<String> removedAddresses = new ArrayList<String>(); + protected List<String> removedAddresses = new ArrayList<String>(); protected Listbox addressListbox; protected Listbox phoneListbox; @@ -62,7 +71,9 @@ protected void initDefaultPerson() { Address address = new AddressImpl(); - addressesModel.addData(address); + address.setName("New address"); + addressModel.addData(address); + selectedAddress = address; Phone phone = new Phone(); phonesModel.addData(phone); @@ -72,9 +83,11 @@ } protected void initPerson(String personId) { - person = model.retrievePersonById(personId); - List<Address> addresses = model.retrieveAddressesByIds(new ArrayList<String>(person.getAddress())); - addressesModel.setAddresses(addresses); + person = proxy.restore(Person.class, personId); + List<Address> addresses = proxy.restore(Address.class, new ArrayList<String>(person.getAddress())); + addresses = new ArrayList<Address>(addresses); + selectedAddress = addresses.get(0); + addressModel.setAddresses(addresses); emailsModel.setEmails(person.getEmails()); phonesModel.setPhones(person.getPhones()); } @@ -86,9 +99,9 @@ } protected void saveAddresses() { - List<Address> addresses = model.createAddresses(addressesModel.getAddresses()); + List<Address> addresses = proxy.store(addressModel.getAddresses()); if (!removedAddresses.isEmpty()) { - model.deleteAddressesByIds(removedAddresses); + proxy.delete(removedAddresses); removeAddresses(); } for (Address address : addresses) { @@ -105,37 +118,92 @@ String phones = phonesModel.getPhonesAsString(); person.setPhones(phones); } - /* + * Renderers + */ + public ListitemRenderer getAddressRenderer() { + return new ListitemRenderer() { + + @Override + public void render(Listitem item, Object data) throws Exception { + item.setValue(data); + final Address address = (Address) data; + Listcell name = new Listcell(address.getName()); + item.appendChild(name); + item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + selectedAddress = address; + setAddressBox(); + } + }); + } + }; + } + + protected void setAddressBox() { + Caption caption = (Caption) self.getFellow("captionName"); + caption.setLabel(selectedAddress.getName()); + Textbox box = (Textbox) self.getFellow("name"); + box.setValue(selectedAddress.getName()); + box = (Textbox) self.getFellow("address1"); + box.setValue(selectedAddress.getAddress1()); + box = (Textbox) self.getFellow("address2"); + box.setValue(selectedAddress.getAddress2()); + box = (Textbox) self.getFellow("zipcode"); + box.setValue(selectedAddress.getZipCode()); + box = (Textbox) self.getFellow("city"); + box.setValue(selectedAddress.getCity()); + box = (Textbox) self.getFellow("country"); + box.setValue(selectedAddress.getCountry()); + } + + /* * Events */ public void onClose() { Events.postEvent(EVENT_ON_CLOSE_PERSON, this.self, null); } + public void onClick$saveAddress() { + int rowIndex = addressModel.indexOf(selectedAddress); + Caption caption = (Caption) self.getFellow("captionName"); + caption.setLabel(selectedAddress.getName()); + addressModel.reloadContent(rowIndex); + } + public void onClick$savePerson() { saveAddresses(); savePhones(); saveEmails(); - person = model.createPerson(person); + person = proxy.store(person); Events.postEvent(EVENT_ON_SAVE_PERSON, this.self, person); self.detach(); } public void onClick$addAddress() { Address address = new AddressImpl(); - addressesModel.addData(address); + address.setName("New address"); + selectedAddress = address; + setAddressBox(); + addressModel.addData(address); } public void onClick$deleteAddress() { - int size = addressListbox.getItemCount(); - if (size > 1) { - Address address = (Address) addressesModel.getElementAt(size -1); - addressesModel.removeData(address); - String id = address.getWikittyId(); - if (!id.isEmpty()) { - removedAddresses.add(id); - } + Listitem item = addressListbox.getSelectedItem(); + if (item != null) { + Address address = (Address) item.getValue(); + if (address != null) { + addressModel.removeData(address); + String id = address.getWikittyId(); + if (id != null && !id.isEmpty()) { + removedAddresses.add(id); + } + selectedAddress = (Address) addressModel.getElementAt(0); + setAddressBox(); + addressListbox.setSelectedIndex(0); + } } } @@ -172,8 +240,8 @@ return person; } - public AddressesModel getAddressesModel() { - return addressesModel; + public AddressModel getAddressModel() { + return addressModel; } public PhonesModel getPhonesModel() { @@ -183,4 +251,8 @@ public EmailsModel getEmailsModel() { return emailsModel; } + + public Address getSelectedAddress() { + return selectedAddress; + } } 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-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-08-05 12:51:10 UTC (rev 122) @@ -20,13 +20,11 @@ protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Criteria criteria = null; protected int itemsByPage = 1; - protected int size = 0; protected int currentPage = 0; protected List<Person> persons = new ArrayList<Person>(); public PersonModel(int itemsByPage) { this.itemsByPage = itemsByPage; - size = getSize(); createList(); } @@ -63,14 +61,21 @@ } public void addData(Person newData) { - size = getSize(); + int listSize = persons.size(); + if (listSize < (itemsByPage)) { + persons.add(newData); + } + int size = getSize(); fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1); } public void removeData(Person data) { - int interval = persons.indexOf(data) + (itemsByPage * currentPage); - proxy.delete(data.getWikittyId()); - fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + int index = persons.indexOf(data); + if (index != -1) { + persons.remove(index); + int interval = index + (itemsByPage * currentPage); + fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + } } public void reloadContent(int rowIndex) { @@ -82,7 +87,6 @@ public void reload() { createList(); - size = getSize(); fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -5,6 +5,7 @@ import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.Service; import org.nuiton.wikitty.Criteria; +import org.nuiton.wikitty.WikittyProxy; import org.nuiton.wikitty.search.Element; import org.nuiton.wikitty.search.Search; import org.zkoss.zk.ui.Component; @@ -26,7 +27,7 @@ */ public class ServiceController extends GenericForwardComposer { - protected Model model = new Model(); + protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected ServiceModel serviceModel = new ServiceModel(20); @@ -53,7 +54,7 @@ } protected Listcell addressesRenderer(Service service) { - Address address = model.retrieveAddressById(service.getAddress()); + Address address = proxy.restore(Address.class, service.getAddress()); String render = address.getName() + " (" + address.getCountry() + ") :\n"; render += address.getAddress1() + " " + address.getAddress2() + "\n"; render += address.getZipCode() + " " + address.getCity() + "\n"; Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java 2010-08-05 12:51:10 UTC (rev 122) @@ -4,6 +4,7 @@ import org.chorem.data.bonzoms.AddressImpl; import org.chorem.data.bonzoms.Service; import org.chorem.data.bonzoms.ServiceImpl; +import org.nuiton.wikitty.WikittyProxy; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Events; @@ -18,7 +19,7 @@ */ public class ServiceFormController extends GenericForwardComposer { - protected Model model = new Model(); + protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Service service = new ServiceImpl(); protected Address address = new AddressImpl(); @@ -45,8 +46,8 @@ } protected void initService(String id) { - service = model.retrieveServiceById(id); - address = model.retrieveAddressById(service.getAddress()); + service = proxy.restore(Service.class, id); + address = proxy.restore(Address.class, service.getAddress()); } /* @@ -58,10 +59,10 @@ } public void onClick$saveService() { - address = model.createAddress(address); + address = proxy.store(address); service.setAddress(address.getWikittyId()); - service = model.updateService(service); + service = proxy.store(service); Events.postEvent(EVENT_ON_SAVE_SERVICE, this.self, service); System.out.println(this.self.getParent()); Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java 2010-08-05 12:51:10 UTC (rev 122) @@ -20,13 +20,11 @@ protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Criteria criteria = null; protected int itemsByPage = 1; - protected int size = 0; protected int currentPage = 0; protected List<Service> services = new ArrayList<Service>(); public ServiceModel(int itemsByPage) { this.itemsByPage = itemsByPage; - size = getSize(); createList(); } @@ -63,14 +61,21 @@ } public void addData(Service newData) { - size = getSize(); + int listSize = services.size(); + if (listSize < (itemsByPage)) { + services.add(newData); + } + int size = getSize(); fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1); } public void removeData(Service data) { - int interval = services.indexOf(data) + (itemsByPage * currentPage); - proxy.delete(data.getWikittyId()); - fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + int index = services.indexOf(data); + if (index != -1) { + services.remove(index); + int interval = index + (itemsByPage * currentPage); + fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + } } public void reloadContent(int rowIndex) { @@ -82,7 +87,6 @@ public void reload() { createList(); - size = getSize(); fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java 2010-08-05 12:51:10 UTC (rev 122) @@ -21,13 +21,11 @@ protected WikittyProxy proxy = BonzomsProxy.getInstance(); protected Criteria criteria = null; protected int itemsByPage = 1; - protected int size = 0; protected int currentPage = 0; protected List<Wikitty> wikitties = new ArrayList<Wikitty>(); public WikittyModel(int itemsByPage) { this.itemsByPage = itemsByPage; - size = getSize(); createList(); } @@ -66,14 +64,21 @@ } public void addData(Wikitty newData) { - size = getSize(); + int listSize = wikitties.size(); + if (listSize < (itemsByPage)) { + wikitties.add(newData); + } + int size = getSize(); fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1); } public void removeData(Wikitty data) { - int interval = wikitties.indexOf(data) + (itemsByPage * currentPage); - proxy.delete(data.getId()); - fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + int index = wikitties.indexOf(data); + if (index != -1) { + wikitties.remove(index); + int interval = index + (itemsByPage * currentPage); + fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + } } public void reloadContent(int rowIndex) { @@ -87,7 +92,6 @@ public void reload() { createList(); - size = getSize(); fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-05 12:51:10 UTC (rev 122) @@ -24,7 +24,9 @@ <bandpopup> <vbox> <listbox width="200px" id="serviceListbox" model="@{composer.serviceModel}" itemRenderer="@{composer.serviceRenderer}"> - + <listhead> + <listheader label="Name"/> + </listhead> </listbox> </vbox> </bandpopup> Modified: trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-08-04 16:27:57 UTC (rev 121) +++ trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-08-05 12:51:10 UTC (rev 122) @@ -10,45 +10,51 @@ <textbox value="@{composer.person.lastName, save-when='savePerson.onClick'}" /> <label value="Birthday" /> <datebox format="yyyy/MM/dd" value="@{composer.person.birthDay, save-when='savePerson.onClick'}" /> - </vbox> - <space /> + <separator /> - <vbox> - <listbox id="addressListbox" model="@{composer.addressesModel}" width="200px"> - <listitem self="@{each='address'}"> - <listcell> - <groupbox> - <caption label="@{address.name}" /> - <vbox> + <listbox id="addressListbox" mold="paging" rows="5" model="@{composer.addressModel}" width="170px" itemRenderer="@{composer.addressRenderer}"> + <listhead> + <listheader label="Address name" /> + </listhead> + </listbox> - <label value="Name" /> - <textbox value="@{address.name, save-when='savePerson.onClick'}" /> + <hbox> + <button label="Add" id="addAddress" /> + <button label="Delete" id="deleteAddress" /> + </hbox> - <label value="Adress1" /> - <textbox value="@{address.address1, save-when='savePerson.onClick'}" /> + </vbox> - <label value="Adress2" /> - <textbox value="@{address.address2, save-when='savePerson.onClick'}" /> + <space /> - <label value="Zip code" /> - <textbox value="@{address.zipCode, save-when='savePerson.onClick'}" /> - - <label value="City" /> - <textbox value="@{address.city, save-when='savePerson.onClick'}" /> - - <label value="Country" /> - <textbox value="@{address.country, save-when='savePerson.onClick'}" /> - - </vbox> - </groupbox> - </listcell> - </listitem> - </listbox> - <hbox> - <button label="Add address " id="addAddress" /> - <button label="Delete address" id="deleteAddress" /> - </hbox> + <vbox> + <groupbox> + <caption id="captionName" label="@{composer.selectedAddress.name}" /> + <vbox> + + <label value="Name" /> + <textbox id="name" value="@{composer.selectedAddress.name, save-when='saveAddress.onClick'}" /> + + <label value="Adress1" /> + <textbox id="address1" value="@{composer.selectedAddress.address1, save-when='saveAddress.onClick'}" /> + + <label value="Adress2" /> + <textbox id="address2" value="@{composer.selectedAddress.address2, save-when='saveAddress.onClick'}" /> + + <label value="Zip code" /> + <textbox id="zipcode" value="@{composer.selectedAddress.zipCode, save-when='saveAddress.onClick'}" /> + + <label value="City" /> + <textbox id="city" value="@{composer.selectedAddress.city, save-when='saveAddress.onClick'}" /> + + <label value="Country" /> + <textbox id="country" value="@{composer.selectedAddress.country, save-when='saveAddress.onClick'}" /> + + <button id="saveAddress" label="Save" /> + + </vbox> + </groupbox> </vbox> </hbox>
participants (1)
-
bbrossaudï¼ users.chorem.org