cvs commit: cocoon-2.1/lib/core jakarta-regexp-1.3.jar jakarta-bcel-20040329.jar
antonio 2004/05/06 17:15:42 Added: lib/endorsed jakarta-bcel-20040329.jar jakarta-regexp-1.3.jar Removed: lib/core jakarta-regexp-1.3.jar jakarta-bcel-20040329.jar Log: Move jakarta-bcel and regexp to lib/endorsed. This files were before inside the xalan.jar Revision ChangesPath 1.1 cocoon-2.1/lib/endorsed/jakarta-bcel-20040329.jar Binary file 1.1 cocoon-2.1/lib/endorsed/jakarta-regexp-1.3.jar Binary file
cvs commit: cocoon-2.1/lib jars.xml
antonio 2004/05/06 18:50:19 Modified:lib jars.xml Log: Move jakarta-bcel and regexp to lib/endorsed. This files were before inside the xalan.jar Revision ChangesPath 1.212 +3 -3 cocoon-2.1/lib/jars.xml Index: jars.xml === RCS file: /home/cvs//cocoon-2.1/lib/jars.xml,v retrieving revision 1.211 retrieving revision 1.212 diff -u -r1.211 -r1.212 --- jars.xml 3 May 2004 16:22:29 - 1.211 +++ jars.xml 7 May 2004 01:50:19 - 1.212 @@ -316,7 +316,7 @@ donated to the Apache Software Foundation by Jonathan Locke. /description used-bysitemap matchers/used-by -libcore/jakarta-regexp-1.3.jar/lib +libendorsed/jakarta-regexp-1.3.jar/lib homepagehttp://jakarta.apache.org/regexp//homepage /file @@ -1116,7 +1116,7 @@ possibility to analyze, create, and manipulate (binary) Java class files. /description used-byXSLTC, javaflow/used-by -libcore/jakarta-bcel-20040329.jar/lib +libendorsed/jakarta-bcel-20040329.jar/lib homepagehttp://jakarta.apache.org/bcel//homepage /file /jars
cvs commit: cocoon-2.1 gump.xml
cziegeler2004/05/07 00:43:45 Modified:.gump.xml Log: Hopefully fixing gump problem Revision ChangesPath 1.150 +2 -1 cocoon-2.1/gump.xml Index: gump.xml === RCS file: /home/cvs/cocoon-2.1/gump.xml,v retrieving revision 1.149 retrieving revision 1.150 diff -u -r1.149 -r1.150 --- gump.xml 5 May 2004 11:30:01 - 1.149 +++ gump.xml 7 May 2004 07:43:45 - 1.150 @@ -83,6 +83,7 @@ depend project=eclipse-jtd/ depend project=xmlunit/!-- used by the testcases -- +depend project=qdox/ !-- used by ant tasks -- work nested=build/cocoon-@@DATE@@/classes/ work nested=build/cocoon-@@DATE@@/deprecated/
cvs commit: cocoon-2.1/src/blocks/supersonic/samples/multi-channel/docs formats.xml
crossley2004/05/07 01:43:08 Modified:src/blocks/supersonic/samples/multi-channel/docs formats.xml Log: De-personalise. Revision ChangesPath 1.2 +2 -1 cocoon-2.1/src/blocks/supersonic/samples/multi-channel/docs/formats.xml Index: formats.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/supersonic/samples/multi-channel/docs/formats.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- formats.xml 4 May 2004 17:25:11 - 1.1 +++ formats.xml 7 May 2004 08:43:08 - 1.2 @@ -39,7 +39,8 @@ /ul /p p -I say emnot limited to/em, because I might have forgotten some, +We say emnot limited to/em, because we might have forgotten +to list some, but also because it is fairly easy for a Java programmer to implement any output format by writing a new emSerializer/em or extending an existing one.
cvs commit: cocoon-2.1/src/webapp/samples/modules sitemap.xmap
upayavira2004/05/07 02:52:26 Modified:src/webapp/samples/modules sitemap.xmap Log: Making the baselink module sample do something useful. As suggested by Jorg Heymans. Revision ChangesPath 1.11 +6 -4 cocoon-2.1/src/webapp/samples/modules/sitemap.xmap Index: sitemap.xmap === RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/modules/sitemap.xmap,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- sitemap.xmap 6 May 2004 11:09:42 - 1.10 +++ sitemap.xmap 7 May 2004 09:52:26 - 1.11 @@ -101,14 +101,16 @@ map:match pattern=content/baselink.xml map:generate type=jx src=properties.xml - map:parameter name=(anything) value={baselink:}/ + map:parameter name=sitemapAsBase value={baselink:SitemapBaseLink}/ + map:parameter name=requestAsBase value={baselink:RequestBaseLink}/ /map:generate map:transform src=properties2html.xsl map:parameter name=title value=BaseLink Input Module (BaseLinkModule)/ map:parameter name=description value=Returns a relative path (../, -../../, etc) linking to the base of the current request URI. In -this demonstration, the request URI is {0} (an internal request not +../../, etc) linking to either the base of the current request URI or the base +of the sitemap. +In this demonstration, the request URI is {0} (an internal request not equivalent to what the user sees)/ /map:transform map:serialize /
cvs commit: cocoon-2.1/src/test/org/apache/cocoon/xml/dom DOMBuilderTestCase.java
ugo 2004/05/07 03:47:14 Added: src/test/org/apache/cocoon/xml/dom DOMBuilderTestCase.java Log: Added testcase demostrating the bug. PR: 26219 Revision ChangesPath 1.1 cocoon-2.1/src/test/org/apache/cocoon/xml/dom/DOMBuilderTestCase.java Index: DOMBuilderTestCase.java === /* * Copyright 1999-2004 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. */ package org.apache.cocoon.xml.dom; import junit.framework.TestCase; import org.w3c.dom.Document; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; /** * JUnit Testcase for [EMAIL PROTECTED] DOMBuilder}. * * @version CVS $Id: DOMBuilderTestCase.java,v 1.1 2004/05/07 10:47:14 ugo Exp $ */ public class DOMBuilderTestCase extends TestCase { /** * Constructor. * @param name */ public DOMBuilderTestCase(String name) { super(name); } /** * Test if two consecutive characters events result in the concatenation * of the two strings (cfr. bug #26219). * * @throws SAXException */ public void testMultipleCharactersEvents() throws SAXException { DOMBuilder builder = new DOMBuilder(); Attributes attrs = new AttributesImpl(); char c1[] = ABC.toCharArray(); char c2[] = DEF.toCharArray(); builder.startDocument(); builder.startElement(, test, test, attrs); builder.characters(c1, 0, 3); builder.characters(c2, 0, 3); builder.endElement(, test, test); builder.endDocument(); Document dom = builder.getDocument(); assertEquals(Content of root element not what expected, ABCDEF, dom.getDocumentElement().getFirstChild().getNodeValue()); } }
cvs commit: cocoon-2.1/src/blocks/forms/samples/forms form1.xml
vgritsenko2004/05/07 03:55:08 Modified:src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript Form.js src/blocks/forms/samples/forms form1.xml Log: Add check for removed form.validator, add form level validation to the sample. Revision ChangesPath 1.9 +6 -1 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.js Index: Form.js === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.js,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Form.js 6 May 2004 14:23:04 - 1.8 +++ Form.js 7 May 2004 10:55:08 - 1.9 @@ -94,6 +94,11 @@ var finished = false; this.isValid = false; +// FIXME: Remove check for removed syntax later. +if (this.validator != undefined) { +throw Forms do not support custom javascript validators anymore. Declare your validators in the form model file.; +} + do { var k = cocoon.sendPageAndWait(uri, bizData); if (result == null) result = k; 1.6 +17 -2 cocoon-2.1/src/blocks/forms/samples/forms/form1.xml Index: form1.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/samples/forms/form1.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- form1.xml 17 Apr 2004 18:33:56 - 1.5 +++ form1.xml 7 May 2004 10:55:08 - 1.6 @@ -21,7 +21,22 @@ fd:form xmlns:fd=http://apache.org/cocoon/forms/1.0#definition; xmlns:i18n=http://apache.org/cocoon/i18n/2.1; - + + fd:validation +!-- This demonstrates form level validation -- +fd:javascript + var success = true; + var price = widget.getWidget(dieselprice); + if (price.value lt; 1) { + price.setValidationError(new Packages.org.apache.cocoon.forms.validation.ValidationError(It can not be that low!, false)); + success = false; + } + + // Must return true/false + return success; +/fd:javascript + /fd:validation + fd:widgets fd:field id=tab-state fd:datatype base=string/
cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel Upload.java
bruno 2004/05/07 06:08:24 Modified:src/blocks/forms/java/org/apache/cocoon/forms/formmodel Upload.java Log: removed a TODO and System.out.println Revision ChangesPath 1.11 +1 -4 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Upload.java Index: Upload.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Upload.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Upload.java 30 Apr 2004 12:23:03 - 1.10 +++ Upload.java 7 May 2004 13:08:24 - 1.11 @@ -152,9 +152,6 @@ * Adds attributes @required, @mime-types */ public AttributesImpl getXMLElementAttributes() { - // TODO Auto-generated method stub - System.out.println(getXMLElementAttributes); - AttributesImpl attrs = super.getXMLElementAttributes(); attrs.addCDATAAttribute(id, getFullyQualifiedId()); attrs.addCDATAAttribute(required, String.valueOf(uploadDefinition.isRequired()));
cvs commit: cocoon-2.1/src/test/org/apache/cocoon/transformation XAbstractDOMTransformerTestCase.java
ugo 2004/05/07 07:56:44 Added: src/test/org/apache/cocoon/transformation XAbstractDOMTransformerTestCase.java Log: Testcase demonstrating that bug #26219 is not a bug. Revision ChangesPath 1.1 cocoon-2.1/src/test/org/apache/cocoon/transformation/XAbstractDOMTransformerTestCase.java Index: XAbstractDOMTransformerTestCase.java === /* * Copyright 1999-2004 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. */ package org.apache.cocoon.transformation; import javax.xml.parsers.DocumentBuilderFactory; import junit.framework.TestCase; import org.apache.cocoon.xml.AttributesImpl; import org.apache.cocoon.xml.dom.DOMBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.Attributes; /** * A simple testcase for AbstractDOMTransformer. * * @version CVS $Id: XAbstractDOMTransformerTestCase.java,v 1.1 2004/05/07 14:56:44 ugo Exp $ */ public class XAbstractDOMTransformerTestCase extends TestCase { /** * Constructor. * @param name */ public XAbstractDOMTransformerTestCase(String name) { super(name); } /** * Test if sending two consecutive characters events to the transformer * doesn't lose one of them (cfr. bug #26219). */ public void testJoiningCharacters() throws Exception { /* * Simple transformer that produces a document with a root with a single * text node whose value is given by the concatenation of the values * of the children of the root element of the original document. */ AbstractDOMTransformer adt = new AbstractDOMTransformer() { protected Document transform(Document doc) { try { Document newdoc = DocumentBuilderFactory .newInstance().newDocumentBuilder().newDocument(); Element root = newdoc.createElement(out); newdoc.appendChild(root); NodeList children = doc.getDocumentElement().getChildNodes(); StringBuffer value = new StringBuffer(); for (int i = 0 ; i children.getLength() ; ++i) { value.append(children.item(i).getNodeValue()); } root.appendChild(newdoc.createTextNode(value.toString())); return newdoc; } catch (Exception e) { e.printStackTrace(); return null; } } }; DOMBuilder builder = new DOMBuilder(); adt.setConsumer(builder); Attributes attrs = new AttributesImpl(); char c1[] = ABC.toCharArray(); char c2[] = DEF.toCharArray(); adt.startDocument(); adt.startElement(, in, in, attrs); adt.characters(c1, 0, 3); adt.characters(c2, 0, 3); adt.endElement(, in, in); adt.endDocument(); assertEquals(Content of root element not what expected, ABCDEF, builder.getDocument().getDocumentElement().getFirstChild().getNodeValue()); } }
cvs commit: cocoon-2.1/src/test/org/apache/cocoon/xml/dom DOMBuilderTestCase.java
ugo 2004/05/07 06:11:26 Modified:src/test/org/apache/cocoon/xml/dom DOMBuilderTestCase.java Log: Fixed testcase. The testcase was wrong, not the class under test. Revision ChangesPath 1.2 +5 -3 cocoon-2.1/src/test/org/apache/cocoon/xml/dom/DOMBuilderTestCase.java Index: DOMBuilderTestCase.java === RCS file: /home/cvs/cocoon-2.1/src/test/org/apache/cocoon/xml/dom/DOMBuilderTestCase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DOMBuilderTestCase.java 7 May 2004 10:47:14 - 1.1 +++ DOMBuilderTestCase.java 7 May 2004 13:11:26 - 1.2 @@ -39,7 +39,8 @@ } /** - * Test if two consecutive characters events result in the concatenation + * Test if two consecutive characters events result in two text nodes + * whose concatenation is equal to the concatenation * of the two strings (cfr. bug #26219). * * @throws SAXException @@ -57,6 +58,7 @@ builder.endDocument(); Document dom = builder.getDocument(); assertEquals(Content of root element not what expected, ABCDEF, -dom.getDocumentElement().getFirstChild().getNodeValue()); +dom.getDocumentElement().getFirstChild().getNodeValue() ++ dom.getDocumentElement().getLastChild().getNodeValue()); } }
cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3 ScriptableWidget.java
mpo 2004/05/07 06:42:11 Modified:src/blocks/forms/java/org/apache/cocoon/forms/binding TempRepeaterJXPathBinding.java JXPathBindingBase.java ValueJXPathBinding.java src/blocks/forms/java/org/apache/cocoon/forms/validation/impl ValidationRuleValidator.java src/blocks/forms/java/org/apache/cocoon/forms/formmodel Repeater.java MultiValueField.java Output.java Upload.java Action.java AbstractWidget.java Field.java BooleanField.java AggregateField.java Widget.java src/blocks/forms/java/org/apache/cocoon/forms/transformation WidgetReplacingPipe.java EffectWidgetReplacingPipe.java src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2 ScriptableWidget.java src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3 ScriptableWidget.java Log: Renaming getFullyQaulifiedId() to getRequestParameterName() as suggested here: http://marc.theaimsgroup.com/?l=xml-cocoon-devm=108387991326272w=2 Revision ChangesPath 1.5 +2 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBinding.java Index: TempRepeaterJXPathBinding.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBinding.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- TempRepeaterJXPathBinding.java23 Apr 2004 11:42:58 - 1.4 +++ TempRepeaterJXPathBinding.java7 May 2004 13:42:09 - 1.5 @@ -73,7 +73,7 @@ // of the wrong type or null.) Repeater repeater = (Repeater) selectWidget(frmModel, this.repeaterId); if (repeater == null) { -String fullId = frmModel.getFullyQualifiedId(); +String fullId = frmModel.getRequestParameterName(); if (fullId == null || fullId.length() == 0) { fullId = ; } else { 1.4 +2 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java Index: JXPathBindingBase.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- JXPathBindingBase.java23 Apr 2004 23:34:57 - 1.3 +++ JXPathBindingBase.java7 May 2004 13:42:09 - 1.4 @@ -123,7 +123,7 @@ if (childWidget == null) { throw new RuntimeException(getClass().getName() + : Widget \ + id + \ does not exist in container \ + -parent.getFullyQualifiedId() + \ ( + +parent.getRequestParameterName() + \ ( + parent.getLocation() + ).); } 1.6 +2 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java Index: ValueJXPathBinding.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ValueJXPathBinding.java 6 May 2004 14:59:44 - 1.5 +++ ValueJXPathBinding.java 7 May 2004 13:42:09 - 1.6 @@ -134,7 +134,7 @@ // if the value has been set to null and the underlying model is a bean, then // JXPath will not be able to create a relative context if (getLogger().isDebugEnabled()) { -getLogger().debug((Ignorable) problem binding field + widget.getFullyQualifiedId(), e); +getLogger().debug((Ignorable) problem binding field + widget.getRequestParameterName(), e); } } if (subContext != null) { 1.4 +2 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValidationRuleValidator.java Index: ValidationRuleValidator.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValidationRuleValidator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ValidationRuleValidator.java 28 Apr 2004 16:34:13 - 1.3 +++ ValidationRuleValidator.java 7 May 2004 13:42:09 - 1.4 @@ -41,7 +41,7 @@ {
cvs commit: cocoon-2.1 status.xml
upayavira2004/05/07 07:42:20 Modified:src/java/org/apache/cocoon/components/flow/javascript/fom FOM_Cocoon.java .status.xml Log: Adding cocoon.redirectTo(url, isGlobal), to allow FOM to do global redirects. Revision ChangesPath 1.34 +7 -3 cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java Index: FOM_Cocoon.java === RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- FOM_Cocoon.java 25 Apr 2004 12:12:08 - 1.33 +++ FOM_Cocoon.java 7 May 2004 14:42:20 - 1.34 @@ -281,8 +281,12 @@ (OutputStream)unwrap(outputStream)); } -public void jsFunction_redirectTo(String uri) throws Exception { -this.currentCall.redirector.redirect(false, uri); +public void jsFunction_redirectTo(String uri, boolean isGlobal) throws Exception { +if (isGlobal) { +this.currentCall.redirector.globalRedirect(false, uri); +} else { +this.currentCall.redirector.redirect(false, uri); +} } public void jsFunction_sendStatus(int sc) { 1.314 +11 -1 cocoon-2.1/status.xml Index: status.xml === RCS file: /home/cvs/cocoon-2.1/status.xml,v retrieving revision 1.313 retrieving revision 1.314 diff -u -r1.313 -r1.314 --- status.xml6 May 2004 14:23:04 - 1.313 +++ status.xml7 May 2004 14:42:20 - 1.314 @@ -212,6 +212,16 @@ changes release version=@version@ date=@date@ + action dev=UV type=add + Extended FOM so that cocoon.redirectTo(url, true) will do a global + redirect. cocoon.redirectTo(url) will act as before. This enables + FOM to redirect when it is called from within cocoon: protocol + requests, aggregations, etc. + /action + action dev=UV type=fix + Moving check on number of specified targets within CocoonBean. This was + preventing the processURI(uri, outputStream) method from working. + /action action dev=VG type=remove CForms: Remove custom flow level forms validators. /action
cvs commit: cocoon-2.1/src/blocks/supersonic/samples/intro/docs bizlayer.xml facts.xml resources.xml use-cases.xml
crossley2004/05/07 09:33:37 Modified:src/blocks/supersonic/samples/bean-editor/docs forms.xml src/blocks/supersonic/samples/flow/docs multi-page.xml number-guess.xml src/blocks/supersonic/samples/intro/docs bizlayer.xml facts.xml resources.xml use-cases.xml Log: Minor text tweaks. Revision ChangesPath 1.2 +2 -2 cocoon-2.1/src/blocks/supersonic/samples/bean-editor/docs/forms.xml Index: forms.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/supersonic/samples/bean-editor/docs/forms.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- forms.xml 4 May 2004 17:25:10 - 1.1 +++ forms.xml 7 May 2004 16:33:37 - 1.2 @@ -49,7 +49,7 @@ /ul This seems a lot of work when described in this way, but notice once again how modular things are: each concern of our bean editor -is cleary defined in its own place. +is clearly defined in its own place. /p p Note also that, while our example uses static XML files for these @@ -150,7 +150,7 @@ /p p For the emtaskId/em form field, the emreadonly/em flag -makes the binding unidirectional, +makes the binding unidirectional. The value of the form field will not be copied to the bean when emform.save/em is called. /p 1.3 +3 -3 cocoon-2.1/src/blocks/supersonic/samples/flow/docs/multi-page.xml Index: multi-page.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/supersonic/samples/flow/docs/multi-page.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- multi-page.xml4 May 2004 19:56:31 - 1.2 +++ multi-page.xml7 May 2004 16:33:37 - 1.3 @@ -62,7 +62,7 @@ cinclude:include element=flowscript-code src=cocoon:/text-file/flow/multi-page/multi-page.js/ /p p -It's not more complicated than the previous example, but slightly +It is not more complicated than the previous example, but slightly longer due to the (boring) copying of request parameters into the message object. This boring part is where Cocoon Forms will come into play, by making it easier to embind/em data to @@ -86,8 +86,8 @@ /p cinclude:include element=xml-code src=cocoon:/xml-element/flow/multi-page/page1.xml/page/ p -This is page 1, page 2 is similar but shows the emtext/em field instead of -the fields present on page 1. +This is page 1. The page 2 is similar but shows the emtext/em +field instead of the fields present on page 1. /p /content /page 1.3 +1 -1 cocoon-2.1/src/blocks/supersonic/samples/flow/docs/number-guess.xml Index: number-guess.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/supersonic/samples/flow/docs/number-guess.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- number-guess.xml 4 May 2004 19:28:32 - 1.2 +++ number-guess.xml 7 May 2004 16:33:37 - 1.3 @@ -63,7 +63,7 @@ /p p The maxValue parameter is used by our Flowscript empublic_startGuessNumber/em function, -but doesn't hurt if it's passed to other functions (like in the next example). +but doesn't hurt if it is passed to other functions (like in the next example). /p cinclude:include element=xml-code src=cocoon:/xml-element/flow/sitemap.xmap/start/ 1.2 +5 -4 cocoon-2.1/src/blocks/supersonic/samples/intro/docs/bizlayer.xml Index: bizlayer.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/supersonic/samples/intro/docs/bizlayer.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- bizlayer.xml 4 May 2004 17:25:10 - 1.1 +++ bizlayer.xml 7 May 2004 16:33:37 - 1.2 @@ -23,7 +23,7 @@ is emhow to implement my business layer/em. /p p -The short answer: emit's up to you/em ;-) +The short answer: emit is up to you/em ;-) /p p More precisely, you could say that Cocoon leaves a lot @@ -52,11 +52,11 @@ objects from Flowscript code. Such objects do not necessarily need to know about Cocoon or
cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3 ScriptableWidget.java
mpo 2004/05/07 09:43:43 Modified:src/blocks/forms/java/org/apache/cocoon/forms/binding JXPathBindingBase.java RepeaterJXPathBinding.java src/blocks/forms/java/org/apache/cocoon/forms/formmodel Repeater.java WidgetDefinitionList.java AbstractContainerWidget.java DeleteRowsActionDefinition.java RepeaterAction.java Form.java ExpressionContextImpl.java AbstractWidget.java ContainerWidget.java Union.java AggregateField.java Widget.java src/blocks/forms/java/org/apache/cocoon/forms/transformation WidgetReplacingPipe.java EffectWidgetReplacingPipe.java src/blocks/forms/java/org/apache/cocoon/forms/samples InitForm1Action.java src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript ScriptableWidget.java src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2 ScriptableWidget.java src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3 ScriptableWidget.java Log: Introducing lookupWidget(path) as discussed in this thread: http://marc.theaimsgroup.com/?t=10833362121r=1w=2 And renaming the get/has/addWIdget on Container to get/has/addChild to be more describing. Left TODO on possible removal of addChild method. Kept Repeater as not-containerwidget (since that part of the discussion remained somewhat inconclusive) This also pulls up the lookupWidget() method as the resolving method for the expression-context. (Q: aren't slashes awkward there?) Revision ChangesPath 1.5 +2 -4 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java Index: JXPathBindingBase.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- JXPathBindingBase.java7 May 2004 13:42:09 - 1.4 +++ JXPathBindingBase.java7 May 2004 16:43:42 - 1.5 @@ -116,9 +116,7 @@ Widget childWidget = null; -if (parent instanceof ContainerWidget) { - childWidget = ((ContainerWidget) parent).getWidget(id); -} +childWidget = parent.lookupWidget(id); if (childWidget == null) { throw new RuntimeException(getClass().getName() + : Widget \ + 1.8 +2 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java Index: RepeaterJXPathBinding.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- RepeaterJXPathBinding.java6 May 2004 14:59:44 - 1.7 +++ RepeaterJXPathBinding.java7 May 2004 16:43:42 - 1.8 @@ -334,7 +334,7 @@ int size = childBindings.length; for (int i = 0; i size; i++) { String fieldId = ((ValueJXPathBinding)childBindings[i]).getFieldId(); -Widget widget = row.getWidget(fieldId); +Widget widget = row.getChild(fieldId); Object value = widget.getValue(); identity.add(value); } 1.13 +20 -6 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Repeater.java Index: Repeater.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Repeater.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- Repeater.java 7 May 2004 13:42:09 - 1.12 +++ Repeater.java 7 May 2004 16:43:42 - 1.13 @@ -61,10 +61,6 @@ return rows.size(); } -//public void addWidget(Widget widget) { -//throw new RuntimeException(Repeater.addWidget(): Please use addRow() instead.); -//} - public RepeaterRow addRow() { RepeaterRow repeaterRow = new RepeaterRow(definition); rows.add(repeaterRow); @@ -86,6 +82,24 @@ } /** + * Overrides [EMAIL PROTECTED] AbstractWidget#getChild(String)} to return the + * repeater-row indicated by the index in 'id' + * + * @param id index of the row as a string-id + * @return the repeater-row at the specified index + */
cvs commit: cocoon-2.1/src/webapp/samples/stream uploadfile.xml
crossley2004/05/07 10:14:13 Modified:src/webapp/samples/stream uploadfile.xml Log: Add a remark that users need to enable uploads. Submitted by: Jorg Heymans Issue: 28810 Revision ChangesPath 1.2 +12 -8 cocoon-2.1/src/webapp/samples/stream/uploadfile.xml Index: uploadfile.xml === RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/stream/uploadfile.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- uploadfile.xml6 Mar 2004 14:05:03 - 1.1 +++ uploadfile.xml7 May 2004 17:14:13 - 1.2 @@ -15,13 +15,17 @@ limitations under the License. -- page - titleB2B processing/title + titleB2B processing/title content - form action=process-order id=FORM1 method=post name=FORM1 -enctype=multipart/form-data - paraUpload your XML document here:/para - input type=file name=Foo/ - input id=submit1 name=submit1 type=submit value=Submit/ - /form - /content +form action=process-order id=FORM1 method=post name=FORM1 + enctype=multipart/form-data + paraNote: You need to enable uploads in order for this to work! br/ +To enable uploads, set parameter ienable-uploads/i in +cocoon/WEB-INF/web.xml to itrue/i. + /para + paraUpload your XML document here:/para + input type=file name=Foo/ + input id=submit1 name=submit1 type=submit value=Submit/ +/form + /content /page
cvs commit: cocoon-2.1/src/java/org/apache/cocoon/environment/http HttpContext.java
joerg 2004/05/07 10:23:43 Modified:src/java/org/apache/cocoon/environment/http HttpContext.java Log: added delegate methods for all methods of ServletContext (http://marc.theaimsgroup.com/?t=10831043021r=1w=4) Revision ChangesPath 1.3 +58 -6 cocoon-2.1/src/java/org/apache/cocoon/environment/http/HttpContext.java Index: HttpContext.java === RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/environment/http/HttpContext.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- HttpContext.java 5 Mar 2004 13:02:55 - 1.2 +++ HttpContext.java 7 May 2004 17:23:42 - 1.3 @@ -15,14 +15,16 @@ */ package org.apache.cocoon.environment.http; -import org.apache.avalon.framework.CascadingRuntimeException; -import org.apache.cocoon.environment.Context; - -import javax.servlet.ServletContext; +import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Enumeration; -import java.io.InputStream; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletContext; + +import org.apache.avalon.framework.CascadingRuntimeException; +import org.apache.cocoon.environment.Context; /** * @@ -91,5 +93,55 @@ public String getInitParameter(String name) { return servletContext.getInitParameter(name); +} + +/* + * These methods are not in Cocoon's Context interface, but in the + * ServletContext. To use them you have to downcast Cocoon's Context + * to this HttpContext until we decide to add them to the Context + * interface too. + * + * The following methods are deprecated since Servlet API 2.0 or 2.1 + * and will not be implemented here: + * - public Servlet getServlet(String name) + * - public Enumeration getServletNames() + * - public Enumeration getServlets() + * - public void log(Exception exception, String msg) + */ + +public ServletContext getContext(String uripath) { +return this.servletContext.getContext(uripath); +} + +public Enumeration getInitParameterNames() { +return this.servletContext.getInitParameterNames(); +} + +public int getMajorVersion() { +return this.servletContext.getMajorVersion(); +} + +public int getMinorVersion() { +return this.servletContext.getMinorVersion(); +} + +public RequestDispatcher getNamedDispatcher(String name) { +return this.servletContext.getNamedDispatcher(name); +} + +public RequestDispatcher getRequestDispatcher(String path) { +return this.servletContext.getRequestDispatcher(path); +} + +public String getServerInfo() { +return this.servletContext.getServerInfo(); +} + +public void log(String msg) { +this.servletContext.log(msg); +} + +public void log(String msg, Throwable throwable) { +this.servletContext.log(msg, throwable); } }
cvs commit: cocoon-2.1/tools/src blocks-build.xsl
joerg 2004/05/07 10:26:33 Modified:tools/src blocks-build.xsl Log: ignore new cocoon documentation tags in javadocs (thanks to Jorg Heymans) Revision ChangesPath 1.68 +12 -1 cocoon-2.1/tools/src/blocks-build.xsl Index: blocks-build.xsl === RCS file: /home/cvs/cocoon-2.1/tools/src/blocks-build.xsl,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- blocks-build.xsl 4 May 2004 07:14:08 - 1.67 +++ blocks-build.xsl 7 May 2004 17:26:33 - 1.68 @@ -229,7 +229,18 @@ -- tag name=avalon.context scope=methods description=Requires entry: / tag name=avalon.dependency scope=methods description=Requires component: / - +tag name=cocoon.sitemap.component.configuration enabled=false/ +tag name=cocoon.sitemap.component.documentation enabled=false/ +tag name=cocoon.sitemap.component.documentation.caching enabled=false/ +tag name=cocoon.sitemap.component.label enabled=false/ +tag name=cocoon.sitemap.component.logger enabled=false/ +tag name=cocoon.sitemap.component.mimetype enabled=false/ +tag name=cocoon.sitemap.component.name enabled=false/ +tag name=cocoon.sitemap.component.parameter enabled=false/ +tag name=cocoon.sitemap.component.pooling.grow enabled=false/ +tag name=cocoon.sitemap.component.pooling.max enabled=false/ +tag name=cocoon.sitemap.component.pooling.min enabled=false/ + packageset dir=${{java}} include name=**/ /packageset
cvs commit: cocoon-2.1/src/blocks/scratchpad/java/org/apache/cocoon/generation RequestAttributeGenerator.java
joerg 2004/05/07 10:32:59 Modified:src/blocks/scratchpad/java/org/apache/cocoon/servlet CocoonFilterGeneratorImpl.java src/blocks/forms/java/org/apache/cocoon/forms/formmodel AggregateFieldDefinition.java src/blocks/woody/java/org/apache/cocoon/woody/formmodel AggregateFieldDefinition.java src/blocks/scratchpad/java/org/apache/cocoon/components/source/impl CachingSourceFactory.java src/blocks/scratchpad/java/org/apache/cocoon/generation RequestAttributeGenerator.java Log: fixed javadoc errors (thanks to Jorg Heymans) Revision ChangesPath 1.4 +4 -5 cocoon-2.1/src/blocks/scratchpad/java/org/apache/cocoon/servlet/CocoonFilterGeneratorImpl.java Index: CocoonFilterGeneratorImpl.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/scratchpad/java/org/apache/cocoon/servlet/CocoonFilterGeneratorImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- CocoonFilterGeneratorImpl.java5 Mar 2004 10:07:26 - 1.3 +++ CocoonFilterGeneratorImpl.java7 May 2004 17:32:58 - 1.4 @@ -117,7 +117,6 @@ * @author a href=mailto:[EMAIL PROTECTED]Bernhard Huber/a * @version CVS $Id$ * - * @servlet:filter-nameCocoonFilterGeneratorImpl */ public class CocoonFilterGeneratorImpl implements Filter { @@ -176,7 +175,7 @@ } /** - * Sets the filterConfig attribute of the JSPFilterImpl object + * Sets the filterConfig attribute of the CocoonFilterGeneratorImpl object * * @param cfg The new filterConfig value * @since 1.0 @@ -197,7 +196,7 @@ /** - * Gets the filterConfig attribute of the JSPFilterImpl object + * Gets the filterConfig attribute of the CocoonFilterGeneratorImpl object * * @returnThe filterConfig value * @since 1.0 @@ -473,7 +472,7 @@ * @since 1.0 */ public String getServletName() { -return JSPEngineImpl; +return CocoonFilterGeneratorImpl; } 1.3 +2 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateFieldDefinition.java Index: AggregateFieldDefinition.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateFieldDefinition.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- AggregateFieldDefinition.java 21 Apr 2004 20:30:49 - 1.2 +++ AggregateFieldDefinition.java 7 May 2004 17:32:58 - 1.3 @@ -54,7 +54,7 @@ protected XMLizable splitFailMessage; /** - * List containing instances of [EMAIL PROTECTED] #splitMappings}, i.e. the mapping between + * List containing instances of [EMAIL PROTECTED] SplitMapping}, i.e. the mapping between * a group (paren) from the regular expression and corresponding field id. */ private List splitMappings = new ArrayList(); 1.11 +2 -2 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/formmodel/AggregateFieldDefinition.java Index: AggregateFieldDefinition.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/formmodel/AggregateFieldDefinition.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- AggregateFieldDefinition.java 9 Mar 2004 13:53:55 - 1.10 +++ AggregateFieldDefinition.java 7 May 2004 17:32:59 - 1.11 @@ -54,7 +54,7 @@ protected XMLizable splitFailMessage; /** - * List containing instances of [EMAIL PROTECTED] #splitMappings}, i.e. the mapping between + * List containing instances of [EMAIL PROTECTED] SplitMapping}, i.e. the mapping between * a group (paren) from the regular expression and corresponding field id. */ private List splitMappings = new ArrayList(); 1.10 +3 -3 cocoon-2.1/src/blocks/scratchpad/java/org/apache/cocoon/components/source/impl/CachingSourceFactory.java Index: CachingSourceFactory.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/scratchpad/java/org/apache/cocoon/components/source/impl/CachingSourceFactory.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- CachingSourceFactory.java 25 Apr 2004 20:00:35 - 1.9 +++ CachingSourceFactory.java 7 May 2004 17:32:59 - 1.10 @@ -80,14 +80,14 @@ *
cvs commit: cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java FormFlow.java
joerg 2004/05/07 10:47:55 Modified:src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java FormInstance.java src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java FormFlow.java Log: fixed compile error due to latest changes in cforms Revision ChangesPath 1.10 +4 -4 cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java Index: FormInstance.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- FormInstance.java 1 May 2004 00:05:44 - 1.9 +++ FormInstance.java 7 May 2004 17:47:55 - 1.10 @@ -112,11 +112,11 @@ * If codename/code is undefined, the form widget itself is returned. * Otherwise, the form's child widget of name codename/code is returned. */ -public Widget getWidget(String name) { +public Widget getChild(String name) { if (name == null) { -return this.form/*Widget*/; +return this.form; } else { -return this.form/*Widget*/.getWidget(name); +return this.form.getChild(name); } } 1.7 +5 -5 cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java/FormFlow.java Index: FormFlow.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/samples/flow/java/FormFlow.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- FormFlow.java 4 Apr 2004 06:35:08 - 1.6 +++ FormFlow.java 7 May 2004 17:47:55 - 1.7 @@ -34,10 +34,10 @@ FormInstance form = new FormInstance(forms/form1.xml); -Field birthDate = (Field) form.getWidget(birthdate); +Field birthDate = (Field) form.getChild(birthdate); birthDate.setValue(new Date()); -Repeater repeater = (Repeater) form.getWidget(contacts); +Repeater repeater = (Repeater) form.getChild(contacts); repeater.addRow(); Field field = (Field) repeater.getWidget(0, firstname); field.setValue(Jules); @@ -48,9 +48,9 @@ form.show(form/form1); -sendPage(page/form1-result, new VarMap().add(email, ((Field)form.getWidget(email)).getValue()) - .add(somebool, ((BooleanField)form.getWidget(somebool)).getValue()) - .add(firstname, ((Field)((Repeater)form.getWidget(contacts)).getWidget(1, firstname)).getValue())); +sendPage(page/form1-result, new VarMap().add(email, ((Field)form.getChild(email)).getValue()) + .add(somebool, ((BooleanField)form.getChild(somebool)).getValue()) + .add(firstname, ((Field)((Repeater)form.getChild(contacts)).getWidget(1, firstname)).getValue())); } public void doEditForm2() throws BindingException {
cvs commit: cocoon-2.1/tools/src/anttasks XConfToolTask.java
crossley2004/05/07 11:32:45 Modified:.status.xml tools/src/anttasks XConfToolTask.java Log: Enable XConfToolTask to modify multiple attributes. See the bug report for description of use. Also enable suppression of comments. Submitted by: Ralph Goers Issue: 28704 Revision ChangesPath 1.315 +5 -1 cocoon-2.1/status.xml Index: status.xml === RCS file: /home/cvs/cocoon-2.1/status.xml,v retrieving revision 1.314 retrieving revision 1.315 diff -u -r1.314 -r1.315 --- status.xml7 May 2004 14:42:20 - 1.314 +++ status.xml7 May 2004 18:32:44 - 1.315 @@ -212,6 +212,10 @@ changes release version=@version@ date=@date@ + action dev=DC type=update due-to=Ralph Goers fixes-bug=28704 + Enable XConfToolTask to modify multiple attributes. See the bug report + for description of use. Also enable suppression of comments. + /action action dev=UV type=add Extended FOM so that cocoon.redirectTo(url, true) will do a global redirect. cocoon.redirectTo(url) will act as before. This enables 1.26 +23 -1 cocoon-2.1/tools/src/anttasks/XConfToolTask.java Index: XConfToolTask.java === RCS file: /home/cvs/cocoon-2.1/tools/src/anttasks/XConfToolTask.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- XConfToolTask.java1 May 2004 16:12:05 - 1.25 +++ XConfToolTask.java7 May 2004 18:32:45 - 1.26 @@ -28,6 +28,7 @@ import org.apache.tools.ant.taskdefs.MatchingTask; import org.apache.tools.ant.types.XMLCatalog; import org.apache.xpath.XPathAPI; +import org.w3c.dom.Attr; import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -46,7 +47,9 @@ * unless: (deprecated) xpath expression that must return empty node set * if-prop: use path file only when project property is set * remove: xpath expression to remove before adding nodes + * add-comments: if specified, overrides the ant task value * add-attribute: name of attribute to add to context node (requires value) + * add-attribute-iname/i: add attribute iname/i with the specified value * value: value of attribute to add to context node (requires add-attribute) * insert-before: xpath expression, add new nodes before * insert-after: xpath expression, add new nodes after @@ -292,6 +295,25 @@ } if (root instanceof Element) { ((Element) root).setAttribute(name, value); +} +} + +// Override addComments from ant task if specified as an attribute +String addCommentsAttr = getAttribute(elem, add-comments, replaceProperties); +if ((addCommentsAttr!=null) (addCommentsAttr.length()0)) { +setAddComments(new Boolean(addCommentsAttr)); +} + +// Allow multiple attributes to be added or modified +if (root instanceof Element) { +NamedNodeMap attrMap = elem.getAttributes(); +for (int i=0; iattrMap.getLength(); ++i){ +Attr attr = (Attr)attrMap.item(i); +final String addAttr = add-attribute-; +if (attr.getName().startsWith(addAttr)) { +String key = attr.getName().substring(addAttr.length()); +((Element) root).setAttribute(key, attr.getValue()); +} } }
cvs commit: cocoon-2.1/src/documentation/xdocs performancetips.xml
crossley2004/05/07 11:35:23 Modified:src/documentation/xdocs performancetips.xml Log: Minor text tweaks. Revision ChangesPath 1.7 +7 -5 cocoon-2.1/src/documentation/xdocs/performancetips.xml Index: performancetips.xml === RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/performancetips.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- performancetips.xml 6 Mar 2004 02:25:59 - 1.6 +++ performancetips.xml 7 May 2004 18:35:23 - 1.7 @@ -93,9 +93,9 @@ liImportant is the size of the documents that will be cached, because caching appears to be very time consuming process./li - liIf you are using the Caching Pipeline, you should be able to experience - better performance each time you request it. However, if your cache is set - too small to keep the entire XML in memory, the cache will be of no benefit./li + liUse the Caching Pipelines in your sitemaps where relevant./li + liIf your cache is set too small to keep the entire XML in memory, + then the cache will be of no benefit./li liWatch the cachability in the log files, and make sure that things are being fed from the cache./li @@ -107,13 +107,13 @@ names - in 2.0.X series), and the deeper cocoon is located in the filesystem, the longer keys are becoming. Obviously, longer keys will take more time to process them. In worst case scenario, slowdown up to - 10% could be achieved (unscientifical observations, do your own + 10% could be achieved (unscientific observations, do your own test)./li /ul pMore information about caching can be found link href=userdocs/concepts/caching.htmlin the Caching documentation/link. - Especially have a look at the information about the expires configuration. + Especially look at the information about the expires configuration. /p /s1 @@ -163,6 +163,8 @@ liTry to keep the size of the documents going through the pipeline small. To big documents slows down translation./li + + liUse the Caching Pipelines in your sitemaps where relevant./li liUse the codeexpires/code parameter (see above) as frequently as you can. It improves the end user experience dramatically. Browsers and intermediate
cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel Repeater.java
mpo 2004/05/07 13:54:21 Modified:src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript Form.js src/blocks/forms/java/org/apache/cocoon/forms/generation template.jx src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2 Form.js src/blocks/forms/samples/forms carselector_form.xml countryselector_form.xml countryselector_success.xsp form_model_gui_success.xsp form1.xml form1_success.xsp carselector_success.xsp src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3 Form.js src/blocks/forms/samples/flow forms_flow_example.js upload_example.js src/blocks/forms/java/org/apache/cocoon/forms/formmodel Repeater.java Log: Making transition getWidget -- lookupWidget on the samples. Note: We will need to mention this to our users, their installations will have the same transition. Currently kept a getWidget() on the Form.js to return the underlaying java-widget of the Form. Refactored the car and country-selector to abuse the new ../ path syntax. Revision ChangesPath 1.10 +11 -3 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.js Index: Form.js === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.js,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Form.js 7 May 2004 10:55:08 - 1.9 +++ Form.js 7 May 2004 20:54:20 - 1.10 @@ -52,16 +52,24 @@ return this.formWidget; } + +/** + * Get the actual Form-Widget (the Java object) + */ +Form.prototype.getWidget = function() { +return this.form; +} + /** * Get a Widget (the java object) from the form. * If codename/code is undefined, the form widget itself is returned. * Otherwise, the form's child widget of name codename/code is returned. */ -Form.prototype.getWidget = function(name) { +Form.prototype.lookupWidget = function(name) { if (name == undefined) { return this.form; } else { -return this.form.getWidget(name); +return this.form.lookupWidget(name); } } 1.2 +5 -5 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/generation/template.jx Index: template.jx === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/generation/template.jx,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- template.jx 20 Mar 2004 19:29:14 - 1.1 +++ template.jx 7 May 2004 20:54:21 - 1.2 @@ -12,7 +12,7 @@ jx:macro name=widget targetNamespace=http://apache.org/cocoon/forms/1.0#template; jx:parameter name=id/ - jx:set var=context_widget_ value=${context_widget_.getWidget(id)}/ + jx:set var=context_widget_ value=${context_widget_.lookupWidget(id)}/ jx:set var=list_ value=${java.util.LinkedList()}/ jx:set var=buffer_ value=${Packages.org.apache.cocoon.forms.generation.SaxBuffer(list_)}/ jx:if test=${empty locale} @@ -28,22 +28,22 @@ jx:macro name=repeater-widget-label targetNamespace=http://apache.org/cocoon/forms/1.0#template; jx:parameter name=id/ jx:parameter name=widget-id/ -${context_widget_.getWidget(id).unwrap().generateWidgetLabel(this['widget-id'], cocoon.consumer)} +${context_widget_.lookupWidget(id).unwrap().generateWidgetLabel(this['widget-id'], cocoon.consumer)} /jx:macro jx:macro name=widget-label targetNamespace=http://apache.org/cocoon/forms/1.0#template; jx:parameter name=id/ -${context_widget_.getWidget(id).unwrap().generateLabel(cocoon.consumer)} +${context_widget_.lookupWidget(id).unwrap().generateLabel(cocoon.consumer)} /jx:macro jx:macro name=repeater-size targetNamespace=http://apache.org/cocoon/forms/1.0#template; jx:parameter name=id/ -${context_widget_.getWidget(id).unwrap().generateSize(cocoon.consumer)} +${context_widget_.lookupWidget(id).unwrap().generateSize(cocoon.consumer)} /jx:macro jx:macro name=repeater-widget targetNamespace=http://apache.org/cocoon/forms/1.0#template; xmlns:ft=http://apache.org/cocoon/forms/1.0#template; jx:parameter name=id/ - jx:set var=repeater_ value=${context_widget_.getWidget(id)}/ + jx:set var=repeater_ value=${context_widget_.lookupWidget(id)}/ jx:set var=lastRow_ value=${repeater_.length - 1}/ jx:forEach varStatus=loop_ begin=0 end=${lastRow_} jx:set var=context_widget_
cvs commit: cocoon-2.2/src/kernel/org/apache/cocoon/kernel DeployedWirings.java
pier2004/05/07 14:00:30 Modified:src/kernel/org/apache/cocoon/kernel DeployedWirings.java Log: Loggers are now passed to components and composers Revision ChangesPath 1.10 +2 -1 cocoon-2.2/src/kernel/org/apache/cocoon/kernel/DeployedWirings.java Index: DeployedWirings.java === RCS file: /home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/DeployedWirings.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- DeployedWirings.java 6 May 2004 20:09:32 - 1.9 +++ DeployedWirings.java 7 May 2004 21:00:30 - 1.10 @@ -80,6 +80,7 @@ throws DeploymentException { this.instance = i; this.deployer = d; +this.logger = l; /* Retrieve all we need from our instance regarding composers */ LoadedBlock block = (LoadedBlock) i.block();
cvs commit: cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom FOM_Cocoon.java
joerg 2004/05/07 14:13:50 Modified:src/java/org/apache/cocoon/generation XPathDirectoryGenerator.java src/java/org/apache/cocoon/components/flow/javascript/fom FOM_Cocoon.java Log: fixed possible errors with non-ASCII characters, used unicode escape sequences instead (thanks to Chris Burdess) Revision ChangesPath 1.9 +3 -3 cocoon-2.1/src/java/org/apache/cocoon/generation/XPathDirectoryGenerator.java Index: XPathDirectoryGenerator.java === RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/generation/XPathDirectoryGenerator.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- XPathDirectoryGenerator.java 5 Mar 2004 13:02:55 - 1.8 +++ XPathDirectoryGenerator.java 7 May 2004 21:13:50 - 1.9 @@ -110,7 +110,7 @@ * * @author a href=mailto:[EMAIL PROTECTED]Giacomo Pati/a * @author a href=mailto:[EMAIL PROTECTED]Gianugo Rabellino/a - * @author a href=mailto:[EMAIL PROTECTED]Jörg Heinicke/a + * @author a href=mailto:[EMAIL PROTECTED]J\u00F6rg Heinicke/a * @version CVS $Id$ */ public class XPathDirectoryGenerator 1.35 +2 -2 cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java Index: FOM_Cocoon.java === RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- FOM_Cocoon.java 7 May 2004 14:42:20 - 1.34 +++ FOM_Cocoon.java 7 May 2004 21:13:50 - 1.35 @@ -58,7 +58,7 @@ * * @since 2.1 * @author a href=mailto:coliver.at.apache.org;Christopher Oliver/a - * @author a href=mailto:reinhard.at.apache.org;Reinhard P�tz/a + * @author a href=mailto:reinhard.at.apache.org;Reinhard P\u00F6tz/a * @version CVS $Id$ */ public class FOM_Cocoon extends ScriptableObject {
cvs commit: cocoon-2.2/src/kernel/org/apache/cocoon/kernel KernelDeployer.java
pier2004/05/07 14:14:25 Modified:src/kernel/org/apache/cocoon/kernel KernelDeployer.java Log: Make sure that no extra parameters are specified in the configuration file (only those one specified in the block descriptor). I know that this might sound like a pain-in-the-neck, as you have to do an extra step when writing your blocks, but in the past few weeks of blocks development I overly-abused hidden parameters and always forgot to put them in the block descriptor. And this will definitely break any possible tool we can write for installing and deploying block instances. Revision ChangesPath 1.11 +11 -1 cocoon-2.2/src/kernel/org/apache/cocoon/kernel/KernelDeployer.java Index: KernelDeployer.java === RCS file: /home/cvs/cocoon-2.2/src/kernel/org/apache/cocoon/kernel/KernelDeployer.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- KernelDeployer.java 6 May 2004 20:09:32 - 1.10 +++ KernelDeployer.java 7 May 2004 21:14:25 - 1.11 @@ -250,6 +250,16 @@ + deployable + \); } +/* Check that no extra parameters are there */ +iterator = parameters.keySet().iterator(); +while (iterator.hasNext()) { +String name = (String) iterator.next(); +if (descriptor.parameterType(name) != null) continue; +throw new DeploymentException(Non required parameter \ + + name + \ specifed for \ + + deployable + \); +} + /* Deploy the sucker (finally) */ DeployedWirings deployed = new DeployedWirings(deployable, this, log); try {
cvs commit: cocoon-2.1/src/blocks/javaflow/samples/forms form1.xml
mpo 2004/05/07 14:32:32 Modified:src/blocks/ojb/samples/forms success.xsp src/documentation/xdocs/userdocs/forms widget_row_action.xml src/blocks/javaflow/samples/forms form1.xml Log: Fixing some left-over references to the old getWidget() to the new lookupWidget() Revision ChangesPath 1.2 +3 -3 cocoon-2.1/src/blocks/ojb/samples/forms/success.xsp Index: success.xsp === RCS file: /home/cvs/cocoon-2.1/src/blocks/ojb/samples/forms/success.xsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- success.xsp 11 Mar 2004 16:59:50 - 1.1 +++ success.xsp 7 May 2004 21:32:32 - 1.2 @@ -28,9 +28,9 @@ content xsp:logic Form form = (Form)request.getAttribute(employeeform); -Field fid = (Field)form.getWidget(id); -Field fname = (Field)form.getWidget(name); -Field fdepartment_id = (Field)form.getWidget(department_id); +Field fid = (Field)form.lookupWidget(id); +Field fname = (Field)form.lookupWidget(name); +Field fdepartment_id = (Field)form.lookupWidget(department_id); /xsp:logic pThe values of the form:/p ID: xsp:exprfid.getValue()/xsp:expr 1.3 +1 -1 cocoon-2.1/src/documentation/xdocs/userdocs/forms/widget_row_action.xml Index: widget_row_action.xml === RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/userdocs/forms/widget_row_action.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- widget_row_action.xml 24 Apr 2004 12:09:03 - 1.2 +++ widget_row_action.xml 7 May 2004 21:32:32 - 1.3 @@ -57,7 +57,7 @@ pThen, you can access the submitted row either using an event handler with event.getSourceWidget().getParent(), or from the flow using form.getWidget().getSubmitWidget().getParent(). The row itself has a - getWidget(widgetName) method that can be used to access specific + lookupWidget(widgetName) method that can be used to access specific widgets for the row./p /s1 /body 1.3 +4 -4 cocoon-2.1/src/blocks/javaflow/samples/forms/form1.xml Index: form1.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/samples/forms/form1.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- form1.xml 5 Apr 2004 12:34:23 - 1.2 +++ form1.xml 7 May 2004 21:32:32 - 1.3 @@ -100,7 +100,7 @@ java.lang.System.err.println(Was here!); var newValue = event.source.value; if (newValue != null) { -var number2 = event.source.parent.getWidget(number2); +var number2 = event.source.lookupWidget(../number2); if (number2.value == null) { number2.setValue(new java.lang.Long(newValue.intValue() + 1)); } @@ -246,10 +246,10 @@ // Get the row var row = widget.getRow(i); // Compute a key combining the first and last name - var key = row.getWidget(firstname).value + / + row.getWidget(lastname).value; + var key = row.lookupWidget(firstname).value + / + row.getWidget(lastname).value; if (list.contains(key)) { // already in the list - row.getWidget(firstname).setValidationError(new Packages.org.apache.cocoon.forms.validation.ValidationError(Duplicate contact name, false)); + row.lookupWidget(firstname).setValidationError(new Packages.org.apache.cocoon.forms.validation.ValidationError(Duplicate contact name, false)); success = false; break; // no need to continue }
cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript ScriptableWidget.java
joerg 2004/05/07 15:04:20 Modified:src/blocks/forms/java/org/apache/cocoon/forms/binding JXPathBindingBase.java src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript ScriptableWidget.java Log: imports Revision ChangesPath 1.6 +1 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java Index: JXPathBindingBase.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- JXPathBindingBase.java7 May 2004 16:43:42 - 1.5 +++ JXPathBindingBase.java7 May 2004 22:04:20 - 1.6 @@ -20,7 +20,6 @@ import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.Logger; -import org.apache.cocoon.forms.formmodel.ContainerWidget; import org.apache.cocoon.forms.formmodel.Widget; import org.apache.cocoon.util.jxpath.DOMFactory; import org.apache.commons.jxpath.JXPathContext; 1.5 +1 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java Index: ScriptableWidget.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ScriptableWidget.java 7 May 2004 16:43:43 - 1.4 +++ ScriptableWidget.java 7 May 2004 22:04:20 - 1.5 @@ -17,7 +17,6 @@ package org.apache.cocoon.forms.flow.javascript; import org.apache.cocoon.forms.formmodel.AggregateField; import org.apache.cocoon.forms.formmodel.BooleanField; -import org.apache.cocoon.forms.formmodel.ContainerWidget; import org.apache.cocoon.forms.formmodel.Field; import org.apache.cocoon.forms.formmodel.MultiValueField; import org.apache.cocoon.forms.formmodel.Output;
cvs commit: cocoon-2.1/src/resources/javadoc/avalon-logkit - New directory
joerg 2004/05/07 15:10:15 cocoon-2.1/src/resources/javadoc/avalon-logkit - New directory
cvs commit: cocoon-2.1/src/resources/javadoc/avalon-logkit package-list
joerg 2004/05/07 15:27:32 Modified:tools/src blocks-build.xsl Added: src/resources/javadoc/jstl package-list src/resources/javadoc/avalon-logkit package-list Log: added jstl and avalon logkit to package lists Revision ChangesPath 1.69 +17 -7 cocoon-2.1/tools/src/blocks-build.xsl Index: blocks-build.xsl === RCS file: /home/cvs/cocoon-2.1/tools/src/blocks-build.xsl,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- blocks-build.xsl 7 May 2004 17:26:33 - 1.68 +++ blocks-build.xsl 7 May 2004 22:27:32 - 1.69 @@ -213,13 +213,23 @@ useexternalfile=yes additionalparam=${{javadoc.additionalparam}} maxmemory=128m - -link offline=true href=http://avalon.apache.org/framework/api; packagelistloc=${{resources.javadoc}}/avalon-framework/ -link offline=true href=http://avalon.apache.org/excalibur/api; packagelistloc=${{resources.javadoc}}/avalon-excalibur/ -link offline=true href=http://xml.apache.org/xerces2-j/javadocs/api; packagelistloc=${{resources.javadoc}}/xerces/ -link offline=true href=http://xml.apache.org/xalan-j/apidocs; packagelistloc=${{resources.javadoc}}/xalan/ -link offline=true href=http://java.sun.com/j2se/1.4.2/docs/api; packagelistloc=${{resources.javadoc}}/j2se/ -link offline=true href=http://java.sun.com/j2ee/sdk_1.3/techdocs/api; packagelistloc=${{resources.javadoc}}/j2ee/ + +link packagelistloc=${{resources.javadoc}}/avalon-excalibur + offline=true href=http://avalon.apache.org/excalibur/api/ +link packagelistloc=${{resources.javadoc}}/avalon-framework + offline=true href=http://avalon.apache.org/framework/api/ +link packagelistloc=${{resources.javadoc}}/avalon-logkit + offline=true href=http://avalon.apache.org/logkit/api/ +link packagelistloc=${{resources.javadoc}}/j2ee + offline=true href=http://java.sun.com/j2ee/sdk_1.3/techdocs/api/ +link packagelistloc=${{resources.javadoc}}/j2se + offline=true href=http://java.sun.com/j2se/1.4.2/docs/api/ +link packagelistloc=${{resources.javadoc}}/jstl + offline=true href=http://java.sun.com/products/jsp/jstl/1.1/docs/api/ +link packagelistloc=${{resources.javadoc}}/xalan + offline=true href=http://xml.apache.org/xalan-j/apidocs/ +link packagelistloc=${{resources.javadoc}}/xerces + offline=true href=http://xml.apache.org/xerces2-j/javadocs/api/ tag name=avalon.component scope=types description=Avalon component / tag name=avalon.service scope=types description=Implements service:; / 1.1 cocoon-2.1/src/resources/javadoc/jstl/package-list Index: package-list === javax.servlet.jsp.jstl.core 1.1 cocoon-2.1/src/resources/javadoc/avalon-logkit/package-list Index: package-list === org.apache.log.output.io
cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel AbstractWidget.java
joerg 2004/05/07 15:31:05 Modified:src/blocks/forms/java/org/apache/cocoon/forms/formmodel AbstractWidget.java Log: fixed javadoc error Revision ChangesPath 1.19 +2 -2 cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java Index: AbstractWidget.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- AbstractWidget.java 7 May 2004 16:43:42 - 1.18 +++ AbstractWidget.java 7 May 2004 22:31:05 - 1.19 @@ -173,7 +173,7 @@ * return the actual child-widget. * * @param id of the child-widget - * @returns codenull/code if not overriden. + * @return codenull/code if not overriden. */ protected Widget getChild(String id) { return null;