[Bedework-commit] r594 - in trunk/calendar3: . bldfiles lib lib/portals-bridges-1.0 uportal uportal/src uportal/src/ca uportal/src/ca/mun uportal/src/ca/mun/portal uportal/src/ca/mun/portal/strutsbridge uportal/src/ca/mun/portal/strutsbridge/taglib

svnadmin at bedework.org svnadmin at bedework.org
Sun Jun 18 20:39:44 EDT 2006


Author: douglm
Date: 2006-06-18 20:38:14 -0400 (Sun, 18 Jun 2006)
New Revision: 594

Added:
   trunk/calendar3/lib/pluto-1.0.1-rc2.jar
   trunk/calendar3/lib/portals-bridges-1.0/
   trunk/calendar3/lib/portals-bridges-1.0/portals-bridges-common-1.0.jar
   trunk/calendar3/lib/portals-bridges-1.0/portals-bridges-struts-1.2.7-1.0.jar
   trunk/calendar3/lib/portals-bridges-1.0/struts-portlet.tld
   trunk/calendar3/lib/portlet-api-1.0.jar
   trunk/calendar3/lib/xalan-2-6-0.jar
   trunk/calendar3/uportal/
   trunk/calendar3/uportal/build.xml
   trunk/calendar3/uportal/src/
   trunk/calendar3/uportal/src/ca/
   trunk/calendar3/uportal/src/ca/mun/
   trunk/calendar3/uportal/src/ca/mun/portal/
   trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/
   trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortalServletContextProvider.java
   trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortletResponseWrapper.java
   trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/
   trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/CalRewriteTag.java
   trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/TagsSupport.java
Modified:
   trunk/calendar3/bldfiles/defjars.properties
   trunk/calendar3/bldfiles/globalDefs.xml
   trunk/calendar3/build.xml
Log:
Upgrade xalan to 2.6.0
Add portal-bridges-struts to lib
Copy into there portal-bridges-struts-1.2.7.jar portal-bridges-common-1.0.jar
Also copy struts-1.2.7-portlet-1.0.tld as struts-portlet.tld
Add pluto and portlet-api.jar to lib, define in defjars as...
portlet.jar=${org.bedework.default.lib}/portlet-api-1.0.jar
pluto.jar=${org.bedework.default.lib}/pluto-1.0.1-rc2.jar

Add uportaldb target to quickstart/build.xml

Copy quickstart build.xml into calendar3/bldfiles.
Import it into new quickstart build file stripped of all content.
Ensures we always commit build.xml changes.
Also created new README in docs - added an ant README target.
Pointed at both in quickstart README
Delete quickstartfiles/root

Add uportal component to calendar3. Add mun source and other stuff.
Change bldfiles/globalDefs.xml to define it
Change calendar3/build.xml to build it

Change mun rewrite tag to remove ?be=d from url


Modified: trunk/calendar3/bldfiles/defjars.properties
===================================================================
--- trunk/calendar3/bldfiles/defjars.properties	2006-06-16 16:01:43 UTC (rev 593)
+++ trunk/calendar3/bldfiles/defjars.properties	2006-06-19 00:38:14 UTC (rev 594)
@@ -12,6 +12,17 @@
 
 servlet.jsp.jar=${org.bedework.default.lib}/servlet.jsp.jar
 
+portlet.jar=${org.bedework.default.lib}/portlet-api-1.0.jar
+
+pluto.jar=${org.bedework.default.lib}/pluto-1.0.1-rc2.jar
+
+portals-bridges.jars.dir.name=portals-bridges-1.0
+portals-bridges.jars.dir=${org.bedework.default.lib}/${portals-bridges.jars.dir.name}
+
+portals-bridges-common.jar=${portals-bridges.jars.dir}/portals-bridges-common-1.0.jar
+
+portals-bridges-struts.jar=${portals-bridges.jars.dir}/portals-bridges-struts-1.2.7-1.0.jar
+
 ant.jar=${org.bedework.default.lib}/ant-1.6.5.jar
 
 p6spy.jar=${org.bedework.default.lib}/p6spy-1.3.jar
@@ -107,7 +118,7 @@
 webdavlib.jar.name=webdavlib.jar
 webdavlib.jar=${org.bedework.default.lib}/${webdavlib.jar.name}
 
-xalan.jar=${org.bedework.default.lib}/xalan.jar
+xalan.jar=${org.bedework.default.lib}/xalan-2-6-0.jar
 
 # jetspeed2 jars
 jetspeed2.jars.dir=jetspeed2-m3
@@ -173,6 +184,9 @@
 org.bedework.mail.jar.name=bwmail-${product.version}.jar
 org.bedework.mail.jar=${org.bedework.temp.jars}/${org.bedework.mail.jar.name}
 
+org.bedework.uportal.jar.name=bwuportal-support-${product.version}.jar
+org.bedework.uportal.jar=${org.bedework.temp.jars}/${org.bedework.uportal.jar.name}
+
 org.bedework.webadmin.jar.name=bwwebadmin-${product.version}.jar
 org.bedework.webadmin.jar=${org.bedework.temp.jars}/${org.bedework.webadmin.jar.name}
 

Modified: trunk/calendar3/bldfiles/globalDefs.xml
===================================================================
--- trunk/calendar3/bldfiles/globalDefs.xml	2006-06-16 16:01:43 UTC (rev 593)
+++ trunk/calendar3/bldfiles/globalDefs.xml	2006-06-19 00:38:14 UTC (rev 594)
@@ -87,6 +87,7 @@
     <property name="org.bedework.testsuite.base" location="${calendar.dir}/test" />
     <property name="org.bedework.timers.base" location="${calendar.dir}/timers" />
     <property name="org.bedework.tools.base" location="${calendar.dir}/tools" />
+    <property name="org.bedework.uportal.base" location="${calendar.dir}/uportal" />
     <property name="org.bedework.webadmin.base" location="${calendar.dir}/webadmin" />
     <property name="org.bedework.webclient.base" location="${calendar.dir}/webclient" />
     <property name="org.bedework.webcommon.base" location="${calendar.dir}/webcommon" />

Modified: trunk/calendar3/build.xml
===================================================================
--- trunk/calendar3/build.xml	2006-06-16 16:01:43 UTC (rev 593)
+++ trunk/calendar3/build.xml	2006-06-19 00:38:14 UTC (rev 594)
@@ -107,7 +107,7 @@
                    bld.calenv,bld.ical,bld.core,
                    bld.http,bld.caldavclientapi,
                    bld.calsvci,bld.mail,bld.logging,
-                   bld.calsvc,bld.appcommon,
+                   bld.calsvc,bld.appcommon,bld.uportal,
                    bld.webadmin,bld.webclient,
                    bld.synchml,bld.caldav,
                    bld.timers,build.tools,
@@ -258,6 +258,7 @@
                          ${org.bedework.synchml.base}/src:
                          ${org.bedework.timers.base}/src:
                          ${org.bedework.tools.base}/src:
+                         ${org.bedework.uportal.base}/src:
                          ${org.bedework.webadmin.base}/src:
                          ${org.bedework.webclient.base}/src:
                          ${org.bedework.webcommon.base}/src:"
@@ -446,6 +447,17 @@
            target="build" />
   </target>
 
+  <!-- ======================== uportal target =======================
+       This builds the uportal support classes jar.
+       ================================================================= -->
+
+  <target name="bld.uportal"
+          depends="init,bld.locale"
+          description="Build calendar uportal support classes jar">
+      <ant antfile="${org.bedework.uportal.base}/build.xml" inheritrefs="true"
+           target="build" />
+  </target>
+
   <!-- ======================== webcommon target =======================
        This builds the web common classes jar.
        ================================================================= -->

Added: trunk/calendar3/lib/pluto-1.0.1-rc2.jar
===================================================================
(Binary files differ)


Property changes on: trunk/calendar3/lib/pluto-1.0.1-rc2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/calendar3/lib/portals-bridges-1.0/portals-bridges-common-1.0.jar
===================================================================
(Binary files differ)


Property changes on: trunk/calendar3/lib/portals-bridges-1.0/portals-bridges-common-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/calendar3/lib/portals-bridges-1.0/portals-bridges-struts-1.2.7-1.0.jar
===================================================================
(Binary files differ)


Property changes on: trunk/calendar3/lib/portals-bridges-1.0/portals-bridges-struts-1.2.7-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/calendar3/lib/portals-bridges-1.0/struts-portlet.tld
===================================================================
--- trunk/calendar3/lib/portals-bridges-1.0/struts-portlet.tld	                        (rev 0)
+++ trunk/calendar3/lib/portals-bridges-1.0/struts-portlet.tld	2006-06-19 00:38:14 UTC (rev 594)
@@ -0,0 +1,813 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<!--
+Copyright 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.
+
+  $Id: struts-portlet.tld 188237 2005-01-21 16:28:13Z ate $
+-->
+<taglib>
+<tlibversion>1.2</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>html</shortname>
+<uri>http://portals.apache.org/bridges/struts/tags-portlet</uri>
+<tag>
+<name>form</name>
+<tagclass>org.apache.portals.bridges.struts.taglib.FormTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>action</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>acceptCharset</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>enctype</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>focus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>focusIndex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>method</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onreset</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onsubmit</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>readonly</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scriptLanguage</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>target</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>image</name>
+<tagclass>org.apache.portals.bridges.struts.taglib.ImageTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>align</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>border</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>pageKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>src</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>srcKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>img</name>
+<tagclass>org.apache.portals.bridges.struts.taglib.ImgTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>align</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>border</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>contextRelative</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>height</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>hspace</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>imageName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ismap</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>lowsrc</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>pageKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>action</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>module</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>src</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>srcKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>useLocalEncoding</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>usemap</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>vspace</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>width</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>link</name>
+<tagclass>org.apache.portals.bridges.struts.taglib.LinkTag</tagclass>
+<attribute>
+<name>actionURL</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>renderURL</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>resourceURL</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>action</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>module</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>linkName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>target</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>useLocalEncoding</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>rewrite</name>
+<tagclass>org.apache.portals.bridges.struts.taglib.RewriteTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>actionURL</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>renderURL</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>resourceURL</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>action</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>module</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>useLocalEncoding</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+</taglib>

Added: trunk/calendar3/lib/portlet-api-1.0.jar
===================================================================
(Binary files differ)


Property changes on: trunk/calendar3/lib/portlet-api-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/calendar3/lib/xalan-2-6-0.jar
===================================================================
(Binary files differ)


Property changes on: trunk/calendar3/lib/xalan-2-6-0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/calendar3/uportal/build.xml
===================================================================
--- trunk/calendar3/uportal/build.xml	                        (rev 0)
+++ trunk/calendar3/uportal/build.xml	2006-06-19 00:38:14 UTC (rev 594)
@@ -0,0 +1,44 @@
+<!-- This is the build.xml for the bedework uportal support classes component.
+
+     Authors: Mike Douglass   douglm at rpi.edu
+-->
+
+<project name="uportal.compile" default="build" >
+  <property name="base.name" value="uportal"/>
+
+  <target name="init">
+    <dirname property="this.dir" file="${ant.file}"/>
+    <property name="source.home" location="${this.dir}/src"/>
+  </target>
+
+  <target name="build" depends="init"
+          description="Compile bedework uportal support Java sources">
+    <!-- ==================== Sources and classes ====================== -->
+
+    <fileset id="base.java.sources" dir="${source.home}" >
+     <include name="ca/mun/**/*.java"/>
+    </fileset>
+
+    <patternset id="base.class.patternset">
+      <include name="ca/mun/**/*.class"/>
+    </patternset>
+
+    <!-- ==================== Compilation Classpath ==================== -->
+
+    <path id="compile.classpath">
+      <pathelement location="${servlet.jar}"/>
+      <pathelement location="${servlet.jsp.jar}"/>
+      <pathelement location="${portlet.jar}"/>
+      <pathelement location="${struts.jar}"/>
+      <pathelement location="${pluto.jar}"/>
+      <pathelement location="${portals-bridges-common.jar}"/>
+      <pathelement location="${portals-bridges-struts.jar}"/>
+    </path>
+
+    <!-- ==================== Build Target ============================= -->
+
+    <property name="build.jar.file" location="${org.bedework.uportal.jar}" />
+
+    <ant antfile="${buildjar}" inheritRefs="true" target="build" />
+  </target>
+</project>

Added: trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortalServletContextProvider.java
===================================================================
--- trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortalServletContextProvider.java	                        (rev 0)
+++ trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortalServletContextProvider.java	2006-06-19 00:38:14 UTC (rev 594)
@@ -0,0 +1,39 @@
+package ca.mun.portal.strutsbridge;
+
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.pluto.core.impl.PortletContextImpl;
+import org.apache.portals.bridges.common.ServletContextProvider;
+
+/**
+ * ServletContextProviderImpl supplies access to the Servlet context of uPortal Portlet.
+ *
+ * @author Satish Sekharan
+ */
+public class PortalServletContextProvider implements ServletContextProvider {
+
+  public ServletContext getServletContext(GenericPortlet portlet) {
+    return ((PortletContextImpl)portlet.getPortletContext())
+        .getServletContext();
+  }
+
+  public HttpServletRequest getHttpServletRequest(GenericPortlet portlet,
+                                                  PortletRequest request)  {
+    return (HttpServletRequest)((HttpServletRequestWrapper)request).getRequest();
+  }
+
+
+  public HttpServletResponse getHttpServletResponse(GenericPortlet portlet,
+                                                    PortletResponse response) {
+    PortletResponseWrapper wrapper = new PortletResponseWrapper((HttpServletResponse)response);
+
+    return (HttpServletResponse)wrapper.getResponse();
+  }
+
+}
\ No newline at end of file

Added: trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortletResponseWrapper.java
===================================================================
--- trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortletResponseWrapper.java	                        (rev 0)
+++ trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/PortletResponseWrapper.java	2006-06-19 00:38:14 UTC (rev 594)
@@ -0,0 +1,38 @@
+package ca.mun.portal.strutsbridge;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+/** Implementation of <b>HttpServletResponseWrapper</b> that works with
+ * uPortal 2.5.
+ *
+ * @author Satish Sekharan
+ * @version 1.0
+ */
+public class PortletResponseWrapper extends HttpServletResponseWrapper {
+
+  /** Constructor
+   *
+   * @param response HttpServletResponse
+   */
+  public PortletResponseWrapper(HttpServletResponse response) {
+    super(response);
+  }
+
+  public ServletOutputStream getOutputStream() throws IOException {
+    return getResponse().getOutputStream();
+  }
+
+  public PrintWriter getWriter() throws IOException {
+    return (new PrintWriter(new OutputStreamWriter(getOutputStream(),
+        getCharacterEncoding()), true));
+  }
+
+  public String encodeUrl(String path) {
+    return super.encodeUrl(path);
+  }
+}
\ No newline at end of file

Added: trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/CalRewriteTag.java
===================================================================
--- trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/CalRewriteTag.java	                        (rev 0)
+++ trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/CalRewriteTag.java	2006-06-19 00:38:14 UTC (rev 594)
@@ -0,0 +1,173 @@
+/*
+ * Copyright 2000-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 ca.mun.portal.strutsbridge.taglib;
+
+import javax.servlet.ServletRequest; // for javadoc
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.BodyContent;
+
+import org.apache.portals.bridges.struts.PortletServlet;
+import org.apache.portals.bridges.struts.config.PortletURLTypes; // javadoc
+import org.apache.struts.taglib.html.RewriteTag;
+import org.apache.struts.taglib.TagUtils;
+
+/** Supports the Struts html:rewrite tag to be used within uPortlet context for
+ * generating urls for the bedework portlet.
+ *
+ * @author <a href="mailto:ate at douma.nu">Ate Douma</a>
+ * @author <a href="mailto:satish at mun.ca">Satish Sekharan</a>
+ * @version $Id: RewriteTag.java 2005-10-25 12:31:13Z satish $
+ */
+public class CalRewriteTag extends RewriteTag {
+  /** Indicates which type of a url must be generated: action, render or resource.
+   * <p>If not specified, the type will be determined by
+   * {@link PortletURLTypes#getType(String)}</p>.
+   */
+  protected PortletURLTypes.URLType urlType = null;
+
+  /**
+   * @return String
+   */
+  public String getActionURL() {
+    if (urlType != null &&
+        urlType.equals(PortletURLTypes.URLType.ACTION)) {
+      return "true";
+    }
+
+    return "false";
+  }
+
+  /** Render an ActionURL when set to "true"
+   *
+   * @param value "true" renders an ActionURL
+   */
+  public void setActionURL(String value) {
+    if (value != null &&
+        value.equalsIgnoreCase("true")) {
+      urlType = PortletURLTypes.URLType.ACTION;
+    } else {
+      urlType = null;
+    }
+  }
+
+  /**
+   * @return String
+   */
+  public String getRenderURL() {
+    if (urlType != null &&
+        urlType.equals(PortletURLTypes.URLType.RENDER)) {
+      return "true";
+    }
+
+    return "false";
+  }
+
+  /** Render a RenderURL when set to "true"
+   *
+   * @param value "true" renders a RenderURL
+   */
+  public void setRenderURL(String value) {
+    if (value != null &&
+        value.equalsIgnoreCase("true")) {
+      urlType = PortletURLTypes.URLType.RENDER;
+    } else {
+      urlType = null;
+    }
+  }
+
+  /**
+   * @return String
+   */
+  public String getResourceURL() {
+    if (urlType != null &&
+        urlType.equals(PortletURLTypes.URLType.RESOURCE)) {
+      return "true";
+    }
+
+    return "false";
+  }
+
+  /**
+   * Render a ResourceURL when set to "true"
+   * @param value "true" renders a ResourceURL
+   */
+  public void setResourceURL(String value) {
+    if (value != null &&
+        value.equalsIgnoreCase("true")) {
+      urlType = PortletURLTypes.URLType.RESOURCE;
+    } else {
+      urlType = null;
+    }
+  }
+
+  /* bedework dummy request parameter - it's an encoded form of ?be=d */
+  private static final String bedeworkDummyPar = "%3Fbe%3Dd";
+
+  /** Generates a PortletURL or a ResourceURL for the link when in the context of a
+   * {@link PortletServlet#isPortletRequest(ServletRequest) PortletRequest}, otherwise
+   * the default behaviour is maintained.
+   *
+   * @return the link url
+   * @exception JspException if a JSP exception has occurred
+   */
+  public int doStartTag() throws JspException {
+    if ( PortletServlet.isPortletRequest(pageContext.getRequest())) {
+      String url = null;
+      BodyContent bodyContent = pageContext.pushBody();
+
+      try {
+        super.doStartTag();
+        url = bodyContent.getString();
+
+        /* replace with a relative URL
+         * (quick and dirty fix for now - change this later)
+         */
+        url = url.replaceFirst("http://(.*)/","/");
+        url = url.replaceFirst("https://(.*)/","/");
+
+        url = TagsSupport.getURL(pageContext, url, urlType);
+
+        /* remove embedded anchor because calendar xsl stylesheet
+         * adds extra parameters later during transformation
+         */
+        int hash = url.indexOf('#');
+        if ( hash > -1 ) {
+          url = url.substring(0,hash);
+        }
+
+        /* Remove bedework dummy request parameter -
+         * it's an encoded form of ?be=d */
+        url = url.replaceAll(bedeworkDummyPar, "");
+
+        //Generate valid xml markup for transformation
+        url = url.replaceAll("&","&amp;");
+
+      } finally {
+        pageContext.popBody();
+      }
+
+      TagUtils.getInstance().write(pageContext, url);
+      return (SKIP_BODY);
+    } else {
+      return super.doStartTag();
+    }
+  }
+
+  public void release() {
+    super.release();
+    urlType = null;
+  }
+}

Added: trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/TagsSupport.java
===================================================================
--- trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/TagsSupport.java	                        (rev 0)
+++ trunk/calendar3/uportal/src/ca/mun/portal/strutsbridge/taglib/TagsSupport.java	2006-06-19 00:38:14 UTC (rev 594)
@@ -0,0 +1,156 @@
+/*
+ * Copyright 2000-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 ca.mun.portal.strutsbridge.taglib;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.jsp.PageContext;
+
+import org.apache.portals.bridges.struts.PortletServlet;
+import org.apache.portals.bridges.struts.StrutsPortlet;
+import org.apache.portals.bridges.struts.StrutsPortletURL;
+import org.apache.portals.bridges.struts.config.StrutsPortletConfig;
+import org.apache.portals.bridges.struts.config.PortletURLTypes; // javadoc
+
+/** Utility class providing common Struts Bridge Tags functionality.
+ *
+ * @author <a href="mailto:ate at douma.nu">Ate Douma</a>
+ * @version $Id: TagsSupport.java 306958 2005-10-06 23:23:37Z ate $
+ */
+class TagsSupport {
+  /**
+   * Private constructor as this class isn't supposed to be instantiated.
+   *
+   */
+  private TagsSupport(){}
+
+  /** Resolves a, possibly relative, url to a context relative one for use
+   * within a Portlet context.
+   *
+   * <p>The url parameter may contain relative (../) elements.
+   *
+   * @param pageContext the JSP pageContext
+   * @param url the url to resolve
+   * @param addContextPath
+   * @return the resolved url
+   */
+  public static String getContextRelativeURL(PageContext pageContext,
+                                             String url,
+                                             boolean addContextPath) {
+    if ( !url.startsWith("/")) {
+      String newUrl = url;
+      String currentPath =
+        (String)pageContext.getRequest().getAttribute(StrutsPortlet.PAGE_URL);
+
+      if (addContextPath) {
+        currentPath = ((HttpServletRequest)pageContext.getRequest()).getContextPath() +
+                      currentPath;
+      }
+
+      if (addContextPath || currentPath.length() > 1 /* keep "/" */) {
+        currentPath = currentPath.substring(0,currentPath.lastIndexOf('/'));
+      }
+
+      if (currentPath.length() == 0) {
+        currentPath = "/";
+      }
+
+      while (currentPath.length() > 0) {
+        if (!newUrl.startsWith("../")) {
+          break;
+        }
+
+        currentPath = currentPath.substring(0, currentPath.lastIndexOf('/'));
+        newUrl = newUrl.substring(3);
+      }
+
+      if (currentPath.length() > 1) {
+        url = currentPath + "/" + newUrl;
+      } else {
+        url = "/" + newUrl;
+      }
+    }
+
+    return url;
+  }
+
+  /**
+   * Creates an action or render PortletURL, or a ResourceURL.
+   *
+   * <p>The url parameter is first {@link #getContextRelativeURL(PageContext, String) resolved}
+   * to an context relative url.<br/>
+   * Then, a prefixed contextPath is removed from the resulting url.<br/>
+   * If the type parameter is specified (not null), the type of url created is based on its value.<br/>
+   * Otherwise, {@link PortletURLTypes#getType(String)} is used to determine which
+   * type of url must be created.
+   *
+   * @param pageContext the JSP pageContext
+   * @param url the url to resolve
+   * @param type indicated which type of url must be created
+   * @return an action or render PortletURL, or a ResourceURL
+   */
+  public static String getURL(PageContext pageContext,
+                              String url,
+                              PortletURLTypes.URLType type) {
+    url = getContextRelativeURL(pageContext,url,false);
+    String contextPath = ((HttpServletRequest)pageContext.getRequest()).getContextPath();
+    if (url.startsWith(contextPath + "/")) {
+      url = url.substring(contextPath.length());
+    }
+
+    if (type == null) {
+      StrutsPortletConfig strutsPortletConfig = (StrutsPortletConfig)pageContext.getAttribute(StrutsPortlet.STRUTS_PORTLET_CONFIG,PageContext.APPLICATION_SCOPE);
+      type = strutsPortletConfig.getPortletURLTypes().getType(url);
+    }
+
+    if (type.equals(PortletURLTypes.URLType.ACTION)) {
+      return StrutsPortletURL.createActionURL(pageContext.getRequest(),url).toString();
+    }
+
+    if (type.equals(PortletURLTypes.URLType.RENDER)) {
+      return StrutsPortletURL.createRenderURL(pageContext.getRequest(),url).toString();
+    }
+
+    // type.equals(PortletURLTypes.URLType.RESOURCE)
+    if (url.startsWith("/")) {
+      return contextPath + url;
+    }
+
+    return contextPath + "/" + url;
+  }
+
+  /** Replaces the action url as generated by the struts:form tag with an action PortletURL.
+   *
+   * @param pageContext the JSP pageContext
+   * @param formStartElement the formStartElement as generated by the struts:form tag
+   * @return the formStartElement containing an action PortletURL
+   */
+  public static String getFormTagRenderFormStartElement(PageContext pageContext,
+                                                        String formStartElement) {
+    if (PortletServlet.isPortletRequest(pageContext.getRequest())) {
+      int actionURLStart = formStartElement.indexOf("action=") + 8;
+      int actionURLEnd = formStartElement.indexOf('"', actionURLStart);
+      String actionURL = formStartElement.substring(actionURLStart,
+                                                    actionURLEnd);
+
+      formStartElement = formStartElement.substring(0, actionURLStart) +
+                         StrutsPortletURL.createActionURL(pageContext.getRequest(),
+                                                          actionURL).toString() +
+                                     formStartElement.substring(actionURLEnd);
+    }
+
+    return formStartElement;
+  }
+}



More information about the Bedework-commit mailing list