[Bedework-commit] r669 - in freebusy/trunk: . fbclient webclient
webclient/src/org/bedework/fbaggregator webclient/war
webclient/war/WEB-INF webclient/war/WEB-INF/classes
svnadmin at bedework.org
svnadmin at bedework.org
Fri Jun 30 00:42:25 EDT 2006
Author: douglm
Date: 2006-06-30 00:42:21 -0400 (Fri, 30 Jun 2006)
New Revision: 669
Added:
freebusy/trunk/webclient/src/org/bedework/fbaggregator/FormattedFreeBusy.java
freebusy/trunk/webclient/src/org/bedework/fbaggregator/RenderFreeBusy.java
freebusy/trunk/webclient/war/WEB-INF/
freebusy/trunk/webclient/war/WEB-INF/classes/
freebusy/trunk/webclient/war/WEB-INF/classes/servlet.properties
freebusy/trunk/webclient/war/WEB-INF/jboss-web.xml
freebusy/trunk/webclient/war/WEB-INF/struts-config.xml
freebusy/trunk/webclient/war/WEB-INF/web.xml
Modified:
freebusy/trunk/build.xml
freebusy/trunk/fbclient/build.xml
freebusy/trunk/webclient/build.xml
freebusy/trunk/webclient/src/org/bedework/fbaggregator/FbAggForm.java
freebusy/trunk/webclient/src/org/bedework/fbaggregator/FreeBusyAggregator.java
freebusy/trunk/webclient/src/org/bedework/fbaggregator/GetFreeBusy.java
Log:
Modified: freebusy/trunk/build.xml
===================================================================
--- freebusy/trunk/build.xml 2006-06-30 04:42:18 UTC (rev 668)
+++ freebusy/trunk/build.xml 2006-06-30 04:42:21 UTC (rev 669)
@@ -39,63 +39,25 @@
location="${org.bedework.calendar.dir}/bldfiles/globalDefs.xml"/>
<import file="${org.bedework.globaldefs.file}"/>
+ <property name="org.bedework.freebusy.globaldefs.file"
+ location="${org.bedework.freebusy.dir}/bldfiles/globalDefs.xml"/>
+ <import file="${org.bedework.freebusy.globaldefs.file}"/>
+
<!-- =================================================================
init: all the property defs are in bldfiles/globalDdefs.xml
================================================================= -->
- <target name="init" depends="globalDefs">
- <dirname property="org.bedework.freebusy.dir" file="${ant.file}"/>
-
- <!-- ==================== config properties ========================= -->
- <property name="org.bedework.clone.name" value="${org.bedework.clone.default}" />
- <property name="org.bedework.config.properties"
- location="${org.bedework.config.base}/configs/${org.bedework.clone.name}.properties" />
- <property name="org.bedework.config.options"
- location="${org.bedework.config.base}/configs/${org.bedework.clone.name}.options.xml" />
-
- <echo message="==========================================================" />
- <echo message="Use config properties ${org.bedework.config.properties}" />
- <loadproperties
- srcFile="${org.bedework.config.properties}" >
- <filterchain>
- <expandproperties/>
- </filterchain>
- </loadproperties>
+ <target name="init" depends="globalDefs,freebusyGlobalDefs">
</target>
- <!-- =================================================================
- The "all" target does a complete clean rebuild of all applications.
- ================================================================= -->
-
- <target name="all" depends="init,clean,dist"
- description="Clean build and dist"/>
-
- <!-- ======================== Clean Target ===========================
- The "clean" target deletes any generated directories, to ensure
- applications are built from scratch.
- ================================================================= -->
-
- <target name="clean" depends="init"
- description="Delete generated directories">
- <delete dir="${org.bedework.temp.home}"/>
- <delete dir="${dist.home}"/>
- <delete>
- <fileset dir="." includes="junit*.properties" />
- <fileset dir="." includes="test.log*" />
- </delete>
- </target>
-
-<!-- ===================== bld.all Target ===============================
- This target builds jar files ready for the deploy target.
+ <!-- ===================== bld.all Target ===============================
+ This target builds jar files ready for the deploy target.
=================================================================== -->
<target name="bld.all"
- depends="bld.webclient,
- bld.synchml,bld.caldav,
- bld.timers,build.tools,
- bld.dumprestore,
- bld.test,bld.config"
- description="Build war and ear files">
+ depends="init,bld.fbclient,
+ bld.fbwebclient"
+ description="Build jar files">
<antcall inheritrefs="true" target="copy.to.jars.repository" />
</target>
@@ -109,94 +71,6 @@
</copy>
</target>
-<!-- ===================== Deploy Target ===============================
- The "deploy" target builds configured war files and zipped runnable
- application based on the configuration properties. It then copies the
- contents of the build directory into the locations required by our
- servlet container, and picks up any external dependencies along the way.
-
- After restarting the servlet container, you can then test bedework.
-
- To build a version for your site you should probably copy and modify the
- config/configs/democal.properties
- file and change the value of org.bedework.clone.name to the name of your
- new clone.
-
- To build more than one appsuite duplicate the ant task
- invocation below with a different clone name in each.
- =================================================================== -->
-
- <target name="deploy.debug" depends="bld.all,deploy.log4j.xml"
- description="Deploy applications to servlet container" >
- <ant antfile="${org.bedework.deployment.base}/build.xml" inheritrefs="true"
- target="deploy" >
- <property name="app.debug.val" value="9" />
- </ant>
- </target>
-
- <target name="deploy" depends="bld.all,deploy.log4j.xml"
- description="Deploy applications to servlet container" >
- <ant antfile="${org.bedework.deployment.base}/build.xml" inheritrefs="true"
- target="deploy" >
- <property name="org.bedework.clone.name" value="${org.bedework.clone.default}" />
- </ant>
- </target>
-
-<!-- ================== build.configured Target ========================
- Build configured war files but don't deploy. Use to build versions to
- be deployed elsewhere.
- =================================================================== -->
-
- <target name="build.configured.debug" depends="bld.all"
- description="Build configured applications" >
- <ant antfile="${org.bedework.deployment.base}/build.xml" inheritrefs="true"
- target="build.configured" >
- <property name="app.debug.val" value="9" />
- </ant>
- </target>
-
- <target name="build.configured" depends="bld.all"
- description="Build configured applications" >
- <ant antfile="${org.bedework.deployment.base}/build.xml" inheritrefs="true"
- target="build.configured" >
- <property name="org.bedework.clone.name" value="${org.bedework.clone.default}" />
- </ant>
- </target>
-
- <!-- Copy log4j.xml to the app server but overwrite only if specified.
- Somewhat annoying to find a carefully crafted log4j.xml gets overwritten.
- -->
- <target name="deploy.log4j.xml" >
- <copy todir="${log4j.config.destination}"
- file="${calendar.dir}/resources/log4j.xml"
- overwrite="${org.bedework.deploy.log4j.config}" />
- </target>
-
- <!-- Target used to build from property files built by config tool -->
- <target name="deploy.config" >
- <copy todir="${log4j.config.destination}"
- file="${calendar.dir}/resources/log4j.xml"
- overwrite="${org.bedework.deploy.log4j.config}" />
-
- <!-- The property org.bedework.deploy.config.name must be set -->
- <ant antfile="${org.bedework.appsuite.base}/build.xml" inheritrefs="true"
- target="deploy.config" />
-
- <antcall inheritrefs="true" target="deploy.caldav" />
- </target>
-
-<!-- ==================== Dist Target ==================================
- The "dist" target creates a binary distribution of your application
- in a directory structure ready to be archived in a tar.gz or zip file.
- Note that this target depends on two others:
- * "deploy" so that the entire web application (including external
- dependencies) will have been assembled
- * "javadoc" so that the application Javadocs will have been created
- =================================================================== -->
-
- <target name="dist" depends="bld.all,javadoc"
- description="Create binary distribution" />
-
<!-- ==================== Javadoc Target ===============================
The "javadoc" target creates Javadoc API documentation for the Java
classes included in your application. Normally, this is only required
@@ -219,38 +93,14 @@
<pathelement location="${jtidy.jar}"/>
</path>
<mkdir dir="${dist.home}/docs/api"/>
- <javadoc sourcepath="${org.bedework.access.base}/src:
- ${org.bedework.appcommon.base}/src:
- ${org.bedework.core.base}/src:
- ${org.bedework.caldav.base}/src:
- ${org.bedework.caldavClientApi.base}/src:
- ${org.bedework.calenv.base}/src:
- ${org.bedework.calfacade.base}/src:
- ${org.bedework.calsvc.base}/src:
- ${org.bedework.calsvci.base}/src:
- ${org.bedework.common.base}/src:
- ${org.bedework.config.base}/src:
- ${org.bedework.davdefs.base}/src:
- ${org.bedework.dumprestore.base}/src:
- ${org.bedework.http.base}/src:
- ${org.bedework.ical.base}/src:
- ${org.bedework.locale.base}/src:
- ${org.bedework.logging.base}/src:
- ${org.bedework.mail.base}/src:
- ${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:"
+ <javadoc sourcepath="${org.bedework.fbclient.base}/src:
+ ${org.bedework.fbwebclient.base}/src:"
classpathref="javadoc.classpath"
destdir="${dist.home}/docs/api"
packagenames="org.bedework.access.*,
org.bedework.*,
edu.rpi.cct.uwcal.access.*,
- edu.rpi.*,
- edu.washington.*"
+ edu.rpi.*"
access="public"
author="true"
version="true"
@@ -259,541 +109,27 @@
<doctitle><![CDATA[${product.name} ${product.version}<br/>API Documentation]]></doctitle>
<header><![CDATA[${product.name} ${product.version}<br/>API Documentation]]></header>
</javadoc>
-
</target>
- <!-- ======================== appcommon target =======================
- This builds a jar file which provides application support.
+ <!-- ======================== fbclient target =======================
+ This builds a jar file which provides client api support.
================================================================= -->
- <target name="bld.appcommon"
- depends="init,bld.access,bld.calsvci,bld.davdefs"
+ <target name="bld.fbclient"
+ depends="init"
description="Build calendar service interface classes jar">
- <ant antfile="${org.bedework.appcommon.base}/build.xml" inheritrefs="true"
+ <ant antfile="${org.bedework.fbclient.base}/build.xml" inheritrefs="true"
target="build" />
</target>
- <!-- ======================== calfacade target =========================
+ <!-- ======================== fbwebclient target =========================
This builds the back end facade for the core of the calendar.
================================================================= -->
- <target name="bld.calfacade"
- depends="bld.access"
+ <target name="bld.fbwebclient"
+ depends="bld.fbclient"
description="Build calendar calfacade jars" >
- <ant antfile="${org.bedework.calfacade.base}/build.xml" inheritrefs="true"
+ <ant antfile="${org.bedework.fbwebclient.base}/build.xml" inheritrefs="true"
target="build" />
</target>
-
- <!-- ======================== calenv target =========================
- This builds the some environment dependent classes for the core
- of the calendar.
- ================================================================= -->
-
- <target name="bld.calenv"
- depends="bld.calfacade"
- description="Build calendar env jars" >
- <ant antfile="${org.bedework.calenv.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== core target =========================
- This builds the back end core of the calendar. Applications interact
- with that core through the CalFacade interface.
- ================================================================= -->
-
- <target name="bld.core"
- depends="bld.calfacade,bld.calenv,bld.ical"
- description="Build calendar core jars" >
- <ant antfile="${org.bedework.core.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== locale target =========================
- This builds the localization suite of the calendar.
- ================================================================= -->
-
- <target name="bld.locale"
- depends="init"
- description="Build calendar localization suite jars" >
- <ant antfile="${org.bedework.locale.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== access target =========================
- This builds the access control suite of the calendar.
- ================================================================= -->
-
- <target name="bld.access"
- depends="bld.locale"
- description="Build calendar access control suite jars" >
- <ant antfile="${org.bedework.access.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== common target =======================
- This builds the common classes jar.
- ================================================================= -->
-
- <target name="bld.common"
- depends="init,bld.locale"
- description="Build calendar common classes jar">
- <ant antfile="${org.bedework.common.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== davdefs target =========================
- This builds some global webdav and caldav definitions
- ================================================================= -->
-
- <target name="bld.davdefs"
- depends="bld.common"
- description="Build calendar davdefs jars" >
- <ant antfile="${org.bedework.davdefs.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== http target =======================
- This builds the http-client classes jar.
- ================================================================= -->
-
- <target name="bld.http"
- depends="init,bld.calenv,bld.calfacade,bld.locale"
- description="Build calendar http classes jar">
- <ant antfile="${org.bedework.http.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== caldavclientapi target =======================
- This builds the http-client classes jar.
- ================================================================= -->
-
- <target name="bld.caldavclientapi"
- depends="init,bld.http,bld.davdefs,bld.calfacade"
- description="Build calendar caldav client api classes jar">
- <ant antfile="${org.bedework.caldavClientApi.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== logging target =======================
- This builds the logging classes jar.
- ================================================================= -->
-
- <target name="bld.logging"
- depends="init,bld.calfacade"
- description="Build logging classes jar">
- <ant antfile="${org.bedework.logging.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== mail target =======================
- This builds the mail classes jar.
- ================================================================= -->
-
- <target name="bld.mail"
- depends="init,bld.calsvci"
- description="Build calendar mail classes jar">
- <ant antfile="${org.bedework.mail.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== calsvci target =======================
- This builds the service level interface classes
- ================================================================= -->
-
- <target name="bld.calsvci"
- depends="init,bld.common,bld.ical"
- description="Build calendar service interface classes jar">
- <ant antfile="${org.bedework.calsvci.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== calsvc target =======================
- This builds the service level interface implementation classes
- ================================================================= -->
-
- <target name="bld.calsvc"
- depends="init,bld.common,bld.mail"
- description="Build calendar service interface implementation classes jar">
- <ant antfile="${org.bedework.calsvc.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== ical target =======================
- This builds the classes associated with ical (rfc2445 etc)
- ================================================================= -->
-
- <target name="bld.ical"
- depends="init,bld.common,bld.locale"
- description="Build icalendar classes jar">
- <ant antfile="${org.bedework.ical.base}/build.xml" inheritrefs="true"
- 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.
- ================================================================= -->
-
- <target name="bld.webcommon"
- depends="bld.appcommon"
- description="Build calendar web common classes jar">
- <ant antfile="${org.bedework.webcommon.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================= web client Targets ======================
- This builds the web applications jars.
- ================================================================= -->
-
- <target name="bld.webadmin"
- depends="init,bld.webcommon"
- description="Build calendar webadmin suite">
- <ant antfile="${org.bedework.webadmin.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <target name="bld.webclient"
- depends="init,bld.webcommon"
- description="Build calendar webclient suite">
- <ant antfile="${org.bedework.webclient.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== synchml Targets ========================
- *
- * NOTE: Incomplete and under development
- * The following comments map out an approach rather than document the
- * facts
- This builds the synchml library and applications.
- Many build properties are taken from the appsuite clones property files.
- To build a version for your site you should probably copy and modify the
- appsuite/clones/democal.properties
- file and change the value of org.bedework.clone.name to the name of your
- new clone.
-
- To build more than one appsuite duplicate the ant task
- invocation below with a different clone name in each.
- ================================================================= -->
-
- <target name="bld.synchml"
- depends="init,bld.appcommon,bld.calsvci,bld.ical,bld.calsvc,bld.webcommon"
- description="Build calendar synchml suite">
- <ant antfile="${org.bedework.synchml.base}/build.xml" inheritrefs="true"
- target="build" >
- <property name="org.bedework.clone.name" value="${org.bedework.clone.default}" />
- </ant>
- </target>
-
- <target name="bld.synchml.debug"
- depends="init,bld.appcommon,bld.calsvci,bld.ical,bld.calsvc,bld.webcommon"
- description="Build calendar synchml suite">
- <ant antfile="${org.bedework.synchml.base}/build.xml" inheritrefs="true"
- target="build" >
- <property name="org.bedework.clone.name" value="${org.bedework.clone.default}" />
- <property name="app.debug.val" value="9" />
- </ant>
- </target>
-
- <!-- ======================== caldav Targets ========================
- *
- * NOTE: Incomplete and under development
- ================================================================= -->
-
- <target name="bld.caldav" if="org.bedework.build.caldav"
- depends="init,bld.davdefs,bld.appcommon"
- description="Build calendar caldav suite">
- <ant antfile="${org.bedework.caldav.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== config Target ========================
- This builds the config and deploy application
- ================================================================= -->
-
- <target name="bld.config"
- depends="init"
- description="Build calendar config and deploy module">
- <ant antfile="${org.bedework.config.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== timers Targets ========================
- This builds some timing service classes and applications
- ================================================================= -->
-
- <target name="bld.timers"
- depends="init,bld.appcommon"
- description="Build calendar timed services suite">
- <ant antfile="${org.bedework.timers.base}/build.xml" inheritrefs="true"
- target="build" >
- <property name="org.bedework.clone.name" value="${org.bedework.clone.default}" />
- </ant>
- </target>
-
- <target name="bld.timers.debug"
- depends="init,bld.appcommon"
- description="Build calendar timed services suite">
- <ant antfile="${org.bedework.timers.base}/build.xml" inheritrefs="true"
- target="build" >
- <property name="app.debug.val" value="9" />
- <property name="org.bedework.clone.name" value="${org.bedework.clone.default}" />
- </ant>
- </target>
-
- <target name="bld.dumprestore"
- depends="init,bld.appcommon"
- description="Build calendar dumprestore suite">
- <ant antfile="${org.bedework.dumprestore.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <!-- ======================== tools Targets ========================
- This builds the tools
-
- To build more than one appsuite duplicate the ant task
- invocation below with a different clone name in each.
- ================================================================= -->
-
- <target name="build.tools"
- depends="init,bld.appcommon"
- description="Build calendar tools suite">
- <ant antfile="${org.bedework.tools.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <target name="dumpdb" depends="init">
- <ant antfile="${org.bedework.dumprestore.base}/build.xml" inheritrefs="true"
- target="dumpdb" />
- </target>
-
- <target name="restoredb" depends="init">
- <ant antfile="${org.bedework.dumprestore.base}/build.xml" inheritrefs="true"
- target="restoredb" />
- </target>
-
- <target name="restoredb-nousers" depends="init">
- <ant antfile="${org.bedework.dumprestore.base}/build.xml" inheritrefs="true"
- target="restoredb-nousers" />
- </target>
-
- <target name="initdb" depends="init">
- <ant antfile="${org.bedework.dumprestore.base}/build.xml" inheritrefs="true"
- target="initdb" />
- </target>
-
- <target name="tzconvert" depends="init">
- <ant antfile="${org.bedework.tools.base}/build.xml" inheritrefs="true"
- target="tzconvert" />
- </target>
-
- <!-- ======================== test target =======================
- This builds the test suite
- ================================================================= -->
-
- <target name="webtest.all" depends="init"
- description="Run the full webtest suite">
- <ant antfile="${org.bedework.webtest.base}/build.xml" inheritrefs="true"
- target="all" />
- </target>
-
- <target name="bld.test"
- depends="init,bld.core,bld.appcommon,bld.synchml"
- description="Build all calendar test jars">
- <ant antfile="${org.bedework.testsuite.base}/build.xml" inheritrefs="true"
- target="build" />
- </target>
-
- <target name="run.test"
- depends="init,bld.core,bld.access,bld.appcommon,bld.synchml"
- description="Run JUnit tests and generate a report">
- <ant antfile="${org.bedework.testsuite.base}/build.xml" inheritrefs="true"
- target="run.unittest" />
- </target>
-
- <target name="bld.httptest"
- depends="init"
- description="Build calendar http test suite classes jar">
- <ant antfile="${org.bedework.testsuite.base}/build.xml" inheritrefs="true"
- target="build.httptest" />
- </target>
-
- <target name="run.httptest"
- depends="init"
- description="Run calendar http test suite classes jar">
- <!-- Define location of run-time env.properties -->
- <property name="uwcal.env.properties.root"
- location="${uwcal.test.env.properties.root}" />
-
- <ant antfile="${org.bedework.testsuite.base}/build.xml" inheritrefs="true"
- target="run.httptest" />
- </target>
-
- <target name="synchmltest"
- depends="bld.test"
- description="Run calendar synchml test">
- <!-- Define location of run-time env.properties -->
- <property name="uwcal.env.properties.root"
- location="${uwcal.test.env.properties.root}" />
-
- <ant antfile="${org.bedework.testsuite.base}/build.xml" inheritrefs="true"
- target="synchmltest" />
- </target>
-
- <!-- ======================== schema target =======================
- This builds the ddl from the hibernate schema
- ================================================================= -->
-
- <target name="schema" depends="init"
- description="Generate schema from mapping files">
- <echo message="Creating a schema is also available from the generated stand-alone" />
- <echo message="scripts using the 'schema' or 'schema-export' parameter" />
-
- <input message="text only? no will update db with new schema "
- validargs="yes,no"
- addproperty="schema.text.only" />
-
- <property name="schema.run.base"
- location="${org.bedework.temp.home}/schema"/>
- <property name="schema.run.resources"
- location="${schema.run.base}/resources"/>
-
- <delete dir="${schema.run.resources}" />
- <mkdir dir="${schema.run.resources}" />
- <copy tofile="${schema.run.resources}/log4j.xml"
- file="${org.bedework.testsuite.base}/resources/log4j.xml" />
- <property name="org.bedework.schema.hibernate.properties"
- location="${org.bedework.testsuite.base}/resources/hibernate.properties" />
- <copy tofile="${schema.run.resources}/hibernate.properties"
- file="${org.bedework.schema.hibernate.properties}" />
-
- <!--
- <property name="org.bedework.hibernate.schema.properties"
- location="${schema.run.resources}/hibernate.properties" />
- -->
-
- <mkdir dir="${schema.run.resources}/hbms" />
- <copy todir="${schema.run.resources}/hbms" >
- <fileset dir="${org.bedework.core.base}/resources/hbms">
- <include name="*.hbm.xml"/>
- </fileset>
- </copy>
-
- <path id="schema.cp">
- <!-- Include any local jdbc drivers -->
- <fileset dir="${org.bedework.jdbc.lib}">
- <include name="**/*.jar"/>
- </fileset>
-
- <!-- Include the quickstart jdbc driver -->
- <pathelement location="${hsqldb.jdbcdriver.jar}"/>
-
- <!-- Need the hibernate stuff -->
- <fileset dir="${hibernate.jars.dir}">
- <include name="**/*.jar"/>
- </fileset>
- <pathelement location="${log4j.jar}"/>
-
- <!-- for commons stuff -->
- <fileset dir="${struts.dir}">
- <include name="commons*.jar"/>
- </fileset>
-
- <!-- Need the classes we are trying to persist -->
- <pathelement location="${org.bedework.access.jar}"/>
- <pathelement location="${org.bedework.calfacadeshared.jar}"/>
-
- <!-- The xml schema files -->
- <pathelement location="${org.bedework.core.base}/resources"/>
- <pathelement location="${schema.run.resources}"/>
- <pathelement location="${schema.run.resources}/hbms"/>
- <pathelement location="${schema.run.resources}/hibernate.properties"/>
- </path>
-
- <copy todir="${schema.run.resources}/hbms"
- file="${org.bedework.core.base}/resources/properties/hibernate.cfg.xml" />
-
- <property name="cp" refid="schema.cp" />
- <echo message="***************cp: ${cp}"/>
-
- <taskdef name="schemaexport"
- classname="org.hibernate.tool.hbm2ddl.SchemaExportTask">
- <classpath refid="schema.cp"/>
- </taskdef>
-
- <!-- text="no" causes task to create db. Requires db system to be running
- and jdbc drivers on class path
- -->
- <schemaexport properties="${schema.run.resources}/hibernate.properties"
- quiet="no"
- text="${schema.text.only}"
- drop="no"
- delimiter=";"
- output="schema-export.sql"
- config="${schema.run.resources}/hbms/hibernate.cfg.xml">
- </schemaexport>
- </target>
-
-<!-- ===================== Quickstart target ===============================
- The "quickstart.build" target 'builds' quickstart by copying particular
- files into the quickstart directory. We assume quickstart consists of
- a directory containing 4 subdirectories: tomcat, hsqldb, ant, and
- this one (calendar3), along with the 3 ant executable files. This
- target copies files from calendar3 into the quickstart and tomcat
- directories to create a calendar version that works out of the box
- (once ant deploy is run).
- =================================================================== -->
-
- <target name="quickstart.build" depends="init"
- description="copy files to quickstart directories">
-
- <property name="quickstart.files.dir"
- location="${calendar.dir}/quickstartFiles"/>
-
- <copy todir="${org.bedework.appserver.dir}/conf" overwrite="yes">
- <fileset dir="${quickstart.files.dir}/tomcat.conf" />
- </copy>
-
- <copy todir="${calendar.dir}/.." overwrite="yes">
- <fileset dir="${quickstart.files.dir}/root" />
- </copy>
- </target>
-
- <!-- Create a version using acegi security
- -->
- <target name="quickstart.acegi.build" depends="init"
- description="copy files to quickstart directories">
-
- <property name="quickstart.files.dir"
- location="${calendar.dir}/quickstartFiles"/>
-
- <copy todir="${org.bedework.appserver.dir}/common/lib" overwrite="yes">
- <fileset dir="${calendar.dir}/lib/acegi"
- excludes="acegi-security-catalina-server.jar" />
- </copy>
-
- <copy todir="${org.bedework.appserver.dir}/server/lib" overwrite="yes">
- <fileset dir="${calendar.dir}/lib/acegi"
- includes="acegi-security-catalina-server.jar" />
- </copy>
-
- <copy tofile="${org.bedework.appserver.dir}/conf/server.xml" overwrite="yes"
- file="${quickstart.files.dir}/tomcat.conf/server.acgi.xml" />
-
- <copy tofile="${org.bedework.appserver.dir}/conf/acegisecurity.xml" overwrite="yes"
- file="${quickstart.files.dir}/tomcat.conf/acegisecurity.xml" />
-
- <copy todir="${calendar.dir}/.." overwrite="yes">
- <fileset dir="${quickstart.files.dir}/root" />
- </copy>
- </target>
</project>
Modified: freebusy/trunk/fbclient/build.xml
===================================================================
--- freebusy/trunk/fbclient/build.xml 2006-06-30 04:42:18 UTC (rev 668)
+++ freebusy/trunk/fbclient/build.xml 2006-06-30 04:42:21 UTC (rev 669)
@@ -31,9 +31,13 @@
<path id="compile.classpath">
<pathelement location="${ical4j.jar}"/>
<pathelement location="${log4j.jar}"/>
+ <pathelement location="${servlet.jar}"/>
+ <pathelement location="${commons-httclient.jar}"/>
<pathelement location="${org.bedework.calfacadeshared.jar}"/>
- <pathelement location="${org.bedework.locale.jar}"/>
- <pathelement location="${org.bedework.common.jar}"/>
+ <pathelement location="${org.bedework.caldavClientApi.jar}"/>
+ <pathelement location="${org.bedework.calsvc.jar}"/>
+ <pathelement location="${org.bedework.calsvci.jar}"/>
+ <pathelement location="${org.bedework.ical.jar}"/>
</path>
<!-- ==================== Build Target ============================= -->
Modified: freebusy/trunk/webclient/build.xml
===================================================================
--- freebusy/trunk/webclient/build.xml 2006-06-30 04:42:18 UTC (rev 668)
+++ freebusy/trunk/webclient/build.xml 2006-06-30 04:42:21 UTC (rev 669)
@@ -1,14 +1,14 @@
<?xml version="1.0"?>
<!-- ===================================================================
- This is the build.xml for the calendar user clients.
+ This is the build.xml for the calendar freebusy user clients.
Authors: Mike Douglass douglm at rpi.edu
=================================================================== -->
-<project name="webclient.compile" default="build" >
- <property name="source.home" location="${org.bedework.webclient.base}/src"/>
- <property name="base.name" value="webclient"/>
+<project name="fbwebclient.compile" default="build" >
+ <property name="source.home" location="${org.bedework.fbwebclient.base}/src"/>
+ <property name="base.name" value="fbwebclient"/>
<target name="init">
<dirname property="this.dir" file="${ant.file}"/>
@@ -20,11 +20,11 @@
<!-- ==================== Sources and classes ====================== -->
<fileset id="base.java.sources" dir="${source.home}" >
- <include name="org/bedework/webclient/*.java"/>
+ <include name="org/bedework/fbaggregator/*.java"/>
</fileset>
<patternset id="base.class.patternset">
- <include name="org/bedework/webclient/*.class"/>
+ <include name="org/bedework/fbaggregator/*.class"/>
</patternset>
<!-- ==================== Compilation Classpath ==================== -->
@@ -36,18 +36,20 @@
<pathelement location="${log4j.jar}"/>
<!-- Include the location of the compiled calendar classes -->
- <pathelement location="${org.bedework.access.jar}"/>
+ <pathelement location="${org.bedework.calfacadeshared.jar}"/>
<pathelement location="${org.bedework.common.jar}"/>
+ <pathelement location="${org.bedework.caldavClientApi.jar}"/>
+<!-- <pathelement location="${org.bedework.access.jar}"/>
<pathelement location="${org.bedework.calenv.jar}"/>
- <pathelement location="${org.bedework.mail.jar}"/>
- <pathelement location="${org.bedework.calfacadeshared.jar}"/>
<pathelement location="${org.bedework.calsvci.jar}"/>
- <pathelement location="${org.bedework.ical.jar}"/>
+ <pathelement location="${org.bedework.ical.jar}"/> -->
<pathelement location="${org.bedework.appcommon.jar}"/>
<pathelement location="${org.bedework.webcommon.jar}"/>
+
+ <pathelement location="${org.bedework.fbclient.jar}"/>
</path>
- <property name="build.jar.file" location="${org.bedework.webclient.jar}" />
+ <property name="build.jar.file" location="${org.bedework.fbwebclient.jar}" />
<ant antfile="${buildjar}" inheritRefs="true" target="build" />
</target>
Modified: freebusy/trunk/webclient/src/org/bedework/fbaggregator/FbAggForm.java
===================================================================
--- freebusy/trunk/webclient/src/org/bedework/fbaggregator/FbAggForm.java 2006-06-30 04:42:18 UTC (rev 668)
+++ freebusy/trunk/webclient/src/org/bedework/fbaggregator/FbAggForm.java 2006-06-30 04:42:21 UTC (rev 669)
@@ -38,10 +38,13 @@
public class FbAggForm extends UtilActionForm {
private FbResponse resp;
private Collection resps;
- private Collection allResps;
+ private FbResponse aggregatedResp;
private boolean showIndividual;
+ /* Aggregated */
+ private FormattedFreeBusy ffb;
+
public void assignResponse(FbResponse val) {
resp = val;
}
@@ -58,12 +61,12 @@
return resps;
}
- public void assignAllResponses(Collection val) {
- allResps = val;
+ public void assignAggregatedResp(FbResponse val) {
+ aggregatedResp = val;
}
- public Collection getAllResponses() {
- return allResps;
+ public FbResponse getAggregatedResp() {
+ return aggregatedResp;
}
public void setShowIndividual(boolean val) {
@@ -73,4 +76,12 @@
public boolean getShowIndividual() {
return showIndividual;
}
+
+ public void assignFormattedFreeBusy(FormattedFreeBusy val) {
+ ffb = val;
+ }
+
+ public FormattedFreeBusy getFormattedFreeBusy() {
+ return ffb;
+ }
}
Added: freebusy/trunk/webclient/src/org/bedework/fbaggregator/FormattedFreeBusy.java
===================================================================
--- freebusy/trunk/webclient/src/org/bedework/fbaggregator/FormattedFreeBusy.java (rev 0)
+++ freebusy/trunk/webclient/src/org/bedework/fbaggregator/FormattedFreeBusy.java 2006-06-30 04:42:21 UTC (rev 669)
@@ -0,0 +1,251 @@
+/* **********************************************************************
+ Copyright 2005 Rensselaer Polytechnic Institute. All worldwide rights reserved.
+
+ Redistribution and use of this distribution in source and binary forms,
+ with or without modification, are permitted provided that:
+ The above copyright notice and this permission notice appear in all
+ copies and supporting documentation;
+
+ The name, identifiers, and trademarks of Rensselaer Polytechnic
+ Institute are not used in advertising or publicity without the
+ express prior written permission of Rensselaer Polytechnic Institute;
+
+ DISCLAIMER: The software is distributed" AS IS" without any express or
+ implied warranty, including but not limited to, any implied warranties
+ of merchantability or fitness for a particular purpose or any warrant)'
+ of non-infringement of any current or pending patent rights. The authors
+ of the software make no representations about the suitability of this
+ software for any particular purpose. The entire risk as to the quality
+ and performance of the software is with the user. Should the software
+ prove defective, the user assumes the cost of all necessary servicing,
+ repair or correction. In particular, neither Rensselaer Polytechnic
+ Institute, nor the authors of the software are liable for any indirect,
+ special, consequential, or incidental damages related to the software,
+ to the maximum extent the law permits.
+*/
+package org.bedework.fbaggregator;
+
+import org.bedework.calfacade.BwDateTime;
+import org.bedework.calfacade.CalFacadeException;
+import org.bedework.calfacade.CalFacadeUtil;
+import org.bedework.calfacade.util.Granulator.EventPeriod;
+import org.bedework.fbaggregator.FreeBusyAggregator.FbResponse;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+/** Reformatted free busy information for display.
+ * We build a collection of these to represent the free busy. Each one represents
+ * a day only with each period starting at the given number of minutes into the
+ * day.
+ *
+ * <p>With a suitably formatted free busy query we can produce this object to
+ * make presentation a relatively simple prospect.
+ *
+ * @author Mike Douglass douglm @ rpi.edu
+ *
+ */
+public class FormattedFreeBusy {
+ /** Who's free busy? Normally a user - could be a room.
+ */
+ private String account;
+
+ private BwDateTime start;
+ private BwDateTime end;
+
+ /** Collection of FbPeriod
+ */
+ private Collection times;
+
+ /** Class to represent a free busy period
+ *
+ * @author Mike Douglass
+ */
+ public static class FbPeriod {
+ int minutesStart;
+ int minutesLength;
+ int type; // From BwFreeBusyComponent
+
+ /* Number of busy entries this period - for the free/busy aggregator */
+ private int numBusy;
+
+ /* Number of tentative entries this period - for the free/busy aggregator */
+ private int numTentative;
+
+ /** Constructor
+ *
+ * @param minutesStart
+ * @param minutesLength
+ * @param type
+ */
+ public FbPeriod(int minutesStart, int minutesLength, int type,
+ int numBusy, int numTentative) {
+ this.minutesStart = minutesStart;
+ this.minutesLength = minutesLength;
+ this.type = type;
+ this.numBusy = numBusy;
+ this.numTentative = numTentative;
+ }
+
+ /** Start time on minutes
+ *
+ * @return int
+ */
+ public int getMinutesStart() {
+ return minutesStart;
+ }
+
+ /** Length of free busy
+ *
+ * @return int
+ */
+ public int getMinutesLength() {
+ return minutesLength;
+ }
+
+ /** type of free busy
+ *
+ * @return int
+ */
+ public int getType() {
+ return type;
+ }
+
+ /**
+ * @param val
+ */
+ public void setNumBusy(int val) {
+ numBusy = val;
+ }
+
+ /**
+ * @return int
+ */
+ public int getNumBusy() {
+ return numBusy;
+ }
+
+ /**
+ * @param val
+ */
+ public void setNumTentative(int val) {
+ numTentative = val;
+ }
+
+ /**
+ * @return int
+ */
+ public int getNumTentative() {
+ return numTentative;
+ }
+
+ /** Get the start as a 4 digit String hours and minutes value
+ *
+ * @return String start time
+ */
+ public String getStartTime() {
+ return CalFacadeUtil.getTimeFromMinutes(getMinutesStart());
+ }
+ }
+
+ /** Constructor
+ *
+ * <p>Generates a formatted free busy object suitable for gui interfaces.
+ * @param fb
+ * @throws CalFacadeException
+ */
+ public FormattedFreeBusy(FbResponse fbresp) throws CalFacadeException {
+ setAccount(fbresp.ui.getAccount());
+ setStart(fbresp.getStart());
+ setEnd(fbresp.getEnd());
+
+ /* We expect a number of BwFreeBusyComponent each containing a single
+ * free busy period.
+ */
+ long startMillis = getStart().makeDate().getTime();
+
+ Iterator it = fbresp.eps.iterator();
+
+ while (it.hasNext()) {
+ EventPeriod ep = (EventPeriod)it.next();
+
+ long pstartMillis = ep.getStart().getTime();
+ int plen = Math.round((ep.getEnd().getTime() - pstartMillis) / 60000);
+ int pstart = Math.round((pstartMillis - startMillis) / 60000);
+
+ addTime(new FbPeriod(pstart, plen, ep.getType(),
+ ep.getNumBusy(), ep.getNumTentative()));
+ }
+ }
+
+ /** who owns or asked for
+ *
+ * @param val String
+ */
+ public void setAccount(String val) {
+ account = val;
+ }
+
+ /**
+ * @return String
+ */
+ public String getWho() {
+ return account;
+ }
+
+ /**
+ * @param val
+ */
+ public void setStart(BwDateTime val) {
+ start = val;
+ }
+
+ /**
+ * @return BwDateTime start
+ */
+ public BwDateTime getStart() {
+ return start;
+ }
+
+ /**
+ * @param val
+ */
+ public void setEnd(BwDateTime val) {
+ end = val;
+ }
+
+ /**
+ * @return BwDateTime end
+ */
+ public BwDateTime getEnd() {
+ return end;
+ }
+
+ /** Get the free busy periods
+ *
+ * @return Collection of FbPeriod
+ */
+ public Collection getTimes() {
+ if (times == null) {
+ times = new ArrayList();
+ }
+ return times;
+ }
+
+ /** Add a free/busy period
+ *
+ * @param val
+ */
+ public void addTime(FbPeriod val) {
+ getTimes().add(val);
+ }
+
+ /** Iterate over free/busy periods
+ *
+ * @return Iterator
+ */
+ public Iterator iterateTimes() {
+ return getTimes().iterator();
+ }
+}
Modified: freebusy/trunk/webclient/src/org/bedework/fbaggregator/FreeBusyAggregator.java
===================================================================
--- freebusy/trunk/webclient/src/org/bedework/fbaggregator/FreeBusyAggregator.java 2006-06-30 04:42:18 UTC (rev 668)
+++ freebusy/trunk/webclient/src/org/bedework/fbaggregator/FreeBusyAggregator.java 2006-06-30 04:42:21 UTC (rev 669)
@@ -63,6 +63,9 @@
private IcalTrans trans;
public static class FbResponse implements Serializable {
+ private BwDateTime start;
+ private BwDateTime end;
+
/** How did it go */
public int respCode;
@@ -71,6 +74,34 @@
/** Collection of Granulator.EventPeriod */
public Collection eps = new ArrayList();
+
+ /**
+ * @param val
+ */
+ public void setStart(BwDateTime val) {
+ start = val;
+ }
+
+ /**
+ * @return BwDateTime start
+ */
+ public BwDateTime getStart() {
+ return start;
+ }
+
+ /**
+ * @param val
+ */
+ public void setEnd(BwDateTime val) {
+ end = val;
+ }
+
+ /**
+ * @return BwDateTime end
+ */
+ public BwDateTime getEnd() {
+ return end;
+ }
}
/**
@@ -160,6 +191,9 @@
if (o instanceof BwFreeBusy) {
BwFreeBusy fb = (BwFreeBusy)o;
+ fbresp.setStart(fb.getStart());
+ fbresp.setEnd(fb.getEnd());
+
Iterator fbpit = fb.iterateTimes();
while (fbpit.hasNext()) {
BwFreeBusyComponent fbcomp = (BwFreeBusyComponent)fbpit.next();
@@ -242,8 +276,6 @@
Collection periodEvents = Granulator.getPeriodsEvents(gpp);
- int fbtype = getFreeBusyType(periodEvents);
-
/* Some events fall in the period. Add an entry.
* We eliminated cancelled events earler. Now we should set the
* free/busy type based on the events status.
@@ -256,30 +288,36 @@
pedt.setUtc(true);
- EventPeriod ep = new EventPeriod(psdt, pedt, fbtype);
+ EventPeriod ep = new EventPeriod(psdt, pedt, 0);
+ setFreeBusyType(ep, periodEvents);
respeps.add(ep);
}
return respeps;
}
- private int getFreeBusyType(Collection periodEvents) {
+ private void setFreeBusyType(EventPeriod ep, Collection periodEvents) {
int fbtype = BwFreeBusyComponent.typeFree;
+ int busy = 0;
+ int tentative = 0;
Iterator it = periodEvents.iterator();
while (it.hasNext()) {
- EventPeriod ep = (EventPeriod)it.next();
+ int type = ((EventPeriod)it.next()).getType();
- int type = ep.getType();
if (type == BwFreeBusyComponent.typeBusy) {
- return BwFreeBusyComponent.typeBusy;
+ fbtype = BwFreeBusyComponent.typeBusy;
+ busy++;
}
if (type == BwFreeBusyComponent.typeBusyTentative) {
fbtype = BwFreeBusyComponent.typeBusyTentative;
+ tentative++;
}
}
- return fbtype;
+ ep.setNumBusy(busy);
+ ep.setNumTentative(tentative);
+ ep.setType(fbtype);
}
}
Modified: freebusy/trunk/webclient/src/org/bedework/fbaggregator/GetFreeBusy.java
===================================================================
--- freebusy/trunk/webclient/src/org/bedework/fbaggregator/GetFreeBusy.java 2006-06-30 04:42:18 UTC (rev 668)
+++ freebusy/trunk/webclient/src/org/bedework/fbaggregator/GetFreeBusy.java 2006-06-30 04:42:21 UTC (rev 669)
@@ -8,8 +8,6 @@
import org.bedework.fbaggregator.FreeBusyAggregator.FbResponse;
import org.bedework.fbclient.FBUserInfo;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
@@ -100,20 +98,25 @@
FbResponse resp = sess.getFba().getFreeBusy(ui, start, end, granularity);
form.assignResponse(resp);
- form.assignAllResponses(resp.eps);
+ form.assignAggregatedResp(resp);
} else {
// All
form.assignResponses(sess.getFba().getFreeBusy(sess.getInfoset().getAll().iterator(),
start, end, granularity));
/* Combine the responses into one big collection */
- ArrayList allResponses = new ArrayList();
+ FbResponse allResponses = new FbResponse();
Iterator it = form.getResponses().iterator();
while (it.hasNext()) {
- allResponses.addAll((Collection)it.next());
+ FbResponse resp = (FbResponse)it.next();
+
+ allResponses.setStart(resp.getStart());
+ allResponses.setEnd(resp.getEnd());
+
+ allResponses.eps.addAll(resp.eps);
}
- form.assignAllResponses(allResponses);
+ form.assignAggregatedResp(allResponses);
}
return forwardSuccess;
Added: freebusy/trunk/webclient/src/org/bedework/fbaggregator/RenderFreeBusy.java
===================================================================
--- freebusy/trunk/webclient/src/org/bedework/fbaggregator/RenderFreeBusy.java (rev 0)
+++ freebusy/trunk/webclient/src/org/bedework/fbaggregator/RenderFreeBusy.java 2006-06-30 04:42:21 UTC (rev 669)
@@ -0,0 +1,30 @@
+/**
+ *
+ */
+package org.bedework.fbaggregator;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/** Get the aggregated free busy.
+ *
+ *
+ * <p>Forwards to:<ul>
+ * <li>success Ok.</li>
+ * </ul>
+ *
+ * @author douglm
+ *
+ */
+public class RenderFreeBusy extends FBAggAction {
+ public int doAction(HttpServletRequest request,
+ HttpServletResponse response,
+ FbAggSession sess,
+ FbAggForm form) throws Throwable {
+ FormattedFreeBusy ffb = new FormattedFreeBusy(form.getAggregatedResp());
+
+ form.assignFormattedFreeBusy(ffb);
+
+ return forwardSuccess;
+ }
+}
Added: freebusy/trunk/webclient/war/WEB-INF/classes/servlet.properties
===================================================================
--- freebusy/trunk/webclient/war/WEB-INF/classes/servlet.properties (rev 0)
+++ freebusy/trunk/webclient/war/WEB-INF/classes/servlet.properties 2006-06-30 04:42:21 UTC (rev 669)
@@ -0,0 +1,35 @@
+# ========================================================================
+# Properties file for the struts based config web application
+# ========================================================================
+#
+# author Mike Douglass douglm at rpi.edu
+
+# This is only here because the jetspeed portal-struts bridge does not seem to be
+# passing across the servlet context.
+org.bedework.svcicb.sessionAttrName=org.bedework.admin.svcicb.sessionattrname. at APP-NAME@
+
+# These are required by the Struts framework
+errors.header=<p>The following errors occurred:</p><ul>
+errors.footer=</ul>
+
+messages.header=<ul>
+messages.footer=</ul>
+
+edu.rpi.sss.util.action.noactionerrors=yes
+
+applicationResources=<li>Cannot load application resources bundle {0}</li>
+
+edu.rpi.sss.util.error.exc=<li>Exception: {0}</li>
+
+# set the default content type - html for jsp, xml for xml/xslt.
+edu.rpi.sss.util.action.contenttype=@DEFAULT-CONTENTTYPE@
+
+edu.rpi.sss.util.action.logprefix=Config
+
+# Error messages
+org.bedework.config.error.missingvalue=Missing value for field {0}
+
+# Informational messages
+
+org.bedework.message.cancelled=Cancelled
+
Added: freebusy/trunk/webclient/war/WEB-INF/jboss-web.xml
===================================================================
--- freebusy/trunk/webclient/war/WEB-INF/jboss-web.xml (rev 0)
+++ freebusy/trunk/webclient/war/WEB-INF/jboss-web.xml 2006-06-30 04:42:21 UTC (rev 669)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jboss-web>
+</jboss-web>
Added: freebusy/trunk/webclient/war/WEB-INF/struts-config.xml
===================================================================
--- freebusy/trunk/webclient/war/WEB-INF/struts-config.xml (rev 0)
+++ freebusy/trunk/webclient/war/WEB-INF/struts-config.xml 2006-06-30 04:42:21 UTC (rev 669)
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!DOCTYPE struts-config PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
+ "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
+
+ <!-- =================================================================
+ This is a the Struts configuration for the config app.
+ =================================================================== -->
+
+<struts-config>
+ <!-- ========== Form Bean Definitions ================================ -->
+ <form-beans>
+ <form-bean name="configForm"
+ type="org.bedework.webconfig.ActionForm"/>
+ </form-beans>
+
+ <!-- ========== Global Forward Definitions ===========================
+ We try to standardize the forwards a bit.
+ "success" takes us back to the main page
+ "done" is local to an action and should take us back one level
+ for example, to the list of events.
+ "continue" should stay on the same page
+ ================================================================= -->
+ <global-forwards>
+ <forward name="initial" path="/setup.do"/>
+ <forward name="error" path="/docs/error.jsp"/>
+ <forward name="success" path="/showMain.rdo" redirect="true"/>
+ <forward name="cancelled" path="/docs/showMain.rdo" redirect="true"/>
+ </global-forwards>
+
+ <!-- ========== Action Mapping Definitions =========================== -->
+ <action-mappings>
+ <action path="/showMain"
+ type="org.bedework.webconfig.RenderAction"
+ name="configForm"
+ scope="session"
+ validate="false">
+ <forward name="success" path="/docs/main.jsp"/>
+ </action>
+
+ <action path="/setup"
+ type="org.bedework.webconfig.RenderAction"
+ unknown="true"
+ name="configForm"
+ scope="session"
+ validate="false">
+ </action>
+
+ <action path="/showUpload"
+ type="org.bedework.webconfig.RenderAction"
+ name="configForm"
+ scope="session"
+ validate="false">
+ <forward name="success" path="/docs/upload.jsp" />
+ </action>
+
+ <action path="/showSaved"
+ type="org.bedework.webconfig.RenderAction"
+ name="configForm"
+ scope="session"
+ validate="false">
+ <forward name="success" path="/docs/save.jsp" />
+ </action>
+
+ <!-- ===============================================================
+ Config Actions
+ =============================================================== -->
+
+ <action path="/update"
+ type="org.bedework.webconfig.Action"
+ name="configForm"
+ scope="session"
+ validate="false">
+ </action>
+
+ <action path="/initUpload"
+ type="org.bedework.webconfig.Action"
+ name="configForm"
+ scope="session"
+ validate="false">
+ <forward name="success" path="/showUpload.rdo" redirect="true" />
+ </action>
+
+ <action path="/upload"
+ type="org.bedework.webconfig.LoadAction"
+ name="configForm"
+ scope="session"
+ validate="false">
+ </action>
+
+ <action path="/save"
+ type="org.bedework.webconfig.SaveAction"
+ name="configForm"
+ scope="session"
+ validate="false">
+ <forward name="save" path="/showSaved.rdo" redirect="true" />
+ </action>
+ </action-mappings>
+
+ <!-- Below will be one or more comments which must not be edited or removed
+ for the portlet build process to succeed. The comment will be replaced
+ by some extra cofiguration.
+ -->
+
+ <!-- Jetspeed2 controller def here -->
+
+ <message-resources parameter="servlet" null="true" />
+
+</struts-config>
Added: freebusy/trunk/webclient/war/WEB-INF/web.xml
===================================================================
--- freebusy/trunk/webclient/war/WEB-INF/web.xml (rev 0)
+++ freebusy/trunk/webclient/war/WEB-INF/web.xml 2006-06-30 04:42:21 UTC (rev 669)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+ <display-name>@DISPLAY-NAME@</display-name>
+
+ <context-param>
+ <param-name>rpiappname</param-name>
+ <param-value>@APP-NAME@</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>bwappname</param-name>
+ <param-value>@BW-APP-NAME@</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>debug</param-name>
+ <param-value>@RPI-DEBUG@</param-value>
+ </context-param>
+
+ <filter>
+ <filter-name>XSLT Filter</filter-name>
+ <filter-class>edu.rpi.sss.util.servlets.ConfiguredXSLTFilter</filter-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>@RPI-DEBUG@</param-value>
+ </init-param>
+ <init-param>
+ <param-name>directoryBrowsingDisallowed</param-name>
+ <param-value>@DIRECTORY-BROWSING-DISALLOWED@</param-value>
+ </init-param>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>XSLT Filter</filter-name>
+ <url-pattern>*.rdo</url-pattern>
+ <dispatcher>INCLUDE</dispatcher>
+ <dispatcher>FORWARD</dispatcher>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>
+
+ <listener>
+ <listener-class>edu.rpi.sss.util.jsp.SessionListener</listener-class>
+ </listener>
+
+ <servlet>
+ <servlet-name>action</servlet-name>
+ <servlet-class>
+ org.apache.struts.action.ActionServlet
+ </servlet-class>
+
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>action</servlet-name>
+ <url-pattern>*.rdo</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>action</servlet-name>
+ <url-pattern>*.do</url-pattern>
+ </servlet-mapping>
+
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+ <!-- This should be the name of the action we want to execute for a
+ url with no path component. A file of this name must exist but will
+ not be used (except to fool the container). -->
+ <welcome-file-list>
+ <welcome-file>setup.do</welcome-file>
+ </welcome-file-list>
+
+ <jsp-config>
+ <!-- Reference a taglib in the jsp like this:
+ <%@ taglib uri="struts-bean" prefix="bean" %>
+ -->
+
+ <taglib>
+ <taglib-uri>struts-bean</taglib-uri>
+ <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location>
+ </taglib>
+ <taglib>
+ <taglib-uri>struts-html</taglib-uri>
+ <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
+ </taglib>
+ <!-- use html struts tag library for genurl -->
+ <taglib>
+ <taglib-uri>struts-genurl</taglib-uri>
+ <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
+ </taglib>
+ <taglib>
+ <taglib-uri>struts-logic</taglib-uri>
+ <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location>
+ </taglib>
+ <taglib>
+ <taglib-uri>struts-template</taglib-uri>
+ <taglib-location>/WEB-INF/tlds/struts-template.tld</taglib-location>
+ </taglib>
+ </jsp-config>
+
+ <!-- Insert ejb-ref here -->
+</web-app>
More information about the Bedework-commit
mailing list