You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2004/09/23 16:16:39 UTC
svn commit: rev 47104 - cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel
Author: sylvain
Date: Thu Sep 23 07:16:39 2004
New Revision: 47104
Modified:
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/NewDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinitionBuilder.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetDefinition.java
Log:
Widget attributes can now be defined in the form definition (need also to write docs for this)
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java Thu Sep 23 07:16:39 2004
@@ -429,12 +429,16 @@
contentHandler.endElement(Constants.INSTANCE_NS, element, Constants.INSTANCE_PREFIX_COLON + element);
}
- public Object getAttribute(String name) {
- if (this.attributes != null){
- return this.attributes.get(name);
- } else{
- return null;
- }
+ public Object getAttribute(String name) {
+ Object result = null;
+
+ // First check locally
+ if (this.attributes != null) result = this.attributes.get(name);
+
+ // Fall back to the definition's attributes
+ if (result == null) result = getDefinition().getAttribute(name);
+
+ return result;
}
public void setAttribute(String name, Object value) {
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java Thu Sep 23 07:16:39 2004
@@ -33,7 +33,7 @@
/**
* Provides functionality that is common across many WidgetDefinition implementations.
*
- * @version $Id: AbstractWidgetDefinition.java,v 1.7 2004/06/15 07:33:44 sylvain Exp $
+ * @version $Id$
*/
public abstract class AbstractWidgetDefinition implements WidgetDefinition {
private FormDefinition formDefinition;
@@ -42,6 +42,8 @@
//TODO consider final on these
private String location = null;
private String id;
+ /** The initial map of attributes (can be null) */
+ private Map attributes;
private Map displayData;
private List validators;
@@ -89,6 +91,18 @@
this.id = id;
}
+ protected void setAttributes(Map attributes) {
+ this.attributes = attributes;
+ }
+
+ public Object getAttribute(String name) {
+ if (this.attributes != null) {
+ return this.attributes.get(name);
+ } else {
+ return null;
+ }
+ }
+
protected void addCreateListener(CreateListener listener) {
this.createListener = WidgetEventMulticaster.add(this.createListener, listener);
}
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -64,17 +64,37 @@
this.widgetListenerBuilderSelector = (ServiceSelector) serviceManager.lookup(WidgetListenerBuilder.ROLE + "Selector");
}
- protected void setLocation(Element widgetElement, AbstractWidgetDefinition widgetDefinition) {
+ protected void setCommonProperties(Element widgetElement, AbstractWidgetDefinition widgetDefinition) throws Exception {
+ // location
widgetDefinition.setLocation(DomHelper.getLocation(widgetElement));
- }
-
- protected void setId(Element widgetElement, AbstractWidgetDefinition widgetDefinition) throws Exception {
- String id = DomHelper.getAttribute(widgetElement, "id");
- if (id.length() < 1) {
- throw new Exception("Missing id attribute on element '" + widgetElement.getTagName() + "' at " +
- DomHelper.getLocation(widgetElement));
+
+ // id
+ if (widgetDefinition instanceof FormDefinition) {
+ // FormDefinition is the *only* kind of widget that has an optional id
+ widgetDefinition.setId(DomHelper.getAttribute(widgetElement, "id", ""));
+ } else {
+ String id = DomHelper.getAttribute(widgetElement, "id");
+ if (id.length() < 1) {
+ throw new Exception("Missing id attribute on element '" + widgetElement.getTagName() + "' at " +
+ DomHelper.getLocation(widgetElement));
+ }
+ widgetDefinition.setId(id);
+ }
+
+ // attributes
+ Element attrContainer = DomHelper.getChildElement(widgetElement, Constants.DEFINITION_NS, "attributes", false);
+ if (attrContainer != null) {
+ // There's a <fd:attributes> element. Get its <fd:attribute> children
+ Element[] attrs = DomHelper.getChildElements(attrContainer, Constants.DEFINITION_NS, "attribute");
+ if (attrs != null && attrs.length > 0) {
+ // We actually do have some
+ Map attrMap = new HashMap();
+ for (int i = 0; i < attrs.length; i++) {
+ attrMap.put(DomHelper.getAttribute(attrs[i], "name"), DomHelper.getAttribute(attrs[i], "value"));
+ }
+ widgetDefinition.setAttributes(attrMap);
+ }
}
- widgetDefinition.setId(id);
}
protected WidgetDefinition buildAnotherWidgetDefinition(Element widgetDefinition) throws Exception {
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -24,13 +24,12 @@
/**
* Builds {@link ActionDefinition}s.
*
- * @version $Id: ActionDefinitionBuilder.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
*/
public class ActionDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {
ActionDefinition actionDefinition = createDefinition();
- setLocation(widgetElement, actionDefinition);
- setId(widgetElement, actionDefinition);
+ setCommonProperties(widgetElement, actionDefinition);
setDisplayData(widgetElement, actionDefinition);
String actionCommand = DomHelper.getAttribute(widgetElement, "action-command");
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -23,13 +23,12 @@
/**
* Builds {@link BooleanFieldDefinition}s.
*
- * @version $Id: BooleanFieldDefinitionBuilder.java,v 1.2 2004/07/02 09:17:08 jeremy Exp $
+ * @version $Id$
*/
public class BooleanFieldDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {
BooleanFieldDefinition definition = new BooleanFieldDefinition();
- setLocation(widgetElement, definition);
- setId(widgetElement, definition);
+ setCommonProperties(widgetElement, definition);
setDisplayData(widgetElement, definition);
setValidators(widgetElement, definition);
Iterator iter = buildEventListeners(widgetElement, "on-value-changed", ValueChangedListener.class).iterator();
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -22,14 +22,13 @@
/**
* Builds {ClassDefinition}s.
*
- * @version $Id: ClassDefinitionBuilder.java,v 1.3 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
*/
public class ClassDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element element) throws Exception {
ClassDefinition definition = new ClassDefinition();
- setLocation(element, definition);
- setId(element, definition);
+ setCommonProperties(element, definition);
setDisplayData(element, definition);
setValidators(element, definition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -26,7 +26,7 @@
/**
* Builds {FieldDefinition}s.
*
- * @version $Id: FieldDefinitionBuilder.java,v 1.4 2004/06/15 07:33:44 sylvain Exp $
+ * @version $Id$
*/
public class FieldDefinitionBuilder extends AbstractDatatypeWidgetDefinitionBuilder {
@@ -37,8 +37,7 @@
}
protected void buildWidgetDefinition(FieldDefinition fieldDefinition, Element widgetElement) throws Exception {
- setLocation(widgetElement, fieldDefinition);
- setId(widgetElement, fieldDefinition);
+ setCommonProperties(widgetElement, fieldDefinition);
Element datatypeElement = DomHelper.getChildElement(widgetElement, Constants.DEFINITION_NS, "datatype");
if (datatypeElement == null) {
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -22,14 +22,13 @@
/**
* Builds {@link FormDefinition}s.
*
- * @version $Id: FormDefinitionBuilder.java,v 1.3 2004/06/08 15:42:19 danielf Exp $
+ * @version $Id$
*/
public class FormDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element formElement) throws Exception {
FormDefinition formDefinition = new FormDefinition();
- setLocation(formElement, formDefinition);
- formDefinition.setId(DomHelper.getAttribute(formElement, "id", ""));
+ setCommonProperties(formElement, formDefinition);
setDisplayData(formElement, formDefinition);
setValidators(formElement, formDefinition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -20,13 +20,12 @@
/**
* Builds {@link MessagesDefinition}s.
*
- * @version $Id: MessagesDefinitionBuilder.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
*/
public class MessagesDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {
MessagesDefinition messagesDefinition = new MessagesDefinition();
- setLocation(widgetElement, messagesDefinition);
- setId(widgetElement, messagesDefinition);
+ setCommonProperties(widgetElement, messagesDefinition);
setDisplayData(widgetElement, messagesDefinition);
return messagesDefinition;
}
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -26,13 +26,12 @@
/**
* Builds {@link MultiValueFieldDefinition}s.
*
- * @version $Id: MultiValueFieldDefinitionBuilder.java,v 1.4 2004/04/22 14:44:31 mpo Exp $
+ * @version $Id$
*/
public class MultiValueFieldDefinitionBuilder extends AbstractDatatypeWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {
MultiValueFieldDefinition definition = new MultiValueFieldDefinition();
- setLocation(widgetElement, definition);
- setId(widgetElement, definition);
+ setCommonProperties(widgetElement, definition);
setDisplayData(widgetElement, definition);
setValidators(widgetElement, definition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/NewDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/NewDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/NewDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -20,14 +20,13 @@
/**
* Builds {NewDefinition}s.
*
- * @version $Id: NewDefinitionBuilder.java,v 1.2 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
*/
public class NewDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element element) throws Exception {
NewDefinition definition = new NewDefinition();
- setLocation(element, definition);
- setId(element, definition);
+ setCommonProperties(element, definition);
return definition;
}
}
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -24,13 +24,12 @@
/**
* Builds {@link OutputDefinition}s.
*
- * @version $Id: OutputDefinitionBuilder.java,v 1.3 2004/03/17 15:37:58 joerg Exp $
+ * @version $Id$
*/
public class OutputDefinitionBuilder extends AbstractDatatypeWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {
OutputDefinition definition = new OutputDefinition();
- setLocation(widgetElement, definition);
- setId(widgetElement, definition);
+ setCommonProperties(widgetElement, definition);
Element datatypeElement = DomHelper.getChildElement(widgetElement, Constants.DEFINITION_NS, "datatype");
if (datatypeElement == null) {
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -35,7 +35,7 @@
* </ul>
*
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: RepeaterActionDefinitionBuilder.java,v 1.1 2004/03/09 10:33:49 reinhard Exp $
+ * @version CVS $Id$
*/
public class RepeaterActionDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
@@ -43,8 +43,7 @@
public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {
String actionCommand = DomHelper.getAttribute(widgetElement, "action-command");
RepeaterActionDefinition definition = createDefinition(widgetElement, actionCommand);
- setLocation(widgetElement, definition);
- setId(widgetElement, definition);
+ setCommonProperties(widgetElement, definition);
setDisplayData(widgetElement, definition);
setValidators(widgetElement, definition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -22,7 +22,7 @@
/**
* Builds {@link RepeaterDefinition}s.
*
- * @version $Id: RepeaterDefinitionBuilder.java,v 1.2 2004/03/09 13:08:45 cziegeler Exp $
+ * @version $Id$
*/
public class RepeaterDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
@@ -31,8 +31,7 @@
int initialSize = DomHelper.getAttributeAsInteger(repeaterElement, "initial-size", 0);
RepeaterDefinition repeaterDefinition = new RepeaterDefinition(initialSize);
- setLocation(repeaterElement, repeaterDefinition);
- setId(repeaterElement, repeaterDefinition);
+ setCommonProperties(repeaterElement, repeaterDefinition);
setDisplayData(repeaterElement, repeaterDefinition);
setValidators(repeaterElement, repeaterDefinition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowActionDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -24,7 +24,7 @@
/**
*
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: RowActionDefinitionBuilder.java,v 1.1 2004/03/09 10:33:49 reinhard Exp $
+ * @version CVS $Id$
*/
public class RowActionDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
@@ -32,8 +32,7 @@
public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {
String actionCommand = DomHelper.getAttribute(widgetElement, "action-command");
RowActionDefinition definition = createDefinition(widgetElement, actionCommand);
- setLocation(widgetElement, definition);
- setId(widgetElement, definition);
+ setCommonProperties(widgetElement, definition);
setDisplayData(widgetElement, definition);
definition.setActionCommand(actionCommand);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -22,14 +22,13 @@
/**
* Builds {StructDefinition}s.
*
- * @version $Id: StructDefinitionBuilder.java,v 1.3 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
*/
public class StructDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element element) throws Exception {
StructDefinition definition = new StructDefinition();
- setLocation(element, definition);
- setId(element, definition);
+ setCommonProperties(element, definition);
setDisplayData(element, definition);
setValidators(element, definition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -22,14 +22,13 @@
/**
* Builds {UnionDefinition}s.
*
- * @version $Id: UnionDefinitionBuilder.java,v 1.3 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
*/
public class UnionDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
public WidgetDefinition buildWidgetDefinition(Element element) throws Exception {
UnionDefinition definition = new UnionDefinition();
- setLocation(element, definition);
- setId(element, definition);
+ setCommonProperties(element, definition);
definition.setCaseWidgetId(DomHelper.getAttribute(element, "case", ""));
setDisplayData(element, definition);
setValidators(element, definition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinitionBuilder.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinitionBuilder.java Thu Sep 23 07:16:39 2004
@@ -23,7 +23,7 @@
*
* @author <a href="mailto:uv@upaya.co.uk">Upayavira</a>
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: UploadDefinitionBuilder.java,v 1.2 2004/03/09 11:31:12 joerg Exp $
+ * @version CVS $Id$
*/
public class UploadDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
@@ -32,8 +32,7 @@
boolean required = DomHelper.getAttributeAsBoolean(widgetElement, "required", false);
UploadDefinition uploadDefinition = new UploadDefinition(required, mimeTypes);
- setLocation(widgetElement, uploadDefinition);
- setId(widgetElement, uploadDefinition);
+ setCommonProperties(widgetElement, uploadDefinition);
setDisplayData(widgetElement, uploadDefinition);
setValidators(widgetElement, uploadDefinition);
Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetDefinition.java (original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetDefinition.java Thu Sep 23 07:16:39 2004
@@ -24,7 +24,7 @@
* usually won't have to bother with the WidgetDefinition's, but will rather use
* the Widget's themselves.
*
- * @version CVS $Id: WidgetDefinition.java,v 1.5 2004/04/29 08:46:19 cziegeler Exp $
+ * @version CVS $Id$
*/
public interface WidgetDefinition {
@@ -47,6 +47,14 @@
* Gets id of this widget definition.
*/
public String getId();
+
+ /**
+ * Gets an attribute that has been defined on the widget's definition
+ *
+ * @param name the attribute name
+ * @return the attribute value, or null if it doesn't exist
+ */
+ public Object getAttribute(String name);
/**
* Validate a widget using the validators that were defined in its definition. If validation