You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/12/22 16:08:45 UTC
svn commit: r489671 - in /cocoon/branches/BRANCH_2_1_X:
src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java
status.xml
Author: cziegeler
Date: Fri Dec 22 07:08:44 2006
New Revision: 489671
URL: http://svn.apache.org/viewvc?view=rev&rev=489671
Log:
Fix handling of missing special parameters for forms in NewEventLinkTransformer.
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java
cocoon/branches/BRANCH_2_1_X/status.xml
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java?view=diff&rev=489671&r1=489670&r2=489671
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java Fri Dec 22 07:08:44 2006
@@ -19,6 +19,7 @@
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.event.impl.CopletLinkEvent;
import org.apache.cocoon.xml.AttributesImpl;
+import org.apache.cocoon.xml.XMLUtils;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -152,27 +153,28 @@
//form elements need hidden inputs to change request parameters
if (formSpecialTreatment) {
- int begin =
- eventLink.indexOf("cocoon-portal-action=")
- + "cocoon-portal-action=".length();
- int end = eventLink.indexOf('&', begin);
- if (end == -1) {
- end = eventLink.length();
+ int pos = eventLink.indexOf("cocoon-portal-action=");
+ if ( pos != -1 ) {
+ int begin = pos + "cocoon-portal-action=".length();
+ int end = eventLink.indexOf('&', begin);
+ if (end == -1) {
+ end = eventLink.length();
+ }
+ portalAction = eventLink.substring(begin, end);
}
-
- portalAction = eventLink.substring(begin, end);
-
- begin =
- eventLink.indexOf("cocoon-portal-event=")
- + "cocoon-portal-event=".length();
- end = eventLink.indexOf('&', begin);
- if (end == -1) {
- end = eventLink.length();
+ pos = eventLink.indexOf("cocoon-portal-event=");
+ if ( pos != -1 ) {
+ int begin = pos + "cocoon-portal-event=".length();
+ int end = eventLink.indexOf('&', begin);
+ if (end == -1) {
+ end = eventLink.length();
+ }
+ portalEvent = eventLink.substring(begin, end);
+ }
+ pos = eventLink.indexOf('?');
+ if ( pos != -1 ) {
+ eventLink = eventLink.substring(0, eventLink.indexOf('?'));
}
- portalEvent = eventLink.substring(begin, end);
-
- eventLink =
- eventLink.substring(0, eventLink.indexOf('?'));
}
// insert event link
@@ -207,29 +209,21 @@
String portalAction,
String portalEvent)
throws SAXException {
- AttributesImpl attributes = new AttributesImpl();
- attributes.addAttribute("", "type", "type", "CDATA", "hidden");
- attributes.addAttribute(
- "",
- "name",
- "name",
- "CDATA",
- "cocoon-portal-action");
- attributes.addAttribute("", "value", "value", "CDATA", portalAction);
- contentHandler.startElement("", "input", "input", attributes);
- contentHandler.endElement("", "input", "input");
-
- attributes = new AttributesImpl();
- attributes.addAttribute("", "type", "type", "CDATA", "hidden");
- attributes.addAttribute(
- "",
- "name",
- "name",
- "CDATA",
- "cocoon-portal-event");
- attributes.addAttribute("", "value", "value", "CDATA", portalEvent);
- contentHandler.startElement("", "input", "input", attributes);
- contentHandler.endElement("", "input", "input");
+ if ( portalAction != null ) {
+ final AttributesImpl attributes = new AttributesImpl();
+ attributes.addCDATAAttribute("type", "hidden");
+ attributes.addCDATAAttribute("name", "cocoon-portal-action");
+ attributes.addCDATAAttribute("value", portalAction);
+ XMLUtils.createElement(contentHandler, "input", attributes);
+ }
+
+ if ( portalEvent != null ) {
+ final AttributesImpl attributes = new AttributesImpl();
+ attributes.addCDATAAttribute("type", "hidden");
+ attributes.addCDATAAttribute("name", "cocoon-portal-event");
+ attributes.addCDATAAttribute("value", portalEvent);
+ XMLUtils.createElement(contentHandler, "input", attributes);
+ }
}
/**
Modified: cocoon/branches/BRANCH_2_1_X/status.xml
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/status.xml?view=diff&rev=489671&r1=489670&r2=489671
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/status.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/status.xml Fri Dec 22 07:08:44 2006
@@ -182,6 +182,9 @@
<changes>
<release version="2.1.11" date="TBD">
<action dev="CZ" type="fix">
+ Portal Block: Fix handling of missing special parameters for forms in NewEventLinkTransformer.
+ </action>
+ <action dev="CZ" type="fix">
Auth Block: Make isUserInRole a static method.
</action>
</release>