r105 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
Author: bbrossaud Date: 2010-07-15 14:16:36 +0200 (Thu, 15 Jul 2010) New Revision: 105 Url: http://chorem.org/repositories/revision/bonzoms/105 Log: modified code for the new model version Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyData.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Email.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeData.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonData.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Phone.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceData.java 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/EmailsModel.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/Model.java trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PhonesModel.java trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.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-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-15 12:16:36 UTC (rev 105) @@ -9,15 +9,16 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; +import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.Company; -import org.chorem.data.bonzoms.Phone; +import org.nuiton.util.StringUtil; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.SuspendNotAllowedException; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Button; +import org.zkoss.zul.Label; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; @@ -30,14 +31,26 @@ public class CompanyController extends GenericForwardComposer { protected Model _model = new Model(); - protected CompanyModel _companyModel = new CompanyModel(); + protected CompanyModel _companyDTOModel = new CompanyModel(); public CompanyController() { List<Company> companies = _model.retrieveAllCompanies(); - _companyModel.setCompanies(companies); + List<CompanyData> dto = createCompaniesDTO(companies); + _companyDTOModel.setCompanies(dto); } - public void createWindowCompanyForm(Company company) throws SuspendNotAllowedException, InterruptedException { + public List<CompanyData> createCompaniesDTO(List<Company> companies) { + List<CompanyData> dtos = new ArrayList<CompanyData>(); + for (Company company: companies) { + List<Address> addresses = _model.retrieveAddressesByIds(new ArrayList<String>(company.getAddress())); + CompanyData dto = new CompanyData(company, addresses); + dtos.add(dto); + } + return dtos; + } + + + public void createWindowCompanyForm(CompanyData company) throws SuspendNotAllowedException, InterruptedException { Map<String, Object> map = new HashMap<String, Object>(); if (company != null) { map.put("company", company); @@ -59,24 +72,70 @@ /* * Renderers */ + + protected Listcell phonesFaxRenderer(CompanyData company) { + String render = "Fax: " + company.getCompany().getFax() + "\n"; + String str = company.getCompany().getPhones(); + String[] phones = StringUtil.split(str, ";"); + for (String phone : phones) { + String[] values = StringUtil.split(phone, ":"); + if (!values[1].isEmpty()) { + render += values[1] + " (" + values[0] + ")\n"; + } + } + Label label = new Label(render); + label.setMultiline(true); + Listcell listcell = new Listcell(); + listcell.appendChild(label); + return listcell; + } + + protected Listcell emailsRenderer(CompanyData company) { + String render = ""; + String str = company.getCompany().getEmails(); + String[] emails = StringUtil.split(str, ";"); + for (String email : emails) { + String[] values = StringUtil.split(email, ":"); + if (!values[1].isEmpty()) { + render += values[1] + " (" + values[0] + ")\n"; + } + } + Label label = new Label(render); + label.setMultiline(true); + Listcell listcell = new Listcell(); + listcell.appendChild(label); + return listcell; + } + + protected Listcell addressesRenderer(CompanyData company) { + List<Address> addresses = company.getAddresses(); + String render = ""; + for (Address address : addresses) { + render += address.getName() + " (" + address.getCountry() + ") :\n"; + render += address.getAddress1() + " " + address.getAddress2() + "\n"; + render += address.getZipCode() + " " + address.getCity() + "\n"; + } + Label label = new Label(render); + label.setMultiline(true); + Listcell listcell = new Listcell(); + listcell.appendChild(label); + return listcell; + } + public ListitemRenderer getCompanyRenderer() { return new ListitemRenderer() { @Override public void render(Listitem item, Object data) throws Exception { item.setValue(data); - final Company company = (Company) data; + final CompanyData companyDTO = (CompanyData) data; - Listcell nameCell = new Listcell(company.getName()); - Listcell webSiteCell = new Listcell(company.getWebSite()); - String phoneFax = "Fax: " + company.getFax() + "\n"; - List<Phone> phones = _model.retrievePhonesByPhoneIds(new ArrayList<String>(company.getPhone())); - for (Phone phone : phones) { - phoneFax += "tel: " + phone.getNumber() + "(" + phone.getName() + ")\n"; - } - Listcell phoneFaxCell = new Listcell(phoneFax); - Listcell addressCell = new Listcell("address"); - Listcell typeCell = new Listcell(company.getType()); + Listcell nameCell = new Listcell(companyDTO.getCompany().getName()); + Listcell webSiteCell = new Listcell(companyDTO.getCompany().getWebSite()); + Listcell phoneFaxCell = phonesFaxRenderer(companyDTO); + Listcell emailCell = emailsRenderer(companyDTO); + Listcell addressCell = addressesRenderer(companyDTO); + Listcell typeCell = new Listcell(companyDTO.getCompany().getType()); Listcell detailsCell = new Listcell(); Button details = new Button("details"); detailsCell.appendChild(details); @@ -84,13 +143,14 @@ @Override public void onEvent(Event event) throws Exception { - createWindowCompanyForm(company); + createWindowCompanyForm(companyDTO); } }); item.appendChild(nameCell); item.appendChild(webSiteCell); item.appendChild(phoneFaxCell); + item.appendChild(emailCell); item.appendChild(addressCell); item.appendChild(typeCell); item.appendChild(detailsCell); @@ -105,7 +165,7 @@ /* * Getters */ - public CompanyModel getCompanyModel() { - return _companyModel; + public CompanyModel getCompanyDTOModel() { + return _companyDTOModel; } } Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyData.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyData.java (rev 0) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyData.java 2010-07-15 12:16:36 UTC (rev 105) @@ -0,0 +1,74 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.chorem.bonzoms.ui; + +import java.util.ArrayList; +import java.util.List; +import org.chorem.data.bonzoms.Address; +import org.chorem.data.bonzoms.Company; +import org.chorem.data.bonzoms.CompanyImpl; + +/** + * + * @author sherkhan + */ +public class CompanyData { + + protected Company company = new CompanyImpl(); + + protected AddressesModel addressesModel = new AddressesModel(); + protected List<String> removedAddresses = new ArrayList<String>(); + + public CompanyData() {} + + public CompanyData(Company obj, List<Address> addr) { + setCompany(obj); + setAddresses(addr); + } + + /* + * Getters + */ + public Company getCompany() { + return company; + } + + public List<Address> getAddresses() { + return addressesModel.getAddresses(); + } + + public List<String> getRemovedAddresses() { + return removedAddresses; + } + + public AddressesModel getAddressesModel() { + return addressesModel; + } + + /* + * Setters + */ + public void setCompany(Company obj) { + if (obj != null) { + company = obj; + } + } + + public void setAddresses(List<Address> list) { + if (list != null) { + addressesModel.setAddresses(list); + } + } + + public void setRemovedAddresses(List<String> list) { + if (list != null) { + removedAddresses = list; + } + } + + public void setAddressesModel(AddressesModel addr) { + addressesModel = addr; + } +} 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-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-07-15 12:16:36 UTC (rev 105) @@ -10,11 +10,7 @@ import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.AddressImpl; import org.chorem.data.bonzoms.Company; -import org.chorem.data.bonzoms.CompanyImpl; -import org.chorem.data.bonzoms.Email; -import org.chorem.data.bonzoms.EmailImpl; -import org.chorem.data.bonzoms.Phone; -import org.chorem.data.bonzoms.PhoneImpl; +import org.nuiton.util.StringUtil; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; @@ -31,11 +27,10 @@ public class CompanyFormController extends GenericForwardComposer { protected Model _model = new Model(); - protected AddressesModel _addressesModel = new AddressesModel(); - protected PhonesModel _phonesModel = new PhonesModel(); - protected EmailsModel _emailsModel = new EmailsModel(); + protected CompanyData _companyData = new CompanyData(); - protected Company _company = new CompanyImpl(); + protected PhonesModel phonesModel = new PhonesModel(); + protected EmailsModel emailsModel = new EmailsModel(); protected Listbox addressListbox; protected Listbox phoneListbox; @@ -44,14 +39,14 @@ @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); - Company company = (Company) arg.get("company"); + CompanyData company = (CompanyData) arg.get("company"); init(company); DataBinder binder = new AnnotateDataBinder(comp); binder.bindBean("composer", this); binder.loadAll(); } - protected void init(Company company) { + protected void init(CompanyData company) { if (company == null) { initDefaultCompany(); } else { @@ -61,13 +56,13 @@ protected void initDefaultCompany() { Address address = new AddressImpl(); - _addressesModel.addData(address); + _companyData.getAddressesModel().addData(address); - Phone phone = new PhoneImpl(); - _phonesModel.addData(phone); + Phone phone = new Phone(); + phonesModel.addData(phone); - Email email = new EmailImpl(); - _emailsModel.addData(email); + Email email = new Email(); + emailsModel.addData(email); Button add = new Button("Add"); add.addEventListener("onClick", new EventListener() { @@ -80,17 +75,10 @@ self.appendChild(add); } - protected void initCompany(Company company) { - _company = company; - List<Address> addresses = _model.retrieveAddressesByAddressIds(new ArrayList<String>(company.getAddress())); - _addressesModel.setAddresses(addresses); - - List<Phone> phones = _model.retrievePhonesByPhoneIds(new ArrayList<String>(company.getPhone())); - _phonesModel.setPhones(phones); - - List<Email> emails = _model.retrieveEmailsByEmailIds(new ArrayList<String>(company.getEmail())); - _emailsModel.setEmails(emails); - + protected void initCompany(CompanyData company) { + _companyData = company; + initPhonesModel(); + initEmailsModel(); Button update = new Button("Update"); update.addEventListener("onClick", new EventListener() { @@ -102,30 +90,139 @@ self.appendChild(update); } + public void initPhonesModel() { + String str = _companyData.getCompany().getPhones(); + String[] phones = StringUtil.split(str, ";"); + List<Phone> phoneList = new ArrayList<Phone>(); + for (String phone : phones) { + String[] values = StringUtil.split(phone, ":"); + Phone newPhone = new Phone(values[0], values[1]); + phoneList.add(newPhone); + } + phonesModel.setPhones(phoneList); + } + + public void initEmailsModel() { + String str = _companyData.getCompany().getEmails(); + String[] emails = StringUtil.split(str, ";"); + List<Email> emailList = new ArrayList<Email>(); + for (String email : emails) { + String[] values = StringUtil.split(email, ":"); + Email newEmail = new Email(values[0], values[1]); + emailList.add(newEmail); + } + emailsModel.setEmails(emailList); + } + + protected void addAddresses(boolean update) { + List<Address> addresses = _model.createAddresses(_companyData.getAddressesModel().getAddresses()); + if (update == true) { + _model.deleteAddressesByIds(_companyData.getRemovedAddresses()); + } + _companyData.getCompany().clearAddress(); + for (Address address : addresses) { + _companyData.getCompany().addAddress(address.getWikittyId()); + } + } + + protected void addEmails() { + String emails = ""; + List<Email> emailList = emailsModel.getEmails(); + for (Email email : emailList) { + emails += email.getName() + ":" + email.getEmail() + ";"; + } + _companyData.getCompany().setEmails(emails); + } + + protected void addPhones() { + String phones = ""; + List<Phone> phoneList = phonesModel.getPhones(); + for (Phone phone : phoneList) { + phones += phone.getName() + ":" + phone.getPhone() + ";"; + } + _companyData.getCompany().setPhones(phones); + } + protected void addCompany() { - + addPhones(); + addEmails(); + addAddresses(false); + + _model.createCompany(_companyData.getCompany()); + this.self.detach(); } protected void updateCompany() { + addPhones(); + addEmails(); + addAddresses(true); + _model.updateCompany(_companyData.getCompany()); + this.self.detach(); } /* + * Events + */ + public void onClick$addAddress() { + Address address = new AddressImpl(); + _companyData.getAddressesModel().addData(address); + } + + public void onClick$deleteAddress() { + int size = addressListbox.getItemCount(); + if (size > 1) { + Address address = (Address) _companyData.getAddressesModel().getElementAt(size -1); + _companyData.getAddressesModel().removeData(address); + String id = address.getWikittyId(); + if (!id.isEmpty()) { + _companyData.getRemovedAddresses().add(id); + } + } + } + + public void onClick$addPhone() { + Phone phone = new Phone(); + phonesModel.addData(phone); + } + + public void onClick$deletePhone() { + int size = phoneListbox.getItemCount(); + if (size > 1) { + Phone phone = (Phone) phonesModel.getElementAt(size -1); + phonesModel.removeData(phone); + } + } + + public void onClick$addEmail() { + Email email = new Email(); + emailsModel.addData(email); + } + + public void onClick$deleteEmail() { + int size = emailListbox.getItemCount(); + if (size > 1) { + Email email = (Email) emailsModel.getElementAt(size -1); + emailsModel.removeData(email); + } + } + + /* * Getters */ public AddressesModel getAddressesModel() { - return _addressesModel; + return _companyData.getAddressesModel(); } public Company getCompany() { - return _company; + return _companyData.getCompany(); } public PhonesModel getPhonesModel() { - return _phonesModel; + return phonesModel; } public EmailsModel getEmailsModel() { - return _emailsModel; + return emailsModel; } } 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-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-07-15 12:16:36 UTC (rev 105) @@ -7,7 +7,6 @@ import java.util.ArrayList; import java.util.List; -import org.chorem.data.bonzoms.Company; import org.zkoss.zkplus.databind.BindingListModel; import org.zkoss.zul.AbstractListModel; import org.zkoss.zul.event.ListDataEvent; @@ -17,7 +16,7 @@ * @author sherkhan */ public class CompanyModel extends AbstractListModel implements BindingListModel { - protected List<Company> _companies = new ArrayList<Company>(); + protected List<CompanyData> _companies = new ArrayList<CompanyData>(); @Override public Object getElementAt(int index) { @@ -34,17 +33,17 @@ return _companies.indexOf(obj); } - public void setCompanies(List<Company> companies) { + public void setCompanies(List<CompanyData> companies) { _companies = companies; fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } - public void addData(Company newData) { + public void addData(CompanyData newData) { _companies.add(newData); fireEvent(ListDataEvent.INTERVAL_ADDED, _companies.size() - 1, _companies.size() - 1); } - public void removeData(Company data) { + public void removeData(CompanyData data) { int interval = _companies.indexOf(data); _companies.remove(data); fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java (rev 0) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java 2010-07-15 12:16:36 UTC (rev 105) @@ -0,0 +1,60 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.chorem.bonzoms.ui; + +import java.util.ArrayList; +import java.util.List; +import org.chorem.data.bonzoms.EmploymentContract; +import org.zkoss.zkplus.databind.BindingListModel; +import org.zkoss.zul.AbstractListModel; +import org.zkoss.zul.event.ListDataEvent; + +/** + * + * @author sherkhan + */ +public class ContractsModel extends AbstractListModel implements BindingListModel { + + List<EmploymentContract> _contracts = new ArrayList<EmploymentContract>(); + + @Override + public Object getElementAt(int index) { + return _contracts.get(index); + } + + @Override + public int getSize() { + return _contracts.size(); + } + + @Override + public int indexOf(Object obj) { + return _contracts.indexOf(obj); + } + + public void setContracts(List<EmploymentContract> contracts) { + _contracts = contracts; + fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); + } + + public void addData(EmploymentContract newData) { + _contracts.add(newData); + fireEvent(ListDataEvent.INTERVAL_ADDED, _contracts.size() - 1, _contracts.size() - 1); + } + + public void removeData(EmploymentContract data) { + int interval = _contracts.indexOf(data); + _contracts.remove(data); + fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); + } + + public void reload() { + fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); + } + + public List<EmploymentContract> getContracts() { + return _contracts; + } +} Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Email.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Email.java (rev 0) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Email.java 2010-07-15 12:16:36 UTC (rev 105) @@ -0,0 +1,44 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.chorem.bonzoms.ui; + +/** + * + * @author sherkhan + */ +public class Email { + + protected String email = ""; + protected String name = ""; + + public Email() {} + + public Email(String name, String email) { + this.email = email; + this.name = name; + } + + /* + * Getters + */ + public String getEmail() { + return email; + } + + public String getName() { + return name; + } + + /* + * Setters + */ + public void setEmail(String email) { + this.email = email; + } + + public void setName(String name) { + this.name = name; + } +} Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmailsModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmailsModel.java 2010-07-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmailsModel.java 2010-07-15 12:16:36 UTC (rev 105) @@ -7,7 +7,6 @@ import java.util.ArrayList; import java.util.List; -import org.chorem.data.bonzoms.Email; import org.zkoss.zkplus.databind.BindingListModel; import org.zkoss.zul.AbstractListModel; import org.zkoss.zul.event.ListDataEvent; 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-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-15 12:16:36 UTC (rev 105) @@ -4,10 +4,13 @@ */ package org.chorem.bonzoms.ui; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.Employee; +import org.chorem.data.bonzoms.Person; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.SuspendNotAllowedException; import org.zkoss.zk.ui.event.CreateEvent; @@ -33,13 +36,28 @@ public EmployeeController() { List<Employee> employees = _model.retrieveAllEmployees(); - _employeeModel.setEmployees(employees); + List<EmployeeData> datas = createEmployeeDataList(employees); + _employeeModel.setEmployees(datas); } - public void createWindowEmployeeForm(Employee employee) throws SuspendNotAllowedException, InterruptedException { + public List<EmployeeData> createEmployeeDataList(List<Employee> employees) { + List<EmployeeData> datas = new ArrayList<EmployeeData>(); + for (Employee employee : employees) { + Address address = _model.retrieveAddressById(employee.getAddress()); + Person person = _model.retrievePersonById(employee.getPerson()); + List<Address> addresses = _model.retrieveAddressesByIds(new ArrayList<String>(person.getAddress())); + EmployeeData data = new EmployeeData(employee, address); + data.getPersonData().setAddresses(addresses); + data.getPersonData().setPerson(person); + datas.add(data); + } + return datas; + } + + public void createWindowEmployeeForm(EmployeeData employeeData) throws SuspendNotAllowedException, InterruptedException { Map<String, Object> map = new HashMap<String, Object>(); - if (employee != null) { - map.put("employee", employee); + if (employeeData != null) { + map.put("employeeData", employeeData); } Window win = (Window) Executions.createComponents("employeeFormPage.zul", null, map); win.setPage(page); @@ -57,12 +75,12 @@ @Override public void render(Listitem item, Object data) throws Exception { item.setValue(data); - final Employee employee = (Employee) data; + final EmployeeData employeeData = (EmployeeData) data; - Listcell firstNameCell = new Listcell(employee.getFirstName()); - Listcell lastNameCell = new Listcell(employee.getLastName()); - Listcell emailCell = new Listcell(employee.getWorkingEmail()); - Listcell phoneCell = new Listcell(employee.getWorkingPhone()); + Listcell firstNameCell = new Listcell(employeeData.getPerson().getFirstName()); + Listcell lastNameCell = new Listcell(employeeData.getPerson().getLastName()); + Listcell emailCell = new Listcell(employeeData.getEmployee().getWorkingEmail()); + Listcell phoneCell = new Listcell(employeeData.getEmployee().getWorkingPhone()); Listcell detailsCell = new Listcell(); Button details = new Button("details"); detailsCell.appendChild(details); @@ -70,7 +88,7 @@ @Override public void onEvent(Event event) throws Exception { - createWindowEmployeeForm(employee); + createWindowEmployeeForm(employeeData); } }); Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeData.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeData.java (rev 0) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeData.java 2010-07-15 12:16:36 UTC (rev 105) @@ -0,0 +1,154 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.chorem.bonzoms.ui; + +import java.net.Socket; +import java.util.ArrayList; +import java.util.List; +import org.chorem.data.bonzoms.Address; +import org.chorem.data.bonzoms.AddressImpl; +import org.chorem.data.bonzoms.Employee; +import org.chorem.data.bonzoms.EmployeeImpl; +import org.chorem.data.bonzoms.EmploymentContract; +import org.chorem.data.bonzoms.Person; +import org.chorem.data.bonzoms.Service; + +/** + * + * @author sherkhan + */ +public class EmployeeData { + + protected Employee employee = new EmployeeImpl(); + protected Address address = new AddressImpl(); + + protected PersonData personData = new PersonData(); + protected ServiceData serviceData = new ServiceData(); + + protected ContractsModel contractsModel = new ContractsModel(); + protected List<String> removedContracts = new ArrayList<String>(); + + public EmployeeData() { + } + + public EmployeeData(Employee employee, Address address) { + this.employee = employee; + this.address = address; + } + + /* + * Setters + */ + public void setEmployee(Employee employee) { + this.employee = employee; + } + + public void setPersonData(PersonData personData) { + this.personData = personData; + } + + public void setAddress(Address address) { + this.address = address; + } + + public void setContractsModelList(List<EmploymentContract> contracts) { + contractsModel.setContracts(contracts); + } + + public void setPersonPhones(List<Phone> phones) { + personData.setPhones(phones); + } + + public void setPersonEmails(List<Email> emails) { + personData.setEmail(emails); + } + + public void setPerson(Person person) { + personData.setPerson(person); + } + + public void setPersonAddresses(List<Address> addresses) { + personData.setAddresses(addresses); + } + + public void setService(Service service) { + serviceData.setService(service); + } + + public void setServiceAddress(Address address) { + serviceData.setAddress(address); + } + + /* + * Getters + */ + public Employee getEmployee() { + return employee; + } + + public PersonData getPersonData() { + return personData; + } + + public Address getAddress() { + return address; + } + + public ContractsModel getContractsModel() { + return contractsModel; + } + + public List<EmploymentContract> getContractsModelList() { + return contractsModel.getContracts(); + } + + public List<String> getRemovedContracts() { + return removedContracts; + } + + public Person getPerson() { + return personData.getPerson(); + } + + public AddressesModel getPersonAddressesModel() { + return personData.getAddressesModel(); + } + + public List<Address> getPersonAddresses() { + return personData.getAddresses(); + } + + public PhonesModel getPersonPhonesModel() { + return personData.getPhonesModel(); + } + + public List<Phone> getPersonPhones() { + return personData.getPhones(); + } + + public EmailsModel getPersonEmailsModel() { + return personData.getEmailsModel(); + } + + public List<Email> getPersonEmails() { + return personData.getEmails(); + } + + public List<String> getPersonRemovedAddresses() { + return personData.getRemovedAddresses(); + } + + public ServiceData getServiceData() { + return serviceData; + } + + public Service getService() { + return serviceData.getService(); + } + + public Address getServiceAddress() { + return serviceData.getAddress(); + } +} 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-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-07-15 12:16:36 UTC (rev 105) @@ -8,12 +8,7 @@ import java.util.List; import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.AddressImpl; -import org.chorem.data.bonzoms.Email; -import org.chorem.data.bonzoms.EmailImpl; -import org.chorem.data.bonzoms.Employee; -import org.chorem.data.bonzoms.EmployeeImpl; -import org.chorem.data.bonzoms.Phone; -import org.chorem.data.bonzoms.PhoneImpl; +import org.nuiton.util.StringUtil; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; @@ -31,13 +26,8 @@ protected Model _model = new Model(); - protected AddressesModel _addressesModel = new AddressesModel(); - protected PhonesModel _phonesModel = new PhonesModel(); - protected EmailsModel _emailsModel = new EmailsModel(); + protected EmployeeData _employeeData = new EmployeeData(); - protected Employee _employee = new EmployeeImpl(); - protected Address _workingAddress = new AddressImpl(); - protected Listbox addressListbox; protected Listbox phoneListbox; protected Listbox emailListbox; @@ -45,30 +35,30 @@ @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); - Employee employee = (Employee) arg.get("employee"); - init(employee); + EmployeeData employeeData = (EmployeeData) arg.get("employeeData"); + init(employeeData); DataBinder binder = new AnnotateDataBinder(comp); binder.bindBean("composer", this); binder.loadAll(); } - protected void init(Employee employee) { - if (employee == null) { + protected void init(EmployeeData employeeData) { + if (employeeData == null) { initDefaultEmployee(); } else { - initEmployee(employee); + initEmployee(employeeData); } } protected void initDefaultEmployee() { Address address = new AddressImpl(); - _addressesModel.addData(address); + _employeeData.getPersonAddressesModel().addData(address); - Phone phone = new PhoneImpl(); - _phonesModel.addData(phone); + Phone phone = new Phone(); + _employeeData.getPersonPhonesModel().addData(phone); - Email email = new EmailImpl(); - _emailsModel.addData(email); + Email email = new Email(); + _employeeData.getPersonEmailsModel().addData(email); Button add = new Button("Add"); add.setId("addEmployee"); @@ -82,19 +72,47 @@ self.appendChild(add); } - protected void initEmployee(Employee employee) { - _employee = employee; - List<Address> addresses = _model.retrieveAddressesByAddressIds(new ArrayList<String>(employee.getAddress())); - _addressesModel.setAddresses(addresses); + protected void initPerson() { + List<Address> addresses = _model.retrieveAddressesByIds(new ArrayList<String>(_employeeData.getPerson().getAddress())); + _employeeData.setPersonAddresses(addresses); + initPersonPhonesModel(); + initPersonEmailsModel(); + } - List<Phone> phones = _model.retrievePhonesByPhoneIds(new ArrayList<String>(employee.getPhone())); - _phonesModel.setPhones(phones); + public void initPersonEmailsModel() { + String str = _employeeData.getPerson().getEmails(); + String[] emails = StringUtil.split(str, ";"); + List<Email> emailList = new ArrayList<Email>(); + for (String email : emails) { + String[] values = StringUtil.split(email, ":"); + Email newEmail = new Email(values[0], values[1]); + emailList.add(newEmail); + } + _employeeData.setPersonEmails(emailList); + } - List<Email> emails = _model.retrieveEmailsByEmailIds(new ArrayList<String>(employee.getEmail())); - _emailsModel.setEmails(emails); + public void initPersonPhonesModel() { + String str = _employeeData.getPerson().getPhones(); + String[] phones = StringUtil.split(str, ";"); + List<Phone> phoneList = new ArrayList<Phone>(); + for (String phone : phones) { + String[] values = StringUtil.split(phone, ":"); + Phone newPhone = new Phone(values[0], values[1]); + phoneList.add(newPhone); + } + _employeeData.setPersonPhones(phoneList); + } - _workingAddress = _model.retrieveAddressByAddressId(employee.getWorkingAddress()); + protected void initService() { + + } + protected void initEmployee(EmployeeData employee) { + _employeeData = employee; + + Address workingAddress = _model.retrieveAddressById(employee.getEmployee().getAddress()); + _employeeData.setAddress(workingAddress); + Button update = new Button("Update"); update.setId("updateEmployee"); update.addEventListener("onClick", new EventListener() { @@ -107,88 +125,33 @@ self.appendChild(update); } - protected void deletePersonAddresses(List<Address> addresses) { - List<String> addressesId = new ArrayList<String>(_employee.getAddress()); - List<String> remove = new ArrayList<String>(); - for (String id : addressesId) { - boolean delete = true; - for (Address address : addresses) { - if (address.getWikittyId().equals(id)) { - delete = false; - } - } - if (delete == true) { - _employee.removeAddress(id); - remove.add(id); - } - } - _model.deleteAddressesByIds(remove); - } - - protected void deletePersonPhones(List<Phone> phones) { - List<String> phonesId = new ArrayList<String>(_employee.getPhone()); - List<String> remove = new ArrayList<String>(); - for (String id : phonesId) { - boolean delete = true; - for (Phone phone : phones) { - if (phone.getWikittyId().equals(id)) { - delete = false; - } - } - if (delete == true) { - _employee.removePhone(id); - remove.add(id); - } - } - _model.deletePhonesByIds(remove); - } - - protected void deletePersonEmails(List<Email> emails) { - List<String> emailsId = new ArrayList<String>(_employee.getEmail()); - List<String> remove = new ArrayList<String>(); - for (String id : emailsId) { - boolean delete = true; - for (Email email : emails) { - if (email.getWikittyId().equals(id)) { - delete = false; - } - } - if (delete == true) { - _employee.removeEmail(id); - remove.add(id); - } - } - _model.deleteEmailsByIds(remove); - } - - protected void addAddresses(boolean update) { - List<Address> addresses = _model.createPersonAddresses(_addressesModel.getAddresses()); + protected void addPersonAddresses(boolean update) { + List<Address> addresses = _model.createAddresses(_employeeData.getPersonAddresses()); if (update == true) { - deletePersonAddresses(addresses); + _model.deleteAddressesByIds(_employeeData.getPersonRemovedAddresses()); } + _employeeData.getPerson().clearAddress(); for (Address address : addresses) { - _employee.addAddress(address.getWikittyId()); + _employeeData.getPerson().addAddress(address.getWikittyId()); } } - protected void addEmails(boolean update) { - List<Email> emails = _model.createPersonEmails(_emailsModel.getEmails()); - if (update == true) { - deletePersonEmails(emails); + protected void addPersonEmails(boolean update) { + String emails = ""; + List<Email> emailList = _employeeData.getPersonEmails(); + for (Email email : emailList) { + emails += email.getName() + ":" + email.getEmail() + ";"; } - for (Email email : emails) { - _employee.addEmail(email.getWikittyId()); - } + _employeeData.getPerson().setEmails(emails); } - protected void addPhones(boolean update) { - List<Phone> phones = _model.createPersonPhones(_phonesModel.getPhones()); - if (update == true) { - deletePersonPhones(phones); + protected void addPersonPhones(boolean update) { + String phones = ""; + List<Phone> phoneList = _employeeData.getPersonPhones(); + for (Phone phone : phoneList) { + phones += phone.getName() + ":" + phone.getPhone() + ";"; } - for (Phone phone : phones) { - _employee.addPhone(phone.getWikittyId()); - } + _employeeData.getPerson().setPhones(phones); } /* @@ -196,63 +159,67 @@ */ public void onClick$addAddress() { Address address = new AddressImpl(); - _addressesModel.addData(address); + _employeeData.getPersonAddressesModel().addData(address); } public void onClick$deleteAddress() { int size = addressListbox.getItemCount(); if (size > 1) { - Address address = (Address) _addressesModel.getElementAt(size -1); - _addressesModel.removeData(address); + Address address = (Address) _employeeData.getPersonAddressesModel().getElementAt(size -1); + _employeeData.getPersonAddressesModel().removeData(address); + String id = address.getWikittyId(); + if (!id.isEmpty()) { + _employeeData.getPersonRemovedAddresses().add(id); + } } } public void onClick$addPhone() { - Phone phone = new PhoneImpl(); - _phonesModel.addData(phone); + Phone phone = new Phone(); + _employeeData.getPersonPhonesModel().addData(phone); } public void onClick$deletePhone() { int size = phoneListbox.getItemCount(); if (size > 1) { - Phone phone = (Phone) _phonesModel.getElementAt(size -1); - _phonesModel.removeData(phone); + Phone phone = (Phone) _employeeData.getPersonPhonesModel().getElementAt(size -1); + _employeeData.getPersonPhonesModel().removeData(phone); } } public void onClick$addEmail() { - Email email = new EmailImpl(); - _emailsModel.addData(email); + Email email = new Email(); + _employeeData.getPersonEmailsModel().addData(email); } public void onClick$deleteEmail() { int size = emailListbox.getItemCount(); if (size > 1) { - Email email = (Email) _emailsModel.getElementAt(size -1); - _emailsModel.removeData(email); + Email email = (Email) _employeeData.getPersonEmailsModel().getElementAt(size -1); + _employeeData.getPersonEmailsModel().removeData(email); } } public void onClick$updateEmployee() { - addAddresses(true); - addPhones(true); - addEmails(true); + addPersonAddresses(true); + addPersonPhones(true); + addPersonEmails(true); - _model.updateAddress(_workingAddress); + _model.updateAddress(_employeeData.getAddress()); - _model.updateEmployee(_employee); + _model.updateEmployee(_employeeData.getEmployee()); this.self.detach(); } public void onClick$addEmployee() { - addAddresses(false); - addPhones(false); - addEmails(false); + addPersonAddresses(false); + addPersonPhones(false); + addPersonEmails(false); - Address workingAddress = _model.createAddress(_workingAddress); - _employee.setWorkingAddress(workingAddress.getWikittyId()); + Address workingAddress = _model.createAddress(_employeeData.getAddress()); + _employeeData.getEmployee().setAddress(workingAddress.getWikittyId()); - _model.createEmployee(_employee); + _model.createEmployee(_employeeData.getEmployee()); this.self.detach(); } @@ -262,23 +229,7 @@ /* * Getters */ - public AddressesModel getAddressesModel() { - return _addressesModel; + public EmployeeData getEmployeeData() { + return _employeeData; } - - public Address getWorkingAddress() { - return _workingAddress; - } - - public Employee getEmployee() { - return _employee; - } - - public PhonesModel getPhonesModel() { - return _phonesModel; - } - - public EmailsModel getEmailsModel() { - return _emailsModel; - } } 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-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-07-15 12:16:36 UTC (rev 105) @@ -7,7 +7,6 @@ import java.util.ArrayList; import java.util.List; -import org.chorem.data.bonzoms.Employee; import org.zkoss.zkplus.databind.BindingListModel; import org.zkoss.zul.AbstractListModel; import org.zkoss.zul.event.ListDataEvent; @@ -17,7 +16,7 @@ * @author sherkhan */ public class EmployeeModel extends AbstractListModel implements BindingListModel { - protected List<Employee> _employees = new ArrayList<Employee>(); + protected List<EmployeeData> _employees = new ArrayList<EmployeeData>(); @Override public Object getElementAt(int index) { @@ -34,17 +33,17 @@ return _employees.indexOf(obj); } - public void setEmployees(List<Employee> employees) { + public void setEmployees(List<EmployeeData> employees) { _employees = employees; fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1); } - public void addData(Employee newData) { + public void addData(EmployeeData newData) { _employees.add(newData); fireEvent(ListDataEvent.INTERVAL_ADDED, _employees.size() - 1, _employees.size() - 1); } - public void removeData(Employee data) { + public void removeData(EmployeeData data) { int interval = _employees.indexOf(data); _employees.remove(data); fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval); 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-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-15 12:16:36 UTC (rev 105) @@ -8,9 +8,8 @@ import java.util.List; import org.chorem.data.bonzoms.Address; import org.chorem.data.bonzoms.Company; -import org.chorem.data.bonzoms.Email; import org.chorem.data.bonzoms.Employee; -import org.chorem.data.bonzoms.Phone; +import org.chorem.data.bonzoms.Person; import org.nuiton.wikitty.Criteria; import org.nuiton.wikitty.WikittyExtension; import org.nuiton.wikitty.WikittyProxy; @@ -33,21 +32,11 @@ /* * Create */ - public List<Address> createPersonAddresses(List<Address> addresses) { + public List<Address> createAddresses(List<Address> addresses) { List<Address> wikitties = proxy.store(addresses); return wikitties; } - public List<Phone> createPersonPhones(List<Phone> phones) { - List<Phone> wikitties = proxy.store(phones); - return wikitties; - } - - public List<Email> createPersonEmails(List<Email> emails) { - List<Email> wikitties = proxy.store(emails); - return wikitties; - } - public void createEmployee(Employee employee) { proxy.store(employee); } @@ -56,6 +45,10 @@ return proxy.store(address); } + public void createCompany(Company company) { + proxy.store(company); + } + /* * Retrieve */ @@ -66,6 +59,10 @@ return employees; } + public Person retrievePersonById(String id) { + return proxy.restore(Person.class, id); + } + public List<Company> retrieveAllCompanies() { Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY).criteria(); List<Company> companies = proxy.findAllByCriteria(Company.class, criteria).getAll(); @@ -73,45 +70,15 @@ return companies; } - public WikittyExtension retrieveWikittyExtensionByExtensionName(String name) { - WikittyService service = proxy.getWikittyService(); - WikittyExtension wikittyExtension = service.restoreExtensionLastVersion(null, name); - return wikittyExtension; - } - - public List<WikittyExtension> retrieveWikittyExtensions() { - WikittyService service = proxy.getWikittyService(); - List<String> ids = service.getAllExtensionIds(null); - List<WikittyExtension> extensions = new ArrayList<WikittyExtension>(); - for (String id : ids) { - WikittyExtension wikittyExtension = service.restoreExtension(null, id); - wikittyExtension = service.restoreExtensionLastVersion(null, wikittyExtension.getName()); - if (extensions.contains(wikittyExtension) == false) { - extensions.add(wikittyExtension); - } - } - return extensions; - } - - public Address retrieveAddressByAddressId(String id) { + public Address retrieveAddressById(String id) { return proxy.restore(Address.class, id); } - public List<Address> retrieveAddressesByAddressIds(List<String> ids) { + public List<Address> retrieveAddressesByIds(List<String> ids) { List<Address> addresses = proxy.restore(Address.class, ids); return new ArrayList<Address>(addresses); } - public List<Phone> retrievePhonesByPhoneIds(List<String> ids) { - List<Phone> phones = proxy.restore(Phone.class, ids); - return new ArrayList<Phone>(phones); - } - - public List<Email> retrieveEmailsByEmailIds(List<String> ids) { - List<Email> emails = proxy.restore(Email.class, ids); - return new ArrayList<Email>(emails); - } - /* * Update */ @@ -128,6 +95,10 @@ return proxy.store(employee); } + public Company updateCompany(Company company) { + return proxy.store(company); + } + /* * Delete */ Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonData.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonData.java (rev 0) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonData.java 2010-07-15 12:16:36 UTC (rev 105) @@ -0,0 +1,105 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.chorem.bonzoms.ui; + +import java.util.ArrayList; +import java.util.List; +import org.chorem.data.bonzoms.Address; +import org.chorem.data.bonzoms.Person; +import org.chorem.data.bonzoms.PersonImpl; + +/** + * + * @author sherkhan + */ +public class PersonData { + + protected Person person = new PersonImpl(); + + protected PhonesModel phonesModel = new PhonesModel(); + protected EmailsModel emailsModel = new EmailsModel(); + protected AddressesModel addressesModel = new AddressesModel(); + + protected List<String> removedAddresses = new ArrayList<String>(); + + public PersonData() {} + + public PersonData(Person person, List<Address> addresses) { + setPerson(person); + setAddresses(addresses); + } + + /* + * Getters + */ + public Person getPerson() { + return person; + } + + public List<Address> getAddresses() { + return addressesModel.getAddresses(); + } + + public List<Phone> getPhones() { + return phonesModel.getPhones(); + } + + public List<Email> getEmails() { + return emailsModel.getEmails(); + } + + public EmailsModel getEmailsModel() { + return emailsModel; + } + + public PhonesModel getPhonesModel() { + return phonesModel; + } + + public List<String> getRemovedAddresses() { + return removedAddresses; + } + + public AddressesModel getAddressesModel() { + return addressesModel; + } + + /* + * Setters + */ + public void setPerson(Person obj) { + if (obj != null) { + person = obj; + } + } + + public void setAddresses(List<Address> list) { + if (list != null) { + addressesModel.setAddresses(list); + } + } + + public void setEmail(List<Email> emails) { + if (emails != null) { + emailsModel.setEmails(emails); + } + } + + public void setPhones(List<Phone> phones) { + if (phones != null) { + phonesModel.setPhones(phones); + } + } + + public void setRemovedAddresses(List<String> list) { + if (list != null) { + removedAddresses = list; + } + } + + public void setAddressesModel(AddressesModel addr) { + addressesModel = addr; + } +} Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Phone.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Phone.java (rev 0) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Phone.java 2010-07-15 12:16:36 UTC (rev 105) @@ -0,0 +1,43 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.chorem.bonzoms.ui; + +/** + * + * @author sherkhan + */ +public class Phone { + + protected String phone = ""; + protected String name = ""; + + public Phone() {} + + public Phone(String name, String phone) { + this.phone = phone; + this.name = name; + } + /* + * Getters + */ + public String getPhone() { + return phone; + } + + public String getName() { + return name; + } + + /* + * Setters + */ + public void setPhone(String phone) { + this.phone = phone; + } + + public void setName(String name) { + this.name = name; + } +} Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PhonesModel.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PhonesModel.java 2010-07-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PhonesModel.java 2010-07-15 12:16:36 UTC (rev 105) @@ -7,7 +7,6 @@ import java.util.ArrayList; import java.util.List; -import org.chorem.data.bonzoms.Phone; import org.zkoss.zkplus.databind.BindingListModel; import org.zkoss.zul.AbstractListModel; import org.zkoss.zul.event.ListDataEvent; Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceData.java =================================================================== --- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceData.java (rev 0) +++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceData.java 2010-07-15 12:16:36 UTC (rev 105) @@ -0,0 +1,43 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.chorem.bonzoms.ui; + +import org.chorem.data.bonzoms.Address; +import org.chorem.data.bonzoms.AddressImpl; +import org.chorem.data.bonzoms.Service; +import org.chorem.data.bonzoms.ServiceImpl; + +/** + * + * @author sherkhan + */ +public class ServiceData { + + protected Service service = new ServiceImpl(); + protected Address address = new AddressImpl(); + + /* + * Setters + */ + public void setService(Service service) { + this.service = service; + } + + public void setAddress(Address address) { + this.address = address; + } + + /* + * Getters + */ + public Service getService() { + return service; + } + + public Address getAddress() { + return address; + } +} Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-07-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-07-15 12:16:36 UTC (rev 105) @@ -26,36 +26,42 @@ <space /> - <listbox id="addressListbox" model="@{composer.addressesModel}" width="200px"> - <listitem self="@{each='address'}"> - <listcell> - <groupbox> - <caption label="@{address.name}" /> - <vbox> + <vbox> + <listbox id="addressListbox" model="@{composer.addressesModel}" width="200px"> + <listitem self="@{each='address'}"> + <listcell> + <groupbox> + <caption label="@{address.name}" /> + <vbox> - <label value="Name" /> - <textbox value="@{address.name, save-when='self.onChange'}" /> + <label value="Name" /> + <textbox value="@{address.name, save-when='self.onChange'}" /> - <label value="Adress1" /> - <textbox value="@{address.address1, save-when='self.onChange'}" /> + <label value="Adress1" /> + <textbox value="@{address.address1, save-when='self.onChange'}" /> - <label value="Adress2" /> - <textbox value="@{address.address2, save-when='self.onChange'}" /> + <label value="Adress2" /> + <textbox value="@{address.address2, save-when='self.onChange'}" /> - <label value="Zip code" /> - <textbox value="@{address.zipCode, save-when='self.onChange'}" /> + <label value="Zip code" /> + <textbox value="@{address.zipCode, save-when='self.onChange'}" /> - <label value="City" /> - <textbox value="@{address.city, save-when='self.onChange'}" /> + <label value="City" /> + <textbox value="@{address.city, save-when='self.onChange'}" /> - <label value="Country" /> - <textbox value="@{address.country, save-when='self.onChange'}" /> + <label value="Country" /> + <textbox value="@{address.country, save-when='self.onChange'}" /> - </vbox> - </groupbox> - </listcell> - </listitem> - </listbox> + </vbox> + </groupbox> + </listcell> + </listitem> + </listbox> + <hbox> + <button label="Add address " id="addAddress" /> + <button label="Delete address" id="deleteAddress" /> + </hbox> + </vbox> </hbox> <separator/> @@ -78,6 +84,11 @@ </listitem> </listbox> + <separator/> + + <button label="Add phone " id="addPhone" /> + <button label="Delete phone" id="deletePhone" /> + </groupbox> <separator/> @@ -88,7 +99,7 @@ <listbox id="emailListbox" model="@{composer.emailsModel}" width="310px"> <listhead sizable="true"> <listheader label="Name" /> - <listheader label="Mail" /> + <listheader label="Email" /> </listhead> <listitem self="@{each='mail'}"> <listcell> @@ -100,6 +111,11 @@ </listitem> </listbox> + <separator/> + + <button label="Add email " id="addEmail" /> + <button label="Delete email" id="deleteEmail" /> + </groupbox> </groupbox> Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-15 12:16:36 UTC (rev 105) @@ -10,6 +10,7 @@ <listheader label="Name" /> <listheader label="Web site" /> <listheader label="Phone/Fax" /> + <listheader label="Emails" /> <listheader label="Address" /> <listheader label="Type" /> <listheader label="details" /> Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul =================================================================== --- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-15 12:16:36 UTC (rev 105) @@ -124,7 +124,7 @@ <listbox id="emailListbox" model="@{composer.emailsModel}" width="310px"> <listhead sizable="true"> <listheader label="Name" /> - <listheader label="Mail" /> + <listheader label="Email" /> </listhead> <listitem self="@{each='mail'}"> <listcell> Modified: trunk/bonzoms-ui-zk/transaction.log =================================================================== --- trunk/bonzoms-ui-zk/transaction.log 2010-07-12 16:01:09 UTC (rev 104) +++ trunk/bonzoms-ui-zk/transaction.log 2010-07-15 12:16:36 UTC (rev 105) @@ -369,3 +369,24 @@ 2010-07-12 17:52:25,242 [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 54158 2010-07-12 17:52:25,244 [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: 54 158 2010-07-12 17:52:25,322 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 54158 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-12 18:09:40,507 [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 34887 +2010-07-12 18:09:40,509 [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 887 +2010-07-12 18:09:40,561 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 34887 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-12 18:17:48,659 [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 46902 +2010-07-12 18:17:48,661 [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: 46 902 +2010-07-12 18:17:48,723 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 46902 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-12 18:19:21,009 [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 36649 +2010-07-12 18:19:21,011 [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: 36 649 +2010-07-12 18:19:21,077 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 36649 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-13 10:19:07,321 [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 58929 +2010-07-13 10:19:07,349 [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 929 +2010-07-13 10:19:07,402 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 58929 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-13 10:24:12,176 [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 59986 +2010-07-13 10:24:12,178 [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 986 +2010-07-13 10:24:12,249 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 59986 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-13 10:29:40,656 [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 57212 +2010-07-13 10:29:40,659 [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: 57 212 +2010-07-13 10:29:40,739 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 57212 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService +2010-07-13 10:42:09,154 [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 52569 +2010-07-13 10:42:09,156 [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: 52 569 +2010-07-13 10:42:09,230 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 52569 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
participants (1)
-
bbrossaud@users.chorem.org