From da4bee436177b981a03705c166555fe0f78ddc59 Mon Sep 17 00:00:00 2001
From: Purodha Blissenbach <purodha.blissenbach@hostsharing.net>
Date: Tue, 27 Nov 2012 12:12:11 +0100
Subject: [PATCH] Abstractproperty introduced for domainproperties 

---
 hsarweb/src/de/hsadmin/web/HomeModule.java                             |   12 +++---
 hsarweb/src/de/hsadmin/web/UpdateAble.java                             |    2 
 hsarweb/src/de/hsadmin/web/vaadin/TableComponentFactory.java           |   10 +++--
 hsarweb/src/de/hsadmin/web/AbstractModule.java                         |    2 
 hsarweb/src/de/hsadmin/web/InsertAble.java                             |    2 
 hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java            |    3 +
 hsarweb/src/de/hsadmin/web/GenericModule.java                          |   16 ++++----
 hsarweb/src/de/hsadmin/web/vaadin/EMailTargetPropertyFieldFactory.java |    6 ++-
 hsarweb/src/de/hsadmin/web/vaadin/DefaultPropertyFieldFactory.java     |    6 ++-
 hsarweb/src/de/hsadmin/web/Remote.java                                 |   13 +++---
 hsarweb/src/de/hsadmin/web/vaadin/GenericForm.java                     |   10 +++--
 hsarweb/src/de/hsadmin/web/vaadin/PasswordPropertyFieldFactory.java    |    6 ++-
 hsarweb/src/de/hsadmin/web/DeleteAble.java                             |    2 
 hsarweb/src/de/hsadmin/web/vaadin/SelectPropertyFieldFactory.java      |    6 ++-
 hsarweb/src/de/hsadmin/web/DatabaseModule.java                         |    2 
 hsarweb/src/de/hsadmin/web/vaadin/DatePropertyFieldFactory.java        |    6 ++-
 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 void buttonClick(ClickEvent event) {
 								application.getMainWindow().removeWindow(childWindow);
 								try {
-									Map<String, String> map = new HashMap<String, String>();
+									Map<String, AbstractProperty> map = new HashMap<String, AbstractProperty>();
 									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 List<String> getDatabaseUsers() {
 		ArrayList<String> list = new ArrayList<String>();
 		try {
-			Object callSearch = getApplication().getRemote().callSearch(getUserModuleIdent(), new HashMap<String, String>());
+			Object callSearch = getApplication().getRemote().callSearch(getUserModuleIdent(), new HashMap<String, AbstractProperty>());
 			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 @@
 
 public interface DeleteAble {
 
-	public void deleteRow(Map<String, String> paramHash) throws HsarwebException;
+	public void deleteRow(Map<String, AbstractProperty> 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 @@
 
 	private static final long serialVersionUID = 1L;
 
-	public void insertRow(Map<String, String> paramHash) throws HsarwebException {
+	public void insertRow(Map<String, AbstractProperty> paramHash) throws HsarwebException {
 		getApplication().getRemote().callAdd(getModuleConfig().getRemoteName(), paramHash);
 	}
 
-	public void deleteRow(Map<String, String> paramHash) throws HsarwebException {
+	public void deleteRow(Map<String, AbstractProperty> paramHash) throws HsarwebException {
 		getApplication().getRemote().callDelete(getModuleConfig().getRemoteName(), paramHash);
 	}
 	
-	public void updateRow(Map<String, String> paramHash) throws HsarwebException {
-		Map<String, String> whereHash = new HashMap<String, String>();
+	public void updateRow(Map<String, AbstractProperty> paramHash) throws HsarwebException {
+		Map<String, AbstractProperty> whereHash = new HashMap<String, AbstractProperty>();
 		String idKey = findIdKey();
 		whereHash.put(idKey, paramHash.get(idKey));
 		getApplication().getRemote().callUpdate(getModuleConfig().getRemoteName(), paramHash, whereHash);
@@ -43,7 +43,7 @@
 	public List<String> getUsers() {
 		ArrayList<String> list = new ArrayList<String>();
 		try {
-			Object callSearch = getApplication().getRemote().callSearch("user", new HashMap<String, String>());
+			Object callSearch = getApplication().getRemote().callSearch("user", new HashMap<String, AbstractProperty>());
 			if (callSearch instanceof Object[]) {
 				for (Object row : ((Object[])callSearch)) {
 					if (row instanceof Map<?, ?>) {
@@ -64,7 +64,7 @@
 	public List<String> getEMailAliases() {
 		ArrayList<String> list = new ArrayList<String>();
 		try {
-			Object callSearch = getApplication().getRemote().callSearch("emailalias", new HashMap<String, String>());
+			Object callSearch = getApplication().getRemote().callSearch("emailalias", new HashMap<String, AbstractProperty>());
 			if (callSearch instanceof Object[]) {
 				for (Object row : ((Object[])callSearch)) {
 					if (row instanceof Map<?, ?>) {
@@ -85,7 +85,7 @@
 	public List<String> getDomains() {
 		ArrayList<String> list = new ArrayList<String>();
 		try {
-			Object callSearch = getApplication().getRemote().callSearch("domain", new HashMap<String, String>());
+			Object callSearch = getApplication().getRemote().callSearch("domain", new HashMap<String, AbstractProperty>());
 			if (callSearch instanceof Object[]) {
 				for (Object row : ((Object[])callSearch)) {
 					if (row instanceof Map<?, ?>) {
@@ -106,7 +106,7 @@
 	public List<String> getPackets() {
 		ArrayList<String> list = new ArrayList<String>();
 		try {
-			Object callSearch = getApplication().getRemote().callSearch("pac", new HashMap<String, String>());
+			Object callSearch = getApplication().getRemote().callSearch("pac", new HashMap<String, AbstractProperty>());
 			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 @@
 		setComponentFactory(this);
 	}
 	
-	public void updateRow(Map<String, String> paramHash) throws HsarwebException {
-		Map<String, String> whereHash = new HashMap<String, String>();
+	public void updateRow(Map<String, AbstractProperty> paramHash) throws HsarwebException {
+		Map<String, AbstractProperty> whereHash = new HashMap<String, AbstractProperty>();
 		String idKey = findIdKey();
 		whereHash.put(idKey, paramHash.get(idKey));
 		paramHash.remove(idKey);
@@ -94,8 +94,8 @@
 		Button button = new Button(moduleConfig.getLabel("change_password"));
 		ThemeResource icon = new ThemeResource(moduleConfig.getLabel("change_password_icon"));
 		button.setIcon(icon);
-		Map<String, String> whereHash = new HashMap<String, String>();
-		whereHash.put("name", application.getLogin());
+		Map<String, AbstractProperty> whereHash = new HashMap<String, AbstractProperty>();
+		whereHash.put("name", new StringProperty (application.getLogin()));
 		Long key = -1L;
 		try {
 			Object object = application.getRemote().callSearch(moduleConfig.getRemoteName(), whereHash);
@@ -130,8 +130,8 @@
 					public void buttonClick(ClickEvent event) {
 						application.getMainWindow().removeWindow(childWindow);
 						try {
-							Map<String, String> map = new HashMap<String, String>();
-							map.put("id", ((Long) event.getButton().getData()).toString());
+							Map<String, AbstractProperty> map = new HashMap<String, AbstractProperty>();
+							map.put("id", new StringProperty(((Long) event.getButton().getData()).toString()));
 							Iterator<Component> 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 @@
 
 public interface InsertAble {
 
-	public void insertRow(Map<String, String> paramHash) throws HsarwebException;
+	public void insertRow(Map<String, AbstractProperty> 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 @@
 		this.app = application;
 	}
 
-	public Object callSearch(String module, Map<String, String> where) throws HsarwebException {
+	public Object callSearch(String module, Map<String, AbstractProperty> where) throws HsarwebException {
 		return xmlrpcCall(module, "search", where); 
 	}
 
-	public void callAdd(String module, Map<String, String> set) throws HsarwebException {
+	public void callAdd(String module, Map<String, AbstractProperty> set) throws HsarwebException {
 		xmlrpcCall(module, "add", set); 
 	}
 
-	public void callUpdate(String module, Map<String, String> set, Map<String, String> where) throws HsarwebException {
+	public void callUpdate(String module, Map<String, AbstractProperty> set, Map<String, AbstractProperty> where) throws HsarwebException {
 		xmlrpcCall(module, "update", set, where); 
 	}
 
-	public void callDelete(String module, Map<String, String> where) throws HsarwebException {
+	public void callDelete(String module, Map<String, AbstractProperty> where) throws HsarwebException {
 		xmlrpcCall(module, "delete", where); 
 	}
 
-	private Object xmlrpcCall(String module, String operation, Map<String, String> param1) throws HsarwebException {
+	private Object xmlrpcCall(String module, String operation, Map<String, AbstractProperty> param1) throws HsarwebException {
 		Object[] params = new Object[3];
 		params[0] = app.getLogin();
 		params[1] = app.getProxyTicket();
@@ -42,7 +42,7 @@
 		return xmlrpcCall(module + "." + operation, params);
 	}
 
-	private Object xmlrpcCall(String module, String operation, Map<String, String> param1, Map<String, String> param2) throws HsarwebException {
+	private Object xmlrpcCall(String module, String operation, Map<String, AbstractProperty> param1, Map<String, AbstractProperty> param2) throws HsarwebException {
 		Object[] params = new Object[4];
 		params[0] = app.getLogin();
 		params[1] = app.getProxyTicket();
@@ -76,6 +76,5 @@
 		}
 		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 @@
 
 public interface UpdateAble {
 
-	public void updateRow(Map<String, String> paramHash) throws HsarwebException;
+	public void updateRow(Map<String, AbstractProperty> 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.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 @@
 	}
 
 	@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 @@
 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 @@
 	}
 
 	@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.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 @@
 	}
 
 	@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 @@
 				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.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 @@
 		try {
 			MainApplication application = module.getApplication();
 			ModuleConfig config = module.getModuleConfig();
-			Map<String, String> where = new HashMap<String, String>();
-			where.put(findIdKey(), entityId.toString());
+			Map<String, AbstractProperty> where = new HashMap<String, AbstractProperty>();
+			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 @@
 		return idKey;
 	}
 
-	public void transferToHash(Map<String, String> map, Form form) throws HsarwebException {
+	public void transferToHash(Map<String, AbstractProperty> map, Form form) throws HsarwebException {
 		Iterator<Component> 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.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 @@
 	}
 
 	@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 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 @@
 	}
 
 	@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.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 @@
 		table.removeAllItems();
 		try {
 			ModuleConfig moduleConfig = module.getModuleConfig();
-			Object callSearch = module.getApplication().getRemote().callSearch(moduleConfig.getRemoteName(), new HashMap<String, String>());
+			Object callSearch = module.getApplication().getRemote().callSearch(moduleConfig.getRemoteName(), new HashMap<String, AbstractProperty>());
 			List<PropertyConfig> propertyList = moduleConfig.getPropertyList();
 			if (callSearch instanceof Object[]) {
 				for (Object row : ((Object[])callSearch)) {
@@ -229,7 +231,7 @@
 					public void buttonClick(ClickEvent event) {
 						application.getMainWindow().removeWindow(childWindow);
 						try {
-							Map<String, String> map = new HashMap<String, String>();
+							Map<String, AbstractProperty> map = new HashMap<String, AbstractProperty>();
 							genericForm.transferToHash(map, form);
 							((UpdateAble) module).updateRow(map);
 							loadData();
@@ -285,8 +287,8 @@
 					public void buttonClick(ClickEvent event) {
 						application.getMainWindow().removeWindow(childWindow);
 						try {
-							Map<String, String> map = new HashMap<String, String>();
-							map.put(findIdKey(), ((Long) button.getData()).toString());
+							Map<String, AbstractProperty> map = new HashMap<String, AbstractProperty>();
+							map.put(findIdKey(), new StringProperty(((Long) button.getData()).toString()));
 							((DeleteAble) module).deleteRow(map);
 							loadData();
 						} catch (HsarwebException e) {

--
Gitblit v1.9.0-SNAPSHOT