|
From: <mb...@re...> - 2004-12-10 13:59:51
|
Author: mbooth
Date: 2004-12-10 14:51:26 +0100 (Fri, 10 Dec 2004)
New Revision: 149
Modified:
ccm-core/trunk/src/com/arsdigita/formbuilder/PersistentWidget.java
ccm-core/trunk/src/com/arsdigita/formbuilder/ui/editors/WidgetForm.java
Log:
Correctly initialise "Answer required" in WidgetForm
Modified: ccm-core/trunk/src/com/arsdigita/formbuilder/PersistentWidget.java
===================================================================
--- ccm-core/trunk/src/com/arsdigita/formbuilder/PersistentWidget.java 2004-12-10 12:52:56 UTC (rev 148)
+++ ccm-core/trunk/src/com/arsdigita/formbuilder/PersistentWidget.java 2004-12-10 13:51:26 UTC (rev 149)
@@ -77,6 +77,7 @@
private Class DEFAULT_VALUE_CLASS = String.class;
public static final String DEFAULT_VALUE = "defaultValue";
+ public static final String REQUIRED = "widgetRequired";
/**
* BASE_DATA_OBJECT_TYPE represents the full name of the
@@ -278,6 +279,18 @@
}
/**
+ * Set this
+ */
+ public void setRequired( boolean required ) {
+ setComponentAttribute( REQUIRED, new Boolean( required ).toString() );
+ }
+
+ public boolean isRequired() {
+ String required = getComponentAttribute( REQUIRED );
+ return !Boolean.FALSE.toString().equals( required );
+ }
+
+ /**
* This provides a method to take a default value and deserialize
* it in to its original object. This is useful if the defaultValue
* is actually something like a serialized java.util.Date
Modified: ccm-core/trunk/src/com/arsdigita/formbuilder/ui/editors/WidgetForm.java
===================================================================
--- ccm-core/trunk/src/com/arsdigita/formbuilder/ui/editors/WidgetForm.java 2004-12-10 12:52:56 UTC (rev 148)
+++ ccm-core/trunk/src/com/arsdigita/formbuilder/ui/editors/WidgetForm.java 2004-12-10 13:51:26 UTC (rev 149)
@@ -52,6 +52,7 @@
import com.arsdigita.formbuilder.ui.PropertiesForm;
import com.arsdigita.util.Assert;
+import com.arsdigita.bebop.parameters.BooleanParameter;
import com.arsdigita.bebop.parameters.URLTokenValidationListener;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.StringInRangeValidationListener;
@@ -59,7 +60,11 @@
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.xml.Element;
+import org.apache.log4j.Logger;
+
public abstract class WidgetForm extends PropertiesForm {
+ private static final Logger s_log = Logger.getLogger( WidgetForm.class );
+
private SingleSelectionModel m_form;
private SingleSelectionModel m_action;
@@ -172,7 +177,7 @@
}
if (includeRequiredRadioGroup()) {
- m_required = new RadioGroup("required");
+ m_required = new RadioGroup( new BooleanParameter( "required" ) );
section.add(new Label(GlobalizationUtil.globalize("formbuilder.ui.editors.answer_required")), ColumnPanel.RIGHT);
section.add(m_required);
@@ -272,6 +277,8 @@
if (showDescription()) {
m_description.setValue(state, widget.getDescription());
}
+
+ m_required.setValue( state, new Boolean( widget.isRequired() ) );
}
}
@@ -297,14 +304,16 @@
}
if (includeRequiredRadioGroup()) {
- if (((String)m_required.getValue(pageState)).equals(Boolean.TRUE.toString())) {
+ boolean required = ( (Boolean) m_required.getValue( pageState ) ).booleanValue();
+
+ widget.setRequired( required );
+ if( required ) {
// Answer is required
String listenerClassName =
"com.arsdigita.bebop.parameters.NotEmptyValidationListener";
PersistentParameterListener listener =
new PersistentParameterListener(listenerClassName);
widget.addValidationListener(listener);
-
} else {
// Answer is not required
// We need not add any listener
|