From da4bee436177b981a03705c166555fe0f78ddc59 Mon Sep 17 00:00:00 2001 From: Purodha Blissenbach Date: Tue, 27 Nov 2012 12:12:11 +0100 Subject: [PATCH] Abstractproperty introduced for domainproperties --- hsarweb/src/de/hsadmin/web/AbstractModule.java | 2 +- hsarweb/src/de/hsadmin/web/DatabaseModule.java | 2 +- hsarweb/src/de/hsadmin/web/DeleteAble.java | 2 +- hsarweb/src/de/hsadmin/web/GenericModule.java | 16 ++++++++-------- hsarweb/src/de/hsadmin/web/HomeModule.java | 12 ++++++------ hsarweb/src/de/hsadmin/web/InsertAble.java | 2 +- hsarweb/src/de/hsadmin/web/Remote.java | 13 ++++++------- hsarweb/src/de/hsadmin/web/UpdateAble.java | 2 +- .../hsadmin/web/config/PropertyFieldFactory.java | 3 ++- .../web/vaadin/DatePropertyFieldFactory.java | 6 ++++-- .../web/vaadin/DefaultPropertyFieldFactory.java | 6 ++++-- .../vaadin/EMailTargetPropertyFieldFactory.java | 6 ++++-- .../src/de/hsadmin/web/vaadin/GenericForm.java | 10 ++++++---- .../web/vaadin/PasswordPropertyFieldFactory.java | 6 ++++-- .../web/vaadin/SelectPropertyFieldFactory.java | 6 ++++-- .../web/vaadin/TableComponentFactory.java | 10 ++++++---- 16 files changed, 59 insertions(+), 45 deletions(-) diff --git a/hsarweb/src/de/hsadmin/web/AbstractModule.java b/hsarweb/src/de/hsadmin/web/AbstractModule.java index 4b37670..d211bca 100644 --- a/hsarweb/src/de/hsadmin/web/AbstractModule.java +++ b/hsarweb/src/de/hsadmin/web/AbstractModule.java @@ -70,7 +70,7 @@ public abstract class AbstractModule implements Module, Serializable { public void buttonClick(ClickEvent event) { application.getMainWindow().removeWindow(childWindow); try { - Map map = new HashMap(); + Map map = new HashMap(); genericForm.transferToHash(map, form); ((InsertAble) thisModule).insertRow(map); componentFactory.loadData(); diff --git a/hsarweb/src/de/hsadmin/web/DatabaseModule.java b/hsarweb/src/de/hsadmin/web/DatabaseModule.java index 3ccea15..d0d6fc7 100644 --- a/hsarweb/src/de/hsadmin/web/DatabaseModule.java +++ b/hsarweb/src/de/hsadmin/web/DatabaseModule.java @@ -142,7 +142,7 @@ public abstract class DatabaseModule extends GenericModule { public List getDatabaseUsers() { ArrayList list = new ArrayList(); try { - Object callSearch = getApplication().getRemote().callSearch(getUserModuleIdent(), new HashMap()); + Object callSearch = getApplication().getRemote().callSearch(getUserModuleIdent(), new HashMap()); if (callSearch instanceof Object[]) { for (Object row : ((Object[])callSearch)) { if (row instanceof Map) { diff --git a/hsarweb/src/de/hsadmin/web/DeleteAble.java b/hsarweb/src/de/hsadmin/web/DeleteAble.java index 650e102..938c12f 100644 --- a/hsarweb/src/de/hsadmin/web/DeleteAble.java +++ b/hsarweb/src/de/hsadmin/web/DeleteAble.java @@ -4,6 +4,6 @@ import java.util.Map; public interface DeleteAble { - public void deleteRow(Map paramHash) throws HsarwebException; + public void deleteRow(Map paramHash) throws HsarwebException; } diff --git a/hsarweb/src/de/hsadmin/web/GenericModule.java b/hsarweb/src/de/hsadmin/web/GenericModule.java index 4e1bcb1..f754624 100644 --- a/hsarweb/src/de/hsadmin/web/GenericModule.java +++ b/hsarweb/src/de/hsadmin/web/GenericModule.java @@ -12,16 +12,16 @@ public abstract class GenericModule extends AbstractModule implements InsertAble private static final long serialVersionUID = 1L; - public void insertRow(Map paramHash) throws HsarwebException { + public void insertRow(Map paramHash) throws HsarwebException { getApplication().getRemote().callAdd(getModuleConfig().getRemoteName(), paramHash); } - public void deleteRow(Map paramHash) throws HsarwebException { + public void deleteRow(Map paramHash) throws HsarwebException { getApplication().getRemote().callDelete(getModuleConfig().getRemoteName(), paramHash); } - public void updateRow(Map paramHash) throws HsarwebException { - Map whereHash = new HashMap(); + public void updateRow(Map paramHash) throws HsarwebException { + Map whereHash = new HashMap(); String idKey = findIdKey(); whereHash.put(idKey, paramHash.get(idKey)); getApplication().getRemote().callUpdate(getModuleConfig().getRemoteName(), paramHash, whereHash); @@ -43,7 +43,7 @@ public abstract class GenericModule extends AbstractModule implements InsertAble public List getUsers() { ArrayList list = new ArrayList(); try { - Object callSearch = getApplication().getRemote().callSearch("user", new HashMap()); + Object callSearch = getApplication().getRemote().callSearch("user", new HashMap()); if (callSearch instanceof Object[]) { for (Object row : ((Object[])callSearch)) { if (row instanceof Map) { @@ -64,7 +64,7 @@ public abstract class GenericModule extends AbstractModule implements InsertAble public List getEMailAliases() { ArrayList list = new ArrayList(); try { - Object callSearch = getApplication().getRemote().callSearch("emailalias", new HashMap()); + Object callSearch = getApplication().getRemote().callSearch("emailalias", new HashMap()); if (callSearch instanceof Object[]) { for (Object row : ((Object[])callSearch)) { if (row instanceof Map) { @@ -85,7 +85,7 @@ public abstract class GenericModule extends AbstractModule implements InsertAble public List getDomains() { ArrayList list = new ArrayList(); try { - Object callSearch = getApplication().getRemote().callSearch("domain", new HashMap()); + Object callSearch = getApplication().getRemote().callSearch("domain", new HashMap()); if (callSearch instanceof Object[]) { for (Object row : ((Object[])callSearch)) { if (row instanceof Map) { @@ -106,7 +106,7 @@ public abstract class GenericModule extends AbstractModule implements InsertAble public List getPackets() { ArrayList list = new ArrayList(); try { - Object callSearch = getApplication().getRemote().callSearch("pac", new HashMap()); + Object callSearch = getApplication().getRemote().callSearch("pac", new HashMap()); if (callSearch instanceof Object[]) { for (Object row : ((Object[])callSearch)) { if (row instanceof Map) { diff --git a/hsarweb/src/de/hsadmin/web/HomeModule.java b/hsarweb/src/de/hsadmin/web/HomeModule.java index d71e536..47c07f9 100644 --- a/hsarweb/src/de/hsadmin/web/HomeModule.java +++ b/hsarweb/src/de/hsadmin/web/HomeModule.java @@ -35,8 +35,8 @@ public class HomeModule extends AbstractModule implements ComponentFactory, Upda setComponentFactory(this); } - public void updateRow(Map paramHash) throws HsarwebException { - Map whereHash = new HashMap(); + public void updateRow(Map paramHash) throws HsarwebException { + Map whereHash = new HashMap(); String idKey = findIdKey(); whereHash.put(idKey, paramHash.get(idKey)); paramHash.remove(idKey); @@ -94,8 +94,8 @@ public class HomeModule extends AbstractModule implements ComponentFactory, Upda Button button = new Button(moduleConfig.getLabel("change_password")); ThemeResource icon = new ThemeResource(moduleConfig.getLabel("change_password_icon")); button.setIcon(icon); - Map whereHash = new HashMap(); - whereHash.put("name", application.getLogin()); + Map whereHash = new HashMap(); + whereHash.put("name", new StringProperty (application.getLogin())); Long key = -1L; try { Object object = application.getRemote().callSearch(moduleConfig.getRemoteName(), whereHash); @@ -130,8 +130,8 @@ public class HomeModule extends AbstractModule implements ComponentFactory, Upda public void buttonClick(ClickEvent event) { application.getMainWindow().removeWindow(childWindow); try { - Map map = new HashMap(); - map.put("id", ((Long) event.getButton().getData()).toString()); + Map map = new HashMap(); + map.put("id", new StringProperty(((Long) event.getButton().getData()).toString())); Iterator componentIterator = form.getLayout().getComponentIterator(); while (componentIterator.hasNext()) { Component component = (Component) componentIterator.next(); diff --git a/hsarweb/src/de/hsadmin/web/InsertAble.java b/hsarweb/src/de/hsadmin/web/InsertAble.java index 3c49771..c7af5a0 100644 --- a/hsarweb/src/de/hsadmin/web/InsertAble.java +++ b/hsarweb/src/de/hsadmin/web/InsertAble.java @@ -4,6 +4,6 @@ import java.util.Map; public interface InsertAble { - public void insertRow(Map paramHash) throws HsarwebException; + public void insertRow(Map paramHash) throws HsarwebException; } diff --git a/hsarweb/src/de/hsadmin/web/Remote.java b/hsarweb/src/de/hsadmin/web/Remote.java index 512d7de..078fca3 100644 --- a/hsarweb/src/de/hsadmin/web/Remote.java +++ b/hsarweb/src/de/hsadmin/web/Remote.java @@ -18,23 +18,23 @@ public class Remote { this.app = application; } - public Object callSearch(String module, Map where) throws HsarwebException { + public Object callSearch(String module, Map where) throws HsarwebException { return xmlrpcCall(module, "search", where); } - public void callAdd(String module, Map set) throws HsarwebException { + public void callAdd(String module, Map set) throws HsarwebException { xmlrpcCall(module, "add", set); } - public void callUpdate(String module, Map set, Map where) throws HsarwebException { + public void callUpdate(String module, Map set, Map where) throws HsarwebException { xmlrpcCall(module, "update", set, where); } - public void callDelete(String module, Map where) throws HsarwebException { + public void callDelete(String module, Map where) throws HsarwebException { xmlrpcCall(module, "delete", where); } - private Object xmlrpcCall(String module, String operation, Map param1) throws HsarwebException { + private Object xmlrpcCall(String module, String operation, Map param1) throws HsarwebException { Object[] params = new Object[3]; params[0] = app.getLogin(); params[1] = app.getProxyTicket(); @@ -42,7 +42,7 @@ public class Remote { return xmlrpcCall(module + "." + operation, params); } - private Object xmlrpcCall(String module, String operation, Map param1, Map param2) throws HsarwebException { + private Object xmlrpcCall(String module, String operation, Map param1, Map param2) throws HsarwebException { Object[] params = new Object[4]; params[0] = app.getLogin(); params[1] = app.getProxyTicket(); @@ -77,5 +77,4 @@ public class Remote { return client; } - } diff --git a/hsarweb/src/de/hsadmin/web/UpdateAble.java b/hsarweb/src/de/hsadmin/web/UpdateAble.java index e9aaaae..1753c09 100644 --- a/hsarweb/src/de/hsadmin/web/UpdateAble.java +++ b/hsarweb/src/de/hsadmin/web/UpdateAble.java @@ -4,6 +4,6 @@ import java.util.Map; public interface UpdateAble { - public void updateRow(Map paramHash) throws HsarwebException; + public void updateRow(Map paramHash) throws HsarwebException; } diff --git a/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java index 90fc176..95d7cd0 100644 --- a/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java @@ -1,12 +1,13 @@ package de.hsadmin.web.config; +import de.hsadmin.web.AbstractProperty; import de.hsadmin.web.HsarwebException; public interface PropertyFieldFactory { public Object createFieldComponent(PropertyConfig prop, Object value); - public String getValue(PropertyConfig prop, Object component) throws HsarwebException; + public AbstractProperty getValue(PropertyConfig prop, Object component) throws HsarwebException; public void setReadOnly(boolean readOnly); diff --git a/hsarweb/src/de/hsadmin/web/vaadin/DatePropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/vaadin/DatePropertyFieldFactory.java index 626f1d8..c973d70 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/DatePropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/DatePropertyFieldFactory.java @@ -10,6 +10,8 @@ import com.vaadin.terminal.Sizeable; import com.vaadin.ui.DateField; import com.vaadin.ui.PopupDateField; +import de.hsadmin.web.AbstractProperty; +import de.hsadmin.web.StringProperty; import de.hsadmin.web.config.PropertyConfig; import de.hsadmin.web.config.PropertyFieldFactory; @@ -41,9 +43,9 @@ public class DatePropertyFieldFactory implements PropertyFieldFactory { } @Override - public String getValue(PropertyConfig prop, Object component) { + public AbstractProperty getValue(PropertyConfig prop, Object component) { if (component instanceof DateField) { - return serverDf.format((Date) ((DateField) component).getValue()); + return (new StringProperty(serverDf.format((Date) ((DateField) component).getValue()))); // TODO: besser DateProperty ? } return null; } diff --git a/hsarweb/src/de/hsadmin/web/vaadin/DefaultPropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/vaadin/DefaultPropertyFieldFactory.java index 02d1c45..1089fe3 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/DefaultPropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/DefaultPropertyFieldFactory.java @@ -3,6 +3,8 @@ package de.hsadmin.web.vaadin; import com.vaadin.terminal.Sizeable; import com.vaadin.ui.TextField; +import de.hsadmin.web.AbstractProperty; +import de.hsadmin.web.StringProperty; import de.hsadmin.web.config.PropertyConfig; import de.hsadmin.web.config.PropertyFieldFactory; @@ -22,9 +24,9 @@ public class DefaultPropertyFieldFactory implements PropertyFieldFactory { } @Override - public String getValue(PropertyConfig prop, Object component) { + public AbstractProperty getValue(PropertyConfig prop, Object component) { if (component instanceof TextField) { - return (String) ((TextField) component).getValue(); + return new StringProperty((String) ((TextField) component).getValue()); } return null; } diff --git a/hsarweb/src/de/hsadmin/web/vaadin/EMailTargetPropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/vaadin/EMailTargetPropertyFieldFactory.java index 94c3c91..b6a4d98 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/EMailTargetPropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/EMailTargetPropertyFieldFactory.java @@ -15,9 +15,11 @@ import com.vaadin.ui.Select; import com.vaadin.ui.TextField; import com.vaadin.ui.VerticalLayout; +import de.hsadmin.web.AbstractProperty; import de.hsadmin.web.GenericModule; import de.hsadmin.web.HsarwebException; import de.hsadmin.web.Module; +import de.hsadmin.web.StringProperty; import de.hsadmin.web.config.PropertyConfig; import de.hsadmin.web.config.PropertyFieldFactory; @@ -92,7 +94,7 @@ public class EMailTargetPropertyFieldFactory implements PropertyFieldFactory { } @Override - public String getValue(PropertyConfig prop, Object component) throws HsarwebException { + public AbstractProperty getValue(PropertyConfig prop, Object component) throws HsarwebException { StringBuffer target = new StringBuffer(); boolean insertKomma = false; for (Integer key : targets.keySet()) { @@ -106,7 +108,7 @@ public class EMailTargetPropertyFieldFactory implements PropertyFieldFactory { insertKomma = true; } } - return target.toString(); + return new StringProperty(target.toString()); } @Override diff --git a/hsarweb/src/de/hsadmin/web/vaadin/GenericForm.java b/hsarweb/src/de/hsadmin/web/vaadin/GenericForm.java index a854c29..3db7527 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/GenericForm.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/GenericForm.java @@ -10,9 +10,11 @@ import com.vaadin.ui.Component; import com.vaadin.ui.Form; import com.vaadin.ui.Layout; +import de.hsadmin.web.AbstractProperty; import de.hsadmin.web.HsarwebException; import de.hsadmin.web.MainApplication; import de.hsadmin.web.Module; +import de.hsadmin.web.StringProperty; import de.hsadmin.web.config.ModuleConfig; import de.hsadmin.web.config.PropertyConfig; import de.hsadmin.web.config.PropertyFieldFactory; @@ -46,8 +48,8 @@ public class GenericForm { try { MainApplication application = module.getApplication(); ModuleConfig config = module.getModuleConfig(); - Map where = new HashMap(); - where.put(findIdKey(), entityId.toString()); + Map where = new HashMap(); + where.put(findIdKey(), new StringProperty(entityId.toString())); Object searchResult = application.getRemote().callSearch(config.getRemoteName(), where); if (searchResult instanceof Object[]) { Map row = (Map) (((Object[]) searchResult)[0]); @@ -88,11 +90,11 @@ public class GenericForm { return idKey; } - public void transferToHash(Map map, Form form) throws HsarwebException { + public void transferToHash(Map map, Form form) throws HsarwebException { Iterator iterator = form.getLayout().getComponentIterator(); Object formData = form.getData(); if (formData != null && formData instanceof Long) { - map.put(findIdKey(), ((Long) formData).toString()); + map.put(findIdKey(), new StringProperty(((Long) formData).toString())); } while (iterator.hasNext()) { Component component = (Component) iterator.next(); diff --git a/hsarweb/src/de/hsadmin/web/vaadin/PasswordPropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/vaadin/PasswordPropertyFieldFactory.java index e5ccbf3..260e682 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/PasswordPropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/PasswordPropertyFieldFactory.java @@ -4,8 +4,10 @@ import com.vaadin.terminal.Sizeable; import com.vaadin.ui.PasswordField; import com.vaadin.ui.VerticalLayout; +import de.hsadmin.web.AbstractProperty; import de.hsadmin.web.HsarwebException; import de.hsadmin.web.Module; +import de.hsadmin.web.StringProperty; import de.hsadmin.web.config.ModuleConfig; import de.hsadmin.web.config.PropertyConfig; import de.hsadmin.web.config.PropertyFieldFactory; @@ -42,13 +44,13 @@ public class PasswordPropertyFieldFactory implements PropertyFieldFactory { } @Override - public String getValue(PropertyConfig prop, Object component) throws HsarwebException { + public AbstractProperty getValue(PropertyConfig prop, Object component) throws HsarwebException { if (component instanceof VerticalLayout) { VerticalLayout layout = (VerticalLayout) component; PasswordField pw1 = (PasswordField) layout.getComponent(0); PasswordField pw2 = (PasswordField) layout.getComponent(1); if (pw1.getValue().equals(pw2.getValue())) { - return (String) pw1.getValue(); + return new StringProperty((String) pw1.getValue()); } else { throw new HsarwebException("password mismatch"); } diff --git a/hsarweb/src/de/hsadmin/web/vaadin/SelectPropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/vaadin/SelectPropertyFieldFactory.java index 446b61f..6850a1d 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/SelectPropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/SelectPropertyFieldFactory.java @@ -5,7 +5,9 @@ import java.util.Map; import com.vaadin.terminal.Sizeable; import com.vaadin.ui.Select; +import de.hsadmin.web.AbstractProperty; import de.hsadmin.web.HsarwebException; +import de.hsadmin.web.StringProperty; import de.hsadmin.web.config.PropertyConfig; import de.hsadmin.web.config.PropertyFieldFactory; @@ -33,10 +35,10 @@ public class SelectPropertyFieldFactory implements PropertyFieldFactory { } @Override - public String getValue(PropertyConfig prop, Object component) + public AbstractProperty getValue(PropertyConfig prop, Object component) throws HsarwebException { if (component instanceof Select) { - return (String) ((Select) component).getValue(); + return new StringProperty((String) ((Select) component).getValue()); } return null; } diff --git a/hsarweb/src/de/hsadmin/web/vaadin/TableComponentFactory.java b/hsarweb/src/de/hsadmin/web/vaadin/TableComponentFactory.java index fd98b01..78f287d 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/TableComponentFactory.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/TableComponentFactory.java @@ -22,10 +22,12 @@ import com.vaadin.ui.Window; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.themes.BaseTheme; +import de.hsadmin.web.AbstractProperty; import de.hsadmin.web.DeleteAble; import de.hsadmin.web.HsarwebException; import de.hsadmin.web.MainApplication; import de.hsadmin.web.Module; +import de.hsadmin.web.StringProperty; import de.hsadmin.web.UpdateAble; import de.hsadmin.web.config.ComponentFactory; import de.hsadmin.web.config.LocaleConfig; @@ -107,7 +109,7 @@ public class TableComponentFactory implements ComponentFactory, Serializable { table.removeAllItems(); try { ModuleConfig moduleConfig = module.getModuleConfig(); - Object callSearch = module.getApplication().getRemote().callSearch(moduleConfig.getRemoteName(), new HashMap()); + Object callSearch = module.getApplication().getRemote().callSearch(moduleConfig.getRemoteName(), new HashMap()); List propertyList = moduleConfig.getPropertyList(); if (callSearch instanceof Object[]) { for (Object row : ((Object[])callSearch)) { @@ -229,7 +231,7 @@ public class TableComponentFactory implements ComponentFactory, Serializable { public void buttonClick(ClickEvent event) { application.getMainWindow().removeWindow(childWindow); try { - Map map = new HashMap(); + Map map = new HashMap(); genericForm.transferToHash(map, form); ((UpdateAble) module).updateRow(map); loadData(); @@ -285,8 +287,8 @@ public class TableComponentFactory implements ComponentFactory, Serializable { public void buttonClick(ClickEvent event) { application.getMainWindow().removeWindow(childWindow); try { - Map map = new HashMap(); - map.put(findIdKey(), ((Long) button.getData()).toString()); + Map map = new HashMap(); + map.put(findIdKey(), new StringProperty(((Long) button.getData()).toString())); ((DeleteAble) module).deleteRow(map); loadData(); } catch (HsarwebException e) {