[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