Bonzoms-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
July 2010
- 3 participants
- 28 discussions
r110 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 20 Jul '10
by bbrossaud@users.chorem.org 20 Jul '10
20 Jul '10
Author: bbrossaud
Date: 2010-07-20 15:26:47 +0200 (Tue, 20 Jul 2010)
New Revision: 110
Url: http://chorem.org/repositories/revision/bonzoms/110
Log:
addition search action
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
trunk/bonzoms-ui-zk/src/main/webapp/index.zul
trunk/bonzoms-ui-zk/transaction.log
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-20 11:55:57 UTC (rev 109)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-20 13:26:47 UTC (rev 110)
@@ -30,6 +30,7 @@
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.Company;
import org.nuiton.util.StringUtil;
+import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.SuspendNotAllowedException;
import org.zkoss.zk.ui.event.Event;
@@ -51,8 +52,16 @@
protected CompanyModel _companyDataModel = new CompanyModel();
- public CompanyController() {
- List<Company> companies = _model.retrieveAllCompanies();
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ String search = (String) arg.get("search");
+ List<Company> companies;
+ if (search != null && !search.isEmpty()) {
+ companies = _model.retrieveCompaniesBySearch(search);
+ } else {
+ companies = _model.retrieveAllCompanies();
+ }
createCompaniesData(companies);
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-20 11:55:57 UTC (rev 109)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-20 13:26:47 UTC (rev 110)
@@ -30,6 +30,7 @@
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.Person;
+import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.SuspendNotAllowedException;
import org.zkoss.zk.ui.event.CreateEvent;
@@ -53,14 +54,20 @@
protected EmployeeModel _employeeModel = new EmployeeModel();
protected Employee _selectedEmployee = null;
- public EmployeeController() {
- List<Employee> employees = _model.retrieveAllEmployees();
- List<EmployeeData> datas = createEmployeeDataList(employees);
- _employeeModel.setEmployees(datas);
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ String search = (String) arg.get("search");
+ List<Employee> employees;
+ if (search != null && !search.isEmpty()) {
+ employees = _model.retrieveEmployeesBySearch(search);
+ } else {
+ employees = _model.retrieveAllEmployees();
+ }
+ createEmployeeDataList(employees);
}
- public List<EmployeeData> createEmployeeDataList(List<Employee> employees) {
- List<EmployeeData> datas = new ArrayList<EmployeeData>();
+ public void createEmployeeDataList(List<Employee> employees) {
for (Employee employee : employees) {
Address address = _model.retrieveAddressById(employee.getAddress());
Person person = _model.retrievePersonById(employee.getPerson());
@@ -68,9 +75,8 @@
EmployeeData data = new EmployeeData(employee, address);
data.getPersonData().setAddresses(addresses);
data.getPersonData().setPerson(person);
- datas.add(data);
+ _employeeModel.addData(data);
}
- return datas;
}
public void createWindowEmployeeForm(final EmployeeData employeeData) throws SuspendNotAllowedException, InterruptedException {
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-20 11:55:57 UTC (rev 109)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-20 13:26:47 UTC (rev 110)
@@ -23,9 +23,12 @@
*/
package org.chorem.bonzoms.ui;
+import java.util.HashMap;
+import java.util.Map;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zul.Textbox;
import org.zkoss.zul.Vbox;
/**
@@ -35,56 +38,78 @@
public class MainController extends GenericForwardComposer {
protected Vbox content;
+ protected Textbox searchBox;
+ public final static String COMPANY_WINDOW_ID = "company";
+ public final static String EMPLOYEE_WINDOW_ID ="employee";
+ public final static String PERSON_WINDOW_ID = "person";
+
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
createEmployeesPage(null);
}
- public void createEmployeesPage(String search) {
- Component newContent = Executions.createComponents("employeePage.zul", null, null);
+ protected void createEmployeesPage(Map<String, Object> map) {
+ removeAllContentPage();
+ Component newContent = Executions.createComponents("employeePage.zul", null, map);
content.appendChild(newContent);
}
- public void createPersonsPage(String search) {
- Component newContent = Executions.createComponents("personPage.zul", null, null);
+ protected void createPersonsPage(Map<String, Object> map) {
+ removeAllContentPage();
+ Component newContent = Executions.createComponents("personPage.zul", null, map);
content.appendChild(newContent);
}
- public void createCompaniesPage(String search) {
- Component newContent = Executions.createComponents("companyPage.zul", null, null);
+ protected void createCompaniesPage(Map<String, Object> map) {
+ removeAllContentPage();
+ Component newContent = Executions.createComponents("companyPage.zul", null, map);
content.appendChild(newContent);
}
- public void removeAllContentPage() {
+ protected void removeAllContentPage() {
content.getLastChild().detach();
}
+ protected Map<String, Object> initMap() {
+ String search = searchBox.getValue();
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (search != null && !search.isEmpty()) {
+ map.put("search", searchBox.getValue());
+ }
+ return map;
+ }
+
/*
* Events
*/
- public void onOK$search() {
-
- removeAllContentPage();
+ public void onOK$searchBox() {
+ Component win = content.getLastChild();
+ String id = win.getId();
+ Map<String, Object> map = initMap();
+ if (id.equals(EMPLOYEE_WINDOW_ID)) {
+ createEmployeesPage(map);
+ } else if (id.equals(COMPANY_WINDOW_ID)) {
+ createCompaniesPage(map);
+ } else if (id.equals(PERSON_WINDOW_ID)) {
+ createPersonsPage(map);
+ }
}
public void onClick$searchButton() {
- onOK$search();
+ onOK$searchBox();
}
public void onClick$employees() {
- removeAllContentPage();
- createEmployeesPage(null);
+ createEmployeesPage(new HashMap<String, Object>());
}
public void onClick$persons() {
- removeAllContentPage();
- createPersonsPage(null);
+ createPersonsPage(new HashMap<String, Object>());
}
public void onClick$companies() {
- removeAllContentPage();
- createCompaniesPage(null);
+ createCompaniesPage(new HashMap<String, Object>());
}
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-20 11:55:57 UTC (rev 109)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-20 13:26:47 UTC (rev 110)
@@ -123,6 +123,27 @@
return persons;
}
+ public List<Employee> retrieveEmployeesBySearch(String search) {
+ Criteria criteria = Search.query().keyword(search).criteria();
+ List<Employee> employees = proxy.findAllByCriteria(Employee.class, criteria).getAll();
+ employees = new ArrayList<Employee>(employees);
+ return employees;
+ }
+
+ public List<Person> retrievePersonsBySearch(String search) {
+ Criteria criteria = Search.query().keyword(search).criteria();
+ List<Person> persons = proxy.findAllByCriteria(Person.class, criteria).getAll();
+ persons = new ArrayList<Person>(persons);
+ return persons;
+ }
+
+ public List<Company> retrieveCompaniesBySearch(String search) {
+ Criteria criteria = Search.query().keyword(search).criteria();
+ List<Company> companies = proxy.findAllByCriteria(Company.class, criteria).getAll();
+ companies = new ArrayList<Company>(companies);
+ return companies;
+ }
+
/*
* Update
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-20 11:55:57 UTC (rev 109)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-20 13:26:47 UTC (rev 110)
@@ -21,10 +21,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
package org.chorem.bonzoms.ui;
@@ -36,6 +32,7 @@
import java.util.Map;
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.Person;
+import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.SuspendNotAllowedException;
import org.zkoss.zk.ui.event.Event;
@@ -57,8 +54,16 @@
protected PersonModel personModel = new PersonModel();
- public PersonController() {
- List<Person> persons = model.retrieveAllPersons();
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ String search = (String) arg.get("search");
+ List<Person> persons;
+ if (search != null && !search.isEmpty()) {
+ persons = model.retrievePersonsBySearch(search);
+ } else {
+ persons = model.retrieveAllPersons();
+ }
createPersonsData(persons);
}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/index.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/index.zul 2010-07-20 11:55:57 UTC (rev 109)
+++ trunk/bonzoms-ui-zk/src/main/webapp/index.zul 2010-07-20 13:26:47 UTC (rev 110)
@@ -14,7 +14,7 @@
</groupbox>
<vbox id="content" >
<hbox>
- Search: <textbox id="search" /> <button label="Search" id="searchButton" />
+ Search: <textbox id="searchBox" /> <button label="Search" id="searchButton" />
</hbox>
<separator bar="true" />
</vbox>
Modified: trunk/bonzoms-ui-zk/transaction.log
===================================================================
--- trunk/bonzoms-ui-zk/transaction.log 2010-07-20 11:55:57 UTC (rev 109)
+++ trunk/bonzoms-ui-zk/transaction.log 2010-07-20 13:26:47 UTC (rev 110)
@@ -507,3 +507,15 @@
2010-07-20 11:59:37,279 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 34481
2010-07-20 11:59:37,281 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 34 481
2010-07-20 11:59:37,357 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 34481 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-20 14:01:07,153 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 58039
+2010-07-20 14:01:07,155 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 58 039
+2010-07-20 14:01:07,225 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 58039 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-20 15:05:56,191 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 40876
+2010-07-20 15:05:56,197 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 40 876
+2010-07-20 15:05:56,269 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 40876 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-20 15:08:52,171 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 59353
+2010-07-20 15:08:52,173 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 59 353
+2010-07-20 15:08:52,253 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 59353 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-20 15:20:43,440 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 55108
+2010-07-20 15:20:43,442 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 55 108
+2010-07-20 15:20:43,507 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 55108 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
1
0
r109 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp webapp/WEB-INF
by bbrossaud@users.chorem.org 20 Jul '10
by bbrossaud@users.chorem.org 20 Jul '10
20 Jul '10
Author: bbrossaud
Date: 2010-07-20 13:55:57 +0200 (Tue, 20 Jul 2010)
New Revision: 109
Url: http://chorem.org/repositories/revision/bonzoms/109
Log:
addition missing files
Added:
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-20 10:08:36 UTC (rev 108)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-20 11:55:57 UTC (rev 109)
@@ -39,29 +39,24 @@
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
- createEmployeesPage();
+ createEmployeesPage(null);
}
- public void createEmployeesPage() {
+ public void createEmployeesPage(String search) {
Component newContent = Executions.createComponents("employeePage.zul", null, null);
content.appendChild(newContent);
}
- public void createPersonsPage() {
+ public void createPersonsPage(String search) {
Component newContent = Executions.createComponents("personPage.zul", null, null);
content.appendChild(newContent);
}
- public void createCompaniesPage() {
+ public void createCompaniesPage(String search) {
Component newContent = Executions.createComponents("companyPage.zul", null, null);
content.appendChild(newContent);
}
- public void createResultPage() {
- Component newContent = Executions.createComponents("resultPage.zul", null, null);
- content.appendChild(newContent);
- }
-
public void removeAllContentPage() {
content.getLastChild().detach();
}
@@ -70,8 +65,8 @@
* Events
*/
public void onOK$search() {
+
removeAllContentPage();
- createResultPage();
}
public void onClick$searchButton() {
@@ -80,16 +75,16 @@
public void onClick$employees() {
removeAllContentPage();
- createEmployeesPage();
+ createEmployeesPage(null);
}
public void onClick$persons() {
removeAllContentPage();
- createPersonsPage();
+ createPersonsPage(null);
}
public void onClick$companies() {
removeAllContentPage();
- createCompaniesPage();
+ createCompaniesPage(null);
}
}
Added: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml 2010-07-20 11:55:57 UTC (rev 109)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
+ <display-name>MyApp</display-name>
+
+ <listener>
+ <description>Used to cleanup when a session is destroyed</description>
+ <display-name>ZK Session Cleaner</display-name>
+ <listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
+ </listener>
+
+ <servlet>
+ <description>The servlet loads the DSP pages.</description>
+ <servlet-name>dspLoader</servlet-name>
+ <servlet-class>org.zkoss.web.servlet.dsp.InterpreterServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <description>ZK loader for ZUML pages</description>
+ <servlet-name>zkLoader</servlet-name>
+ <servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
+ <init-param>
+ <param-name>update-uri</param-name>
+ <param-value>/zkau</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <description>The asynchronous update engine for ZK</description>
+ <servlet-name>auEngine</servlet-name>
+ <servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>dspLoader</servlet-name>
+ <url-pattern>*.dsp</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>zkLoader</servlet-name>
+ <url-pattern>*.zul</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>zkLoader</servlet-name>
+ <url-pattern>*.zhtml</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>auEngine</servlet-name>
+ <url-pattern>/zkau/*</url-pattern>
+ </servlet-mapping>
+
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ <welcome-file>index.zul</welcome-file>
+ </welcome-file-list>
+
+</web-app>
Added: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml 2010-07-20 11:55:57 UTC (rev 109)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Created by ZK Studio
+-->
+<zk>
+</zk>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-20 10:08:36 UTC (rev 108)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-20 11:55:57 UTC (rev 109)
@@ -1,4 +1,4 @@
-<?page id="company" title="Employee" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?page id="company" title="Company" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="company"?>
1
0
r108 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 20 Jul '10
by bbrossaud@users.chorem.org 20 Jul '10
20 Jul '10
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
1
0
r107 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 19 Jul '10
by bbrossaud@users.chorem.org 19 Jul '10
19 Jul '10
Author: bbrossaud
Date: 2010-07-19 18:09:42 +0200 (Mon, 19 Jul 2010)
New Revision: 107
Url: http://chorem.org/repositories/revision/bonzoms/107
Log:
addition person page and remove some bugs
Added:
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/ServiceFormController.java
trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul
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/CompanyData.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/Email.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/EmployeeData.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/Model.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/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/PhonesModel.java
trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/personPage.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-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -53,21 +53,17 @@
public CompanyController() {
List<Company> companies = _model.retrieveAllCompanies();
- List<CompanyData> dto = createCompaniesData(companies);
- _companyDataModel.setCompanies(dto);
+ createCompaniesData(companies);
}
- public List<CompanyData> createCompaniesData(List<Company> companies) {
- List<CompanyData> datas = new ArrayList<CompanyData>();
+ public void createCompaniesData(List<Company> companies) {
for (Company company: companies) {
List<Address> addresses = _model.retrieveAddressesByIds(new ArrayList<String>(company.getAddress()));
CompanyData data = new CompanyData(company, addresses);
- datas.add(data);
+ _companyDataModel.addData(data);
}
- return datas;
}
-
public void createWindowCompanyForm(CompanyData companyData) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (companyData != null) {
@@ -90,16 +86,17 @@
/*
* 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";
+ String number = "";
+ if (values.length > 1) {
+ number = values[1];
}
+ render += number + " (" + values[0] + ")\n";
}
Label label = new Label(render);
label.setMultiline(true);
@@ -114,9 +111,11 @@
String[] emails = StringUtil.split(str, ";");
for (String email : emails) {
String[] values = StringUtil.split(email, ":");
- if (!values[1].isEmpty()) {
- render += values[1] + " (" + values[0] + ")\n";
+ String mail = "";
+ if (values.length > 1) {
+ mail = values[1];
}
+ render += mail + " (" + values[0] + ")\n";
}
Label label = new Label(render);
label.setMultiline(true);
Modified: 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 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyData.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -85,6 +85,14 @@
return phonesModel.getPhones();
}
+ public String getEmailsModelAsString() {
+ return emailsModel.getEmailsAsString();
+ }
+
+ public String getPhonesModelAsString() {
+ return phonesModel.getPhonesAsString();
+ }
+
/*
* Setters
*/
@@ -125,4 +133,12 @@
public void setEmails(List<Email> emails) {
emailsModel.setEmails(emails);
}
+
+ public void setEmailsModelList(String str) {
+ emailsModel.setEmails(str);
+ }
+
+ public void setPhonesModelList(String str) {
+ phonesModel.setPhones(str);
+ }
}
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-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -27,15 +27,11 @@
import java.util.List;
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.AddressImpl;
-import org.chorem.data.bonzoms.Company;
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;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
-import org.zkoss.zul.Button;
import org.zkoss.zul.Listbox;
/**
@@ -43,6 +39,7 @@
* @author sherkhan
*/
public class CompanyFormController extends GenericForwardComposer {
+
protected Model _model = new Model();
protected CompanyData _companyData = new CompanyData();
@@ -54,7 +51,7 @@
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
- CompanyData company = (CompanyData) arg.get("company");
+ CompanyData company = (CompanyData) arg.get("companyData");
init(company);
DataBinder binder = new AnnotateDataBinder(comp);
binder.bindBean("composer", this);
@@ -78,104 +75,42 @@
Email email = new Email();
_companyData.getEmailsModel().addData(email);
-
- Button add = new Button("Add");
- add.addEventListener("onClick", new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- addCompany();
- }
- });
- self.appendChild(add);
}
protected void initCompany(CompanyData company) {
_companyData = company;
- initPhonesModel();
- initEmailsModel();
- Button update = new Button("Update");
- update.addEventListener("onClick", new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- updateCompany();
- }
- });
- self.appendChild(update);
+ _companyData.setEmailsModelList(_companyData.getCompany().getEmails());
+ _companyData.setPhonesModelList(_companyData.getCompany().getPhones());
}
- 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);
+ protected void removeCompanyAddresses() {
+ List<String> ids = _companyData.getRemovedAddresses();
+ for (String id : ids) {
+ _companyData.getCompany().removeAddress(id);
}
- _companyData.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);
- }
- _companyData.setEmails(emailList);
- }
-
- protected void addAddresses(boolean update) {
+ protected void addAddresses() {
List<Address> addresses = _model.createAddresses(_companyData.getAddressesModel().getAddresses());
- if (update == true) {
+ if (!_companyData.getRemovedAddresses().isEmpty()) {
_model.deleteAddressesByIds(_companyData.getRemovedAddresses());
+ removeCompanyAddresses();
}
- _companyData.getCompany().clearAddress();
for (Address address : addresses) {
_companyData.getCompany().addAddress(address.getWikittyId());
}
}
protected void addEmails() {
- String emails = "";
- List<Email> emailList = _companyData.getEmails();
- for (Email email : emailList) {
- emails += email.getName() + ":" + email.getEmail() + ";";
- }
+ String emails = _companyData.getEmailsModelAsString();
_companyData.getCompany().setEmails(emails);
}
protected void addPhones() {
- String phones = "";
- List<Phone> phoneList = _companyData.getPhones();
- for (Phone phone : phoneList) {
- phones += phone.getName() + ":" + phone.getPhone() + ";";
- }
+ String phones = _companyData.getPhonesModelAsString();
_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
*/
@@ -217,11 +152,20 @@
public void onClick$deleteEmail() {
int size = emailListbox.getItemCount();
if (size > 1) {
- Email email = (Email) _companyData.getEmailsModel().getElementAt(size -1);
+ Email email = (Email) _companyData.getEmailsModel().getElementAt(size - 1);
_companyData.getEmailsModel().removeData(email);
}
}
+ public void onClick$saveCompany() {
+ addPhones();
+ addEmails();
+ addAddresses();
+
+ _model.updateCompany(_companyData.getCompany());
+ this.self.detach();
+ }
+
/*
* Getters
*/
Modified: 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 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Email.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -28,7 +28,8 @@
protected String email = "";
protected String name = "";
- public Email() {}
+ public Email() {
+ }
public Email(String name, String email) {
this.email = email;
@@ -56,4 +57,11 @@
public void setName(String name) {
this.name = name;
}
+
+ public boolean isEmpty() {
+ if (name.isEmpty() && email.isEmpty()) {
+ return true;
+ }
+ return false;
+ }
}
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-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmailsModel.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.nuiton.util.StringUtil;
import org.zkoss.zkplus.databind.BindingListModel;
import org.zkoss.zul.AbstractListModel;
import org.zkoss.zul.event.ListDataEvent;
@@ -75,4 +76,32 @@
public List<Email> getEmails() {
return _emails;
}
+
+ public String getEmailsAsString() {
+ String emails = "";
+ for (Email email : _emails) {
+ if (!email.isEmpty()) {
+ emails += email.getName() + ":" + email.getEmail() + ";";
+ }
+ }
+ return emails;
+ }
+
+ public void setEmails(String str) {
+ _emails.clear();
+ String[] emails = StringUtil.split(str, ";");
+ for (String email : emails) {
+ String[] values = StringUtil.split(email, ":");
+ String mail = "";
+ if (values.length > 1) {
+ mail = values[1];
+ }
+ Email newEmail = new Email(values[0], mail);
+ _emails.add(newEmail);
+ }
+ if (_emails.isEmpty()) {
+ _emails.add(new Email());
+ }
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
}
Modified: 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 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeData.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -23,7 +23,6 @@
*/
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;
@@ -73,12 +72,12 @@
contractsData.getContractsModel().setContracts(contracts);
}
- public void setPersonPhones(List<Phone> phones) {
+ public void setPersonPhonesModelList(String phones) {
personData.setPhones(phones);
}
- public void setPersonEmails(List<Email> emails) {
- personData.setEmail(emails);
+ public void setPersonEmailsModelList(String emails) {
+ personData.setEmails(emails);
}
public void setPerson(Person person) {
@@ -180,4 +179,12 @@
public ContractsData getContractsData() {
return contractsData;
}
+
+ public String getPersonPhonesModelAsString() {
+ return personData.getPhonesAsString();
+ }
+
+ public String getPersonEmailsModelAsString() {
+ return personData.getEmailsAsString();
+ }
}
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-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -29,10 +29,11 @@
import java.util.Map;
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.AddressImpl;
+import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.EmploymentContract;
import org.chorem.data.bonzoms.EmploymentContractImpl;
+import org.chorem.data.bonzoms.Person;
import org.chorem.data.bonzoms.Service;
-import org.nuiton.util.StringUtil;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.SuspendNotAllowedException;
@@ -91,34 +92,10 @@
protected void initPerson() {
List<Address> addresses = _model.retrieveAddressesByIds(new ArrayList<String>(_employeeData.getPerson().getAddress()));
_employeeData.setPersonAddresses(addresses);
- initPersonPhonesModel();
- initPersonEmailsModel();
+ _employeeData.setPersonEmailsModelList(_employeeData.getPerson().getEmails());
+ _employeeData.setPersonPhonesModelList(_employeeData.getPerson().getPhones());
}
- 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);
- }
-
- 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);
- }
-
protected void initService() {
Service service = _model.retrieveServiceById(_employeeData.getEmployee().getService());
Address address = _model.retrieveAddressById(service.getAddress());
@@ -144,46 +121,68 @@
initContracts();
}
+ protected void removePersonAddresses() {
+ List<String> ids = _employeeData.getPersonRemovedAddresses();
+ for (String id : ids) {
+ _employeeData.getPerson().removeAddress(id);
+ }
+ }
+
+ protected void removeEmployeeContracts() {
+ List<String> ids = _employeeData.getRemovedContracts();
+ for (String id : ids) {
+ _employeeData.getEmployee().removeEmploymentContract(id);
+ }
+ }
+
protected void addEmployeeContracts() {
List<EmploymentContract> contracts = _model.createContracts(_employeeData.getContractsList());
if (!_employeeData.getRemovedContracts().isEmpty()) {
_model.deleteContractsByIds(_employeeData.getRemovedContracts());
+ removeEmployeeContracts();
}
- _employeeData.getContractsList().clear();
for (EmploymentContract contract : contracts) {
_employeeData.getEmployee().addEmploymentContract(contract.getWikittyId());
}
}
+ protected void addEmployeeService() {
+ 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() {
List<Address> addresses = _model.createAddresses(_employeeData.getPersonAddresses());
if (!_employeeData.getPersonRemovedAddresses().isEmpty()) {
_model.deleteAddressesByIds(_employeeData.getPersonRemovedAddresses());
+ removePersonAddresses();
}
- _employeeData.getPerson().clearAddress();
for (Address address : addresses) {
_employeeData.getPerson().addAddress(address.getWikittyId());
}
}
protected void addPersonEmails() {
- String emails = "";
- List<Email> emailList = _employeeData.getPersonEmails();
- for (Email email : emailList) {
- emails += email.getName() + ":" + email.getEmail() + ";";
- }
+ String emails = _employeeData.getPersonEmailsModelAsString();
_employeeData.getPerson().setEmails(emails);
}
protected void addPersonPhones() {
- String phones = "";
- List<Phone> phoneList = _employeeData.getPersonPhones();
- for (Phone phone : phoneList) {
- phones += phone.getName() + ":" + phone.getPhone() + ";";
- }
+ String phones = _employeeData.getPersonPhonesModelAsString();
_employeeData.getPerson().setPhones(phones);
}
+ protected void addEmployeePerson() {
+ addPersonAddresses();
+ addPersonPhones();
+ addPersonEmails();
+ Person person = _model.createPerson(_employeeData.getPerson());
+ _employeeData.setPerson(person);
+ _employeeData.getEmployee().setPerson(person.getWikittyId());
+ }
+
/*
* Events
*/
@@ -231,11 +230,9 @@
}
public void onClick$saveEmployee() {
- addPersonAddresses();
- addPersonPhones();
- addPersonEmails();
-
+ addEmployeePerson();
addEmployeeContracts();
+ addEmployeeService();
Address workingAddress = _model.updateAddress(_employeeData.getWorkingAddress());
_employeeData.getEmployee().setAddress(workingAddress.getWikittyId());
@@ -243,7 +240,9 @@
Service service = _model.updateService(_employeeData.getService());
_employeeData.getEmployee().setService(service.getWikittyId());
- _model.updateEmployee(_employeeData.getEmployee());
+ Employee employee = _model.createEmployee(_employeeData.getEmployee());
+ _employeeData.setEmployee(employee);
+
this.self.detach();
}
@@ -252,7 +251,7 @@
map.put("contractsData", _employeeData.getContractsData());
Window win = (Window) Executions.createComponents("contractFormPage.zul", null, map);
win.setPage(page);
- win.setPosition("right,center");
+ win.setPosition("center");
win.doModal();
}
@@ -261,7 +260,7 @@
map.put("serviceData", _employeeData.getServiceData());
Window win = (Window) Executions.createComponents("serviceFormPage.zul", null, map);
win.setPage(page);
- win.setPosition("left,center");
+ win.setPosition("center");
win.doModal();
}
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-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -56,16 +56,16 @@
return wikitties;
}
- public void createEmployee(Employee employee) {
- proxy.store(employee);
+ public Employee createEmployee(Employee employee) {
+ return proxy.store(employee);
}
public Address createAddress(Address address) {
return proxy.store(address);
}
- public void createCompany(Company company) {
- proxy.store(company);
+ public Company createCompany(Company company) {
+ return proxy.store(company);
}
public List<EmploymentContract> createContracts(List<EmploymentContract> contractsList) {
@@ -73,6 +73,10 @@
return wikitties;
}
+ public Person createPerson(Person person) {
+ return proxy.store(person);
+ }
+
/*
* Retrieve
*/
@@ -112,6 +116,13 @@
return new ArrayList<EmploymentContract>(contracts);
}
+ public List<Person> retrieveAllPersons() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON).criteria();
+ List<Person> persons = proxy.findAllByCriteria(Person.class, criteria).getAll();
+ persons = new ArrayList<Person>(persons);
+ return persons;
+ }
+
/*
* Update
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -28,7 +28,24 @@
package org.chorem.bonzoms.ui;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.chorem.data.bonzoms.Address;
+import org.chorem.data.bonzoms.Person;
+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.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Window;
/**
*
@@ -36,4 +53,85 @@
*/
public class PersonController extends GenericForwardComposer {
+ protected Model model = new Model();
+
+ protected PersonModel personModel = new PersonModel();
+
+ public PersonController() {
+ List<Person> persons = model.retrieveAllPersons();
+ createPersonsData(persons);
+ }
+
+ public void createPersonsData(List<Person> persons) {
+ for (Person person : persons) {
+ List<Address> addresses = model.retrieveAddressesByIds(new ArrayList<String>(person.getAddress()));
+ PersonData data = new PersonData(person, addresses);
+ personModel.addData(data);
+ }
+ }
+
+ public void createWindowPersonForm(PersonData personData) throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (personData != null) {
+ map.put("personData", personData);
+ }
+ Window win = (Window) Executions.createComponents("personFormPage.zul", null, map);
+ win.setPage(page);
+// win.doHighlighted();
+ win.setPosition("center");
+// win.doOverlapped();
+ win.doModal();
+ }
+
+ /*
+ * Events
+ */
+ public void onClick$newPerson() throws SuspendNotAllowedException, InterruptedException {
+ createWindowPersonForm(null);
+ }
+
+ /*
+ * Renderers
+ */
+ public ListitemRenderer getPersonDataRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final PersonData personData = (PersonData) data;
+
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
+
+ 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();
+ }
+ Listcell dateCell = new Listcell(sdf.format(birthday));
+ Listcell detailsCell = new Listcell();
+ Button details = new Button("details");
+ detailsCell.appendChild(details);
+ details.addEventListener("onClick", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ createWindowPersonForm(personData);
+ }
+ });
+ item.appendChild(firstNameCell);
+ item.appendChild(lastNameCell);
+ item.appendChild(dateCell);
+ item.appendChild(detailsCell);
+ }
+ };
+ }
+
+ /*
+ * Getters
+ */
+ public PersonModel getPersonModel() {
+ return personModel;
+ }
}
Modified: 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 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonData.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -36,14 +36,13 @@
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() {
+ }
public PersonData(Person person, List<Address> addresses) {
setPerson(person);
@@ -68,7 +67,7 @@
public List<Email> getEmails() {
return emailsModel.getEmails();
}
-
+
public EmailsModel getEmailsModel() {
return emailsModel;
}
@@ -85,6 +84,14 @@
return addressesModel;
}
+ public String getEmailsAsString() {
+ return emailsModel.getEmailsAsString();
+ }
+
+ public String getPhonesAsString() {
+ return phonesModel.getPhonesAsString();
+ }
+
/*
* Setters
*/
@@ -100,7 +107,13 @@
}
}
- public void setEmail(List<Email> emails) {
+ public void setEmails(String str) {
+ if (str != null) {
+ emailsModel.setEmails(str);
+ }
+ }
+
+ public void setEmails(List<Email> emails) {
if (emails != null) {
emailsModel.setEmails(emails);
}
@@ -112,6 +125,12 @@
}
}
+ public void setPhones(String str) {
+ if (str != null) {
+ phonesModel.setPhones(str);
+ }
+ }
+
public void setRemovedAddresses(List<String> list) {
if (list != null) {
removedAddresses = list;
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -0,0 +1,76 @@
+/*
+ * 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.AddressImpl;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zkplus.databind.AnnotateDataBinder;
+import org.zkoss.zkplus.databind.DataBinder;
+import org.zkoss.zul.Listbox;
+
+/**
+ *
+ * @author bbrossaud
+ */
+public class PersonFormController extends GenericForwardComposer {
+
+ protected Model model = new Model();
+
+ protected PersonData personData = new PersonData();
+
+ protected Listbox addressListbox;
+ protected Listbox phoneListbox;
+ protected Listbox emailListbox;
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ PersonData person = (PersonData) arg.get("personData");
+ init(person);
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ protected void init(PersonData personData) {
+ if (personData == null) {
+ initDefaultPerson();
+ } else {
+ initPerson(personData);
+ }
+ }
+
+ protected void initDefaultPerson() {
+ Address address = new AddressImpl();
+ personData.getAddressesModel().addData(address);
+
+ Phone phone = new Phone();
+ personData.getPhonesModel().addData(phone);
+
+ Email email = new Email();
+ personData.getEmailsModel().addData(email);
+ }
+
+ protected void initPerson(PersonData personData) {
+ this.personData = personData;
+ List<Address> addresses = model.retrieveAddressesByIds(new ArrayList<String>(personData.getPerson().getAddress()));
+ this.personData.setAddresses(addresses);
+ this.personData.setEmails(personData.getPerson().getEmails());
+ this.personData.setPhones(personData.getPerson().getPhones());
+ }
+
+ /*
+ * Getters
+ */
+
+ public PersonData getPersonData() {
+ return personData;
+ }
+}
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -0,0 +1,49 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+/**
+ *
+ * @author bbrossaud
+ */
+public class PersonModel extends AbstractListModel implements BindingListModel {
+
+ protected List<PersonData> persons = new ArrayList<PersonData>();
+ @Override
+ public Object getElementAt(int index) {
+ return persons.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return persons.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ return persons.indexOf(obj);
+ }
+
+ public void setPersons(List<PersonData> persons) {
+ this.persons = persons;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(PersonData newData) {
+ persons.add(newData);
+ }
+
+ public void removeData(PersonData data) {
+ int interval = persons.indexOf(data);
+ persons.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+}
Modified: 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 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Phone.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -59,4 +59,11 @@
public void setName(String name) {
this.name = name;
}
+
+ public boolean isEmpty() {
+ if (name.isEmpty() && phone.isEmpty()) {
+ return true;
+ }
+ return false;
+ }
}
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-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PhonesModel.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.nuiton.util.StringUtil;
import org.zkoss.zkplus.databind.BindingListModel;
import org.zkoss.zul.AbstractListModel;
import org.zkoss.zul.event.ListDataEvent;
@@ -75,4 +76,32 @@
public List<Phone> getPhones() {
return _phones;
}
+
+ public String getPhonesAsString() {
+ String phones = "";
+ for (Phone phone : _phones) {
+ if (!phone.isEmpty()) {
+ phones += phone.getName() + ":" + phone.getPhone() + ";";
+ }
+ }
+ return phones;
+ }
+
+ public void setPhones(String str) {
+ _phones.clear();
+ String[] phones = StringUtil.split(str, ";");
+ for (String phone : phones) {
+ String[] values = StringUtil.split(phone, ":");
+ String number = "";
+ if (values.length > 1) {
+ number = values[1];
+ }
+ Phone newPhone = new Phone(values[0], number);
+ _phones.add(newPhone);
+ }
+ if (_phones.isEmpty()) {
+ _phones.add(new Phone());
+ }
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
}
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java 2010-07-19 16:09:42 UTC (rev 107)
@@ -0,0 +1,38 @@
+package org.chorem.bonzoms.ui;
+
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zkplus.databind.AnnotateDataBinder;
+import org.zkoss.zkplus.databind.DataBinder;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class ServiceFormController extends GenericForwardComposer {
+
+ protected ServiceData serviceData = new ServiceData();
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ serviceData = (ServiceData) arg.get("serviceData");
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ /*
+ * Events
+ */
+ public void onClick$saveService() {
+ self.detach();
+ }
+
+ /*
+ * Getters
+ */
+ public ServiceData getServiceData() {
+ return serviceData;
+ }
+}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-07-19 16:09:42 UTC (rev 107)
@@ -11,16 +11,16 @@
<vbox>
<label value="Name" />
- <textbox value="@{composer.companyData.company.name, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.name, save-when='saveCompany.onClick'}" />
<label value="Type" />
- <textbox value="@{composer.companyData.company.type, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.type, save-when='saveCompany.onClick'}" />
<label value="Fax" />
- <textbox value="@{composer.companyData.company.fax, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.fax, save-when='saveCompany.onClick'}" />
<label value="Web site" />
- <textbox value="@{composer.companyData.company.webSite, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.webSite, save-when='saveCompany.onClick'}" />
</vbox>
@@ -35,22 +35,22 @@
<vbox>
<label value="Name" />
- <textbox value="@{address.name, save-when='self.onChange'}" />
+ <textbox value="@{address.name, save-when='saveCompany.onClick'}" />
<label value="Adress1" />
- <textbox value="@{address.address1, save-when='self.onChange'}" />
+ <textbox value="@{address.address1, save-when='saveCompany.onClick'}" />
<label value="Adress2" />
- <textbox value="@{address.address2, save-when='self.onChange'}" />
+ <textbox value="@{address.address2, save-when='saveCompany.onClick'}" />
<label value="Zip code" />
- <textbox value="@{address.zipCode, save-when='self.onChange'}" />
+ <textbox value="@{address.zipCode, save-when='saveCompany.onClick'}" />
<label value="City" />
- <textbox value="@{address.city, save-when='self.onChange'}" />
+ <textbox value="@{address.city, save-when='saveCompany.onClick'}" />
<label value="Country" />
- <textbox value="@{address.country, save-when='self.onChange'}" />
+ <textbox value="@{address.country, save-when='saveCompany.onClick'}" />
</vbox>
</groupbox>
@@ -76,10 +76,10 @@
</listhead>
<listitem self="@{each='phone'}">
<listcell>
- <textbox value="@{phone.name, save-when='self.onChange'}" />
+ <textbox value="@{phone.name, save-when='saveCompany.onClick'}" />
</listcell>
<listcell>
- <textbox value="@{phone.phone, save-when='self.onChange'}" />
+ <textbox value="@{phone.phone, save-when='saveCompany.onClick'}" />
</listcell>
</listitem>
</listbox>
@@ -103,10 +103,10 @@
</listhead>
<listitem self="@{each='mail'}">
<listcell>
- <textbox value="@{mail.name, save-when='self.onChange'}" />
+ <textbox value="@{mail.name, save-when='saveCompany.onClick'}" />
</listcell>
<listcell>
- <textbox value="@{mail.email, save-when='self.onChange'}" />
+ <textbox value="@{mail.email, save-when='saveCompany.onClick'}" />
</listcell>
</listitem>
</listbox>
@@ -120,4 +120,6 @@
</groupbox>
+ <button id="saveCompany" label="Save" />
+
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-07-19 16:09:42 UTC (rev 107)
@@ -1,7 +1,7 @@
<?page id="ContractForm" title="Contract form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<window closable="true" maximizable="true" sizable="true" height="500px" width="450px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ContractFormController">
+<window closable="true" maximizable="true" sizable="true" height="400px" width="450px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ContractFormController">
<caption label="Contract"/>
<groupbox>
@@ -42,10 +42,10 @@
<textbox value="@{contract.name, save-when='save.onClick'}" />
<label value="Start" />
- <datebox value="@{contract.start, save-when='save.onClick'}" />
+ <datebox format="dd/MM/yyyy" value="@{contract.start, save-when='save.onClick'}" />
<label value="End" />
- <datebox value="@{contract.start, save-when='save.onClick'}" />
+ <datebox format="dd/MM/yyyy" value="@{contract.end, save-when='save.onClick'}" />
<label value="Description" />
<textbox rows="5" value="@{contract.description, save-when='save.onClick'}" />
Added: trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-07-19 16:09:42 UTC (rev 107)
@@ -0,0 +1,116 @@
+<window closable="true" maximizable="true" sizable="true" height="500px" width="400" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.PersonFormController">
+ <caption label="Person"/>
+ <groupbox>
+ <caption label="Personnal informations" />
+ <hbox>
+ <vbox>
+ <label value="First name" />
+ <textbox value="@{composer.personData.person.firstName, save-when='savePerson.onClick'}" />
+ <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'}" />
+ </vbox>
+
+ <space />
+
+ <vbox>
+ <listbox id="addressListbox" model="@{composer.personData.personAddressesModel}" width="200px">
+ <listitem self="@{each='address'}">
+ <listcell>
+ <groupbox>
+ <caption label="@{address.name}" />
+ <vbox>
+
+ <label value="Name" />
+ <textbox value="@{address.name, save-when='savePerson.onClick'}" />
+
+ <label value="Adress1" />
+ <textbox value="@{address.address1, save-when='savePerson.onClick'}" />
+
+ <label value="Adress2" />
+ <textbox value="@{address.address2, save-when='savePerson.onClick'}" />
+
+ <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>
+
+ </hbox>
+
+ <separator/>
+
+ <vbox>
+ <groupbox width="330px">
+
+ <caption label="Phones" />
+
+ <listbox id="phoneListbox" model="@{composer.personData.personPhonesModel}" width="310px">
+ <listhead sizable="true">
+ <listheader label="Name" />
+ <listheader label="Phone Number" />
+ </listhead>
+ <listitem self="@{each='phone'}">
+ <listcell>
+ <textbox value="@{phone.name, save-when='savePerson.onClick'}" />
+ </listcell>
+ <listcell>
+ <textbox value="@{phone.phone, save-when='savePerson.onClick'}" />
+ </listcell>
+ </listitem>
+ </listbox>
+
+ <separator/>
+
+ <button label="Add phone " id="addPhone" /> <button label="Delete phone" id="deletePhone" />
+
+ </groupbox>
+
+ <separator/>
+
+ <groupbox width="330px">
+
+ <caption label="Emails" />
+
+ <listbox id="emailListbox" model="@{composer.personData.personEmailsModel}" width="310px">
+ <listhead sizable="true">
+ <listheader label="Name" />
+ <listheader label="Email" />
+ </listhead>
+ <listitem self="@{each='mail'}">
+ <listcell>
+ <textbox value="@{mail.name, save-when='savePerson.onClick'}" />
+ </listcell>
+ <listcell>
+ <textbox value="@{mail.email, save-when='savePerson.onClick'}" />
+ </listcell>
+ </listitem>
+ </listbox>
+
+ <separator/>
+
+ <button label="Add email " id="addEmail" /> <button label="Delete email" id="deleteEmail" />
+
+ </groupbox>
+ </vbox>
+
+ </groupbox>
+
+ <button id="savePerson" label="Save" />
+
+</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-07-19 16:09:42 UTC (rev 107)
@@ -3,5 +3,14 @@
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="person"?>
<window id="person" apply="org.chorem.bonzoms.ui.PersonController">
- Person page coming soon...
+ Companies: <toolbarbutton id="newPerson" label="Add new person" />
+ <listbox autopaging="true" mold="paging" id="personListBox" rows="20" model="@{person$composer.personModel}"
+ itemRenderer="@{person$composer.personDataRenderer}">
+ <listhead>
+ <listheader label="First name" />
+ <listheader label="Last name" />
+ <listheader label="Birthday" />
+ <listheader label="details" />
+ </listhead>
+ </listbox>
</window>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul 2010-07-19 16:09:42 UTC (rev 107)
@@ -0,0 +1,39 @@
+<?page id="ServiceForm" title="Service form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
+
+<window closable="true" maximizable="true" sizable="true" height="400px" width="200px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ServiceFormController">
+<caption label="Service"/>
+
+ <groupbox>
+ <caption label="Service informations" />
+
+ <vbox>
+
+ <label value="Type" />
+ <textbox value="@{composer.serviceData.service.type, save-when='saveService.onClick'}" />
+
+ <label value="Name" />
+ <textbox value="@{composer.serviceData.address.name, save-when='saveService.onClick'}" />
+
+ <label value="Address 1" />
+ <textbox value="@{composer.serviceData.address.address1, save-when='saveService.onClick'}" />
+
+ <label value="Address 2" />
+ <textbox value="@{composer.serviceData.address.address2, save-when='saveService.onClick'}" />
+
+ <label value="Zip code" />
+ <textbox value="@{composer.serviceData.address.zipCode, save-when='saveService.onClick'}" />
+
+ <label value="City" />
+ <textbox value="@{composer.serviceData.address.city, save-when='saveService.onClick'}" />
+
+ <label value="Country" />
+ <textbox value="@{composer.serviceData.address.country, save-when='saveService.onClick'}" />
+
+ </vbox>
+
+ </groupbox>
+
+ <button label="save" id="saveService" />
+
+</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/transaction.log
===================================================================
--- trunk/bonzoms-ui-zk/transaction.log 2010-07-16 15:34:30 UTC (rev 106)
+++ trunk/bonzoms-ui-zk/transaction.log 2010-07-19 16:09:42 UTC (rev 107)
@@ -432,3 +432,69 @@
2010-07-16 16:38:52,518 [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 41080
2010-07-16 16:38:52,519 [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 080
2010-07-16 16:38:52,566 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 41080 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 18:03:03,219 [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 58947
+2010-07-16 18:03:03,221 [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 947
+2010-07-16 18:03:03,283 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 58947 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 10:42:25,227 [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 34618
+2010-07-19 10:42:25,256 [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 618
+2010-07-19 10:42:25,329 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 34618 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 10:57:53,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 48475
+2010-07-19 10:57:53,530 [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: 48 475
+2010-07-19 10:57:53,584 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 48475 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 11:18:39,613 [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 39370
+2010-07-19 11:18:39,615 [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: 39 370
+2010-07-19 11:18:39,687 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 39370 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 11:49:44,983 [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 36948
+2010-07-19 11:49:44,986 [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 948
+2010-07-19 11:49:45,056 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 36948 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 11:57:10,571 [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 56964
+2010-07-19 11:57:10,573 [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: 56 964
+2010-07-19 11:57:10,640 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 56964 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 11:58:15,083 [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 48991
+2010-07-19 11:58:15,084 [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: 48 991
+2010-07-19 11:58:15,146 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 48991 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 12:05:01,392 [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 44335
+2010-07-19 12:05:01,394 [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: 44 335
+2010-07-19 12:05:01,448 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 44335 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 12:06:30,398 [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 37272
+2010-07-19 12:06:30,406 [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: 37 272
+2010-07-19 12:06:30,463 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 37272 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 12:10:16,130 [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 53609
+2010-07-19 12:10:16,132 [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: 53 609
+2010-07-19 12:10:16,194 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 53609 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 15:05:23,427 [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 35099
+2010-07-19 15:05:23,429 [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: 35 099
+2010-07-19 15:05:23,520 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 35099 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 15:12:58,070 [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 56229
+2010-07-19 15:12:58,078 [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: 56 229
+2010-07-19 15:12:58,176 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 56229 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 15:16:04,729 [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 59140
+2010-07-19 15:16:04,731 [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 140
+2010-07-19 15:16:04,791 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 59140 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 15:18:16,986 [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 36635
+2010-07-19 15:18:16,989 [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 635
+2010-07-19 15:18:17,057 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 36635 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 15:21:29,150 [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 44372
+2010-07-19 15:21:29,152 [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: 44 372
+2010-07-19 15:21:29,226 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 44372 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 15:37:09,179 [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 59424
+2010-07-19 15:37:09,181 [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 424
+2010-07-19 15:37:09,246 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 59424 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 15:41:16,810 [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 36935
+2010-07-19 15:41:16,812 [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 935
+2010-07-19 15:41:16,894 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 36935 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 17:59:55,278 [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 52294
+2010-07-19 17:59:55,292 [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 294
+2010-07-19 17:59:55,381 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 52294 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 18:02:36,486 [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 49030
+2010-07-19 18:02:36,488 [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: 49 030
+2010-07-19 18:02:36,560 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 49030 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 18:03:28,364 [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 39314
+2010-07-19 18:03:28,366 [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: 39 314
+2010-07-19 18:03:28,437 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 39314 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-19 18:04:49,607 [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 51376
+2010-07-19 18:04:49,609 [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: 51 376
+2010-07-19 18:04:49,704 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 51376 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+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
1
0
r106 - in trunk/bonzoms-ui-zk: . src src/license src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 16 Jul '10
by bbrossaud@users.chorem.org 16 Jul '10
16 Jul '10
Author: bbrossaud
Date: 2010-07-16 17:34:30 +0200 (Fri, 16 Jul 2010)
New Revision: 106
Url: http://chorem.org/repositories/revision/bonzoms/106
Log:
addition employee form
Added:
trunk/bonzoms-ui-zk/src/license/
trunk/bonzoms-ui-zk/src/license/project.xml
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsData.java
trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsConfig.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsProxy.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyData.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/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/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/EmployeeData.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/FieldExtension.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
trunk/bonzoms-ui-zk/src/main/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/PhonesModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceData.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
Added: trunk/bonzoms-ui-zk/src/license/project.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/license/project.xml (rev 0)
+++ trunk/bonzoms-ui-zk/src/license/project.xml 2010-07-16 15:34:30 UTC (rev 106)
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<project xmlns="http://maven-site.nuiton.org/maven-license-plugin/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven-site.nuiton.org/maven-license-plugin/1.0.0 ">http://maven-site.nuiton.org/maven-license-plugin/licenseProjectDescriptor-…">
+ <mainLicense>agpl_v3</mainLicense>
+ <headers>
+ <header>
+ <licenseName>agpl_v3</licenseName>
+ <commentStyle>java</commentStyle>
+ <fileSets>
+ <fileSet>
+ <basedir>src/main/java</basedir>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </header>
+ </headers>
+</project>
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsConfig.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsConfig.java 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsConfig.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,4 +1,27 @@
/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsProxy.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsProxy.java 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsProxy.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,4 +1,27 @@
/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
@@ -31,29 +49,29 @@
public class CompanyController extends GenericForwardComposer {
protected Model _model = new Model();
- protected CompanyModel _companyDTOModel = new CompanyModel();
+ protected CompanyModel _companyDataModel = new CompanyModel();
public CompanyController() {
List<Company> companies = _model.retrieveAllCompanies();
- List<CompanyData> dto = createCompaniesDTO(companies);
- _companyDTOModel.setCompanies(dto);
+ List<CompanyData> dto = createCompaniesData(companies);
+ _companyDataModel.setCompanies(dto);
}
- public List<CompanyData> createCompaniesDTO(List<Company> companies) {
- List<CompanyData> dtos = new ArrayList<CompanyData>();
+ public List<CompanyData> createCompaniesData(List<Company> companies) {
+ List<CompanyData> datas = 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);
+ CompanyData data = new CompanyData(company, addresses);
+ datas.add(data);
}
- return dtos;
+ return datas;
}
- public void createWindowCompanyForm(CompanyData company) throws SuspendNotAllowedException, InterruptedException {
+ public void createWindowCompanyForm(CompanyData companyData) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
- if (company != null) {
- map.put("company", company);
+ if (companyData != null) {
+ map.put("companyData", companyData);
}
Window win = (Window) Executions.createComponents("companyFormPage.zul", null, map);
win.setPage(page);
@@ -122,20 +140,20 @@
return listcell;
}
- public ListitemRenderer getCompanyRenderer() {
+ public ListitemRenderer getCompanyDataRenderer() {
return new ListitemRenderer() {
@Override
public void render(Listitem item, Object data) throws Exception {
item.setValue(data);
- final CompanyData companyDTO = (CompanyData) data;
+ final CompanyData companyData = (CompanyData) data;
- 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 nameCell = new Listcell(companyData.getCompany().getName());
+ Listcell webSiteCell = new Listcell(companyData.getCompany().getWebSite());
+ Listcell phoneFaxCell = phonesFaxRenderer(companyData);
+ Listcell emailCell = emailsRenderer(companyData);
+ Listcell addressCell = addressesRenderer(companyData);
+ Listcell typeCell = new Listcell(companyData.getCompany().getType());
Listcell detailsCell = new Listcell();
Button details = new Button("details");
detailsCell.appendChild(details);
@@ -143,7 +161,7 @@
@Override
public void onEvent(Event event) throws Exception {
- createWindowCompanyForm(companyDTO);
+ createWindowCompanyForm(companyData);
}
});
@@ -165,7 +183,7 @@
/*
* Getters
*/
- public CompanyModel getCompanyDTOModel() {
- return _companyDTOModel;
+ public CompanyModel getCompanyModel() {
+ return _companyDataModel;
}
}
Modified: 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 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyData.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,6 +1,25 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
@@ -18,6 +37,9 @@
protected Company company = new CompanyImpl();
+ protected PhonesModel phonesModel = new PhonesModel();
+ protected EmailsModel emailsModel = new EmailsModel();
+
protected AddressesModel addressesModel = new AddressesModel();
protected List<String> removedAddresses = new ArrayList<String>();
@@ -47,6 +69,22 @@
return addressesModel;
}
+ public EmailsModel getEmailsModel() {
+ return emailsModel;
+ }
+
+ public List<Email> getEmails() {
+ return emailsModel.getEmails();
+ }
+
+ public PhonesModel getPhonesModel() {
+ return phonesModel;
+ }
+
+ public List<Phone> getPhones() {
+ return phonesModel.getPhones();
+ }
+
/*
* Setters
*/
@@ -71,4 +109,20 @@
public void setAddressesModel(AddressesModel addr) {
addressesModel = addr;
}
+
+ public void setEmailsModel(EmailsModel emailsModel) {
+ this.emailsModel = emailsModel;
+ }
+
+ public void setPhonesModel(PhonesModel phonesModel) {
+ this.phonesModel = phonesModel;
+ }
+
+ public void setPhones(List<Phone> phones) {
+ phonesModel.setPhones(phones);
+ }
+
+ public void setEmails(List<Email> emails) {
+ emailsModel.setEmails(emails);
+ }
}
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
@@ -29,9 +47,6 @@
protected CompanyData _companyData = new CompanyData();
- protected PhonesModel phonesModel = new PhonesModel();
- protected EmailsModel emailsModel = new EmailsModel();
-
protected Listbox addressListbox;
protected Listbox phoneListbox;
protected Listbox emailListbox;
@@ -59,10 +74,10 @@
_companyData.getAddressesModel().addData(address);
Phone phone = new Phone();
- phonesModel.addData(phone);
+ _companyData.getPhonesModel().addData(phone);
Email email = new Email();
- emailsModel.addData(email);
+ _companyData.getEmailsModel().addData(email);
Button add = new Button("Add");
add.addEventListener("onClick", new EventListener() {
@@ -99,7 +114,7 @@
Phone newPhone = new Phone(values[0], values[1]);
phoneList.add(newPhone);
}
- phonesModel.setPhones(phoneList);
+ _companyData.setPhones(phoneList);
}
public void initEmailsModel() {
@@ -111,7 +126,7 @@
Email newEmail = new Email(values[0], values[1]);
emailList.add(newEmail);
}
- emailsModel.setEmails(emailList);
+ _companyData.setEmails(emailList);
}
protected void addAddresses(boolean update) {
@@ -127,7 +142,7 @@
protected void addEmails() {
String emails = "";
- List<Email> emailList = emailsModel.getEmails();
+ List<Email> emailList = _companyData.getEmails();
for (Email email : emailList) {
emails += email.getName() + ":" + email.getEmail() + ";";
}
@@ -136,7 +151,7 @@
protected void addPhones() {
String phones = "";
- List<Phone> phoneList = phonesModel.getPhones();
+ List<Phone> phoneList = _companyData.getPhones();
for (Phone phone : phoneList) {
phones += phone.getName() + ":" + phone.getPhone() + ";";
}
@@ -183,46 +198,34 @@
public void onClick$addPhone() {
Phone phone = new Phone();
- phonesModel.addData(phone);
+ _companyData.getPhonesModel().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) _companyData.getPhonesModel().getElementAt(size -1);
+ _companyData.getPhonesModel().removeData(phone);
}
}
public void onClick$addEmail() {
Email email = new Email();
- emailsModel.addData(email);
+ _companyData.getEmailsModel().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) _companyData.getEmailsModel().getElementAt(size -1);
+ _companyData.getEmailsModel().removeData(email);
}
}
/*
* Getters
*/
- public AddressesModel getAddressesModel() {
- return _companyData.getAddressesModel();
+ public CompanyData getCompanyData() {
+ return _companyData;
}
-
- public Company getCompany() {
- return _companyData.getCompany();
- }
-
- public PhonesModel getPhonesModel() {
- return phonesModel;
- }
-
- public EmailsModel getEmailsModel() {
- 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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -0,0 +1,67 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.chorem.data.bonzoms.EmploymentContract;
+import org.chorem.data.bonzoms.EmploymentContractImpl;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zkplus.databind.AnnotateDataBinder;
+import org.zkoss.zkplus.databind.DataBinder;
+import org.zkoss.zul.Listbox;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class ContractFormController extends GenericForwardComposer {
+
+ protected ContractsData contractsData = new ContractsData();
+ protected List<EmploymentContract> save = new ArrayList<EmploymentContract>();
+ protected Listbox contractListbox;
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ contractsData = (ContractsData) arg.get("contractsData");
+ save = new ArrayList<EmploymentContract>(contractsData.getContractsList());
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ /*
+ * Events
+ */
+ public void onClick$addContract() {
+ EmploymentContract contract = new EmploymentContractImpl();
+ contractsData.getContractsModel().addData(contract);
+ }
+
+ public void onClick$deleteContract() {
+ int size = contractListbox.getItemCount();
+ if (size > 1) {
+ EmploymentContract contract = (EmploymentContract) contractsData.getContractsModel().getElementAt(size -1);
+ contractsData.getContractsModel().removeData(contract);
+ String id = contract.getWikittyId();
+ if (!id.isEmpty()) {
+ contractsData.getRemovedContracts().add(id);
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public ContractsModel getContractsModel() {
+ return contractsData.getContractsModel();
+ }
+
+ public void onClose() {
+ contractsData.setContractsList(save);
+ }
+
+ public void onClick$save() {
+ self.detach();
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsData.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsData.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsData.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -0,0 +1,39 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.chorem.data.bonzoms.EmploymentContract;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class ContractsData {
+
+ protected ContractsModel contractsModel = new ContractsModel();
+ protected List<String> removedContracts = new ArrayList<String>();
+
+ /*
+ * Setters
+ */
+
+ public void setContractsList(List<EmploymentContract> contracts) {
+ contractsModel.setContracts(contracts);
+ }
+
+ /*
+ * Getters
+ */
+
+ public ContractsModel getContractsModel() {
+ return contractsModel;
+ }
+
+ public List<EmploymentContract> getContractsList() {
+ return contractsModel.getContracts();
+ }
+
+ public List<String> getRemovedContracts() {
+ return removedContracts;
+ }
+}
Modified: 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 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,6 +1,25 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
Modified: 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 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Email.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,13 +1,28 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
-/**
- *
- * @author sherkhan
- */
public class Email {
protected String email = "";
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmailsModel.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,6 +1,25 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
Modified: 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 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeData.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,10 +1,28 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
-import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import org.chorem.data.bonzoms.Address;
@@ -22,20 +40,18 @@
public class EmployeeData {
protected Employee employee = new EmployeeImpl();
- protected Address address = new AddressImpl();
+ protected Address workingAddress = new AddressImpl();
protected PersonData personData = new PersonData();
protected ServiceData serviceData = new ServiceData();
- protected ContractsModel contractsModel = new ContractsModel();
- protected List<String> removedContracts = new ArrayList<String>();
-
+ protected ContractsData contractsData = new ContractsData();
public EmployeeData() {
}
public EmployeeData(Employee employee, Address address) {
this.employee = employee;
- this.address = address;
+ this.workingAddress = address;
}
/*
@@ -49,12 +65,12 @@
this.personData = personData;
}
- public void setAddress(Address address) {
- this.address = address;
+ public void setWorkingAddress(Address address) {
+ this.workingAddress = address;
}
- public void setContractsModelList(List<EmploymentContract> contracts) {
- contractsModel.setContracts(contracts);
+ public void setContractsList(List<EmploymentContract> contracts) {
+ contractsData.getContractsModel().setContracts(contracts);
}
public void setPersonPhones(List<Phone> phones) {
@@ -81,6 +97,15 @@
serviceData.setAddress(address);
}
+ public void setContractsData(ContractsData contractsData) {
+ this.contractsData = contractsData;
+ }
+
+ public void setServiceData(ServiceData serviceData) {
+ this.serviceData = serviceData;
+ }
+
+
/*
* Getters
*/
@@ -92,20 +117,20 @@
return personData;
}
- public Address getAddress() {
- return address;
+ public Address getWorkingAddress() {
+ return workingAddress;
}
public ContractsModel getContractsModel() {
- return contractsModel;
+ return contractsData.getContractsModel();
}
- public List<EmploymentContract> getContractsModelList() {
- return contractsModel.getContracts();
+ public List<EmploymentContract> getContractsList() {
+ return contractsData.getContractsList();
}
public List<String> getRemovedContracts() {
- return removedContracts;
+ return contractsData.getRemovedContracts();
}
public Person getPerson() {
@@ -151,4 +176,8 @@
public Address getServiceAddress() {
return serviceData.getAddress();
}
+
+ public ContractsData getContractsData() {
+ return contractsData;
+ }
}
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,22 +1,46 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
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.AddressImpl;
+import org.chorem.data.bonzoms.EmploymentContract;
+import org.chorem.data.bonzoms.EmploymentContractImpl;
+import org.chorem.data.bonzoms.Service;
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;
+import org.zkoss.zk.ui.Executions;
+import org.zkoss.zk.ui.SuspendNotAllowedException;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
-import org.zkoss.zul.Button;
import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Window;
/**
*
@@ -60,16 +84,8 @@
Email email = new Email();
_employeeData.getPersonEmailsModel().addData(email);
- Button add = new Button("Add");
- add.setId("addEmployee");
- add.addEventListener("onClick", new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- onClick$addEmployee();
- }
- });
- self.appendChild(add);
+ EmploymentContract contract = new EmploymentContractImpl();
+ _employeeData.getContractsModel().addData(contract);
}
protected void initPerson() {
@@ -104,30 +120,44 @@
}
protected void initService() {
-
+ Service service = _model.retrieveServiceById(_employeeData.getEmployee().getService());
+ Address address = _model.retrieveAddressById(service.getAddress());
+ _employeeData.setService(service);
+ _employeeData.setServiceAddress(address);
}
+ protected void initContracts() {
+ List<String> ids = new ArrayList<String>(_employeeData.getEmployee().getEmploymentContract());
+ List<EmploymentContract> contracts = _model.retrieveContractsByIds(ids);
+ _employeeData.setContractsList(contracts);
+ }
+
protected void initEmployee(EmployeeData employee) {
_employeeData = employee;
-
Address workingAddress = _model.retrieveAddressById(employee.getEmployee().getAddress());
- _employeeData.setAddress(workingAddress);
+ _employeeData.setWorkingAddress(workingAddress);
- Button update = new Button("Update");
- update.setId("updateEmployee");
- update.addEventListener("onClick", new EventListener() {
+ initPerson();
- @Override
- public void onEvent(Event event) throws Exception {
- onClick$updateEmployee();
- }
- });
- self.appendChild(update);
+ initService();
+
+ initContracts();
}
- protected void addPersonAddresses(boolean update) {
+ protected void addEmployeeContracts() {
+ List<EmploymentContract> contracts = _model.createContracts(_employeeData.getContractsList());
+ if (!_employeeData.getRemovedContracts().isEmpty()) {
+ _model.deleteContractsByIds(_employeeData.getRemovedContracts());
+ }
+ _employeeData.getContractsList().clear();
+ for (EmploymentContract contract : contracts) {
+ _employeeData.getEmployee().addEmploymentContract(contract.getWikittyId());
+ }
+ }
+
+ protected void addPersonAddresses() {
List<Address> addresses = _model.createAddresses(_employeeData.getPersonAddresses());
- if (update == true) {
+ if (!_employeeData.getPersonRemovedAddresses().isEmpty()) {
_model.deleteAddressesByIds(_employeeData.getPersonRemovedAddresses());
}
_employeeData.getPerson().clearAddress();
@@ -136,7 +166,7 @@
}
}
- protected void addPersonEmails(boolean update) {
+ protected void addPersonEmails() {
String emails = "";
List<Email> emailList = _employeeData.getPersonEmails();
for (Email email : emailList) {
@@ -145,7 +175,7 @@
_employeeData.getPerson().setEmails(emails);
}
- protected void addPersonPhones(boolean update) {
+ protected void addPersonPhones() {
String phones = "";
List<Phone> phoneList = _employeeData.getPersonPhones();
for (Phone phone : phoneList) {
@@ -200,27 +230,39 @@
}
}
- public void onClick$updateEmployee() {
- addPersonAddresses(true);
- addPersonPhones(true);
- addPersonEmails(true);
+ public void onClick$saveEmployee() {
+ addPersonAddresses();
+ addPersonPhones();
+ addPersonEmails();
- _model.updateAddress(_employeeData.getAddress());
+ addEmployeeContracts();
+ Address workingAddress = _model.updateAddress(_employeeData.getWorkingAddress());
+ _employeeData.getEmployee().setAddress(workingAddress.getWikittyId());
+
+ Service service = _model.updateService(_employeeData.getService());
+ _employeeData.getEmployee().setService(service.getWikittyId());
+
_model.updateEmployee(_employeeData.getEmployee());
this.self.detach();
}
- public void onClick$addEmployee() {
- addPersonAddresses(false);
- addPersonPhones(false);
- addPersonEmails(false);
+ public void onClick$editContracts() throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("contractsData", _employeeData.getContractsData());
+ Window win = (Window) Executions.createComponents("contractFormPage.zul", null, map);
+ win.setPage(page);
+ win.setPosition("right,center");
+ win.doModal();
+ }
- Address workingAddress = _model.createAddress(_employeeData.getAddress());
- _employeeData.getEmployee().setAddress(workingAddress.getWikittyId());
-
- _model.createEmployee(_employeeData.getEmployee());
- this.self.detach();
+ public void onClick$editService() throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("serviceData", _employeeData.getServiceData());
+ Window win = (Window) Executions.createComponents("serviceFormPage.zul", null, map);
+ win.setPage(page);
+ win.setPosition("left,center");
+ win.doModal();
}
/*
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/FieldExtension.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/FieldExtension.java 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/FieldExtension.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,4 +1,27 @@
/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,6 +1,25 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,6 +1,25 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
@@ -9,11 +28,11 @@
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.Company;
import org.chorem.data.bonzoms.Employee;
+import org.chorem.data.bonzoms.EmploymentContract;
import org.chorem.data.bonzoms.Person;
+import org.chorem.data.bonzoms.Service;
import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.search.Element;
import org.nuiton.wikitty.search.Search;
@@ -49,6 +68,11 @@
proxy.store(company);
}
+ public List<EmploymentContract> createContracts(List<EmploymentContract> contractsList) {
+ List<EmploymentContract> wikitties = proxy.store(contractsList);
+ return wikitties;
+ }
+
/*
* Retrieve
*/
@@ -79,38 +103,55 @@
return new ArrayList<Address>(addresses);
}
+ public Service retrieveServiceById(String id) {
+ return proxy.restore(Service.class, id);
+ }
+
+ public List<EmploymentContract> retrieveContractsByIds(List<String> ids) {
+ List<EmploymentContract> contracts = proxy.restore(EmploymentContract.class, ids);
+ return new ArrayList<EmploymentContract>(contracts);
+ }
+
/*
* Update
*/
- public List<Address> updatePersonAddresses(List<Address> addresses) {
- List<Address> wikitties = proxy.store(addresses);
- return wikitties;
- }
+ public List<Address> updatePersonAddresses(List<Address> addresses) {
+ List<Address> wikitties = proxy.store(addresses);
+ return wikitties;
+ }
- public Address updateAddress(Address address) {
- return proxy.store(address);
- }
+ public Address updateAddress(Address address) {
+ return proxy.store(address);
+ }
- public Employee updateEmployee(Employee employee) {
- return proxy.store(employee);
- }
+ public Employee updateEmployee(Employee employee) {
+ return proxy.store(employee);
+ }
- public Company updateCompany(Company company) {
- return proxy.store(company);
- }
+ public Company updateCompany(Company company) {
+ return proxy.store(company);
+ }
+ public Service updateService(Service service) {
+ return proxy.store(service);
+ }
+
/*
* Delete
*/
- public void deleteAddressesByIds(List<String> ids) {
- proxy.delete(ids);
- }
+ public void deleteAddressesByIds(List<String> ids) {
+ proxy.delete(ids);
+ }
- public void deletePhonesByIds(List<String> ids) {
- proxy.delete(ids);
- }
+ public void deletePhonesByIds(List<String> ids) {
+ proxy.delete(ids);
+ }
- public void deleteEmailsByIds(List<String> ids) {
- proxy.delete(ids);
- }
+ public void deleteEmailsByIds(List<String> ids) {
+ proxy.delete(ids);
+ }
+
+ public void deleteContractsByIds(List<String> removedContracts) {
+ proxy.delete(removedContracts);
+ }
}
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,4 +1,27 @@
/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
Modified: 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 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonData.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,6 +1,25 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
Modified: 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 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Phone.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,6 +1,25 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
package org.chorem.bonzoms.ui;
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-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PhonesModel.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,4 +1,27 @@
/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
Modified: 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 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceData.java 2010-07-16 15:34:30 UTC (rev 106)
@@ -1,8 +1,26 @@
/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
*/
-
package org.chorem.bonzoms.ui;
import org.chorem.data.bonzoms.Address;
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-07-16 15:34:30 UTC (rev 106)
@@ -11,23 +11,23 @@
<vbox>
<label value="Name" />
- <textbox value="@{composer.company.name, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.name, save-when='self.onChange'}" />
<label value="Type" />
- <textbox value="@{composer.company.type, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.type, save-when='self.onChange'}" />
<label value="Fax" />
- <textbox value="@{composer.company.fax, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.fax, save-when='self.onChange'}" />
<label value="Web site" />
- <textbox value="@{composer.company.webSite, save-when='self.onChange'}" />
+ <textbox value="@{composer.companyData.company.webSite, save-when='self.onChange'}" />
</vbox>
<space />
<vbox>
- <listbox id="addressListbox" model="@{composer.addressesModel}" width="200px">
+ <listbox id="addressListbox" model="@{composer.companyData.addressesModel}" width="200px">
<listitem self="@{each='address'}">
<listcell>
<groupbox>
@@ -69,7 +69,7 @@
<groupbox>
<caption label="Phones" />
- <listbox id="phoneListbox" model="@{composer.phonesModel}" width="310px">
+ <listbox id="phoneListbox" model="@{composer.companyData.phonesModel}" width="310px">
<listhead sizable="true">
<listheader label="Name" />
<listheader label="Phone Number" />
@@ -79,7 +79,7 @@
<textbox value="@{phone.name, save-when='self.onChange'}" />
</listcell>
<listcell>
- <textbox value="@{phone.number, save-when='self.onChange'}" />
+ <textbox value="@{phone.phone, save-when='self.onChange'}" />
</listcell>
</listitem>
</listbox>
@@ -96,7 +96,7 @@
<groupbox>
<caption label="Emails" />
- <listbox id="emailListbox" model="@{composer.emailsModel}" width="310px">
+ <listbox id="emailListbox" model="@{composer.companyData.emailsModel}" width="310px">
<listhead sizable="true">
<listheader label="Name" />
<listheader label="Email" />
@@ -106,7 +106,7 @@
<textbox value="@{mail.name, save-when='self.onChange'}" />
</listcell>
<listcell>
- <textbox value="@{mail.mail, save-when='self.onChange'}" />
+ <textbox value="@{mail.email, save-when='self.onChange'}" />
</listcell>
</listitem>
</listbox>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-16 15:34:30 UTC (rev 106)
@@ -5,7 +5,7 @@
<window id="company" apply="org.chorem.bonzoms.ui.CompanyController">
Companies: <toolbarbutton id="newCompany" label="Add new company" />
<listbox autopaging="true" mold="paging" id="companyListBox" rows="20" model="@{company$composer.companyModel}"
- itemRenderer="@{company$composer.companyRenderer}">
+ itemRenderer="@{company$composer.companyDataRenderer}">
<listhead>
<listheader label="Name" />
<listheader label="Web site" />
Added: trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-07-16 15:34:30 UTC (rev 106)
@@ -0,0 +1,71 @@
+<?page id="ContractForm" title="Contract form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
+
+<window closable="true" maximizable="true" sizable="true" height="500px" width="450px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ContractFormController">
+<caption label="Contract"/>
+
+ <groupbox>
+ <caption label="Contracts informations" />
+
+ <hbox>
+
+ <vbox>
+
+ <listbox id="contractListbox" model="@{composer.contractsModel}" width="400px">
+ <listitem self="@{each='contract'}">
+ <listcell>
+ <groupbox>
+ <caption label="@{contract.type}" />
+
+ <hbox>
+
+ <vbox>
+
+ <label value="Type" />
+ <textbox value="@{contract.type, save-when='save.onClick'}" />
+
+ <label value="Salary" />
+ <doublebox value="@{contract.salary, save-when='save.onClick'}" />
+
+ <label value="Working time" />
+ <textbox value="@{contract.workingTime, save-when='save.onClick'}" />
+
+ <label value="Advantages" />
+ <textbox value="@{contract.advantages, save-when='save.onClick'}" />
+
+ </vbox>
+
+ <space />
+
+ <vbox>
+ <label value="Name" />
+ <textbox value="@{contract.name, save-when='save.onClick'}" />
+
+ <label value="Start" />
+ <datebox value="@{contract.start, save-when='save.onClick'}" />
+
+ <label value="End" />
+ <datebox value="@{contract.start, save-when='save.onClick'}" />
+
+ <label value="Description" />
+ <textbox rows="5" value="@{contract.description, save-when='save.onClick'}" />
+
+ </vbox>
+
+ </hbox>
+ </groupbox>
+ </listcell>
+ </listitem>
+ </listbox>
+ <hbox>
+ <button label="Add contract" id="addContract" />
+ <button label="Delete contract" id="deleteContract" />
+ </hbox>
+
+ </vbox>
+
+ </hbox>
+ </groupbox>
+ <button id="save" label="save" />
+
+</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-16 15:34:30 UTC (rev 106)
@@ -9,32 +9,32 @@
<hbox>
<vbox>
<label value="email" />
- <textbox value="@{composer.employee.workingEmail, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.employee.workingEmail, save-when='saveEmployee.onClick'}" constraint="/.+@.+\.[a-z]+/" />
<label value="Phone number" />
- <textbox value="@{composer.employee.workingPhone, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.employee.workingPhone, save-when='saveEmployee.onClick'}" />
<separator />
- <toolbarbutton id="newContract" label="Add new contract" />
+ <toolbarbutton id="editContracts" label="Edit contracts" />
<separator />
- <toolbarbutton id="newService" label="Add new service" />
+ <toolbarbutton id="editService" label="Edit service" />
</vbox>
<groupbox>
<caption label="Working address" />
<vbox>
<label value="Adress1" />
- <textbox value="@{composer.workingAddress.address1, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.workingAddress.address1, save-when='saveEmployee.onClick'}" />
<label value="Adress2" />
- <textbox value="@{composer.workingAddress.address2, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.workingAddress.address2, save-when='saveEmployee.onClick'}" />
<label value="Zip code" />
- <textbox value="@{composer.workingAddress.zipCode, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.workingAddress.zipCode, save-when='saveEmployee.onClick'}" />
<label value="City" />
- <textbox value="@{composer.workingAddress.city, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.workingAddress.city, save-when='saveEmployee.onClick'}" />
<label value="Country" />
- <textbox value="@{composer.workingAddress.country, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.workingAddress.country, save-when='saveEmployee.onClick'}" />
</vbox>
</groupbox>
</hbox>
@@ -47,66 +47,72 @@
<hbox>
<vbox>
<label value="First name" />
- <textbox value="@{composer.employee.firstName, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.person.firstName, save-when='saveEmployee.onClick'}" />
<label value="Last name" />
- <textbox value="@{composer.employee.lastName, save-when='self.onChange'}" />
+ <textbox value="@{composer.employeeData.person.lastName, save-when='saveEmployee.onClick'}" />
<label value="Birthday" />
- <datebox value="@{composer.employee.birthDay, save-when='self.onChange'}" />
- <label value="Email" />
- <textbox value="@{composer.employee.workingEmail, save-when='self.onChange'}" constraint="/.+@.+\.[a-z]+/" />
- <hbox>
- <button label="Add address " id="addAddress" /> <button label="Delete address" id="deleteAddress" />
- </hbox>
+ <datebox value="@{composer.employeeData.person.birthDay, save-when='saveEmployee.onClick'}" />
</vbox>
- <listbox id="addressListbox" model="@{composer.addressesModel}" width="200px">
- <listitem self="@{each='address'}">
- <listcell>
- <groupbox>
- <caption label="@{address.name}" />
- <vbox>
+ <space />
- <label value="Name" />
- <textbox value="@{address.name, save-when='self.onChange'}" />
+ <vbox>
+ <listbox id="addressListbox" model="@{composer.employeeData.personAddressesModel}" width="200px">
+ <listitem self="@{each='address'}">
+ <listcell>
+ <groupbox>
+ <caption label="@{address.name}" />
+ <vbox>
- <label value="Adress1" />
- <textbox value="@{address.address1, save-when='self.onChange'}" />
+ <label value="Name" />
+ <textbox value="@{address.name, save-when='saveEmployee.onClick'}" />
- <label value="Adress2" />
- <textbox value="@{address.address2, save-when='self.onChange'}" />
+ <label value="Adress1" />
+ <textbox value="@{address.address1, save-when='saveEmployee.onClick'}" />
- <label value="Zip code" />
- <textbox value="@{address.zipCode, save-when='self.onChange'}" />
+ <label value="Adress2" />
+ <textbox value="@{address.address2, save-when='saveEmployee.onClick'}" />
- <label value="City" />
- <textbox value="@{address.city, save-when='self.onChange'}" />
+ <label value="Zip code" />
+ <textbox value="@{address.zipCode, save-when='saveEmployee.onClick'}" />
- <label value="Country" />
- <textbox value="@{address.country, save-when='self.onChange'}" />
+ <label value="City" />
+ <textbox value="@{address.city, save-when='saveEmployee.onClick'}" />
- </vbox>
- </groupbox>
- </listcell>
- </listitem>
- </listbox>
+ <label value="Country" />
+ <textbox value="@{address.country, save-when='saveEmployee.onClick'}" />
+
+ </vbox>
+ </groupbox>
+ </listcell>
+ </listitem>
+ </listbox>
+ <hbox>
+ <button label="Add address " id="addAddress" />
+ <button label="Delete address" id="deleteAddress" />
+ </hbox>
+ </vbox>
+
</hbox>
+ <separator/>
+
<vbox>
<groupbox width="330px">
<caption label="Phones" />
- <listbox id="phoneListbox" model="@{composer.phonesModel}" width="310px">
+ <listbox id="phoneListbox" model="@{composer.employeeData.personPhonesModel}" width="310px">
<listhead sizable="true">
<listheader label="Name" />
<listheader label="Phone Number" />
</listhead>
<listitem self="@{each='phone'}">
<listcell>
- <textbox value="@{phone.name, save-when='self.onChange'}" />
+ <textbox value="@{phone.name, save-when='saveEmployee.onClick'}" />
</listcell>
<listcell>
- <textbox value="@{phone.number, save-when='self.onChange'}" />
+ <textbox value="@{phone.phone, save-when='saveEmployee.onClick'}" />
</listcell>
</listitem>
</listbox>
@@ -117,21 +123,23 @@
</groupbox>
+ <separator/>
+
<groupbox width="330px">
<caption label="Emails" />
- <listbox id="emailListbox" model="@{composer.emailsModel}" width="310px">
+ <listbox id="emailListbox" model="@{composer.employeeData.personEmailsModel}" width="310px">
<listhead sizable="true">
<listheader label="Name" />
<listheader label="Email" />
</listhead>
<listitem self="@{each='mail'}">
<listcell>
- <textbox value="@{mail.name, save-when='self.onChange'}" />
+ <textbox value="@{mail.name, save-when='saveEmployee.onClick'}" />
</listcell>
<listcell>
- <textbox value="@{mail.mail, save-when='self.onChange'}" />
+ <textbox value="@{mail.email, save-when='saveEmployee.onClick'}" />
</listcell>
</listitem>
</listbox>
@@ -144,4 +152,5 @@
</vbox>
</groupbox>
+ <button id="saveEmployee" label="Save" />
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/transaction.log
===================================================================
--- trunk/bonzoms-ui-zk/transaction.log 2010-07-15 12:16:36 UTC (rev 105)
+++ trunk/bonzoms-ui-zk/transaction.log 2010-07-16 15:34:30 UTC (rev 106)
@@ -390,3 +390,45 @@
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
+2010-07-16 10:31:49,226 [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 60791
+2010-07-16 10:31:49,258 [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: 60 791
+2010-07-16 10:31:49,337 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 60791 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 10:34:07,524 [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 54226
+2010-07-16 10:34:07,526 [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 226
+2010-07-16 10:34:07,578 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 54226 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 10:40:18,457 [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 51345
+2010-07-16 10:40:18,459 [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: 51 345
+2010-07-16 10:40:18,515 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 51345 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:07:15,442 [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 43368
+2010-07-16 15:07:15,446 [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: 43 368
+2010-07-16 15:07:15,503 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 43368 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:13:33,827 [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 47957
+2010-07-16 15:13:33,830 [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 957
+2010-07-16 15:13:33,900 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 47957 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:16:26,980 [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 52547
+2010-07-16 15:16:26,983 [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 547
+2010-07-16 15:16:27,046 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 52547 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:20:45,558 [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 36830
+2010-07-16 15:20:45,560 [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 830
+2010-07-16 15:20:45,644 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 36830 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:23:42,744 [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 39169
+2010-07-16 15:23:42,747 [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: 39 169
+2010-07-16 15:23:42,814 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 39169 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:24:43,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 50179
+2010-07-16 15:24:43,202 [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: 50 179
+2010-07-16 15:24:43,241 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 50179 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:25:33,175 [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 60635
+2010-07-16 15:25:33,177 [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: 60 635
+2010-07-16 15:25:33,230 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 60635 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:27:17,492 [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 34071
+2010-07-16 15:27:17,495 [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 071
+2010-07-16 15:27:17,551 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 34071 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 15:29:02,862 [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 38098
+2010-07-16 15:29:02,864 [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: 38 098
+2010-07-16 15:29:02,909 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 38098 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 16:20:03,761 [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 59447
+2010-07-16 16:20:03,763 [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 447
+2010-07-16 16:20:03,827 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 59447 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-16 16:38:52,518 [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 41080
+2010-07-16 16:38:52,519 [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 080
+2010-07-16 16:38:52,566 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 41080 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
1
0
r105 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 15 Jul '10
by bbrossaud@users.chorem.org 15 Jul '10
15 Jul '10
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
1
0
r104 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp
by bbrossaud@users.chorem.org 12 Jul '10
by bbrossaud@users.chorem.org 12 Jul '10
12 Jul '10
Author: bbrossaud
Date: 2010-07-12 18:01:09 +0200 (Mon, 12 Jul 2010)
New Revision: 104
Url: http://chorem.org/repositories/revision/bonzoms/104
Log:
addition missing files
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmailsModel.java
trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-07-12 16:01:09 UTC (rev 104)
@@ -0,0 +1,131 @@
+/*
+ * 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.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.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zkplus.databind.AnnotateDataBinder;
+import org.zkoss.zkplus.databind.DataBinder;
+import org.zkoss.zul.Button;
+import org.zkoss.zul.Listbox;
+
+/**
+ *
+ * @author sherkhan
+ */
+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 Company _company = new CompanyImpl();
+
+ protected Listbox addressListbox;
+ protected Listbox phoneListbox;
+ protected Listbox emailListbox;
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ Company company = (Company) arg.get("company");
+ init(company);
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ protected void init(Company company) {
+ if (company == null) {
+ initDefaultCompany();
+ } else {
+ initCompany(company);
+ }
+ }
+
+ protected void initDefaultCompany() {
+ Address address = new AddressImpl();
+ _addressesModel.addData(address);
+
+ Phone phone = new PhoneImpl();
+ _phonesModel.addData(phone);
+
+ Email email = new EmailImpl();
+ _emailsModel.addData(email);
+
+ Button add = new Button("Add");
+ add.addEventListener("onClick", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ addCompany();
+ }
+ });
+ 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);
+
+ Button update = new Button("Update");
+ update.addEventListener("onClick", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ updateCompany();
+ }
+ });
+ self.appendChild(update);
+ }
+
+ protected void addCompany() {
+
+ }
+
+ protected void updateCompany() {
+
+ }
+
+ /*
+ * Getters
+ */
+ public AddressesModel getAddressesModel() {
+ return _addressesModel;
+ }
+
+ public Company getCompany() {
+ return _company;
+ }
+
+ public PhonesModel getPhonesModel() {
+ return _phonesModel;
+ }
+
+ public EmailsModel getEmailsModel() {
+ return _emailsModel;
+ }
+}
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmailsModel.java 2010-07-12 16:01:09 UTC (rev 104)
@@ -0,0 +1,61 @@
+/*
+ * 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.Email;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class EmailsModel extends AbstractListModel implements BindingListModel {
+
+ List<Email> _emails = new ArrayList<Email>();
+
+ @Override
+ public Object getElementAt(int index) {
+ return _emails.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return _emails.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ return _emails.indexOf(obj);
+ }
+
+ public void setEmails(List<Email> Emailes) {
+ _emails = Emailes;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(Email newData) {
+ _emails.add(newData);
+ fireEvent(ListDataEvent.INTERVAL_ADDED, _emails.size() - 1, _emails.size() - 1);
+ }
+
+ public void removeData(Email data) {
+ int interval = _emails.indexOf(data);
+ _emails.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public List<Email> getEmails() {
+ return _emails;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-07-12 16:01:09 UTC (rev 104)
@@ -0,0 +1,107 @@
+<?page id="CompanyForm" title="Company form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
+
+<window closable="true" maximizable="true" sizable="true" height="500px" width="400" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.CompanyFormController">
+<caption label="Company"/>
+
+ <groupbox>
+ <caption label="Company informations" />
+
+ <hbox>
+ <vbox>
+
+ <label value="Name" />
+ <textbox value="@{composer.company.name, save-when='self.onChange'}" />
+
+ <label value="Type" />
+ <textbox value="@{composer.company.type, save-when='self.onChange'}" />
+
+ <label value="Fax" />
+ <textbox value="@{composer.company.fax, save-when='self.onChange'}" />
+
+ <label value="Web site" />
+ <textbox value="@{composer.company.webSite, save-when='self.onChange'}" />
+
+ </vbox>
+
+ <space />
+
+ <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="Adress1" />
+ <textbox value="@{address.address1, 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="City" />
+ <textbox value="@{address.city, save-when='self.onChange'}" />
+
+ <label value="Country" />
+ <textbox value="@{address.country, save-when='self.onChange'}" />
+
+ </vbox>
+ </groupbox>
+ </listcell>
+ </listitem>
+ </listbox>
+ </hbox>
+
+ <separator/>
+
+ <groupbox>
+ <caption label="Phones" />
+
+ <listbox id="phoneListbox" model="@{composer.phonesModel}" width="310px">
+ <listhead sizable="true">
+ <listheader label="Name" />
+ <listheader label="Phone Number" />
+ </listhead>
+ <listitem self="@{each='phone'}">
+ <listcell>
+ <textbox value="@{phone.name, save-when='self.onChange'}" />
+ </listcell>
+ <listcell>
+ <textbox value="@{phone.number, save-when='self.onChange'}" />
+ </listcell>
+ </listitem>
+ </listbox>
+
+ </groupbox>
+
+ <separator/>
+
+ <groupbox>
+ <caption label="Emails" />
+
+ <listbox id="emailListbox" model="@{composer.emailsModel}" width="310px">
+ <listhead sizable="true">
+ <listheader label="Name" />
+ <listheader label="Mail" />
+ </listhead>
+ <listitem self="@{each='mail'}">
+ <listcell>
+ <textbox value="@{mail.name, save-when='self.onChange'}" />
+ </listcell>
+ <listcell>
+ <textbox value="@{mail.mail, save-when='self.onChange'}" />
+ </listcell>
+ </listitem>
+ </listbox>
+
+ </groupbox>
+
+ </groupbox>
+
+</window>
\ No newline at end of file
1
0
r103 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 12 Jul '10
by bbrossaud@users.chorem.org 12 Jul '10
12 Jul '10
Author: bbrossaud
Date: 2010-07-12 18:00:23 +0200 (Mon, 12 Jul 2010)
New Revision: 103
Url: http://chorem.org/repositories/revision/bonzoms/103
Log:
addition company form
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java
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/AddressesModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java 2010-07-12 13:31:49 UTC (rev 102)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java 2010-07-12 16:00:23 UTC (rev 103)
@@ -35,7 +35,7 @@
return _addresses.indexOf(obj);
}
- public void setEmployees(List<Address> addresses) {
+ public void setAddresses(List<Address> addresses) {
_addresses = addresses;
fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
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 13:31:49 UTC (rev 102)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-12 16:00:23 UTC (rev 103)
@@ -5,14 +5,23 @@
package org.chorem.bonzoms.ui;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.chorem.data.bonzoms.Company;
+import org.chorem.data.bonzoms.Phone;
+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.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Window;
/**
*
@@ -20,6 +29,7 @@
*/
public class CompanyController extends GenericForwardComposer {
protected Model _model = new Model();
+
protected CompanyModel _companyModel = new CompanyModel();
public CompanyController() {
@@ -27,10 +37,25 @@
_companyModel.setCompanies(companies);
}
+ public void createWindowCompanyForm(Company company) throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (company != null) {
+ map.put("company", company);
+ }
+ Window win = (Window) Executions.createComponents("companyFormPage.zul", null, map);
+ win.setPage(page);
+// win.doHighlighted();
+ win.setPosition("center");
+// win.doOverlapped();
+ win.doModal();
+ }
+
/*
* Events
*/
-
+ public void onClick$newCompany() throws SuspendNotAllowedException, InterruptedException {
+ createWindowCompanyForm(null);
+ }
/*
* Renderers
*/
@@ -44,20 +69,25 @@
Listcell nameCell = new Listcell(company.getName());
Listcell webSiteCell = new Listcell(company.getWebSite());
- Listcell phoneFaxCell = new Listcell(company.getPhone()+"/"+company.getFax());
+ 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 detailsCell = new Listcell();
Button details = new Button("details");
detailsCell.appendChild(details);
-// details.addEventListener("onClick", new EventListener() {
-//
-// @Override
-// public void onEvent(Event event) throws Exception {
-// createWindowEmployeeForm(employee);
-// }
-// });
+ details.addEventListener("onClick", new EventListener() {
+ @Override
+ public void onEvent(Event event) throws Exception {
+ createWindowCompanyForm(company);
+ }
+ });
+
item.appendChild(nameCell);
item.appendChild(webSiteCell);
item.appendChild(phoneFaxCell);
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 13:31:49 UTC (rev 102)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-12 16:00:23 UTC (rev 103)
@@ -43,7 +43,6 @@
}
Window win = (Window) Executions.createComponents("employeeFormPage.zul", null, map);
win.setPage(page);
- win.doHighlighted();
win.setPosition("center");
// win.doOverlapped();
win.doModal();
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 13:31:49 UTC (rev 102)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-07-12 16:00:23 UTC (rev 103)
@@ -6,7 +6,6 @@
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.AddressImpl;
import org.chorem.data.bonzoms.Email;
@@ -16,10 +15,8 @@
import org.chorem.data.bonzoms.Phone;
import org.chorem.data.bonzoms.PhoneImpl;
import org.zkoss.zk.ui.Component;
-import org.zkoss.zk.ui.event.CreateEvent;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
-import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
@@ -88,13 +85,13 @@
protected void initEmployee(Employee employee) {
_employee = employee;
List<Address> addresses = _model.retrieveAddressesByAddressIds(new ArrayList<String>(employee.getAddress()));
- _addressesModel.setEmployees(addresses);
+ _addressesModel.setAddresses(addresses);
List<Phone> phones = _model.retrievePhonesByPhoneIds(new ArrayList<String>(employee.getPhone()));
_phonesModel.setPhones(phones);
List<Email> emails = _model.retrieveEmailsByEmailIds(new ArrayList<String>(employee.getEmail()));
- _emailsModel.setemails(emails);
+ _emailsModel.setEmails(emails);
_workingAddress = _model.retrieveAddressByAddressId(employee.getWorkingAddress());
Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-12 13:31:49 UTC (rev 102)
+++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-12 16:00:23 UTC (rev 103)
@@ -1,8 +1,7 @@
<?page id="employeeForm" title="Employee form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<window closable="true" minimizable="true" minimized="false" maximizable="true"
- sizable="true" height="500px" width="400" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.EmployeeFormController">
+<window closable="true" maximizable="true" sizable="true" height="500px" width="400" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.EmployeeFormController">
<caption label="Employee"/>
<groupbox>
Modified: trunk/bonzoms-ui-zk/transaction.log
===================================================================
--- trunk/bonzoms-ui-zk/transaction.log 2010-07-12 13:31:49 UTC (rev 102)
+++ trunk/bonzoms-ui-zk/transaction.log 2010-07-12 16:00:23 UTC (rev 103)
@@ -348,3 +348,24 @@
2010-07-12 15:25:44,083 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@1254e47
2010-07-12 15:25:44,610 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@1e776cc
2010-07-12 15:25:45,017 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@1d93f39
+2010-07-12 15:54:37,200 [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 57798
+2010-07-12 15:54:37,202 [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 798
+2010-07-12 15:54:37,255 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 57798 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 17:37:11,812 [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 38886
+2010-07-12 17:37:11,816 [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: 38 886
+2010-07-12 17:37:11,876 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 38886 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 17:39:43,735 [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 47890
+2010-07-12 17:39:43,737 [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 890
+2010-07-12 17:39:43,787 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 47890 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 17:42:41,890 [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 52889
+2010-07-12 17:42:41,892 [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 889
+2010-07-12 17:42:41,973 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 52889 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 17:45:39,917 [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 48348
+2010-07-12 17:45:39,919 [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: 48 348
+2010-07-12 17:45:39,977 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 48348 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 17:49:17,173 [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 42715
+2010-07-12 17:49:17,177 [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: 42 715
+2010-07-12 17:49:17,229 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 42715 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+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
1
0
r102 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 12 Jul '10
by bbrossaud@users.chorem.org 12 Jul '10
12 Jul '10
Author: bbrossaud
Date: 2010-07-12 15:31:49 +0200 (Mon, 12 Jul 2010)
New Revision: 102
Url: http://chorem.org/repositories/revision/bonzoms/102
Log:
addition modal window
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/EmployeeFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java
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/EmployeeController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-09 13:48:00 UTC (rev 101)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-07-12 13:31:49 UTC (rev 102)
@@ -9,6 +9,7 @@
import java.util.Map;
import org.chorem.data.bonzoms.Employee;
import org.zkoss.zk.ui.Executions;
+import org.zkoss.zk.ui.SuspendNotAllowedException;
import org.zkoss.zk.ui.event.CreateEvent;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
@@ -35,15 +36,17 @@
_employeeModel.setEmployees(employees);
}
- public void createWindowEmployeeForm(Employee employee) {
+ public void createWindowEmployeeForm(Employee employee) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (employee != null) {
map.put("employee", employee);
}
Window win = (Window) Executions.createComponents("employeeFormPage.zul", null, map);
win.setPage(page);
- win.setPosition("top,left");
- win.doOverlapped();
+ win.doHighlighted();
+ win.setPosition("center");
+// win.doOverlapped();
+ win.doModal();
}
/*
@@ -59,7 +62,7 @@
Listcell firstNameCell = new Listcell(employee.getFirstName());
Listcell lastNameCell = new Listcell(employee.getLastName());
- Listcell emailCell = new Listcell(employee.getEmail());
+ Listcell emailCell = new Listcell(employee.getWorkingEmail());
Listcell phoneCell = new Listcell(employee.getWorkingPhone());
Listcell detailsCell = new Listcell();
Button details = new Button("details");
@@ -88,7 +91,7 @@
public void onCreate$employee(Event event) {
}
- public void onClick$newEmployee() {
+ public void onClick$newEmployee() throws SuspendNotAllowedException, InterruptedException {
createWindowEmployeeForm(null);
}
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-09 13:48:00 UTC (rev 101)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-07-12 13:31:49 UTC (rev 102)
@@ -7,9 +7,10 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
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;
@@ -24,7 +25,6 @@
import org.zkoss.zkplus.databind.DataBinder;
import org.zkoss.zul.Button;
import org.zkoss.zul.Listbox;
-import org.zkoss.zul.Listitem;
/**
*
@@ -36,12 +36,14 @@
protected AddressesModel _addressesModel = new AddressesModel();
protected PhonesModel _phonesModel = new PhonesModel();
+ protected EmailsModel _emailsModel = new EmailsModel();
protected Employee _employee = new EmployeeImpl();
protected Address _workingAddress = new AddressImpl();
protected Listbox addressListbox;
protected Listbox phoneListbox;
+ protected Listbox emailListbox;
@Override
public void doAfterCompose(Component comp) throws Exception {
@@ -67,6 +69,10 @@
Phone phone = new PhoneImpl();
_phonesModel.addData(phone);
+
+ Email email = new EmailImpl();
+ _emailsModel.addData(email);
+
Button add = new Button("Add");
add.setId("addEmployee");
add.addEventListener("onClick", new EventListener() {
@@ -81,11 +87,17 @@
protected void initEmployee(Employee employee) {
_employee = employee;
- List<Address> addresses = _model.retrieveAddressesByAddressesId(new ArrayList<String>(employee.getAddress()));
+ List<Address> addresses = _model.retrieveAddressesByAddressIds(new ArrayList<String>(employee.getAddress()));
_addressesModel.setEmployees(addresses);
- List<Phone> phones = _model.retrievePhonesByPhonesId(new ArrayList<String>(employee.getPhone()));
+
+ List<Phone> phones = _model.retrievePhonesByPhoneIds(new ArrayList<String>(employee.getPhone()));
_phonesModel.setPhones(phones);
+
+ List<Email> emails = _model.retrieveEmailsByEmailIds(new ArrayList<String>(employee.getEmail()));
+ _emailsModel.setemails(emails);
+
_workingAddress = _model.retrieveAddressByAddressId(employee.getWorkingAddress());
+
Button update = new Button("Update");
update.setId("updateEmployee");
update.addEventListener("onClick", new EventListener() {
@@ -98,7 +110,7 @@
self.appendChild(update);
}
- public void deleteEmployeeAddresses(List<Address> addresses) {
+ protected void deletePersonAddresses(List<Address> addresses) {
List<String> addressesId = new ArrayList<String>(_employee.getAddress());
List<String> remove = new ArrayList<String>();
for (String id : addressesId) {
@@ -116,7 +128,7 @@
_model.deleteAddressesByIds(remove);
}
- public void deleteEmployeePhones(List<Phone> phones) {
+ protected void deletePersonPhones(List<Phone> phones) {
List<String> phonesId = new ArrayList<String>(_employee.getPhone());
List<String> remove = new ArrayList<String>();
for (String id : phonesId) {
@@ -134,6 +146,54 @@
_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());
+ if (update == true) {
+ deletePersonAddresses(addresses);
+ }
+ for (Address address : addresses) {
+ _employee.addAddress(address.getWikittyId());
+ }
+ }
+
+ protected void addEmails(boolean update) {
+ List<Email> emails = _model.createPersonEmails(_emailsModel.getEmails());
+ if (update == true) {
+ deletePersonEmails(emails);
+ }
+ for (Email email : emails) {
+ _employee.addEmail(email.getWikittyId());
+ }
+ }
+
+ protected void addPhones(boolean update) {
+ List<Phone> phones = _model.createPersonPhones(_phonesModel.getPhones());
+ if (update == true) {
+ deletePersonPhones(phones);
+ }
+ for (Phone phone : phones) {
+ _employee.addPhone(phone.getWikittyId());
+ }
+ }
+
/*
* Events
*/
@@ -143,15 +203,10 @@
}
public void onClick$deleteAddress() {
- if (addressListbox.getItemCount() > 1) {
- Set<Listitem> items = addressListbox.getSelectedItems();
- if (items != null) {
- for (Listitem item : items) {
- int index = item.getIndex();
- Object obj = _addressesModel.getElementAt(index);
- _addressesModel.removeData((Address) obj);
- }
- }
+ int size = addressListbox.getItemCount();
+ if (size > 1) {
+ Address address = (Address) _addressesModel.getElementAt(size -1);
+ _addressesModel.removeData(address);
}
}
@@ -161,45 +216,45 @@
}
public void onClick$deletePhone() {
- if (phoneListbox.getItemCount() > 1) {
- Set<Listitem> items = phoneListbox.getSelectedItems();
- if (items != null) {
- for (Listitem item : items) {
- int index = item.getIndex();
- Object obj = _phonesModel.getElementAt(index);
- _phonesModel.removeData((Phone) obj);
- }
- }
+ int size = phoneListbox.getItemCount();
+ if (size > 1) {
+ Phone phone = (Phone) _phonesModel.getElementAt(size -1);
+ _phonesModel.removeData(phone);
}
}
+ public void onClick$addEmail() {
+ Email email = new EmailImpl();
+ _emailsModel.addData(email);
+ }
+
+ public void onClick$deleteEmail() {
+ int size = emailListbox.getItemCount();
+ if (size > 1) {
+ Email email = (Email) _emailsModel.getElementAt(size -1);
+ _emailsModel.removeData(email);
+ }
+ }
+
public void onClick$updateEmployee() {
- List<Address> addresses = _model.updatePersonAddresses(_addressesModel.getAddresses());
- deleteEmployeeAddresses(addresses);
- for (Address address : addresses) {
- _employee.addAddress(address.getWikittyId());
- }
+ addAddresses(true);
+ addPhones(true);
+ addEmails(true);
+
_model.updateAddress(_workingAddress);
- List<Phone> phones = _model.createPersonPhones(_phonesModel.getPhones());
- deleteEmployeePhones(phones);
- for (Phone phone : phones) {
- _employee.addPhone(phone.getWikittyId());
- }
+
_model.updateEmployee(_employee);
this.self.detach();
}
public void onClick$addEmployee() {
- List<Address> addresses = _model.createPersonAddresses(_addressesModel.getAddresses());
- for (Address address : addresses) {
- _employee.addAddress(address.getWikittyId());
- }
+ addAddresses(false);
+ addPhones(false);
+ addEmails(false);
+
Address workingAddress = _model.createAddress(_workingAddress);
_employee.setWorkingAddress(workingAddress.getWikittyId());
- List<Phone> phones = _model.createPersonPhones(_phonesModel.getPhones());
- for (Phone phone : phones) {
- _employee.addPhone(phone.getWikittyId());
- }
+
_model.createEmployee(_employee);
this.self.detach();
}
@@ -210,11 +265,6 @@
/*
* Getters
*/
- public Map<String, Object> getArgsMap(Event event) {
- CreateEvent createEvent = (CreateEvent) ((ForwardEvent) event).getOrigin();
- return createEvent.getArg();
- }
-
public AddressesModel getAddressesModel() {
return _addressesModel;
}
@@ -230,4 +280,8 @@
public PhonesModel getPhonesModel() {
return _phonesModel;
}
+
+ public EmailsModel getEmailsModel() {
+ return _emailsModel;
+ }
}
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-09 13:48:00 UTC (rev 101)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-12 13:31:49 UTC (rev 102)
@@ -8,6 +8,7 @@
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.nuiton.wikitty.Criteria;
@@ -42,6 +43,11 @@
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);
}
@@ -91,16 +97,21 @@
return proxy.restore(Address.class, id);
}
- public List<Address> retrieveAddressesByAddressesId(List<String> ids) {
+ public List<Address> retrieveAddressesByAddressIds(List<String> ids) {
List<Address> addresses = proxy.restore(Address.class, ids);
return new ArrayList<Address>(addresses);
}
- public List<Phone> retrievePhonesByPhonesId(List<String> ids) {
+ 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
*/
@@ -127,4 +138,8 @@
public void deletePhonesByIds(List<String> ids) {
proxy.delete(ids);
}
+
+ public void deleteEmailsByIds(List<String> ids) {
+ proxy.delete(ids);
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-09 13:48:00 UTC (rev 101)
+++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-07-12 13:31:49 UTC (rev 102)
@@ -10,32 +10,39 @@
<hbox>
<vbox>
<label value="email" />
- <textbox value="@{composer.employee.email, save-when='self.onChange'}" />
+ <textbox value="@{composer.employee.workingEmail, save-when='self.onChange'}" />
<label value="Phone number" />
<textbox value="@{composer.employee.workingPhone, save-when='self.onChange'}" />
+ <separator />
+ <toolbarbutton id="newContract" label="Add new contract" />
+ <separator />
+ <toolbarbutton id="newService" label="Add new service" />
+
</vbox>
<groupbox>
<caption label="Working address" />
<vbox>
- <label value="Adress1" />
- <textbox value="@{composer.workingAddress.address1, save-when='self.onChange'}" />
+ <label value="Adress1" />
+ <textbox value="@{composer.workingAddress.address1, save-when='self.onChange'}" />
- <label value="Adress2" />
- <textbox value="@{composer.workingAddress.address2, save-when='self.onChange'}" />
+ <label value="Adress2" />
+ <textbox value="@{composer.workingAddress.address2, save-when='self.onChange'}" />
- <label value="Zip code" />
- <textbox value="@{composer.workingAddress.zipCode, save-when='self.onChange'}" />
+ <label value="Zip code" />
+ <textbox value="@{composer.workingAddress.zipCode, save-when='self.onChange'}" />
- <label value="City" />
- <textbox value="@{composer.workingAddress.city, save-when='self.onChange'}" />
+ <label value="City" />
+ <textbox value="@{composer.workingAddress.city, save-when='self.onChange'}" />
- <label value="Country" />
- <textbox value="@{composer.workingAddress.country, save-when='self.onChange'}" />
+ <label value="Country" />
+ <textbox value="@{composer.workingAddress.country, save-when='self.onChange'}" />
</vbox>
- </groupbox>
+ </groupbox>
</hbox>
</groupbox>
+ <separator />
+
<groupbox>
<caption label="Personnal informations" />
<hbox>
@@ -47,7 +54,7 @@
<label value="Birthday" />
<datebox value="@{composer.employee.birthDay, save-when='self.onChange'}" />
<label value="Email" />
- <textbox value="@{composer.employee.email, save-when='self.onChange'}" constraint="/.+@.+\.[a-z]+/" />
+ <textbox value="@{composer.employee.workingEmail, save-when='self.onChange'}" constraint="/.+@.+\.[a-z]+/" />
<hbox>
<button label="Add address " id="addAddress" /> <button label="Delete address" id="deleteAddress" />
</hbox>
@@ -57,9 +64,12 @@
<listitem self="@{each='address'}">
<listcell>
<groupbox>
- <caption label="Address" />
+ <caption label="@{address.name}" />
<vbox>
+ <label value="Name" />
+ <textbox value="@{address.name, save-when='self.onChange'}" />
+
<label value="Adress1" />
<textbox value="@{address.address1, save-when='self.onChange'}" />
@@ -82,27 +92,57 @@
</listbox>
</hbox>
- <groupbox width="330px">
+ <vbox>
+ <groupbox width="330px">
- <caption label="Phones" />
+ <caption label="Phones" />
- <listbox id="phoneListbox" model="@{composer.phonesModel}" width="310px">
- <listhead sizable="true">
- <listheader label="Name" />
- <listheader label="Phone Number" />
- </listhead>
- <listitem self="@{each='phone'}">
- <listcell>
- <textbox value="@{phone.name, save-when='self.onChange'}" />
- </listcell>
- <listcell>
- <textbox value="@{phone.number, save-when='self.onChange'}" />
- </listcell>
- </listitem>
- </listbox>
+ <listbox id="phoneListbox" model="@{composer.phonesModel}" width="310px">
+ <listhead sizable="true">
+ <listheader label="Name" />
+ <listheader label="Phone Number" />
+ </listhead>
+ <listitem self="@{each='phone'}">
+ <listcell>
+ <textbox value="@{phone.name, save-when='self.onChange'}" />
+ </listcell>
+ <listcell>
+ <textbox value="@{phone.number, save-when='self.onChange'}" />
+ </listcell>
+ </listitem>
+ </listbox>
- </groupbox>
- <button label="Add phone " id="addPhone" /> <button label="Delete phone" id="deletePhone" />
+ <separator/>
+ <button label="Add phone " id="addPhone" /> <button label="Delete phone" id="deletePhone" />
+
+ </groupbox>
+
+ <groupbox width="330px">
+
+ <caption label="Emails" />
+
+ <listbox id="emailListbox" model="@{composer.emailsModel}" width="310px">
+ <listhead sizable="true">
+ <listheader label="Name" />
+ <listheader label="Mail" />
+ </listhead>
+ <listitem self="@{each='mail'}">
+ <listcell>
+ <textbox value="@{mail.name, save-when='self.onChange'}" />
+ </listcell>
+ <listcell>
+ <textbox value="@{mail.mail, save-when='self.onChange'}" />
+ </listcell>
+ </listitem>
+ </listbox>
+
+ <separator/>
+
+ <button label="Add email " id="addEmail" /> <button label="Delete email" id="deleteEmail" />
+
+ </groupbox>
+ </vbox>
+
</groupbox>
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/transaction.log
===================================================================
--- trunk/bonzoms-ui-zk/transaction.log 2010-07-09 13:48:00 UTC (rev 101)
+++ trunk/bonzoms-ui-zk/transaction.log 2010-07-12 13:31:49 UTC (rev 102)
@@ -294,3 +294,57 @@
2010-07-09 15:06:01,332 [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 51859
2010-07-09 15:06:01,334 [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: 51 859
2010-07-09 15:06:01,423 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 51859 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-09 16:37:10,056 [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 56428
+2010-07-09 16:37:10,058 [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: 56 428
+2010-07-09 16:37:10,142 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 56428 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 10:58:33,965 [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 55554
+2010-07-12 10:58:33,993 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 55 554
+2010-07-12 10:58:34,055 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 55554 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 11:54:26,186 [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 47211
+2010-07-12 11:54:26,188 [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 211
+2010-07-12 11:54:26,242 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 47211 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 11:55:39,000 [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 39491
+2010-07-12 11:55:39,003 [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: 39 491
+2010-07-12 11:55:39,047 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 39491 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 12:08:10,084 [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 50874
+2010-07-12 12:08:10,086 [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: 50 874
+2010-07-12 12:08:10,149 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 50874 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 12:12:00,396 [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 47114
+2010-07-12 12:12:00,397 [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 114
+2010-07-12 12:12:00,463 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 47114 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 14:15:49,285 [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 58457
+2010-07-12 14:15:49,287 [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 457
+2010-07-12 14:15:49,347 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 58457 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 14:22:29,693 [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 40603
+2010-07-12 14:22:29,695 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem_5] - TransactionStatusManagerItem host: 127.0.0.1 port: 40 603
+2010-07-12 14:22:29,760 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 40603 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 14:24:27,820 [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 50582
+2010-07-12 14:24:27,824 [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: 50 582
+2010-07-12 14:24:27,882 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 50582 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 14:43:09,222 [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 48735
+2010-07-12 14:43:09,223 [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: 48 735
+2010-07-12 14:43:09,282 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 48735 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 14:48:20,286 [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 44099
+2010-07-12 14:48:20,288 [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: 44 099
+2010-07-12 14:48:20,346 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 44099 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 15:14:03,396 [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 59977
+2010-07-12 15:14:03,398 [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 977
+2010-07-12 15:14:03,545 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 59977 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 15:17:39,515 [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 49954
+2010-07-12 15:17:39,517 [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: 49 954
+2010-07-12 15:17:39,611 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 49954 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 15:18:19,483 [http-8080-2] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@cf08b1
+2010-07-12 15:18:19,957 [http-8080-2] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@543c44
+2010-07-12 15:21:08,507 [http-8080-4] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@360e46
+2010-07-12 15:21:08,954 [http-8080-4] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@fc9fac
+2010-07-12 15:21:55,761 [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 54797
+2010-07-12 15:21:55,763 [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 797
+2010-07-12 15:21:55,827 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 54797 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 15:22:10,598 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@19e681c
+2010-07-12 15:22:11,058 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@123e82b
+2010-07-12 15:24:11,612 [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 60164
+2010-07-12 15:24:11,614 [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: 60 164
+2010-07-12 15:24:11,683 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 60164 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-12 15:25:44,083 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@1254e47
+2010-07-12 15:25:44,610 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@1e776cc
+2010-07-12 15:25:45,017 [http-8080-3] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@1d93f39
1
0
r101 - in trunk/bonzoms-ui-zk: . src/main/java/org/chorem/bonzoms/ui src/main/webapp
by bbrossaud@users.chorem.org 09 Jul '10
by bbrossaud@users.chorem.org 09 Jul '10
09 Jul '10
Author: bbrossaud
Date: 2010-07-09 15:48:00 +0200 (Fri, 09 Jul 2010)
New Revision: 101
Url: http://chorem.org/repositories/revision/bonzoms/101
Log:
addition missing files
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.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/PersonController.java
Removed:
trunk/bonzoms-ui-zk/src/main/webapp/companyPage
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java
trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul
trunk/bonzoms-ui-zk/transaction.log
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-07-09 13:48:00 UTC (rev 101)
@@ -0,0 +1,81 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.chorem.bonzoms.ui;
+
+import java.util.List;
+import org.chorem.data.bonzoms.Company;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zul.Button;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class CompanyController extends GenericForwardComposer {
+ protected Model _model = new Model();
+ protected CompanyModel _companyModel = new CompanyModel();
+
+ public CompanyController() {
+ List<Company> companies = _model.retrieveAllCompanies();
+ _companyModel.setCompanies(companies);
+ }
+
+ /*
+ * Events
+ */
+
+ /*
+ * Renderers
+ */
+ public ListitemRenderer getCompanyRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final Company company = (Company) data;
+
+ Listcell nameCell = new Listcell(company.getName());
+ Listcell webSiteCell = new Listcell(company.getWebSite());
+ Listcell phoneFaxCell = new Listcell(company.getPhone()+"/"+company.getFax());
+ Listcell addressCell = new Listcell("address");
+ Listcell typeCell = new Listcell(company.getType());
+ Listcell detailsCell = new Listcell();
+ Button details = new Button("details");
+ detailsCell.appendChild(details);
+// details.addEventListener("onClick", new EventListener() {
+//
+// @Override
+// public void onEvent(Event event) throws Exception {
+// createWindowEmployeeForm(employee);
+// }
+// });
+
+ item.appendChild(nameCell);
+ item.appendChild(webSiteCell);
+ item.appendChild(phoneFaxCell);
+ item.appendChild(addressCell);
+ item.appendChild(typeCell);
+ item.appendChild(detailsCell);
+ }
+ };
+ }
+
+ /*
+ * Setters
+ */
+
+ /*
+ * Getters
+ */
+ public CompanyModel getCompanyModel() {
+ return _companyModel;
+ }
+}
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-07-09 13:48:00 UTC (rev 101)
@@ -0,0 +1,56 @@
+/*
+ * 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.Company;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class CompanyModel extends AbstractListModel implements BindingListModel {
+ protected List<Company> _companies = new ArrayList<Company>();
+
+ @Override
+ public Object getElementAt(int index) {
+ return _companies.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return _companies.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ return _companies.indexOf(obj);
+ }
+
+ public void setCompanies(List<Company> companies) {
+ _companies = companies;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(Company newData) {
+ _companies.add(newData);
+ fireEvent(ListDataEvent.INTERVAL_ADDED, _companies.size() - 1, _companies.size() - 1);
+ }
+
+ public void removeData(Company data) {
+ int interval = _companies.indexOf(data);
+ _companies.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+}
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-09 12:19:03 UTC (rev 100)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-07-09 13:48:00 UTC (rev 101)
@@ -7,6 +7,7 @@
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.Employee;
import org.chorem.data.bonzoms.Phone;
import org.nuiton.wikitty.Criteria;
@@ -59,6 +60,13 @@
return employees;
}
+ 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();
+ companies = new ArrayList<Company>(companies);
+ return companies;
+ }
+
public WikittyExtension retrieveWikittyExtensionByExtensionName(String name) {
WikittyService service = proxy.getWikittyService();
WikittyExtension wikittyExtension = service.restoreExtensionLastVersion(null, name);
Added: 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 (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-07-09 13:48:00 UTC (rev 101)
@@ -0,0 +1,16 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.chorem.bonzoms.ui;
+
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class PersonController extends GenericForwardComposer {
+
+}
Deleted: trunk/bonzoms-ui-zk/src/main/webapp/companyPage
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyPage 2010-07-09 12:19:03 UTC (rev 100)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyPage 2010-07-09 13:48:00 UTC (rev 101)
@@ -1,17 +0,0 @@
-<?page id="company" title="Employee" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
-<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="company"?>
-
-<window id="company" apply="org.chorem.bonzoms.ui.CompanyController">
- Companies: <toolbarbutton id="newCompany" label="Add new company" />
- <listbox autopaging="true" mold="paging" id="companyListBox" rows="20" model="@{company$composer.companyModel}"
- itemRenderer="@{company$composer.companyRenderer}">
- <listhead>
- <listheader label="Name" />
- <listheader label="Web site" />
- <listheader label="Phone/Fax" />
- <listheader label="Address" />
- <listheader label="Type" />
- </listhead>
- </listbox>
-</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-09 12:19:03 UTC (rev 100)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-07-09 13:48:00 UTC (rev 101)
@@ -1,7 +1,18 @@
-<?page id="company" title="Company" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?page id="company" title="Employee" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="company"?>
<window id="company" apply="org.chorem.bonzoms.ui.CompanyController">
-
+ Companies: <toolbarbutton id="newCompany" label="Add new company" />
+ <listbox autopaging="true" mold="paging" id="companyListBox" rows="20" model="@{company$composer.companyModel}"
+ itemRenderer="@{company$composer.companyRenderer}">
+ <listhead>
+ <listheader label="Name" />
+ <listheader label="Web site" />
+ <listheader label="Phone/Fax" />
+ <listheader label="Address" />
+ <listheader label="Type" />
+ <listheader label="details" />
+ </listhead>
+ </listbox>
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-07-09 12:19:03 UTC (rev 100)
+++ trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-07-09 13:48:00 UTC (rev 101)
@@ -3,5 +3,5 @@
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="person"?>
<window id="person" apply="org.chorem.bonzoms.ui.PersonController">
-
+ Person page coming soon...
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/transaction.log
===================================================================
--- trunk/bonzoms-ui-zk/transaction.log 2010-07-09 12:19:03 UTC (rev 100)
+++ trunk/bonzoms-ui-zk/transaction.log 2010-07-09 13:48:00 UTC (rev 101)
@@ -288,3 +288,9 @@
2010-07-09 14:14:34,168 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 53759 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
2010-07-09 14:15:52,842 [http-8080-4] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@1aee513
2010-07-09 14:15:53,855 [http-8080-4] WARN com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord@ce374a
+2010-07-09 14:58:21,287 [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 34074
+2010-07-09 14:58:21,289 [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 074
+2010-07-09 14:58:21,374 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 34074 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
+2010-07-09 15:06:01,332 [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 51859
+2010-07-09 15:06:01,334 [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: 51 859
+2010-07-09 15:06:01,423 [http-8080-1] INFO com.arjuna.ats.arjuna.logging.arjLoggerI18N - [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 51859 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
1
0