Index: unix_installer/patch-package/ant-scripts/update_db.xml
===================================================================
diff -u
--- unix_installer/patch-package/ant-scripts/update_db.xml (revision 0)
+++ unix_installer/patch-package/ant-scripts/update_db.xml (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: unix_installer/patch-package/ant/bin/ant
===================================================================
diff -u
--- unix_installer/patch-package/ant/bin/ant (revision 0)
+++ unix_installer/patch-package/ant/bin/ant (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,326 @@
+#! /bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Extract launch and ant arguments, (see details below).
+ant_exec_args=
+no_config=false
+use_jikes_default=false
+ant_exec_debug=false
+show_help=false
+for arg in "$@" ; do
+ if [ "$arg" = "--noconfig" ] ; then
+ no_config=true
+ elif [ "$arg" = "--usejikes" ] ; then
+ use_jikes_default=true
+ elif [ "$arg" = "--execdebug" ] ; then
+ ant_exec_debug=true
+ elif [ my"$arg" = my"--h" -o my"$arg" = my"--help" ] ; then
+ show_help=true
+ ant_exec_args="$ant_exec_args -h"
+ else
+ if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ] ; then
+ show_help=true
+ fi
+ ant_exec_args="$ant_exec_args \"$arg\""
+ fi
+done
+
+# Source/default ant configuration
+if $no_config ; then
+ rpm_mode=false
+ usejikes=$use_jikes_default
+else
+ # load system-wide ant configuration (ONLY if ANT_HOME has NOT been set)
+ if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then
+ if [ -f "/etc/ant.conf" ] ; then
+ . /etc/ant.conf
+ fi
+ fi
+
+ # load user ant configuration
+ if [ -f "$HOME/.ant/ant.conf" ] ; then
+ . $HOME/.ant/ant.conf
+ fi
+ if [ -f "$HOME/.antrc" ] ; then
+ . "$HOME/.antrc"
+ fi
+
+ # provide default configuration values
+ if [ -z "$rpm_mode" ] ; then
+ rpm_mode=false
+ fi
+ if [ -z "$usejikes" ] ; then
+ usejikes=$use_jikes_default
+ fi
+fi
+
+# Setup Java environment in rpm mode
+if $rpm_mode ; then
+ if [ -f /usr/share/java-utils/java-functions ] ; then
+ . /usr/share/java-utils/java-functions
+ set_jvm
+ set_javacmd
+ fi
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ Darwin*) darwin=true
+ if [ -z "$JAVA_HOME" ] ; then
+ JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
+ fi
+ ;;
+esac
+
+if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ] ; then
+ ## resolve links - $0 may be a link to ant's home
+ PRG="$0"
+ progname=`basename "$0"`
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+ done
+
+ ANT_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ ANT_HOME=`cd "$ANT_HOME" && pwd`
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$ANT_HOME" ] &&
+ ANT_HOME=`cygpath --unix "$ANT_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# set ANT_LIB location
+ANT_LIB="${ANT_HOME}/lib"
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ elif [ -x "$JAVA_HOME/jre/bin/java" ] ; then
+ JAVACMD="$JAVA_HOME/jre/bin/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD=`which java 2> /dev/null `
+ if [ -z "$JAVACMD" ] ; then
+ JAVACMD=java
+ fi
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly."
+ echo " We cannot execute $JAVACMD"
+ exit 1
+fi
+
+# Build local classpath using just the launcher in non-rpm mode or
+# use the Jpackage helper in rpm mode with basic and default jars
+# specified in the ant.conf configuration. Because the launcher is
+# used, libraries linked in ANT_HOME/lib will also be included, but this
+# is discouraged as it is not java-version safe. A user should
+# request optional jars and their dependencies via the OPT_JAR_LIST
+# variable
+if $rpm_mode && [ -x /usr/bin/build-classpath ] ; then
+ LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)"
+
+ # If no optional jars have been specified then build the default list
+ if [ -z "$OPT_JAR_LIST" ] ; then
+ for file in /etc/ant.d/*; do
+ if [ -f "$file" ]; then
+ case "$file" in
+ *~) ;;
+ *#*) ;;
+ *.rpmsave) ;;
+ *.rpmnew) ;;
+ *)
+ for dep in `cat "$file"`; do
+ case "$OPT_JAR_LIST" in
+ *"$dep"*) ;;
+ *) OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep"
+ esac
+ done
+ esac
+ fi
+ done
+ fi
+
+ # If the user requested to try to add some other jars to the classpath
+ if [ -n "$OPT_JAR_LIST" ] ; then
+ _OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)"
+ if [ -n "$_OPTCLASSPATH" ] ; then
+ LOCALCLASSPATH="$LOCALCLASSPATH:$_OPTCLASSPATH"
+ fi
+ fi
+
+ # Explicitly add javac path to classpath, assume JAVA_HOME set
+ # properly in rpm mode
+ if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then
+ LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar"
+ fi
+ if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then
+ LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip"
+ fi
+
+ # if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be
+ # user CLASSPATH first and ant-found jars after.
+ # In that case, the user CLASSPATH will override ant-found jars
+ #
+ # if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour
+ # with ant-found jars first and user CLASSPATH after
+ if [ -n "$CLASSPATH" ] ; then
+ # merge local and specified classpath
+ if [ -z "$LOCALCLASSPATH" ] ; then
+ LOCALCLASSPATH="$CLASSPATH"
+ elif [ -n "$CLASSPATH_OVERRIDE" ] ; then
+ LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH"
+ else
+ LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH"
+ fi
+
+ # remove class path from launcher -cp option
+ CLASSPATH=""
+ fi
+else
+ # not using rpm_mode; use launcher to determine classpaths
+ if [ -z "$LOCALCLASSPATH" ] ; then
+ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
+ else
+ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
+ fi
+fi
+
+if [ -n "$JAVA_HOME" ] ; then
+ # OSX hack to make Ant work with jikes
+ if $darwin ; then
+ OSXHACK="${JAVA_HOME}/../Classes"
+ if [ -d "${OSXHACK}" ] ; then
+ for i in "${OSXHACK}"/*.jar
+ do
+ JIKESPATH="$JIKESPATH:$i"
+ done
+ fi
+ fi
+fi
+
+# Allow Jikes support (off by default)
+if $usejikes; then
+ ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
+fi
+
+# For Cygwin, switch paths to appropriate format before running java
+# For PATHs convert to unix format first, then to windows format to ensure
+# both formats are supported. Probably this will fail on directories with ;
+# in the name in the path. Let's assume that paths containing ; are more
+# rare than windows style paths on cygwin.
+if $cygwin; then
+ if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
+ format=mixed
+ else
+ format=windows
+ fi
+ ANT_HOME=`cygpath --$format "$ANT_HOME"`
+ ANT_LIB=`cygpath --$format "$ANT_LIB"`
+ JAVA_HOME=`cygpath --$format "$JAVA_HOME"`
+ LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"`
+ LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"`
+ if [ -n "$CLASSPATH" ] ; then
+ CP_TEMP=`cygpath --path --unix "$CLASSPATH"`
+ CLASSPATH=`cygpath --path --$format "$CP_TEMP"`
+ fi
+ CYGHOME=`cygpath --$format "$HOME"`
+fi
+
+# Show script help if requested
+if $show_help ; then
+ echo $0 '[script options] [options] [target [target2 [target3] ..]]'
+ echo 'Script Options:'
+ echo ' --help, --h print this message and ant help'
+ echo ' --noconfig suppress sourcing of /etc/ant.conf,'
+ echo ' $HOME/.ant/ant.conf, and $HOME/.antrc'
+ echo ' configuration files'
+ echo ' --usejikes enable use of jikes by default, unless'
+ echo ' set explicitly in configuration files'
+ echo ' --execdebug print ant exec line generated by this'
+ echo ' launch script'
+ echo ' '
+fi
+# add a second backslash to variables terminated by a backslash under cygwin
+if $cygwin; then
+ case "$ANT_HOME" in
+ *\\ )
+ ANT_HOME="$ANT_HOME\\"
+ ;;
+ esac
+ case "$CYGHOME" in
+ *\\ )
+ CYGHOME="$CYGHOME\\"
+ ;;
+ esac
+ case "$JIKESPATH" in
+ *\\ )
+ JIKESPATH="$JIKESPATH\\"
+ ;;
+ esac
+ case "$LOCALCLASSPATH" in
+ *\\ )
+ LOCALCLASSPATH="$LOCALCLASSPATH\\"
+ ;;
+ esac
+ case "$CLASSPATH" in
+ *\\ )
+ CLASSPATH="$CLASSPATH\\"
+ ;;
+ esac
+fi
+# Execute ant using eval/exec to preserve spaces in paths,
+# java options, and ant args
+ant_sys_opts=
+if [ -n "$CYGHOME" ]; then
+ if [ -n "$JIKESPATH" ]; then
+ ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\" -Dcygwin.user.home=\"$CYGHOME\""
+ else
+ ant_sys_opts="-Dcygwin.user.home=\"$CYGHOME\""
+ fi
+else
+ if [ -n "$JIKESPATH" ]; then
+ ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
+ fi
+fi
+ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS -classpath \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"$CLASSPATH\" $ant_exec_args"
+if $ant_exec_debug ; then
+ echo $ant_exec_command
+fi
+eval $ant_exec_command
Index: unix_installer/patch-package/ant/bin/antRun
===================================================================
diff -u
--- unix_installer/patch-package/ant/bin/antRun (revision 0)
+++ unix_installer/patch-package/ant/bin/antRun (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Args: DIR command
+cd "$1"
+CMD="$2"
+shift
+shift
+
+exec "$CMD" "$@"
Index: unix_installer/patch-package/ant/bin/antRun.pl
===================================================================
diff -u
--- unix_installer/patch-package/ant/bin/antRun.pl (revision 0)
+++ unix_installer/patch-package/ant/bin/antRun.pl (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,66 @@
+#!/usr/bin/perl
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#######################################################################
+#
+# antRun.pl
+#
+# wrapper script for invoking commands on a platform with Perl installed
+# this is akin to antRun.bat, and antRun the SH script
+#
+# created: 2001-10-18
+# author: Jeff Tulley jtulley@novell.com
+#######################################################################
+#be fussy about variables
+use strict;
+
+#turn warnings on during dev; generates a few spurious uninitialised var access warnings
+#use warnings;
+
+#and set $debug to 1 to turn on trace info (currently unused)
+my $debug=1;
+
+#######################################################################
+# change drive and directory to "%1"
+my $ANT_RUN_CMD = @ARGV[0];
+
+# assign current run command to "%2"
+chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n";
+if ($^O eq "NetWare") {
+ # There is a bug in Perl 5 on NetWare, where chdir does not
+ # do anything. On NetWare, the following path-prefixed form should
+ # always work. (afaict)
+ $ANT_RUN_CMD .= "/".@ARGV[1];
+}
+else {
+ $ANT_RUN_CMD = @ARGV[1];
+}
+
+# dispose of the first two arguments, leaving only the command's args.
+shift;
+shift;
+
+# run the command
+my $returnValue = system $ANT_RUN_CMD, @ARGV;
+if ($returnValue eq 0) {
+ exit 0;
+}
+else {
+ # only 0 and 1 are widely recognized as exit values
+ # so change the exit value to 1
+ exit 1;
+}
Index: unix_installer/patch-package/ant/bin/complete-ant-cmd.pl
===================================================================
diff -u
--- unix_installer/patch-package/ant/bin/complete-ant-cmd.pl (revision 0)
+++ unix_installer/patch-package/ant/bin/complete-ant-cmd.pl (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,114 @@
+#!/usr/bin/perl
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# A script to allow Bash or Z-Shell to complete an Ant command-line.
+#
+# To install for Bash 2.0 or better, add the following to ~/.bashrc:
+#
+# $ complete -C complete-ant-cmd ant build.sh
+#
+# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc:
+#
+# function ant_complete () {
+# local args_line args
+# read -l args_line
+# set -A args $args_line
+# set -A reply $(COMP_LINE=$args_line complete-ant-cmd ${args[1]} $1)
+# }
+# compctl -K ant_complete ant build.sh
+#
+# @author Mike Williams
+
+my $cmdLine = $ENV{'COMP_LINE'};
+my $antCmd = $ARGV[0];
+my $word = $ARGV[1];
+
+my @completions;
+if ($word =~ /^-/) {
+ list( restrict( $word, getArguments() ));
+} elsif ($cmdLine =~ /-(f|buildfile)\s+\S*$/) {
+ list( getBuildFiles($word) );
+} else {
+ list( restrict( $word, getTargets() ));
+}
+
+exit(0);
+
+sub list {
+ for (@_) {
+ print "$_\n";
+ }
+}
+
+sub restrict {
+ my ($word, @completions) = @_;
+ grep( /^\Q$word\E/, @completions );
+}
+
+sub getArguments {
+ qw(-buildfile -debug -emacs -f -find -help -listener -logfile
+ -logger -projecthelp -quiet -verbose -version);
+}
+
+
+sub getBuildFiles {
+ my ($word) = @_;
+ grep( /\.xml$/, glob( "$word*" ));
+}
+
+sub getTargets {
+
+ # Look for build-file
+ my $buildFile = 'build.xml';
+ if ($cmdLine =~ /-(f|buildfile)\s+(\S+)/) {
+ $buildFile = $2;
+ }
+ return () unless (-f $buildFile);
+
+ # Run "ant -projecthelp" to list targets. Keep a cache of results in a
+ # cache-file.
+ my $cacheFile = $buildFile;
+ $cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|;
+ if ((!-e $cacheFile) || (-M $buildFile) < (-M $cacheFile)) {
+ open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n";
+ open( HELP, "$antCmd -projecthelp -f '$buildFile'|" ) || return();
+ my %targets;
+ while( ) {
+ if (/^\s+(\S+)/) {
+ $targets{$1}++;
+ }
+ }
+ my @targets = sort keys %targets;
+ for (@targets) { print CACHE "$_\n"; }
+ return @targets;
+ }
+
+ # Read the target-cache
+ open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n";
+ my @targets;
+ while () {
+ chop;
+ s/\r$//; # for Cygwin
+ push( @targets, $_ );
+ }
+ close( CACHE );
+ @targets;
+
+}
+
+
+
Index: unix_installer/patch-package/ant/bin/runant.pl
===================================================================
diff -u
--- unix_installer/patch-package/ant/bin/runant.pl (revision 0)
+++ unix_installer/patch-package/ant/bin/runant.pl (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,153 @@
+#!/usr/bin/perl
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#######################################################################
+#
+# runant.pl
+#
+# wrapper script for invoking ant in a platform with Perl installed
+# this may include cgi-bin invocation, which is considered somewhat daft.
+# (slo: that should be a separate file which can be derived from this
+# and returns the XML formatted output)
+#
+# the code is not totally portable due to classpath and directory splitting
+# issues. oops. (NB, use File::Spec::Functions will help and the code is
+# structured for the catfile() call, but because of perl version funnies
+# the code is not included.
+#
+# created: 2000-8-24
+# author: Steve Loughran steve_l@sourceforge.net
+#######################################################################
+#
+# Assumptions:
+#
+# - the "java" executable/script is on the command path
+# - ANT_HOME has been set
+# - target platform uses ":" as classpath separator or perl indicates it is dos/win32
+# - target platform uses "/" as directory separator.
+
+#be fussy about variables
+use strict;
+
+#platform specifics (disabled)
+#use File::Spec::Functions;
+
+#turn warnings on during dev; generates a few spurious uninitialised var access warnings
+#use warnings;
+
+#and set $debug to 1 to turn on trace info
+my $debug=1;
+
+#######################################################################
+#
+# check to make sure environment is setup
+#
+
+my $HOME = $ENV{ANT_HOME};
+if ($HOME eq "")
+ {
+ die "\n\nANT_HOME *MUST* be set!\n\n";
+ }
+
+my $JAVACMD = $ENV{JAVACMD};
+$JAVACMD = "java" if $JAVACMD eq "";
+
+my $onnetware = 0;
+if ($^O eq "NetWare")
+{
+ $onnetware = 1;
+}
+
+my $oncygwin = ($^O eq "cygwin");
+
+#ISSUE: what java wants to split up classpath varies from platform to platform
+#and perl is not too hot at hinting which box it is on.
+#here I assume ":" 'cept on win32, dos, and netware. Add extra tests here as needed.
+my $s=":";
+if(($^O eq "MSWin32") || ($^O eq "dos") || ($^O eq "cygwin") ||
+ ($onnetware == 1))
+ {
+ $s=";";
+ }
+
+#build up standard classpath
+my $localpath = "$HOME/lib/ant-launcher.jar";
+#set JVM options and Ant arguments, if any
+my @ANT_OPTS=split(" ", $ENV{ANT_OPTS});
+my @ANT_ARGS=split(" ", $ENV{ANT_ARGS});
+
+#jikes
+if($ENV{JIKESPATH} ne "")
+ {
+ push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}";
+ }
+
+#construct arguments to java
+my @ARGS;
+push @ARGS, @ANT_OPTS;
+
+my $CYGHOME = "";
+
+my $classpath=$ENV{CLASSPATH};
+if ($oncygwin == 1) {
+ $localpath = `cygpath --path --windows $localpath`;
+ chomp ($localpath);
+ if (! $classpath eq "")
+ {
+ $classpath = `cygpath --path --windows "$classpath"`;
+ chomp ($classpath);
+ }
+ $HOME = `cygpath --path --windows $HOME`;
+ chomp ($HOME);
+ $CYGHOME = `cygpath --path --windows $ENV{HOME}`;
+ chomp ($CYGHOME);
+}
+push @ARGS, "-classpath", "$localpath";
+push @ARGS, "-Dant.home=$HOME";
+if ( ! $CYGHOME eq "" )
+{
+ push @ARGS, "-Dcygwin.user.home=\"$CYGHOME\""
+}
+push @ARGS, "org.apache.tools.ant.launch.Launcher", @ANT_ARGS;
+push @ARGS, @ARGV;
+if (! $classpath eq "")
+{
+ if ($onnetware == 1)
+ {
+ # make classpath literally $CLASSPATH
+ # this is to avoid pushing us over the 512 character limit
+ # even skip the ; - that is already in $localpath
+ push @ARGS, "-lib", "\$CLASSPATH";
+ }
+ else
+ {
+ push @ARGS, "-lib", "$classpath";
+ }
+}
+print "\n $JAVACMD @ARGS\n\n" if ($debug);
+
+my $returnValue = system $JAVACMD, @ARGS;
+if ($returnValue eq 0)
+ {
+ exit 0;
+ }
+else
+ {
+ # only 0 and 1 are widely recognized as exit values
+ # so change the exit value to 1
+ exit 1;
+ }
Index: unix_installer/patch-package/ant/lib/ant-contrib-1.0b3.jar
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/ant/lib/ant-launcher.jar
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/ant/lib/ant.jar
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/ant/lib/mysql-connector-java-3.1.12-bin.jar
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/assembly/lams-tool-lachat11.jar
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/assembly/lams-tool-lachat11.war
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/bin/backup.class
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/bin/checkmysql.class
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/bin/run-lams.sh
===================================================================
diff -u
--- unix_installer/patch-package/bin/run-lams.sh (revision 0)
+++ unix_installer/patch-package/bin/run-lams.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,32 @@
+# Copyright (C) 2005-2007 LAMS Foundation (http://lamsfoundation.org)
+# License Information: http://lamsfoundation.org/licensing/lams/2.0/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2.0
+# as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+# USA
+#
+# http://www.gnu.org/licenses/gpl.txt
+#
+
+# run script for LAMS unix version 2.0.2 and higher
+
+export JAVA_HOME="@JAVA_HOME@"
+export JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MaxPermSize=256m"
+
+echo " "
+echo "LAMS will take a few minutes to startup..."
+echo " "
+echo "Check server/default/log/boot.log and server/default/log/server.log to see if LAMS has started correctly. The server.log will contain a line similar to 'JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 1m:6s:987ms' when LAMS has finished loading."
+echo " "
+nohup ./run.sh > /dev/null &
+
Index: unix_installer/patch-package/bin/shutdown.sh
===================================================================
diff -u
--- unix_installer/patch-package/bin/shutdown.sh (revision 0)
+++ unix_installer/patch-package/bin/shutdown.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1 @@
+/usr/local/jboss-4.0.2/bin/shutdown.sh -S
\ No newline at end of file
Index: unix_installer/patch-package/bin/testJava.class
===================================================================
diff -u
Binary files differ
Index: unix_installer/patch-package/build.xml
===================================================================
diff -u
--- unix_installer/patch-package/build.xml (revision 0)
+++ unix_installer/patch-package/build.xml (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: unix_installer/patch-package/createPackage.sh
===================================================================
diff -u
--- unix_installer/patch-package/createPackage.sh (revision 0)
+++ unix_installer/patch-package/createPackage.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,11 @@
+#!/bin/bash
+#Removes all the CVS and *.bak files from the build directory
+
+. ./lams.properties
+
+cd build
+find . -name CVS | xargs rm -rf
+find . -name *.bak | xargs rm -rf
+find . -name repository*.tar.gz | xargs rm -rf
+
+tar -czf lams-unix-patch-$LAMS_VERSION.tar.gz lams-unix-patch-$LAMS_VERSION
Index: unix_installer/patch-package/install-lams-patch.sh
===================================================================
diff -u
--- unix_installer/patch-package/install-lams-patch.sh (revision 0)
+++ unix_installer/patch-package/install-lams-patch.sh (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,265 @@
+#!/bin/bash
+# Copyright (C) 2006-2008 LAMS Foundation (http://lamsfoundation.org)
+# License Information: http://lamsfoundation.org/licensing/lams/2.0/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2.0
+# as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+# USA
+#
+# http://www.gnu.org/licenses/gpl.txt
+#
+# Author: Luke Foxton
+
+# Patch shell script for LAMS
+
+LAMS_VERSION_UPDATE=2.1.1
+LAMS_SERVER_VERSION=2.1.0.200806190000
+REQ_LAMS_VERSION=2.1
+
+USE_ETC_PROPERTIES=0;
+
+# backup the lams.properties
+if [ ! -r docs/lams.properties.backup.orig ]
+then
+ cp lams.properties docs/lams.properties.backup.orig
+fi
+
+if [ -r /etc/lams2/lams.properties ]
+then
+ useproperties=""
+ clear
+ printf "\nThe LAMS updater has detected a lams.properties file in /etc/lams2.\n"
+ printf "Do you wish to use this file? (y)es (n)o (q)uit\n> "
+ read useproperties
+
+ case "$useproperties" in
+ y)
+ printf "\nUsing lams.properties from /etc/lams2.\n"
+ . /etc/lams2/lams.properties
+ USE_ETC_PROPERTIES=1;
+ ;;
+ n)
+ . lams.properties
+ ;;
+ *)
+ installexit
+ ;;
+ esac
+else
+ . lams.properties
+fi
+
+#escaping & in jdbc url
+VAR_SQL_URL=jdbc:mysql://${SQL_HOST}/${DB_NAME}?characterEncoding=utf8\&autoReconnect=true
+
+
+# Invoked when the install is failed
+installfailed()
+{
+ echo ""
+ cp lams.properties docs/lams.properties.backup.exec
+ cp docs/lams.properties.backup.orig lams.properties
+ #export JAVA_HOME=$ORIG_JAVA_HOME
+ exit 1
+}
+
+# Invoked when the install is exited
+installexit()
+{
+ printf "\nLAMS update exited by user.\n\n"
+ cp lams.properties docs/lams.properties.backup.exec
+ cp docs/lams.properties.backup.orig lams.properties
+ #export JAVA_HOME=$ORIG_JAVA_HOME
+ exit 0
+}
+
+checklams()
+{
+ # Checking that the lams.properties points to a lams installation
+ if [ ! -r "$JBOSS_DIR/server/default/deploy/lams.ear/lams.jar" ]
+ then
+ printf "\nUpdate failed, Could not find lams.jar at $JBOSS_DIR/server/default/deploy/lams.ear.\nPlease check that have LAMS $REQ_LAMS_VERSION is installed and your lams.properties file is correct before running this update.\n"
+ installfailed
+ fi
+
+ printf "Do you want to run the LAMS shutdown script before continuing? (Recommended)\n"
+ printf "(y)es I want to run the JBOSS shutdown script.\n"
+ printf "(n)o I have already shutdown LAMS. Continue with the upgrade.\n"
+ printf "(q)uit.\n"
+ printf "> "
+ shutdown=""
+ read shutdown
+
+ case "$shutdown" in
+ q)
+ echo "Update aborted by user"
+ installexit
+ ;;
+ y)
+ printf "\nPlease wait a few moments while LAMS shuts down\n"
+ if [ -x "$JBOSS_DIR/bin/lams2" ]
+ then
+ $JBOSS_DIR/bin/lams2 stop
+ else
+ $JBOSS_DIR/bin/shutdown.sh -S
+ fi
+
+ printf "\nWaiting for shutdown to finish.\n"
+ printf "..........."
+ sleep 3
+ printf "....................."
+ sleep 3
+ printf "..............................."
+ sleep 4
+ printf ".................\n"
+ printf "Shutdown completed\n\n"
+ ;;
+ n)
+
+ ;;
+ *)
+ printf "\nPlease enter y, n or q\n"
+ checklams
+ ;;
+ esac
+}
+
+checkMysql()
+{
+ echo ""
+ $JDK_DIR/bin/java -cp .:bin/:assembly/mysql-connector-java-3.1.12-bin.jar checkmysql "$VAR_SQL_URL" "$DB_USER" "$DB_PASS" "$REQ_LAMS_VERSION"
+
+ if [ "$?" -ne "0" ]
+ then
+ installfailed
+ fi
+}
+
+backup()
+{
+ printf "\nDo you wish to automatically backup lams before updating? (Recommended. NOTE: Requires MySql to be installed at localhost)\n"
+ printf "Please check the below directories are correct before running this backup. If they are not, quit the installer and backup LAMS manually.\n"
+ printf "The space required to backup your LAMS installation:\n"
+ du -chs $LAMS_DIR $JBOSS_DIR
+ printf "(y)es I wish to backup LAMS.\n"
+ printf "(n)o I have already backed up LAMS, I am ready to update.\n"
+ printf "(q)uit.\n"
+ printf "> "
+ backup=""
+ read backup
+
+ case "$backup" in
+ q)
+ printf "\nIf you would like manually backup LAMS, please complete the following steps:\n"
+ printf "\n1) Backup $JBOSS_DIR\n"
+ printf "2) Backup $LAMS_DIR\n"
+ printf "3) Backup /etc/lams2\n"
+ printf "4) Dump the database by executing the following command. Fill in your own backup \ndirectory.\n"
+ printf "> $sqldir/mysqldump -u$dbuser -p$dbpass $dbname > (backup dir)/dump.sql\n"
+ installexit
+ ;;
+ y)
+
+
+ $JDK_DIR/bin/java -cp bin backup
+ if [ "$?" -ne "0" ]
+ then
+ echo "Update failed, Failed to backup LAMS."
+ installfailed
+ fi
+
+ chmod 755 bin/lamsdump.sql
+ bin/lamsdump.sql
+ if [ "$?" -ne "0" ]
+ then
+ echo "Update failed, problem dumping database for backup."
+ installfailed
+ fi
+
+ ;;
+ n)
+
+ ;;
+ *)
+ printf "\nPlease enter y, n or q\n"
+ backup
+ ;;
+ esac
+}
+
+clear
+printf "\n--------------------------------------------------------------------------------\n\n"
+printf "WELCOME to the LAMS $REQ_LAMS_VERSION to $LAMS_VERSION_UPDATE Unix Patch! \n\n"
+printf "Please ensure you have read and accepted the licence agreement before continuing\n\n"
+printf "This installer will prompt you to enter many configurations and locations\n"
+printf "on your computer so please make sure you are ready.\n"
+printf "You should read the installation guide before continuing.\n"
+printf "\nJAVA_HOME = $JDK_DIR\n"
+printf "\n--------------------------------------------------------------------------------\n\n"
+
+printf "The patch can backup LAMS automatically for you, but if you would like to\n"
+printf "backup LAMS manually before proceeding, please complete the following steps:\n"
+printf "\n1) Backup $JBOSS_DIR\n"
+printf "2) Backup $LAMS_DIR\n"
+printf "3) Backup /etc/lams2\n"
+printf "4) Dump the database by executing the following command. Fill in your own backup \ndirectory.\n"
+printf "> $sqldir/mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > (backup dir)/dump.sql\n"
+printf "\n--------------------------------------------------------------------------------\n\n"
+
+checkMysql
+checklams
+backup
+
+printf "\nApplying $LAMS_VERSION_UPDATE patch, this may take a few moments...\n"
+
+
+################################################################################
+# 2.1.1 Specific updates
+################################################################################
+
+printf "\nCopying files...\n"
+cp -r assembly/* $EAR_DIR
+printf "\nDone.\n"
+
+printf "\nUpdating database...\n"
+
+ant/bin/ant -logfile update_db.log -buildfile ant-scripts/update_db.xml update_db
+if [ "$?" -ne "0" ]
+then
+ printf "\nDatabase update failed, check update_db.log."
+ installfailed
+else
+ printf "\n\nPatch update finished!\n"
+
+ if [ $USE_ETC_PROPERTIES -ne 1 ]
+ then
+ mkdir -p /etc/lams2
+ cp lams.properties /etc/lams2
+ fi
+fi
+
+
+
+
+
+#if [ -r $SQL_DIR/mysql ]
+#then
+# $SQL_DIR/mysql -v -h$SQL_HOST -u$DB_USER -p$DB_PASS $DB_NAME < sql-scripts/update-script.sql >> patchlog.txt
+# printf "\nDone.\n"
+# printf "\n\nPatch complete!\n"
+#else
+# printf "\nPatch update failed, could not find mysql executable at SQL_DIR: $SQL_DIR"
+#fi
+
+################################################################################
+
Index: unix_installer/patch-package/java/Alter21Integration.java
===================================================================
diff -u
--- unix_installer/patch-package/java/Alter21Integration.java (revision 0)
+++ unix_installer/patch-package/java/Alter21Integration.java (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,198 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+import java.sql.Connection;
+import java.sql.Date;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import java.util.ArrayList;
+
+/**
+ * @author jliew
+ *
+ */
+public class Alter21Integration {
+
+ /**
+ * Update 3rd party integration courses to classes, LDEV-1284.
+ * @throws Exception
+ */
+ public static void main(String[] args) throws Exception {
+ Alter21Integration me = new Alter21Integration();
+
+ if (args.length < 4)
+ {
+ System.out.println("Usage: java Alter21Integration DB_NAME DB_USERNAME DB_PASSWORD DB_URL");
+ System.out.println("Make sure mysql-connector-java-3.x.x-bin.jar is in your classpath.");
+ System.exit(1);
+ }
+
+ String dbName = args[0];
+ String dbUsername = args[1];
+ String dbPassword = args[2];
+ String dbUrl = args[3];
+ me.execute(dbName, dbUsername, dbPassword, dbUrl);
+ }
+
+ public void execute(String dbName, String dbUsername, String dbPassword, String dbDriverUrl) throws Exception {
+
+ String dbDriverClass = "com.mysql.jdbc.Driver";
+ //String dbDriverUrl = "jdbc:mysql://localhost/" + dbName + "?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useUnicode=true";
+
+ Class.forName(dbDriverClass);
+ Connection conn = DriverManager.getConnection(dbDriverUrl, dbUsername, dbPassword);
+ conn.setAutoCommit(false);
+
+ // change integration orgs from classes to courses, with root org as parent.
+ String updateToCourseType = "UPDATE lams_organisation "
+ + "SET organisation_type_id=2, "
+ + "parent_organisation_id=1 "
+ + "WHERE organisation_id IN ( "
+ + "SELECT classid "
+ + "FROM lams_ext_course_class_map "
+ + ")";
+
+ // we want to give these newly converted courses their own workspaces;
+ String getCoursesWithoutWorkspaces = "SELECT organisation_id, name "
+ + "FROM lams_organisation "
+ + "WHERE organisation_type_id=2 "
+ + "AND workspace_id IS NULL";
+
+ // normal folder;
+ String insertNormalFolder = "INSERT INTO lams_workspace_folder (name, user_id, create_date_time, "
+ + "last_modified_date_time, lams_workspace_folder_type_id) "
+ + "VALUES (?, ?, ?, ?, ?)";
+
+ // and run sequence folder
+ String insertRunSequencesFolder = "INSERT INTO lams_workspace_folder (name, user_id, create_date_time, "
+ + "last_modified_date_time, lams_workspace_folder_type_id, parent_folder_id) "
+ + "VALUES (?, ?, ?, ?, ?, ?)";
+
+ // insert workspace, links to its folders, and link to its org
+ String insertWorkspace = "INSERT INTO lams_workspace (name, default_fld_id, def_run_seq_fld_id) "
+ + "VALUES (?, ?, ?)";
+
+ String insertLinks = "INSERT INTO lams_wkspc_wkspc_folder (workspace_id, workspace_folder_id) "
+ + "VALUES (?, ?)";
+
+ String updateOrg = "UPDATE lams_organisation "
+ + "SET workspace_id=? "
+ + "WHERE organisation_id=?";
+
+ // Start update
+
+ // update classes to courses
+ PreparedStatement query = conn.prepareStatement(updateToCourseType);
+ int numUpdatedCourses = query.executeUpdate();
+ System.out.println("Set " + numUpdatedCourses + " integration organisations to courses.");
+
+ // get courses without workspaces
+ ArrayList orgs = new ArrayList();
+ query = conn.prepareStatement(getCoursesWithoutWorkspaces);
+ ResultSet results = query.executeQuery();
+ while (results.next()) {
+ orgs.add(new OrgDTO(results.getLong("organisation_id"), results.getString("name")));
+ }
+
+ // create workspace and folders for each org
+ for (OrgDTO org : orgs) {
+ // insert normal folder
+ query = conn.prepareStatement(insertNormalFolder, Statement.RETURN_GENERATED_KEYS);
+ query.setString(1, org.getOrgName());
+ query.setLong(2, new Long(1));
+ query.setDate(3, new Date(System.currentTimeMillis()));
+ query.setDate(4, new Date(System.currentTimeMillis()));
+ query.setInt(5, new Integer(1));
+ int numInsert = query.executeUpdate();
+ results = query.getGeneratedKeys();
+ long wkspcFolderId = -1;
+ if (results.next()) wkspcFolderId = results.getLong(1);
+ System.out.println("Inserted " + numInsert + " workspace folders, with id " + wkspcFolderId + ".");
+
+ // insert run sequences folder
+ query = conn.prepareStatement(insertRunSequencesFolder, Statement.RETURN_GENERATED_KEYS);
+ query.setString(1, org.getOrgName()+" Run Sequences");
+ query.setLong(2, new Long(1));
+ query.setDate(3, new Date(System.currentTimeMillis()));
+ query.setDate(4, new Date(System.currentTimeMillis()));
+ query.setInt(5, new Integer(2));
+ query.setLong(6, wkspcFolderId);
+ numInsert = query.executeUpdate();
+ results = query.getGeneratedKeys();
+ long wkspcRunFolderId = -1;
+ if (results.next()) wkspcRunFolderId = results.getLong(1);
+ System.out.println("Inserted " + numInsert + " workspace folders, with id " + wkspcRunFolderId + ".");
+
+ // insert workspace
+ query = conn.prepareStatement(insertWorkspace, Statement.RETURN_GENERATED_KEYS);
+ query.setString(1, org.getOrgName());
+ query.setLong(2, wkspcFolderId);
+ query.setLong(3, wkspcRunFolderId);
+ numInsert = query.executeUpdate();
+ results = query.getGeneratedKeys();
+ long wkspcId = -1;
+ if (results.next()) wkspcId = results.getLong(1);
+ System.out.println("Inserted " + numInsert + " workspaces, with id " + wkspcId + ".");
+
+ // insert wkspc_wkspc_folder links
+ query = conn.prepareStatement(insertLinks);
+ query.setLong(1, wkspcId);
+ query.setLong(2, wkspcFolderId);
+ numInsert = query.executeUpdate();
+ System.out.println("Inserted " + numInsert + " wkspc_wkspc_folder links.");
+ query.setLong(1, wkspcId);
+ query.setLong(2, wkspcRunFolderId);
+ numInsert = query.executeUpdate();
+ System.out.println("Inserted " + numInsert + " wkspc_wkspc_folder links.");
+
+ // update organisation with this workspace
+ query = conn.prepareStatement(updateOrg);
+ query.setLong(1, wkspcId);
+ query.setLong(2, org.getOrgId());
+ numInsert = query.executeUpdate();
+ System.out.println("Updated " + org.getOrgName() + " with workspace_id " + wkspcId + ".");
+ }
+
+ conn.commit();
+ conn.close();
+ }
+
+ public class OrgDTO {
+ private Long orgId;
+ private String orgName;
+ public OrgDTO(Long orgId, String orgName) {
+ this.orgId = orgId;
+ this.orgName = orgName;
+ }
+ public Long getOrgId() {
+ return orgId;
+ }
+ public String getOrgName() {
+ return orgName;
+ }
+ }
+
+}
+
Index: unix_installer/patch-package/java/backup.java
===================================================================
diff -u
--- unix_installer/patch-package/java/backup.java (revision 0)
+++ unix_installer/patch-package/java/backup.java (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,213 @@
+import java.io.*;
+import java.nio.channels.FileChannel;
+import java.util.Properties;
+
+public class backup
+{
+
+ private BufferedReader in;
+
+ private String backupdir, jbossdir, repositoryDir, etcdir;
+
+ public String mysqldir, dbuser, dbname, dbpass, dburl;
+
+ public static void main(String args[])
+ {
+ new backup();
+ }
+
+ public backup(boolean mysql)
+ {
+
+ }
+
+ public backup()
+ {
+ readProperties();
+ promptUser();
+
+ try
+ {
+ System.out.println("Copying files from " + jbossdir + "/ to " + backupdir + "/jboss-4.0.2/ ...");
+ copyFiles(jbossdir + "/", backupdir+"/jboss-4.0.2/");
+ copyFiles(etcdir + "/", backupdir+"/ectlams2/");
+ copyFiles(repositoryDir + "/", backupdir+"/repository/");
+ System.out.println("Done.\n");
+ }
+ catch (IOException e)
+ {
+ System.out.println("\nError copying files: " + e.getMessage());
+ System.exit(1);
+ }
+
+
+ System.out.println("Dumping database to: " + backupdir + " ...");
+ dumpDatabase();
+ System.out.println("\nDone. \n");
+
+ }
+
+ public void readProperties()
+ {
+ try
+ {
+ Properties lamsProperties = new Properties();
+ lamsProperties.load(new FileInputStream("lams.properties"));
+ jbossdir = lamsProperties.getProperty("JBOSS_DIR");
+ repositoryDir = lamsProperties.getProperty("LAMS_DIR") + "/repository";
+ etcdir = "/etc/lams2";
+ mysqldir = lamsProperties.getProperty("SQL_DIR");
+ dbname = lamsProperties.getProperty("DB_NAME");
+ dbuser = lamsProperties.getProperty("DB_USER");
+ dbpass = lamsProperties.getProperty("DB_PASS");
+ dburl = "jdbc:mysql://localhost/" +dbname+ "?characterEncoding=utf8";
+
+ File lams = new File(jbossdir + "/server/default/deploy/lams.ear/lams.jar");
+ if (lams.exists() == false)
+ {
+ throw new IOException("The jboss directory in lams.properties does not contain a lams installation: " + jbossdir);
+ }
+
+ }
+ catch (IOException e)
+ {
+
+ System.out.println("Error: " + e.getMessage());
+ System.out.println("Please ensure you have correctly configured the lams.properties file in your root package directory before you continue");
+ System.exit(1);
+
+ }
+
+ }
+
+ public void promptUser()
+ {
+ try
+ {
+
+ in = new BufferedReader(new InputStreamReader(System.in));
+
+ System.out.println("Please enter the full path of where you wish to backup lams");
+ System.out.print("> ");
+ backupdir = in.readLine();
+
+ File bak = new File(backupdir);
+
+ if (bak.exists()==true)
+ {
+ System.out.print("A file or directory already exists at that location, do you wish to continue and remove existing files? (y/n/q): ");
+ String cont = null;
+ cont = in.readLine();
+
+
+ switch (cont.charAt(0))
+ {
+ case 'y':
+ if(!(deleteDir(bak)))
+ {
+ throw new IOException("Could not delete file or directory: " + backupdir + ". Please try an unused directory path to backup." );
+ }
+ break;
+
+ case 'n':
+ promptUser();
+ break;
+ default:
+ System.out.println("Bye!");
+ System.exit(1);
+ break;
+ }
+
+
+
+ }
+
+
+
+ }
+ catch (IOException e)
+ {
+ System.out.println(e.getMessage());
+ System.exit(1);
+ }
+ }
+
+ // deleting the backup directory if it already exists
+ public boolean deleteDir(File dir)
+ {
+ if (dir.isDirectory())
+ {
+ String[] children = dir.list();
+ for(int i=0; i " +backupdir+ "/dump.sql");
+ outfile.close();
+ }
+ catch (Exception e)
+ {
+ System.out.println("Error preparing sql dump: " + e.getMessage());
+ System.exit(1);
+ }
+
+ }
+
+}
Index: unix_installer/patch-package/java/checkmysql.java
===================================================================
diff -u
--- unix_installer/patch-package/java/checkmysql.java (revision 0)
+++ unix_installer/patch-package/java/checkmysql.java (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,84 @@
+import java.io.File;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import java.util.Properties;
+import java.sql.SQLException;
+
+public class checkmysql
+{
+ private String version;
+ private String dbDriverClass;
+ private String dbDriverUrl;
+ private String dbUsername;
+ private String dbPassword;
+
+ // Check that the mysql version is valid
+ public static void main(String[] args) throws SQLException
+ {
+ checkmysql me = new checkmysql();
+
+ if (args.length < 4)
+ {
+ System.out.println("Usage: Java checkmysql dbDriverUrl dbUsername dbPassword version");
+ System.exit(1);
+ }
+ else
+ {
+ me.execute(args[0], args[1], args[2], args[3]);
+ }
+ }
+
+ public void execute(String url, String user, String pass, String version) throws SQLException
+ {
+
+ try{
+ this.version = version;
+ this.dbDriverClass = "com.mysql.jdbc.Driver";
+ this.dbDriverUrl = url;
+ this.dbUsername = user;
+ this.dbPassword = pass;
+
+ Class.forName(dbDriverClass);
+ Connection conn = DriverManager.getConnection(dbDriverUrl, dbUsername, dbPassword);
+ conn.setAutoCommit(false);
+ PreparedStatement stmt = conn.prepareStatement("SELECT * FROM lams_configuration WHERE config_key= \"Version\"");
+ ResultSet results = stmt.executeQuery();
+
+ if (results.first() == false)
+ {
+ throw new SQLException("Could not find LAMS database using url: " + dbDriverUrl);
+ }
+ else
+ {
+ String dbVersion = results.getString("config_value");
+ if (dbVersion.equals(version) == false)
+ {
+ throw new SQLException("Your current LAMS version: " +dbVersion+ " is not compatible with this upgrade. Required version: " +version);
+ }
+ else
+ {
+ System.out.println("LAMS version is compatible with this upgrade.\n");
+ }
+ }
+ conn.close();
+ }
+ catch (SQLException e)
+ {
+ System.out.println(e.getMessage());
+ System.out.println("Upgrade failed. LAMS database check failed.\n");
+ System.exit(1);
+ }
+ catch (Exception e)
+ {
+ System.out.println(e.getMessage());
+ System.out.println("Upgrade failed. Unknown failure checking LAMS database version.\n");
+ e.printStackTrace();
+ System.exit(1);
+ }
+
+ }
+
+}
Index: unix_installer/patch-package/java/copyllid.java
===================================================================
diff -u
--- unix_installer/patch-package/java/copyllid.java (revision 0)
+++ unix_installer/patch-package/java/copyllid.java (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,144 @@
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.Properties;
+import java.sql.SQLException;
+import java.sql.DriverManager;
+import java.io.*;
+import java.lang.Runtime;
+
+
+
+public class copyllid
+{
+ public static void main(String args[]) throws Exception
+ {
+ System.out.println("Copying combined task language files");
+
+ if (args.length < 5)
+ {
+ System.out.println("Usage: java Alter21Integration JBOSS_DIR DB_USERNAME DB_PASSWORD DB_NAME DB_URL");
+ System.out.println("Make sure mysql-connector-java-3.x.x-bin.jar is in your classpath.");
+ System.exit(1);
+ }
+
+ String llid = args[0] + "/server/default/deploy/lams.ear/lams-dictionary.jar/org/lamsfoundation/lams/library/";
+
+ new copyllid(llid, args[1], args[2], args[3], args[4]);
+ }
+
+
+ private String dbname, dbuser, dbpass, dburl, dbdriver, lliddir;
+
+ private String forumScribe, resourceForum, chatScribe;
+
+ private Connection conn;
+
+ public copyllid(String lliddir, String dbuser, String dbpass, String dbname, String dburl)
+ {
+ dbdriver = "com.mysql.jdbc.Driver";
+
+ try
+ {
+ Class.forName(dbdriver);
+ conn = DriverManager.getConnection(dburl, dbuser, dbpass);
+
+ PreparedStatement stmt = null;
+ ResultSet result = null;
+
+
+ stmt = conn.prepareStatement ("select learning_library_id from lams_learning_library where title = \"Chat and Scribe\"");
+ result = stmt.executeQuery();
+
+ if (result.first())
+ {
+ chatScribe = "llid" + result.getString("learning_library_id");
+ }
+
+ stmt = conn.prepareStatement ("select learning_library_id from lams_learning_library where title = \"Resources and Forum\"");
+ result = stmt.executeQuery();
+
+ if (result.first())
+ {
+ resourceForum = "llid" + result.getString("learning_library_id");
+ }
+
+ stmt = conn.prepareStatement ("select learning_library_id from lams_learning_library where title = \"Forum and Scribe\"");
+ result = stmt.executeQuery();
+
+ if (result.first())
+ {
+ forumScribe = "llid" + result.getString("learning_library_id");
+ }
+
+ }
+ catch (SQLException se)
+ {
+ System.out.println(se.getMessage());
+ se.printStackTrace();
+ }
+ catch (Exception e)
+ {
+ System.out.println(e.getMessage());
+ e.printStackTrace();
+ }
+
+
+ chatScribe = lliddir + chatScribe;
+ resourceForum = lliddir + resourceForum;
+ forumScribe = lliddir + forumScribe;
+
+ try
+ {
+ Runtime run = Runtime.getRuntime();
+ run.exec("mkdir " + chatScribe);
+ run.exec("mkdir " + resourceForum);
+ run.exec("mkdir " + forumScribe);
+
+
+ copyFiles("../language-pack/library/ChatAndScribe/", chatScribe);
+ copyFiles("../language-pack/library/ForumAndScribe/", forumScribe);
+ copyFiles("../language-pack/library/ResourcesAndForum/", resourceForum);
+ }
+ catch (IOException e)
+ {
+ System.out.println(e.getMessage());
+ e.printStackTrace();
+ }
+
+ System.out.println("Language files for combined tasks successfully updated");
+ }
+
+ // The method copyFiles being defined
+ public static void copyFiles(String strPath, String dstPath) throws IOException
+ {
+
+ File src = new File(strPath);
+ File dest = new File(dstPath);
+
+ if (src.isDirectory())
+ {
+ //if(dest.exists()!=true)
+ dest.mkdirs();
+ String list[] = src.list();
+
+ for (int i = 0; i < list.length; i++)
+ {
+ String dest1 = dest.getAbsolutePath() + "/" + list[i];
+ String src1 = src.getAbsolutePath() + "/" + list[i];
+ copyFiles(src1 , dest1);
+ }
+ }
+ else
+ {
+ FileInputStream fin = new FileInputStream(src);
+ FileOutputStream fout = new FileOutputStream (dest);
+ int c;
+ while ((c = fin.read()) >= 0)
+ fout.write(c);
+ fin.close();
+ fout.close();
+ }
+ }
+
+}
Index: unix_installer/patch-package/lams.properties
===================================================================
diff -u
--- unix_installer/patch-package/lams.properties (revision 0)
+++ unix_installer/patch-package/lams.properties (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,132 @@
+# Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org)
+# License Information: http://lamsfoundation.org/licensing/lams/2.0/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2.0
+# as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+# USA
+#
+# http://www.gnu.org/licenses/gpl.txt
+#
+
+#########################################################################################
+# Installation Options #
+#########################################################################################
+
+# The lamshome directory, will contain repository, temp and dump files
+# Make sure this location has sufficient disk space as several files will be stored
+# here during run time
+LAMS_DIR=/var/opt/lams
+
+# Username and password for the system admin for LAMS
+LAMS_USER=sysadmin
+LAMS_PASS=sysadmin
+
+# Default language locale and text direction for LAMS, see section 3 of the readme
+LOCALE=en_AU
+LOCALE_DIRECTION=LTR
+
+
+# Database name, username and password for your LAMS database
+DB_NAME=lams2
+DB_USER=lamsuser
+DB_PASS=lamsdemo
+
+
+# Wildfire configuration, used for chat tools. see the documentation under
+# "Configuring the Chat Server" at:
+# http://wiki.lamsfoundation.org/display/lams/Building+LAMS
+WILDFIRE_DOMAIN=localhost
+WILDFIRE_CONFERENCE=conference.localhost
+WILDFIRE_USER=admin
+WILDFIRE_PASS=
+
+#########################################################################################
+
+
+
+#########################################################################################
+# Essential Settings #
+# These setting must be correct in order for the install to complete successfully #
+#########################################################################################
+
+# The port through which you want jboss to run
+LAMS_PORT=8080
+
+# The url you intend to use to run LAMS
+# NOTE: Make sure the URL ends with a "/" or you will have problems running LAMS
+SERVER_URL=http://localhost:8080/lams/
+
+# Where your home directory of JBoss is
+# This will contain your LAMS installation
+JBOSS_DIR=/usr/local/jboss-4.0.2
+
+# The directory that contains your JDK. (Must be 1.5 or higher)
+JDK_DIR=/usr/lib/jvm/java-1.5.0-sun/
+
+# The location of your mysql executable (Must be 5.0 or higher)
+SQL_DIR=/usr/bin
+
+# The location of your MySql server, leave as localhost unless you are useing MySql on
+# a separate server
+SQL_HOST=localhost
+
+# The port that your MySql server is running through
+SQL_PORT=3306
+
+# The URL that your jdbc driver will be running through
+SQL_URL=jdbc:mysql://${SQL_HOST}/${DB_NAME}?characterEncoding=utf8&autoReconnect=true
+
+# The root password to access the database
+DB_ROOT_PASSWORD=
+
+#########################################################################################
+
+
+
+#########################################################################################
+# Installation Settings #
+# DO NOT CHANGE unless you require more disk space for repository, temp or dump dir #
+#########################################################################################
+
+# Locations of the repository, temporary, and dump directories
+# Used as storage locations for LAMS files
+REPOSITORY_DIR=${LAMS_DIR}/repository
+TEMP_DIR=${LAMS_DIR}/temp
+DUMP_DIR=${LAMS_DIR}/dump
+
+# Execution directiories must be within the jboss-4.0.2 directory structure
+BINDIR=${JBOSS_DIR}/bin
+TOMCATDIR=${DEPLOY_DIR}/jbossweb-tomcat55.sar
+DEPLOY_DIR=${JBOSS_DIR}/server/default/deploy
+SERVER_DIR=${JBOSS_DIR}/server
+DEFAULT_DIR=${JBOSS_DIR}/server/default
+EAR_DIR=${DEPLOY_DIR}/lams.ear
+
+# Location of installation files within the package
+LAMS_BUILD=${basedir}/lams_build
+CONF_DIR=${basedir}/conf/unix
+JBOSS_CONF=${CONF_DIR}/jboss
+AUTH_CONF=${CONF_DIR}/authentication
+
+# Drivers for MySql during installation
+SQL_DRIVER=com.mysql.jdbc.Driver
+SQL_JAR=mysql-connector-java-3.1.12-bin.jar
+
+# The URL of the default mysql database
+MYSQL_DB_URL=jdbc:mysql://${SQL_HOST}/mysql?characterEncoding=utf8
+
+# The version of this lams installer
+LAMS_VERSION=2.1.1
+
+#########################################################################################
+
Index: unix_installer/patch-package/license
===================================================================
diff -u
--- unix_installer/patch-package/license (revision 0)
+++ unix_installer/patch-package/license (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,2603 @@
+LAMS 2.1.1 is released under the GPL license detailed below. This package
+also includes other libraries/packages, whose respective licenses are
+detailed below.
+
+Library/Package License
+--------------------------------------------------------------------------------
+antlr.jar Antlr 3 License
+axis-ant.jar Apache License 2.0
+axis.jar Apache License 2.0
+cglib-nodep-2.1_2.jar Apache License 2.0
+cglib_jboss404GA.jar Apache License 2.0
+commons-beanutils.jar Apache License 2.0
+commons-codec-1.3.jar Apache License 2.0
+commons-collections.jar Apache License 2.0
+commons-digester.jar Apache License 2.0
+commons-discovery-0.2.jar Apache Software License 1.1
+commons-fileupload.jar Apache Software License 1.1
+commons-lang-2.0.jar Apache Software License 1.1
+commons-logging.jar Apache License 2.0
+commons-validator.jar Apache License 2.0
+FCKeditor-2.3.jar CDL Closed Distribution License
+gnujaxp.jar GNU General Public License
+hibernate3.jar GNU General Public License
+jakarta-oro.jar Apache Software License 1.1
+jaxrpc.jar GNU Lesser General Public Licence
+jboss-cache.jar GNU Lesser General Public Licence
+jboss-common.jar GNU Lesser General Public Licence
+jboss-jmx.jar GNU Lesser General Public Licence
+jboss-system.jar GNU Lesser General Public Licence
+jcommon-1.0.0.jar GNU Lesser General Public Licence
+jdom.jar Jdom Jar License
+jfreechart-1.0.1.jar GNU Lesser General Public Licence
+jgroups.jar GNU Lesser General Public Licence
+jmock-2003-03-19.jar jMock Project License
+joda-time-0.98.jar Joda Software License 1.0
+jsMath Apache License 2.0
+jstl.jar JSTL License 1.1
+log4j-1.2.13.jar Apache Software License 1.1
+mysql-connector- (CDDL Common Development and
+ java-3.1.12-bin-jar Distribution License 1.0)
+odmg-3.0.jar ODMG 2.0
+poi-2.5.1-final Apache Software License 1.1
+ -20040804.jar
+quartz.jar Apache License 2.0
+saaj.jar (CDDL Common Development and
+ Distribution License 1.0)
+smack.jar Apache License 2.0
+smackx.jar Apache License 2.0
+spring.jar Apache License 2.0
+standard.jar Apache License 2.0
+struts-el.jar Apache License 2.0
+struts.jar Apache License 2.0
+wddx.jar GNU General Public License
+wsdl4j-1.5.1.jar CPL Common Public License 0.5
+xml-writer-0.2.jar XML-Write License
+xom-1.0.b3.jar GNU Lesser General Public License
+xpp3-1.1.3.4d_b4.jar XPP3 License
+xstream-1.1.jar xstream Licanse
+
+SHARE RECOURCES LIBRARY LICENSES
+castor-0.9.5.3-xml.jar Castor License
+jdom.jar Jdom Jar License
+moonunitsrc.jar Reload License
+reload-diva.jar Reload License
+reload-editor.jar Reload License
+reload-jdom.jar Reload License
+reload-moonunit.jar Reload License
+xercesImpl.jar Apache Software License 1.1
+xml-apis.jar Apache Software License 1.1
+jaxen-full.jar Jaxen Jar License (The Werken
+ Company)
+sax.jar Public Domain
+saxpath.jar Jaxen Jar License (The Werken
+ Company)
+--------------------------------------------------------------------------------
+
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
+
+
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ , 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+
+=====================================================
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * .
+ *
+ * Portions of this software are based upon public domain software
+ * originally written at the National Center for Supercomputing Applications,
+ * University of Illinois, Urbana-Champaign.
+ */
+ =====================================================
+
+
+
+
+ =====================================================
+
+ /*
+ * Joda Software License, Version 1.0
+ *
+ *
+ * Copyright (c) 2001-2004 Stephen Colebourne.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Joda project (http://www.joda.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The name "Joda" must not be used to endorse or promote products
+ * derived from this software without prior written permission. For
+ * written permission, please contact licence@joda.org.
+ *
+ * 5. Products derived from this software may not be called "Joda",
+ * nor may "Joda" appear in their name, without prior written
+ * permission of the Joda project.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE JODA AUTHORS OR THE PROJECT
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Joda project and was originally
+ * created by Stephen Colebourne . For more
+ * information on the Joda project, please see .
+ */
+
+ =====================================================
+
+
+
+=====================================================
+
+Closed Distribution License (CDL)
+
+Agreement
+IMPORTANT - READ CAREFULLY: This End-User License Agreement ("EULA") is a legal
+agreement between you (either an individual or a single entity) and FREDERICO
+CALDEIRA KNABBEN (the "Owner") covering your use of FCKeditor (the �Software�).
+Be sure to read the following agreement before using the Software.
+TERMS AND CONDITIONS
+1. This EULA uses the GNU Lesser General Public License (�LGPL�) as its base.
+Agreeing to this license you are also agreeing to be bound to the LGPL license
+terms, limited to the changes defined in this EULA. The terms defined in this
+EULA override any term present in the LGPL license that conflicts with the EULA.
+2. GRANT OF LICENSE. The Owner grants you the right to use the Software and any
+related supplements or add-on components published by the Owner, unless
+explicitly specified, on your one specific product (�Product�) with the
+following special rights: there is no need to distribute the LGPL license with
+the Product and no reference to it have to be done; no references to the
+Software have to be done in any file distributed with the Product; the source
+code of the Software doesn�t have to be distributed along with the Product; you
+can remove any file from the Software when integrating it with the Product. It
+is agreed that in exchange for the license set forth herein, you will pay a
+one-time license fee of US$750 (Seven Hundred and Fifty U.S. Dollars).
+3. LICENSE VALIDITY. This EULA is valid only if the Product is a work that uses
+the Software, and doesn�t go in competition with the Software in the
+marketplace. Whenever this license looses its validity, the LGPL license takes
+its place.
+4. RESERVATION OF RIGHTS AND OWNERSHIP. The Owner reserves all rights not
+expressly granted to you in this EULA. The Software is protected by copyright
+and other intellectual property laws and treaties. The Owner owns the title,
+copyright, and other intellectual property rights in the Software. The Software
+is licensed, not sold. This EULA does not grant you any rights to trademarks or
+service the Software marks.
+5. TERMINATION. Without prejudice to any other rights, the Owner may terminate
+this EULA if you fail to comply with the terms and conditions of this EULA. In
+such event, your right to use this Software and the rights to use the files
+produced using the Software by third parties terminates automatically and you
+must then destroy all copies of the Software in your possession.
+6. WARRANTY. Owner represents and warrants that he has full title and ownership
+to the Software and has the authority to grant the license hereunder. To the
+best of Owner's knowledge the Software does not infringe upon the intellectual
+property rights of any third party and that he did not receive any notice
+regarding any alleged infringement thereof.
+7. DISCLAIMER OF WARRANTIES. The Software and its related material are provided
+�AS IS� and without warranty of any kind and the Owner expressly disclaims all
+other warranties, expressed or implied, including, but not limited to, the
+implied warranties of merchantability and fitness for a particular purpose.
+8. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER DAMAGES.
+TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT
+SHALL THE OWNER BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE,
+INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT
+LIMITED TO, DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER
+INFORMATION, FOR BUSINESS INTERRUPTION, FOR PERSONAL INJURY, FOR
+LOSS OF PRIVACY, FOR FAILURE TO MEET ANY DUTY INCLUDING OF GOOD
+FAITH OR OF REASONABLE CARE, FOR NEGLIGENCE, AND FOR ANY OTHER
+PECUNIARY OR OTHER LOSS WHATSOEVER) ARISING OUT OF OR IN ANY WAY
+RELATED TO THE USE OF OR INABILITY TO USE THE SOFTWARE, THE
+PROVISION OF OR FAILURE TO PROVIDE SUPPORT OR OTHER SERVICES,
+INFORMATON, SOFTWARE, AND RELATED CONTENT THROUGH THE SOFTWARE
+OR OTHERWISE ARISING OUT OF THE USE OF THE SOFTWARE, OR OTHERWISE
+UNDER OR IN CONNECTION WITH ANY PROVISION OF THIS EULA, EVEN IN THE
+EVENT OF THE FAULT, TORT (INCLUDING NEGLIGENCE), MISREPRESENTATION,
+STRICT LIABILITY, BREACH OF CONTRACT, AND EVEN IF THE OWNER HAS BEEN
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+9. LIMITATION OF LIABILITY. In no vent shall the Owner's liability exceed the
+license fee paid, if any.
+END OF TERMS AND CONDITIONS
+
+=====================================================
+
+
+
+=====================================================
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+ 1. Definitions.
+ 1.1. "Contributor" means each individual or entity that
+ creates or contributes to the creation of Modifications.
+ 1.2. "Contributor Version" means the combination of the
+ Original Software, prior Modifications used by a
+ Contributor (if any), and the Modifications made by that
+ particular Contributor.
+ 1.3. "Covered Software" means (a) the Original Software, or
+ (b) Modifications, or (c) the combination of files
+ containing Original Software with files containing
+ Modifications, in each case including portions thereof.
+ 1.4. "Executable" means the Covered Software in any form
+ other than Source Code.
+ 1.5. "Initial Developer" means the individual or entity
+ that first makes Original Software available under this
+ License.
+ 1.6. "Larger Work" means a work which combines Covered
+ Software or portions thereof with code not governed by the
+ terms of this License.
+ 1.7. "License" means this document.
+ 1.8. "Licensable" means having the right to grant, to the
+ maximum extent possible, whether at the time of the initial
+ grant or subsequently acquired, any and all of the rights
+ conveyed herein.
+ 1.9. "Modifications" means the Source Code and Executable
+ form of any of the following:
+ A. Any file that results from an addition to,
+ deletion from or modification of the contents of a
+ file containing Original Software or previous
+ Modifications;
+ B. Any new file that contains any part of the
+ Original Software or previous Modification; or
+ C. Any new file that is contributed or otherwise made
+ available under the terms of this License.
+ 1.10. "Original Software" means the Source Code and
+ Executable form of computer software code that is
+ originally released under this License.
+ 1.11. "Patent Claims" means any patent claim(s), now owned
+ or hereafter acquired, including without limitation,
+ method, process, and apparatus claims, in any patent
+ Licensable by grantor.
+ 1.12. "Source Code" means (a) the common form of computer
+ software code in which modifications are made and (b)
+ associated documentation included in or with such code.
+ 1.13. "You" (or "Your") means an individual or a legal
+ entity exercising rights under, and complying with all of
+ the terms of, this License. For legal entities, "You"
+ includes any entity which controls, is controlled by, or is
+ under common control with You. For purposes of this
+ definition, "control" means (a) the power, direct or
+ indirect, to cause the direction or management of such
+ entity, whether by contract or otherwise, or (b) ownership
+ of more than fifty percent (50%) of the outstanding shares
+ or beneficial ownership of such entity.
+ 2. License Grants.
+ 2.1. The Initial Developer Grant.
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, the
+ Initial Developer hereby grants You a world-wide,
+ royalty-free, non-exclusive license:
+ (a) under intellectual property rights (other than
+ patent or trademark) Licensable by Initial Developer,
+ to use, reproduce, modify, display, perform,
+ sublicense and distribute the Original Software (or
+ portions thereof), with or without Modifications,
+ and/or as part of a Larger Work; and
+ (b) under Patent Claims infringed by the making,
+ using or selling of Original Software, to make, have
+ made, use, practice, sell, and offer for sale, and/or
+ otherwise dispose of the Original Software (or
+ portions thereof).
+ (c) The licenses granted in Sections 2.1(a) and (b)
+ are effective on the date Initial Developer first
+ distributes or otherwise makes the Original Software
+ available to a third party under the terms of this
+ License.
+ (d) Notwithstanding Section 2.1(b) above, no patent
+ license is granted: (1) for code that You delete from
+ the Original Software, or (2) for infringements
+ caused by: (i) the modification of the Original
+ Software, or (ii) the combination of the Original
+ Software with other software or devices.
+ 2.2. Contributor Grant.
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, each
+ Contributor hereby grants You a world-wide, royalty-free,
+ non-exclusive license:
+ (a) under intellectual property rights (other than
+ patent or trademark) Licensable by Contributor to
+ use, reproduce, modify, display, perform, sublicense
+ and distribute the Modifications created by such
+ Contributor (or portions thereof), either on an
+ unmodified basis, with other Modifications, as
+ Covered Software and/or as part of a Larger Work; and
+ (b) under Patent Claims infringed by the making,
+ using, or selling of Modifications made by that
+ Contributor either alone and/or in combination with
+ its Contributor Version (or portions of such
+ combination), to make, use, sell, offer for sale,
+ have made, and/or otherwise dispose of: (1)
+ Modifications made by that Contributor (or portions
+ thereof); and (2) the combination of Modifications
+ made by that Contributor with its Contributor Version
+ (or portions of such combination).
+ (c) The licenses granted in Sections 2.2(a) and
+ 2.2(b) are effective on the date Contributor first
+ distributes or otherwise makes the Modifications
+ available to a third party.
+ (d) Notwithstanding Section 2.2(b) above, no patent
+ license is granted: (1) for any code that Contributor
+ has deleted from the Contributor Version; (2) for
+ infringements caused by: (i) third party
+ modifications of Contributor Version, or (ii) the
+ combination of Modifications made by that Contributor
+ with other software (except as part of the
+ Contributor Version) or other devices; or (3) under
+ Patent Claims infringed by Covered Software in the
+ absence of Modifications made by that Contributor.
+ 3. Distribution Obligations.
+ 3.1. Availability of Source Code.
+ Any Covered Software that You distribute or otherwise make
+ available in Executable form must also be made available in
+ Source Code form and that Source Code form must be
+ distributed only under the terms of this License. You must
+ include a copy of this License with every copy of the
+ Source Code form of the Covered Software You distribute or
+ otherwise make available. You must inform recipients of any
+ such Covered Software in Executable form as to how they can
+ obtain such Covered Software in Source Code form in a
+ reasonable manner on or through a medium customarily used
+ for software exchange.
+ 3.2. Modifications.
+ The Modifications that You create or to which You
+ contribute are governed by the terms of this License. You
+ represent that You believe Your Modifications are Your
+ original creation(s) and/or You have sufficient rights to
+ grant the rights conveyed by this License.
+ 3.3. Required Notices.
+ You must include a notice in each of Your Modifications
+ that identifies You as the Contributor of the Modification.
+ You may not remove or alter any copyright, patent or
+ trademark notices contained within the Covered Software, or
+ any notices of licensing or any descriptive text giving
+ attribution to any Contributor or the Initial Developer.
+ 3.4. Application of Additional Terms.
+ You may not offer or impose any terms on any Covered
+ Software in Source Code form that alters or restricts the
+ applicable version of this License or the recipients�
+ rights hereunder. You may choose to offer, and to charge a
+ fee for, warranty, support, indemnity or liability
+ obligations to one or more recipients of Covered Software.
+ However, you may do so only on Your own behalf, and not on
+ behalf of the Initial Developer or any Contributor. You
+ must make it absolutely clear that any such warranty,
+ support, indemnity or liability obligation is offered by
+ You alone, and You hereby agree to indemnify the Initial
+ Developer and every Contributor for any liability incurred
+ by the Initial Developer or such Contributor as a result of
+ warranty, support, indemnity or liability terms You offer.
+ 3.5. Distribution of Executable Versions.
+ You may distribute the Executable form of the Covered
+ Software under the terms of this License or under the terms
+ of a license of Your choice, which may contain terms
+ different from this License, provided that You are in
+ compliance with the terms of this License and that the
+ license for the Executable form does not attempt to limit
+ or alter the recipient�s rights in the Source Code form
+ from the rights set forth in this License. If You
+ distribute the Covered Software in Executable form under a
+ different license, You must make it absolutely clear that
+ any terms which differ from this License are offered by You
+ alone, not by the Initial Developer or Contributor. You
+ hereby agree to indemnify the Initial Developer and every
+ Contributor for any liability incurred by the Initial
+ Developer or such Contributor as a result of any such terms
+ You offer.
+ 3.6. Larger Works.
+ You may create a Larger Work by combining Covered Software
+ with other code not governed by the terms of this License
+ and distribute the Larger Work as a single product. In such
+ a case, You must make sure the requirements of this License
+ are fulfilled for the Covered Software.
+ 4. Versions of the License.
+ 4.1. New Versions.
+ Sun Microsystems, Inc. is the initial license steward and
+ may publish revised and/or new versions of this License
+ from time to time. Each version will be given a
+ distinguishing version number. Except as provided in
+ Section 4.3, no one other than the license steward has the
+ right to modify this License.
+ 4.2. Effect of New Versions.
+ You may always continue to use, distribute or otherwise
+ make the Covered Software available under the terms of the
+ version of the License under which You originally received
+ the Covered Software. If the Initial Developer includes a
+ notice in the Original Software prohibiting it from being
+ distributed or otherwise made available under any
+ subsequent version of the License, You must distribute and
+ make the Covered Software available under the terms of the
+ version of the License under which You originally received
+ the Covered Software. Otherwise, You may also choose to
+ use, distribute or otherwise make the Covered Software
+ available under the terms of any subsequent version of the
+ License published by the license steward.
+ 4.3. Modified Versions.
+ When You are an Initial Developer and You want to create a
+ new license for Your Original Software, You may create and
+ use a modified version of this License if You: (a) rename
+ the license and remove any references to the name of the
+ license steward (except to note that the license differs
+ from this License); and (b) otherwise make it clear that
+ the license contains terms which differ from this License.
+ 5. DISCLAIMER OF WARRANTY.
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
+ BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+ SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+ PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+ PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
+ COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+ INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
+ ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
+ WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
+ DISCLAIMER.
+ 6. TERMINATION.
+ 6.1. This License and the rights granted hereunder will
+ terminate automatically if You fail to comply with terms
+ herein and fail to cure such breach within 30 days of
+ becoming aware of the breach. Provisions which, by their
+ nature, must remain in effect beyond the termination of
+ this License shall survive.
+ 6.2. If You assert a patent infringement claim (excluding
+ declaratory judgment actions) against Initial Developer or
+ a Contributor (the Initial Developer or Contributor against
+ whom You assert such claim is referred to as "Participant")
+ alleging that the Participant Software (meaning the
+ Contributor Version where the Participant is a Contributor
+ or the Original Software where the Participant is the
+ Initial Developer) directly or indirectly infringes any
+ patent, then any and all rights granted directly or
+ indirectly to You by such Participant, the Initial
+ Developer (if the Initial Developer is not the Participant)
+ and all Contributors under Sections 2.1 and/or 2.2 of this
+ License shall, upon 60 days notice from Participant
+ terminate prospectively and automatically at the expiration
+ of such 60 day notice period, unless if within such 60 day
+ period You withdraw Your claim with respect to the
+ Participant Software against such Participant either
+ unilaterally or pursuant to a written agreement with
+ Participant.
+ 6.3. In the event of termination under Sections 6.1 or 6.2
+ above, all end user licenses that have been validly granted
+ by You or any distributor hereunder prior to termination
+ (excluding licenses granted to You by any distributor)
+ shall survive termination.
+ 7. LIMITATION OF LIABILITY.
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+ INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+ COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+ LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+ LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
+ STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+ INJURY RESULTING FROM SUCH PARTY�S NEGLIGENCE TO THE EXTENT
+ APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+ NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
+ CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
+ APPLY TO YOU.
+ 8. U.S. GOVERNMENT END USERS.
+ The Covered Software is a "commercial item, as that term is
+ defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
+ computer software (as that term is defined at 48 C.F.R. �
+ 252.227-7014(a)(1)) and "commercial computer software
+ documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
+ 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
+ through 227.7202-4 (June 1995), all U.S. Government End Users
+ acquire Covered Software with only those rights set forth herein.
+ This U.S. Government Rights clause is in lieu of, and supersedes,
+ any other FAR, DFAR, or other clause or provision that addresses
+ Government rights in computer software under this License.
+ 9. MISCELLANEOUS.
+ This License represents the complete agreement concerning subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the
+ extent necessary to make it enforceable. This License shall be
+ governed by the law of the jurisdiction specified in a notice
+ contained within the Original Software (except to the extent
+ applicable law, if any, provides otherwise), excluding such
+ jurisdiction�s conflict-of-law provisions. Any litigation
+ relating to this License shall be subject to the jurisdiction of
+ the courts located in the jurisdiction and venue specified in a
+ notice contained within the Original Software, with the losing
+ party responsible for costs, including, without limitation, court
+ costs and reasonable attorneys� fees and expenses. The
+ application of the United Nations Convention on Contracts for the
+ International Sale of Goods is expressly excluded. Any law or
+ regulation which provides that the language of a contract shall
+ be construed against the drafter shall not apply to this License.
+ You agree that You alone are responsible for compliance with the
+ United States export administration regulations (and the export
+ control laws and regulation of any other countries) when You use,
+ distribute or otherwise make available any Covered Software.
+ 10. RESPONSIBILITY FOR CLAIMS.
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or
+ indirectly, out of its utilization of rights under this License
+ and You agree to work with Initial Developer and Contributors to
+ distribute such responsibility on an equitable basis. Nothing
+ herein is intended or shall be deemed to constitute any admission
+ of liability.
+=====================================================
+
+
+
+=====================================================
+
+ANTLR 3 License
+
+[The BSD License]
+Copyright (c) 2003-2006, Terence Parr
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the author nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=====================================================
+
+
+=====================================================
+JDOM JAR LICENSE
+
+$Id$
+
+Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions, and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions, and the disclaimer that follows
+these conditions in the documentation and/or other materials
+provided with the distribution.
+
+3. The name "JDOM" must not be used to endorse or promote products
+derived from this software without prior written permission. For
+written permission, please contact .
+
+4. Products derived from this software may not be called "JDOM", nor
+may "JDOM" appear in their name, without prior written permission
+from the JDOM Project Management .
+
+In addition, we request (but do not require) that you include in the
+end-user documentation provided with the redistribution and/or in the
+software itself an acknowledgement equivalent to the following:
+"This product includes software developed by the
+ JDOM Project (http://www.jdom.org/)."
+Alternatively, the acknowledgment may be graphical using the logos
+available at http://www.jdom.org/images/logos.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the JDOM Project and was originally
+created by Jason Hunter and
+Brett McLaughlin . For more information
+on the JDOM Project, please see .
+
+=====================================================
+
+
+=====================================================
+
+jMock Project License
+
+Copyright (c) 2000-2003, jMock.org
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer. Redistributions in binary form
+must reproduce the above copyright notice, this list of conditions and the
+following disclaimer in the documentation and/or other materials provided with
+the distribution.
+
+Neither the name of jMock nor the names of its contributors may be used to
+endorse or promote products derived from this software without specific prior
+written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=====================================================
+
+
+=====================================================
+
+JSTL License
+
+JavaServer Pages(TM) Standard Tag Library (JSTL) Specification 1.1 Maintenance
+Release, Download
+In order to obtain JavaServer Pages(TM) Standard Tag Library (JSTL)
+Specification 1.1 Maintenance Release you must agree to the software
+license below:
+
+SUN MICROSYSTEMS, INC. IS WILLING TO LICENSE THIS
+SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU
+ACCEPT ALL OF THE TERMS CONTAINED IN THIS LICENSE AGREEMENT
+("AGREEMENT"). PLEASE READ THE TERMS AND CONDITIONS OF THIS
+LICENSE CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU
+ACCEPT THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.
+IF YOU ARE NOT WILLING TO BE BOUND BY ITS TERMS, SELECT THE
+"DECLINE" BUTTON AT THE BOTTOM OF THIS PAGE AND THE
+DOWNLOADING PROCESS WILL NOT CONTINUE.
+
+JavaServer Pages(TM) Standard Tag Library (JSTL)
+Specification ("Specification") Version: 1.1 Status: FCS,
+Maintenance Release Release: November 24, 2003
+
+Copyright 2003 Sun Microsystems, Inc. 4150 Network Circle,
+Santa Clara, California 95054, U.S.A All rights reserved.
+
+NOTICE; LIMITED LICENSE GRANTS Sun Microsystems, Inc.
+("Sun") hereby grants you a fully-paid, non-exclusive,
+non-transferable, worldwide, limited license (without the
+right to sublicense), under the Sun's applicable
+intellectual property rights to view, download, use and
+reproduce the Specification only for the purpose of
+internal evaluation, which shall be understood to include
+developing applications intended to run on an
+implementation of the Specification provided that such
+applications do not themselves implement any portion(s) of
+the Specification. Sun also grants you a perpetual,
+non-exclusive, worldwide, fully paid-up, royalty free,
+limited license (without the right to sublicense) under any
+applicable copyrights or patent rights it may have in the
+Specification to create and/or distribute an Independent
+Implementation of the Specification that: (i) fully
+implements the Spec(s) including all its required
+interfaces and functionality; (ii) does not modify, subset,
+superset or otherwise extend the Licensor Name Space, or
+include any public or protected packages, classes, Java
+interfaces, fields or methods within the Licensor Name
+Space other than those required/authorized by the
+Specification or Specifications being implemented; and
+(iii) passes the TCK (including satisfying the requirements
+of the applicable TCK Users Guide) for such Specification.
+The foregoing license is expressly conditioned on your not
+acting outside its scope. No license is granted hereunder
+for any other purpose. You need not include limitations
+(i)-(iii) from the previous paragraph or any other
+particular "pass through" requirements in any license You
+grant concerning the use of your Independent Implementation
+or products derived from it. However, except with respect
+to implementations of the Specification (and products
+derived from them) that satisfy limitations (i)-(iii) from
+the previous paragraph, You may neither: (a) grant or
+otherwise pass through to your licensees any licenses under
+Sun's applicable intellectual property rights; nor (b)
+authorize your licensees to make any claims concerning
+their implementation's compliance with the Spec in
+question.
+
+For the purposes of this Agreement: "Independent
+Implementation" shall mean an implementation of the
+Specification that neither derives from any of Sun's source
+code or binary code materials nor, except with an
+appropriate and separate license from Sun, includes any of
+Sun's source code or binary code materials; and "Licensor
+Name Space" shall mean the public class or interface
+declarations whose names begin with "java", "javax",
+"com.sun" or their equivalents in any subsequent naming
+convention adopted by Sun through the Java Community
+Process, or any recognized successors or replacements
+thereof.
+
+This Agreement will terminate immediately without notice
+from Sun if you fail to comply with any material provision
+of or act outside the scope of the licenses granted above.
+
+TRADEMARKS No right, title, or interest in or to any
+trademarks, service marks, or trade names of Sun or Sun's
+licensors is granted hereunder. Sun, Sun Microsystems, the
+Sun logo, Java, the Java Coffee Cup logo, J2EE, and
+JavaServer Pages are trademarks or registered trademarks of
+Sun Microsystems, Inc. in the U.S. and other countries.
+
+DISCLAIMER OF WARRANTIES THE SPECIFICATION IS PROVIDED "AS
+IS". SUN MAKES NO REPRESENTATIONS OR WARRANTIES, EITHER
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE, OR NON-INFRINGEMENT, THAT THE CONTENTS OF THE
+SPECIFICATION ARE SUITABLE FOR ANY PURPOSE OR THAT ANY
+PRACTICE OR IMPLEMENTATION OF SUCH CONTENTS WILL NOT
+INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADE SECRETS
+OR OTHER RIGHTS. This document does not represent any
+commitment to release or implement any portion of the
+Specification in any product. THE SPECIFICATION COULD
+INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.
+CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION THEREIN;
+THESE CHANGES WILL BE INCORPORATED INTO NEW VERSIONS OF THE
+SPECIFICATION, IF ANY. SUN MAY MAKE IMPROVEMENTS AND/OR
+CHANGES TO THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED
+IN THE SPECIFICATION AT ANY TIME. Any use of such changes
+in the Specification will be governed by the then-current
+license for the applicable version of the Specification.
+
+LIMITATION OF LIABILITY TO THE EXTENT NOT PROHIBITED BY
+LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ANY DAMAGES, INCLUDING WITHOUT LIMITATION, LOST REVENUE,
+PROFITS OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,
+INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR
+RELATED TO ANY FURNISHING, PRACTICING, MODIFYING OR ANY USE
+OF THE SPECIFICATION, EVEN IF SUN AND/OR ITS LICENSORS HAVE
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You will
+indemnify, hold harmless, and defend Sun and its licensors
+from any claims arising or resulting from: (i) your use of
+the Specification; (ii) the use or distribution of your
+Java application, applet and/or clean room implementation;
+and/or (iii) any claims that later versions or releases of
+any Specification furnished to you are incompatible with
+the Specification provided to you under this license.
+
+RESTRICTED RIGHTS LEGEND U.S. Government: If this
+Specification is being acquired by or on behalf of the U.S.
+Government or by a U.S. Government prime contractor or
+subcontractor (at any tier), then the Government's rights
+in the Specification and accompanying documentation shall
+be only as set forth in this license; this is in accordance
+with 48 C.F.R. 227.7201 through 227.7202-4 (for Department
+of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and
+12.212 (for non-DoD acquisitions).
+
+REPORT You may wish to report any ambiguities,
+inconsistencies or inaccuracies you may find in connection
+with your use of the Specification ("Feedback"). To the
+extent that you provide Sun with any Feedback, you hereby:
+(i) agree that such Feedback is provided on a
+non-proprietary and non-confidential basis, and (ii) grant
+Sun a perpetual, non-exclusive, worldwide, fully paid-up,
+irrevocable license, with the right to sublicense through
+multiple levels of sublicensees, to incorporate, disclose,
+and use without limitation the Feedback for any purpose
+related to the Specification and future versions,
+implementations, and test suites thereof.
+
+=====================================================
+
+
+
+=====================================================
+
+ODMG 2.0 ODL Metadata and OML Interfaces for Java (JDK 1.2)
+
+Copyright (c) 1999 E. Wray Johnson. All rights reserved.Developed for use and
+distribution by the Object Data Management Group (ODMG).Please contact the
+author at ejohnson@carolina.rr.com for issues pertaining to the use of this
+software. Do not contact the ODMG about any questions or issues that may arise
+regarding the use of this software.
+
+These interfaces were developed from the specifications in the Object Database
+Standard: ODMG 2.0book. Please refer to the book for a complete description of
+the interfaces and their intended use.You can obtain the book through a
+bookstore or directly from the publishers.Every effort has been made by the
+author to adhere strictly to the specification, however common Java naming
+conventions were substituted for consistency and clarity for Java developers.
+This software is currently being upgraded to adhere to the ODMG 3.0 standard,
+so please check this site for future updates.
+
+
+LICENSE AGREEMENT
+Redistribution of this software is permitted provided that the following
+conditions are met:
+
+1. Redistributions of source or binary code formats must retain the above
+copyright notice.
+2. Redistribution in any product and all advertising materials mentioning
+features or use of this software must display the following acknowledgment:
+"This product includes
+copyrighted software developed by E. Wray Johnson for use and distribution by
+the Object Data Management Group (http://www.odmg.org/)."
+
+NO-NONSENSE DISCLAIMER
+THIS SOFTWARE IS FREE AND PROVIDED "AS-IS" BY THE AUTHOR E. WRAY JOHNSON WHO
+ASSUMES LIABILITY TO THE EXTENT OF THE AMOUNT THAT IS HEREBY BEING CHARGED FOR
+THE SOFTWARE.
+
+=====================================================
+
+
+=====================================================
+
+
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and such
+derivative works, in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright license set
+forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its
+own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title and
+non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
+
+ iv) states that source code for the Program is available from such
+Contributor, and informs licensees how to obtain it in a reasonable manner on or
+through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to
+control, and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may participate in
+any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its exercise of
+rights under this Agreement, including but not limited to the risks and costs of
+program errors, compliance with applicable laws, damage to or loss of data,
+programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to
+a patent applicable to software (including a cross-claim or counterclaim in a
+lawsuit), then any patent licenses granted by that Contributor to such Recipient
+under this Agreement shall terminate as of the date such litigation is filed. In
+addition, if Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue and
+survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
+as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the Agreement
+is published, Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated in Sections
+2(a) and 2(b) above, Recipient receives no rights or licenses to the
+intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
+
+=====================================================
+
+XStream License
+
+Copyright (c) 2003-2006, Joe Walnes
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list
+of conditions and the following disclaimer. Redistributions in binary form must
+reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the
+distribution.
+
+Neither the name of XStream nor the names of its contributors may be used to
+endorse or promote products derived from this software without specific prior
+written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=====================================================
+
+
+
+=====================================================
+
+XPP3 License
+
+Indiana University Extreme! Lab Software License
+
+Version 1.1.1
+
+Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any,
+ must include the following acknowledgment:
+
+ "This product includes software developed by the Indiana University
+ Extreme! Lab (http://www.extreme.indiana.edu/)."
+
+Alternately, this acknowledgment may appear in the software itself,
+if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab"
+must not be used to endorse or promote products derived from this
+software without prior written permission. For written permission,
+please contact http://www.extreme.indiana.edu/.
+
+5. Products derived from this software may not use "Indiana Univeristy"
+name nor may "Indiana Univeristy" appear in their name, without prior
+written permission of the Indiana University.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=====================================================
+
+
+
+=====================================================
+
+/* XML Writer license
+ *
+ * Copyright (c) 2003, Henri Yandell
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the
+ * following conditions are met:
+ *
+ * + Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * + Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * + Neither the name of XmlWriter nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+=====================================================
+
+
+ANTLR LICENSE
+
+SOFTWARE RIGHTS
+
+ANTLR 1989-2005 Developed by Terence Parr
+Partially supported by University of San Francisco & jGuru.com
+
+We reserve no legal rights to the ANTLR--it is fully in the
+public domain. An individual or company may do whatever
+they wish with source code distributed with ANTLR or the
+code generated by ANTLR, including the incorporation of
+ANTLR, or its output, into commerical software.
+
+We encourage users to develop software with ANTLR. However,
+we do ask that credit is given to us for developing
+ANTLR. By "credit", we mean that if you use ANTLR or
+incorporate any source code into one of your programs
+(commercial product, research project, or otherwise) that
+you acknowledge this fact somewhere in the documentation,
+research report, etc... If you like ANTLR and have
+developed a nice tool with the output, please mention that
+you developed it using ANTLR. In addition, we ask that the
+headers remain intact in our source code. As long as these
+guidelines are kept, we expect to continue enhancing this
+system and expect to make other tools available as they are
+completed.
+
+The primary ANTLR guy:
+
+Terence Parr
+parrt@cs.usfca.edu
+parrt@antlr.org
+
+========================================================
+
+CASTOR-LICENSE
+
+Copyright 2000-2002 (C) Intalio Inc. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements
+ and notices. Redistributions must also contain a copy of this
+ document.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. The name "ExoLab" must not be used to endorse or promote products
+ derived from this Software without prior written permission of
+ Intalio Inc. For written permission, please contact info@exolab.org.
+
+4. Products derived from this Software may not be called "Castor"
+ nor may "Castor" appear in their names without prior written
+ permission of Intalio Inc. Exolab, Castor and Intalio are
+ trademarks of Intalio Inc.
+
+5. Due credit should be given to the ExoLab Project
+ (http://www.exolab.org/).
+
+THIS SOFTWARE IS PROVIDED BY INTALIO AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTALIO OR ITS
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
+========================================================
+
+Jaxen License
+
+ Copyright 2003-2006 The Werken Company. All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of the Jaxen Project nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+========================================================
+
+Jdom License
+
+Copyright (C) 2000-2002 Brett McLaughlin & Jason Hunter.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions, and the disclaimer that follows
+ these conditions in the documentation and/or other materials
+ provided with the distribution.
+
+ 3. The name "JDOM" must not be used to endorse or promote products
+ derived from this software without prior written permission. For
+ written permission, please contact license@jdom.org.
+
+ 4. Products derived from this software may not be called "JDOM", nor
+ may "JDOM" appear in their name, without prior written permission
+ from the JDOM Project Management (pm@jdom.org).
+
+ In addition, we request (but do not require) that you include in the
+ end-user documentation provided with the redistribution and/or in the
+ software itself an acknowledgement equivalent to the following:
+ "This product includes software developed by the
+ JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many
+ individuals on behalf of the JDOM Project and was originally
+ created by Brett McLaughlin and
+ Jason Hunter . For more information on the
+ JDOM Project, please see .
+
+ ========================================================
+
+ Reload License
+
+RELOAD Tools and Libraries
+
+Copyright (c) 2002-2004 Oleg Liber, Bill Olivier, Phillip Beauvoir
+
+This licence covers:
+
+The Reload "jdom" library
+The Reload "diva" library
+The Reload "dweezil" library
+The Reload "jdom" library
+The Reload "moonunit" library
+The Reload "xindice" library
+The Reload Editor
+The Reload SCORM Player
+The Reload Schema Viewer Eclipse Plugin
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Project Management Contact:
+
+Oleg Liber
+Bolton Institute of Higher Education
+Deane Road
+Bolton BL3 5AB
+UK
+
+e-mail: o.liber@bolton.ac.uk
+
+
+Technical Contact:
+
+Phillip Beauvoir
+Bolton Institute of Higher Education
+Deane Road
+Bolton BL3 5AB
+UK
+
+e-mail: p.beauvoir@bolton.ac.uk
+
+Web: http://www.reload.ac.uk
+
+
+ ========================================================
+
+ Xerces License
+
+ /*
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 1999-2002 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Xerces" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, International
+ * Business Machines, Inc., http://www.ibm.com. For more
+ * information on the Apache Software Foundation, please see
+ * .
+ */
+
+ ========================================================
Index: unix_installer/patch-package/readme
===================================================================
diff -u
--- unix_installer/patch-package/readme (revision 0)
+++ unix_installer/patch-package/readme (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,207 @@
+LAMS 2.1.1 - Learning Activity Management System Installer
+--------------------------------------------------------------------------------
+
+This is an installer package for 2.1.1. Please read this
+document carefully before installing. Please also ensure that you have read
+and understood the terms of the license agreement.
+
+For release notes goto: http://wiki.lamsfoundation.org/display/lams/2.1.1
+
+CONTENTS
+========
+
+1) Required Software
+2) Installation
+3) Setting up MySql on a Different Server
+4) Server Configuration
+5) Startup and Shutdown
+6) Using the Java Service Wrapper
+7) Backing up LAMS
+8) Web Resources and further help
+
+
+1. Required Software
+====================
+
+You will require some software to be installed and/or running for LAMS to run
+properly. These are listed below
+
+JDK 1.5 or 1.6
+JBOSS-4.0.2 (Must be 4.0.2, newer and older versions have problems running LAMS)
+MySql 5.0.x (Running)
+Wildfire (Running - Required if you want to use chat tools)
+ANT - Included in this package
+
+
+2. Installation
+===============
+
+There are a few steps to updating LAMS on your computer.
+
+Firstly you must set up a lams.properties file. If you previously installed
+lams using the unix installer, it will have backed up your lams.properties in
+the /etc/lams2/ directory. If your settings are unchanged, then simply run the
+updater and select yes when it asks you whether you want to use the
+lams.properties stored in /etc/lams2. Otherwise, you will need to edit the
+lams.properties in the root directory of the update package yourself. Open
+the lams.properties file in a text editor and follow the instructions to alter
+the settings. The default settings are in the lams.properties file already so
+you need not change a lot. Pay particular attention to the Installation Options
+section and the Essential settings section.
+
+Once you have finished editing lams.properties file you are ready to run the
+update script. Go to the root directory of the package and type:
+> sudo ./install-lams-patch.sh
+
+
+3. Setting up MySql on a Different Server
+=========================================
+
+If you wish to use a separate server for your MySql database, there are a few
+steps to follow.
+
+Firstly, you need to create the database and user on the MySql server. For
+this example we will use the MySql host IP "111.111.111.11", the database
+name "lams", the database user "user" and the password "pass". These
+correspond to the MYSQL_HOST, DB_NAME, DB_USER and DB_PASS fields in
+lams.properties, you should change them to match your own.
+
+Start the MySql command line on your MySql server and type the following:
+mysql> SET FOREIGN_KEY_CHECKS=0;
+mysql> DROP DATABASE IF EXISTS lams;
+mysql> CREATE DATABASE lams DEFAULT CHARACTER SET utf8;
+mysql> SET FOREIGN_KEY_CHECKS=1;
+mysql> GRANT ALL PRIVILEGES ON *.* TO user@111.111.111.11 IDENTIFIED BY 'pass';
+mysql> REVOKE PROCESS,SUPER ON *.* from user@111.111.111.11;
+
+Finally, you have to grant remote permission to this user. Still in Mysql
+command line, type the following:
+mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'pass';
+
+This user now has remote access to the database, you can continue with the
+installation.
+
+For more help on setting up MySql on a separate server, go to:
+http://wiki.lamsfoundation.org/display/lamsdocs/Moving+MySQL+to+another+Server
+
+
+4. Production Server Configuration
+============================
+
+For single user installations, (i.e. personal use on your desktop), please
+ignore this section - LAMS should run fine using the default settings.
+
+You may need to increase the limit for database connections, this can be
+done at (jboss directory)/server/default/deploy/mysql-ds.xml. Set the
+max-pool-size option to what you want, but it must be less than or equal to
+the max connections in mysql-Xms
+
+If your server starts reporting out of memory errors in the JBoss server.log
+file, you may need to increase the JVM memory settings for your server.
+This can be altered in the (jboss directory)/bin/run-lams.sh script.
+
+More information can be found at:
+http://wiki.lamsfoundation.org/display/lamsdocs/Production+Server+Settings
+
+
+5. Startup and Shutdown
+=======================
+
+To start LAMS 2.1 go to (jboss directory)/bin and type:
+>sudo ./run-lams.sh
+
+After a couple of minutes LAMS 2.1 will have started. In your browser type the
+server URL that you specified in the lams.configuration file, and you should be
+at the lams homepage.
+
+To shutdown LAMS 2.1 go to (jboss directory)/bin and type;
+> sudo ./shutdown.sh -S
+
+LAMS 2.1 will take a few moments to shut down. To check if LAMS 2.1 has shut
+down correctly, type the following on Linux:
+> ps -ef | grep java
+
+Or type the following on Macintosh
+> ps -A | grep Java
+
+If you aren't sure which version of 'ps' to use, try the '-ef' version and if
+that gives and error 'ps: illegal option --f" then try the -A version.
+
+If you can see the LAMS 2.1 process still running, type:
+> sudo kill (pid)
+Where pid is the process id listed next to the LAMS 2.1 process
+
+Be careful to type the correct (pid). If you type the wrong number, you will
+stop another process on your server, and as you are using sudo you could stop
+an important process!
+
+6. Using the Java Service Wrapper
+================================
+
+If the wrapper installed correctly, LAMS will start automatically when you
+boot your machine and stop when you turn off your machine.
+
+You can also start and stop LAMS manually by going to the jboss-4.0.2/bin
+directory and using these commands.
+
+> sudo ./lams2 start (starts LAMS)
+> sudo ./lams2 console (start LAMS in current shell, to stop do ctrl+C)
+> sudo ./lams2 stop (stops LAMS)
+> sudo ./lams2 restart (restarts LAMS)
+> sudo ./lams2 status (tells you if LAMS is currently running)
+> sudo ./lams2 dump (send a kill -3 signal to the wrapper causing the
+ JVM to do a full thread dump)
+
+For more information about using the Java Service Wrapper with LAMS, go to
+wiki.lamsfoundation.org/display/lamsdocs/Setup+Java+Service+Wrapper+for+LAMS
+
+
+7. Backing up LAMS
+==================
+
+To backup your LAMS installation manually, simply follow the following steps
+
+1) Backup your jboss-4.0.2 directory where LAMS is installed
+(/usr/local/jboss-4.0.2 by default)
+
+2) Backup your uploaded file repositories
+(/var/opt/lams by default)
+
+3) Backup /etc/lams2
+
+4) Dump the database by executing the following command. Fill in your own
+backup directory
+
+/mysqldump -u -p > /dump.sql
+
+
+8. Web Resources
+================
+
+Unix Installer help wiki
+
+ http://wiki.lamsfoundation.org/display/lamsdocs/Unix+Installer+Help
+
+Backing up LAMS and reverting LAMS
+
+ http://wiki.lamsfoundation.org/display/lamsdocs/Revert+To+Other+Backup
+
+LAMS 2.1.1 developer-oriented information
+
+ http://wiki.lamsfoundation.org/display/lams
+
+LAMS 2.1.1 help documents
+
+ http://wiki.lamsfoundation.org/display/lamsdocs
+
+Educational and technical forums for help and discussion
+
+ http://www.lamscommunity.org
+
+LAMS 2.1.1 bug tracker
+
+ http://bugs.lamsfoundation.org
+
+LAMS Foundation
+
+ http://www.lamsfoundation.org
Index: unix_installer/patch-package/sql-scripts/update-script.sql
===================================================================
diff -u
--- unix_installer/patch-package/sql-scripts/update-script.sql (revision 0)
+++ unix_installer/patch-package/sql-scripts/update-script.sql (revision 769a146d324d3d69596c8647462fc33de8babc1f)
@@ -0,0 +1,4 @@
+UPDATE lams_tool SET tool_version='20080813' WHERE tool_signature='lachat11' AND tool_version='20080229';
+
+UPDATE lams_configuration SET config_value='2.1.1' WHERE config_key='Version' AND config_value='2.1';
+