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 2005/10/21 15:04:41 UTC
svn commit: r327169 - in /cocoon/blocks/forms/trunk:
java/org/apache/cocoon/forms/binding/library/
java/org/apache/cocoon/forms/formmodel/
java/org/apache/cocoon/forms/formmodel/library/ samples/library/forms/
samples/library/libraries/common-types/
Author: sylvain
Date: Fri Oct 21 06:04:31 2005
New Revision: 327169
URL: http://svn.apache.org/viewcvs?rev=327169&view=rev
Log:
Fix bug #37005, AAOB in CForms library. Thanks to Philipp Schmidt <ph...@gmail.com>
Added:
cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_template_jx.xml (with props)
Modified:
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/library/Library.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinitionBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/library/Library.java
cocoon/blocks/forms/trunk/samples/library/forms/form2_model.xml
cocoon/blocks/forms/trunk/samples/library/forms/hotel_model.xml
cocoon/blocks/forms/trunk/samples/library/forms/hotel_template.xml
cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_model.xml
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/library/Library.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/library/Library.java?rev=327169&r1=327168&r2=327169&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/library/Library.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/binding/library/Library.java Fri Oct 21 06:04:31 2005
@@ -111,8 +111,8 @@
String librarykey = null;
String definitionkey = key;
- if(key.indexOf(":")>-1) {
- String[] parts = StringUtils.split(SEPARATOR);
+ if(key.indexOf(SEPARATOR)>-1) {
+ String[] parts = StringUtils.split(key,SEPARATOR);
librarykey = parts[0];
definitionkey = parts[1];
for(int i=2; i<parts.length; i++) {
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinitionBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinitionBuilder.java?rev=327169&r1=327168&r2=327169&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinitionBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinitionBuilder.java Fri Oct 21 06:04:31 2005
@@ -43,6 +43,7 @@
Element widgetElement = widgetElements[i];
this.context = new WidgetDefinitionBuilderContext(oldContext);
+ this.context.setSuperDefinition(null);
String newId = DomHelper.getAttribute(widgetElement, "extends", null);
WidgetDefinition def = null;
@@ -51,8 +52,6 @@
this.context.setSuperDefinition(def);
else if ((def = definition.getWidgetDefinition(newId)) != null)
this.context.setSuperDefinition(def);
- else
- this.context.setSuperDefinition(null);
// throw new Exception("Widget to inherit from ("+newId+") not
// found! (at "+DomHelper.getLocation(element)+")");
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/library/Library.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/library/Library.java?rev=327169&r1=327168&r2=327169&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/library/Library.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/library/Library.java Fri Oct 21 06:04:31 2005
@@ -115,8 +115,8 @@
String librarykey = null;
String definitionkey = key;
- if(key.indexOf(":")>-1) {
- String[] parts = StringUtils.split(SEPARATOR);
+ if(key.indexOf(SEPARATOR)>-1) {
+ String[] parts = StringUtils.split(key,SEPARATOR);
librarykey = parts[0];
definitionkey = parts[1];
for(int i=2; i<parts.length; i++) {
Modified: cocoon/blocks/forms/trunk/samples/library/forms/form2_model.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/samples/library/forms/form2_model.xml?rev=327169&r1=327168&r2=327169&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/samples/library/forms/form2_model.xml (original)
+++ cocoon/blocks/forms/trunk/samples/library/forms/form2_model.xml Fri Oct 21 06:04:31 2005
@@ -19,7 +19,7 @@
xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
<fd:widgets>
- <fd:import prefix="lib" uri="libraries/library_form1.xml"/>
+ <fd:import prefix="lib" uri="../libraries/library_form1.xml"/>
<fd:new id="lib:class1"/>
<fd:expand id="lib:field2"/>
@@ -30,6 +30,7 @@
<fd:field id="somefield">
<fd:label>Somefield</fd:label>
+ <fd:datatype base="string"/>
</fd:field>
</fd:widgets>
Modified: cocoon/blocks/forms/trunk/samples/library/forms/hotel_model.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/samples/library/forms/hotel_model.xml?rev=327169&r1=327168&r2=327169&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/samples/library/forms/hotel_model.xml (original)
+++ cocoon/blocks/forms/trunk/samples/library/forms/hotel_model.xml Fri Oct 21 06:04:31 2005
@@ -14,7 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<fd:library
+<fd:form
xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
<fd:widgets>
@@ -62,7 +62,7 @@
</fd:booleanfield>
</fd:widgets>
</fd:repeater>
- <fd:repeater-action repeater="persons" action-command="add-row" id="personsAddRow">
+ <fd:repeater-action repeater="persons" command="add-row" id="personsAddRow">
<fd:label>Add person</fd:label>
<fd:help>Add a new record.</fd:help>
</fd:repeater-action>
@@ -83,4 +83,4 @@
</fd:widgets>
-</fd:library>
+</fd:form>
Modified: cocoon/blocks/forms/trunk/samples/library/forms/hotel_template.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/samples/library/forms/hotel_template.xml?rev=327169&r1=327168&r2=327169&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/samples/library/forms/hotel_template.xml (original)
+++ cocoon/blocks/forms/trunk/samples/library/forms/hotel_template.xml Fri Oct 21 06:04:31 2005
@@ -18,6 +18,7 @@
xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
<jx:import uri="resource://org/apache/cocoon/forms/generation/jx-macros.xml"/>
+ <jx:import uri="libraries/common-types/types_template_jx.xml"/>
<title>Hotel Booking Sample (using Libraries)</title>
<content>
<ft:form-template action="#{$cocoon/continuation/id}.continue" method="POST">
@@ -34,15 +35,7 @@
<tr>
<td colspan="2">
Reserve room:
- <ft:group id="booking">
- <fi:group>
- <fi:styling layout="row"/>
- <fi:items>
- <ft:widget id="from"/>
- <ft:widget id="to"/>
- </fi:items>
- </fi:group>
- </ft:group>
+ <duration id="booking"/>
</td>
</tr>
<tr>
@@ -50,30 +43,48 @@
</tr>
<tr>
<td colspan="2">
- <table cellspacing="0">
+ <table cellspacing="0" style="border-top: 1px solid black;">
<jx:choose>
<jx:when test="${widget.getChild('persons').getSize() == 0}">
- <tr><td colspan="5" align="center"><em>There are no persons to display</em></td></tr>
+ <tr><td align="center"><em>There are no rows present yet!</em></td></tr>
</jx:when>
<jx:otherwise>
<ft:repeater-widget id="persons">
<tr>
- <ft:group id="person">
- <td><ft:widget-label id="firstname"/></td>
- <td><ft:widget-label id="lastname"/></td>
- <td><ft:widget-label id="title"/></td>
- </ft:group>
- <td><ft:widget-label id="child"/></td>
- <td> </td>
- </tr>
- <tr>
- <ft:group id="person">
- <td><ft:widget id="firstname"/></td>
- <td><ft:widget id="lastname"/></td>
- <td><ft:widget id="title"/></td>
- </ft:group>
- <td><ft:widget id="child"/></td>
- <td><ft:widget id="moveUp"/><ft:widget id="moveDown"/><ft:widget id="deleteRow"/></td>
+ <td style="border-bottom: 1px solid black;"><person/></td>
+ <td style="border-bottom: 1px solid black;">
+ <fi:group>
+ <fi:styling layout="rows"/>
+ <fi:items>
+ <ft:widget id="child"/>
+ </fi:items>
+ </fi:group>
+ </td>
+ <td style="border-bottom: 1px solid black; border-left: 1px solid black;">
+ <jx:choose>
+ <jx:when test="${repeaterLoop.first}">
+ <img src="resources/forms/img/blank_btn.gif"/>
+ </jx:when>
+ <jx:otherwise>
+ <ft:widget id="moveUp">
+ <fi:styling type="image" src="resources/forms/img/move_up.gif"/>
+ </ft:widget>
+ </jx:otherwise>
+ </jx:choose>
+ <jx:choose>
+ <jx:when test="${repeaterLoop.last}">
+ <img src="resources/forms/img/blank_btn.gif"/>
+ </jx:when>
+ <jx:otherwise>
+ <ft:widget id="moveDown">
+ <fi:styling type="image" src="resources/forms/img/move_down.gif"/>
+ </ft:widget>
+ </jx:otherwise>
+ </jx:choose>
+ <ft:widget id="deleteRow">
+ <fi:styling type="image" src="resources/forms/img/delete.gif"/>
+ </ft:widget>
+ </td>
</tr>
</ft:repeater-widget>
</jx:otherwise>
@@ -94,18 +105,7 @@
</tr>
<tr>
<td colspan="2">
- <ft:group id="address">
- <fi:group>
- <fi:styling layout="rows"/>
- <fi:items>
- <ft:widget id="street"/>
- <ft:widget id="number"/>
- <ft:widget id="zipcode"/>
- <ft:widget id="city"/>
- <ft:widget id="country"/>
- </fi:items>
- </fi:group>
- </ft:group>
+ <address/>
</td>
</tr>
<tr><td colspan="2"><input type="submit"/></td></tr>
Modified: cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_model.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_model.xml?rev=327169&r1=327168&r2=327169&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_model.xml (original)
+++ cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_model.xml Fri Oct 21 06:04:31 2005
@@ -258,22 +258,22 @@
<fd:repeater id="genericRepeater">
<fd:widgets>
- <fd:row-action id="moveUp" action-command="move-up">
+ <fd:row-action id="moveUp" command="move-up">
<fd:help>Move this record up.</fd:help>
<fd:label>Up</fd:label>
</fd:row-action>
- <fd:row-action id="moveDown" action-command="move-down">
+ <fd:row-action id="moveDown" command="move-down">
<fd:help>Move this record down.</fd:help>
<fd:label>Down</fd:label>
</fd:row-action>
- <fd:row-action id="deleteRow" action-command="delete">
+ <fd:row-action id="deleteRow" command="delete">
<fd:help>Remove this record.</fd:help>
<fd:label>Delete</fd:label>
</fd:row-action>
- <fd:row-action id="addNewRow" action-command="add-after">
+ <fd:row-action id="addNewRow" command="add-after">
<fd:help>Add a new record after this one.</fd:help>
<fd:label>Add</fd:label>
</fd:row-action>
@@ -301,7 +301,7 @@
</fd:widgets>
</fd:repeater>
- <fd:repeater-action repeater="contactInformationRepeater" action-command="add-row" id="contactInformationRepeaterAddRow">
+ <fd:repeater-action repeater="contactInformationRepeater" command="add-row" id="contactInformationRepeaterAddRow">
<fd:label>Add new record</fd:label>
<fd:help>Add a new record.</fd:help>
</fd:repeater-action>
Added: cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_template_jx.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_template_jx.xml?rev=327169&view=auto
==============================================================================
--- cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_template_jx.xml (added)
+++ cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_template_jx.xml Fri Oct 21 06:04:31 2005
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2005 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<jx:template xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
+ xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
+ xmlns:fi="http://apache.org/cocoon/forms/1.0#instance">
+
+ <jx:macro name="duration">
+ <jx:parameter name="id" default="duration"/>
+ <jx:parameter name="layout" default="row"/>
+ <ft:group id="${id}">
+ <fi:group>
+ <fi:styling layout="${layout}"/>
+ <fi:items>
+ <ft:widget id="from"/>
+ <ft:widget id="to"/>
+ </fi:items>
+ </fi:group>
+ </ft:group>
+ </jx:macro>
+
+ <jx:macro name="address">
+ <jx:parameter name="id" default="address"/>
+ <jx:parameter name="layout" default="rows"/>
+ <ft:group id="${id}">
+ <fi:group>
+ <fi:styling layout="${layout}"/>
+ <fi:items>
+ <ft:widget id="street"/>
+ <ft:widget id="number"/>
+ <ft:widget id="zipcode"/>
+ <ft:widget id="city"/>
+ <ft:widget id="country"/>
+ </fi:items>
+ </fi:group>
+ </ft:group>
+ </jx:macro>
+
+ <jx:macro name="person">
+ <jx:parameter name="id" default="person"/>
+ <jx:parameter name="layout" default="rows"/>
+ <ft:group id="${id}">
+ <fi:group>
+ <fi:styling layout="${layout}"/>
+ <fi:items>
+ <ft:widget id="title"/>
+ <ft:widget id="firstname"/>
+ <ft:widget id="lastname"/>
+ </fi:items>
+ </fi:group>
+ </ft:group>
+ </jx:macro>
+
+ <!-- unfortunately, this doesn't work yet -->
+ <!--
+ <jx:macro name="genericRepeater">
+ <jx:parameter name="id"/>
+ <table cellspacing="0">
+ <jx:choose>
+ <jx:when test="${widget.getChild(id).getSize() == 0}">
+ <tr><td align="center"><em>There are no rows present yet!</em></td></tr>
+ </jx:when>
+ <jx:otherwise>
+ <ft:repeater-widget id="${id}">
+ <tr>
+ <jx:evalBody/>
+ <td>
+ <jx:choose>
+ <jx:when test="${repeaterLoop.first}">
+ <img src="resources/forms/img/blank_btn.gif"/>
+ </jx:when>
+ <jx:otherwise>
+ <ft:widget id="moveUp">
+ <fi:styling type="image" src="resources/forms/img/move_up.gif"/>
+ </ft:widget>
+ </jx:otherwise>
+ </jx:choose>
+ <jx:choose>
+ <jx:when test="${repeaterLoop.last}">
+ <img src="resources/forms/img/blank_btn.gif"/>
+ </jx:when>
+ <jx:otherwise>
+ <ft:widget id="moveDown">
+ <fi:styling type="image" src="resources/forms/img/move_down.gif"/>
+ </ft:widget>
+ </jx:otherwise>
+ </jx:choose>
+ <ft:widget id="deleteRow">
+ <fi:styling type="image" src="resources/forms/img/delete.gif"/>
+ </ft:widget>
+ </td>
+ </tr>
+ </ft:repeater-widget>
+ </jx:otherwise>
+ </jx:choose>
+ </table>
+ </jx:macro>
+ -->
+
+</jx:template>
Propchange: cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_template_jx.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/forms/trunk/samples/library/libraries/common-types/types_template_jx.xml
------------------------------------------------------------------------------
svn:keywords = Id