diff --git a/hsarweb/src/de/hsadmin/web/DomainModule.java b/hsarweb/src/de/hsadmin/web/DomainModule.java index 054a7a5..e6f52cc 100644 --- a/hsarweb/src/de/hsadmin/web/DomainModule.java +++ b/hsarweb/src/de/hsadmin/web/DomainModule.java @@ -58,7 +58,6 @@ public class DomainModule extends GenericModule { }); userProp.setWriteOnce(true); PropertyConfig optionsProp = new PropertyConfig(moduleConfig, "domainoptions", String.class, PropertyTableColumn.HIDDEN, new DomainOptionsPropertyFieldFactory(this)); - optionsProp.setWriteOnce(true); PropertyConfig pacProp = new PropertyConfig(moduleConfig, "pac", String.class, PropertyTableColumn.HIDDEN); pacProp.setDefaultValue(new PropertyDefaultValue() { @Override diff --git a/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java index 7a2a6d3..5321f35 100644 --- a/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/config/PropertyFieldFactory.java @@ -5,7 +5,7 @@ import de.hsadmin.web.XmlrpcProperty; public interface PropertyFieldFactory { - public Object createFieldComponent(PropertyConfig prop, XmlrpcProperty value); + public Object createFieldComponent(PropertyConfig prop, XmlrpcProperty value) throws HsarwebException; public XmlrpcProperty getValue(PropertyConfig prop, Object component) throws HsarwebException; diff --git a/hsarweb/src/de/hsadmin/web/vaadin/DomainOptionsPropertyFieldFactory.java b/hsarweb/src/de/hsadmin/web/vaadin/DomainOptionsPropertyFieldFactory.java index 158d481..1ea5e28 100644 --- a/hsarweb/src/de/hsadmin/web/vaadin/DomainOptionsPropertyFieldFactory.java +++ b/hsarweb/src/de/hsadmin/web/vaadin/DomainOptionsPropertyFieldFactory.java @@ -1,26 +1,19 @@ package de.hsadmin.web.vaadin; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import com.vaadin.terminal.Sizeable; -import com.vaadin.ui.AbstractField; -import com.vaadin.ui.Button; import com.vaadin.ui.Component; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; import com.vaadin.ui.Select; import com.vaadin.ui.VerticalLayout; -import de.hsadmin.web.AbstractProperty; -import de.hsadmin.web.GenericModule; import de.hsadmin.web.HsarwebException; import de.hsadmin.web.ListOfStringsProperty; import de.hsadmin.web.Module; import de.hsadmin.web.XmlrpcProperty; -import de.hsadmin.web.config.LocaleConfig; import de.hsadmin.web.config.ModuleConfig; import de.hsadmin.web.config.PropertyConfig; import de.hsadmin.web.config.PropertyFieldFactory; @@ -39,14 +32,12 @@ public class DomainOptionsPropertyFieldFactory implements PropertyFieldFactory { private boolean readOnly = false; private boolean writeOnce = false; private VerticalLayout layout; - private List optionLayout ; - private ListOfStringsProperty setOptions ; + private final List optionLayout ; public DomainOptionsPropertyFieldFactory(Module module) { this.module = module; this.config = module.getModuleConfig(); optionLayout = new ArrayList() ; - setOptions = new ListOfStringsProperty() ; } private void repaint() { @@ -57,11 +48,11 @@ public class DomainOptionsPropertyFieldFactory implements PropertyFieldFactory { } @Override - public Object createFieldComponent(PropertyConfig prop, XmlrpcProperty value) { - this.setOptions = (ListOfStringsProperty) value ; + public Object createFieldComponent(PropertyConfig prop, XmlrpcProperty value) throws HsarwebException { layout = new VerticalLayout(); layout.setCaption(prop.getLabel()); layout.setData(prop.getId()); + optionLayout.clear(); if (value instanceof ListOfStringsProperty) { ListOfStringsProperty list = (ListOfStringsProperty) value; for (int idx=0 ; idx