初始提交
diff --git a/tomcat-uidm/bin/bootstrap.jar b/tomcat-uidm/bin/bootstrap.jar
new file mode 100644
index 0000000..c9e6af9
--- /dev/null
+++ b/tomcat-uidm/bin/bootstrap.jar
Binary files differ
diff --git a/tomcat-uidm/bin/catalina-tasks.xml b/tomcat-uidm/bin/catalina-tasks.xml
new file mode 100644
index 0000000..3554a2f
--- /dev/null
+++ b/tomcat-uidm/bin/catalina-tasks.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>

+<!--

+ 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.

+-->

+<!--

+  XML file for importing Catalina ant tasks.

+  <import file="${catalina.home}/bin/catalina-tasks.xml"/>

+-->

+

+<project name="catalina-tasks">

+  <description>Catalina Ant Manager, JMX and JSPC Tasks</description>

+  <!-- set catalina.home if it's not already set -->

+  <dirname property="catalina.home.bin.dir" file="${ant.file.catalina-tasks}"/>

+  <property name="catalina.home" value="${catalina.home.bin.dir}/.."/>

+  <taskdef resource="org/apache/catalina/ant/catalina.tasks">

+    <classpath>

+      <fileset file="${catalina.home}/bin/tomcat-juli.jar"/>

+      <fileset file="${catalina.home}/lib/jasper.jar"/>

+      <fileset file="${catalina.home}/lib/jasper-el.jar"/>

+      <fileset file="${catalina.home}/lib/el-api.jar"/>

+      <fileset file="${catalina.home}/lib/jsp-api.jar"/>

+      <fileset file="${catalina.home}/lib/servlet-api.jar"/>

+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>

+    </classpath>

+  </taskdef>

+  <taskdef resource="org/apache/catalina/ant/jmx/jmxaccessor.tasks">

+    <classpath>

+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>

+    </classpath>

+  </taskdef>

+  <typedef

+        name="jmxEquals"

+        classname="org.apache.catalina.ant.jmx.JMXAccessorEqualsCondition">

+    <classpath>

+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>

+    </classpath>

+  </typedef>

+  <typedef

+        name="jmxCondition"

+        classname="org.apache.catalina.ant.jmx.JMXAccessorCondition">

+    <classpath>

+      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>

+    </classpath>

+  </typedef>

+</project>

diff --git a/tomcat-uidm/bin/catalina.bat b/tomcat-uidm/bin/catalina.bat
new file mode 100644
index 0000000..122b085
--- /dev/null
+++ b/tomcat-uidm/bin/catalina.bat
@@ -0,0 +1,282 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+if "%OS%" == "Windows_NT" setlocal

+rem ---------------------------------------------------------------------------

+rem Start/Stop Script for the CATALINA Server

+rem

+rem Environment Variable Prerequisites

+rem

+rem   CATALINA_HOME   May point at your Catalina "build" directory.

+rem

+rem   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions

+rem                   of a Catalina installation.  If not present, resolves to

+rem                   the same directory that CATALINA_HOME points to.

+rem

+rem   CATALINA_OPTS   (Optional) Java runtime options used when the "start",

+rem                   or "run" command is executed.

+rem

+rem   CATALINA_TMPDIR (Optional) Directory path location of temporary directory

+rem                   the JVM should use (java.io.tmpdir).  Defaults to

+rem                   %CATALINA_BASE%\temp.

+rem

+rem   JAVA_HOME       Must point at your Java Development Kit installation.

+rem                   Required to run the with the "debug" argument.

+rem

+rem   JRE_HOME        Must point at your Java Runtime installation.

+rem                   Defaults to JAVA_HOME if empty.

+rem

+rem   JAVA_OPTS       (Optional) Java runtime options used when the "start",

+rem                   "stop", or "run" command is executed.

+rem

+rem   JAVA_ENDORSED_DIRS (Optional) Lists of of semi-colon separated directories

+rem                   containing some jars in order to allow replacement of APIs 

+rem                   created outside of the JCP (i.e. DOM and SAX from W3C). 

+rem                   It can also be used to update the XML parser implementation.

+rem                   Defaults to $CATALINA_HOME/endorsed.

+rem

+rem   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"

+rem                   command is executed. The default is "dt_socket".

+rem

+rem   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"

+rem                   command is executed. The default is 8000.

+rem

+rem   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"

+rem                   command is executed. Specifies whether JVM should suspend

+rem                   execution immediately after startup. Default is "n".

+rem

+rem   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"

+rem                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,

+rem                   and JPDA_SUSPEND are ignored. Thus, all required jpda

+rem                   options MUST be specified. The default is:

+rem

+rem                   -agentlib:jdwp=transport=%JPDA_TRANSPORT%,

+rem                       address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%

+rem

+rem   LOGGING_CONFIG  (Optional) Override Tomcat's logging config file

+rem                   Example (all one line)

+rem                   set LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties"

+rem

+rem   LOGGING_MANAGER (Optional) Override Tomcat's logging manager 

+rem                   Example (all one line)

+rem                   set LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

+rem

+rem   TITLE           (Optional) Specify the title of Tomcat window. The default

+rem                   TITLE is Tomcat if it's not specified.

+rem                   Example (all one line)

+rem                   set TITLE=Tomcat.Cluster#1.Server#1 [%DATE% %TIME%]

+rem ---------------------------------------------------------------------------

+

+rem Guess CATALINA_HOME if not defined

+set "CURRENT_DIR=%cd%"

+if not "%CATALINA_HOME%" == "" goto gotHome

+set "CATALINA_HOME=%CURRENT_DIR%"

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+cd ..

+set "CATALINA_HOME=%cd%"

+cd "%CURRENT_DIR%"

+:gotHome

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+echo The CATALINA_HOME environment variable is not defined correctly

+echo This environment variable is needed to run this program

+goto end

+:okHome

+

+rem Copy CATALINA_BASE from CATALINA_HOME if not defined

+if not "%CATALINA_BASE%" == "" goto gotBase

+set "CATALINA_BASE=%CATALINA_HOME%"

+:gotBase

+

+rem Ensure that any user defined CLASSPATH variables are not used on startup,

+rem but allow them to be specified in setenv.bat, in rare case when it is needed.

+set CLASSPATH=

+

+rem Get standard environment variables

+if not exist "%CATALINA_BASE%\bin\setenv.bat" goto checkSetenvHome

+call "%CATALINA_BASE%\bin\setenv.bat"

+goto setenvDone

+:checkSetenvHome

+if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

+:setenvDone

+

+rem Get standard Java environment variables

+if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath

+echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"

+echo This file is needed to run this program

+goto end

+:okSetclasspath

+set "BASEDIR=%CATALINA_HOME%"

+call "%CATALINA_HOME%\bin\setclasspath.bat" %1

+if errorlevel 1 goto end

+

+if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir

+set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"

+:gotTmpdir

+

+rem Add tomcat-juli.jar and bootstrap.jar to classpath

+rem tomcat-juli.jar can be over-ridden per instance

+rem Note that there are no quotes as we do not want to introduce random

+rem quotes into the CLASSPATH

+if "%CLASSPATH%" == "" goto emptyClasspath

+set "CLASSPATH=%CLASSPATH%;"

+:emptyClasspath

+if "%CATALINA_BASE%" == "%CATALINA_HOME%" goto juliClasspathHome

+if not exist "%CATALINA_BASE%\bin\tomcat-juli.jar" goto juliClasspathHome

+set "CLASSPATH=%CLASSPATH%%CATALINA_BASE%\bin\tomcat-juli.jar;%CATALINA_HOME%\bin\bootstrap.jar"

+goto juliClasspathDone

+:juliClasspathHome

+set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar"

+:juliClasspathDone

+

+if not "%LOGGING_CONFIG%" == "" goto noJuliConfig

+set LOGGING_CONFIG=-Dnop

+if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig

+set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

+:noJuliConfig

+set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%

+

+if not "%LOGGING_MANAGER%" == "" goto noJuliManager

+set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

+:noJuliManager

+set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%

+

+rem ----- Execute The Requested Command ---------------------------------------

+

+echo Using CATALINA_BASE:   "%CATALINA_BASE%"

+echo Using CATALINA_HOME:   "%CATALINA_HOME%"

+echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"

+if ""%1"" == ""debug"" goto use_jdk

+echo Using JRE_HOME:        "%JRE_HOME%"

+goto java_dir_displayed

+:use_jdk

+echo Using JAVA_HOME:       "%JAVA_HOME%"

+:java_dir_displayed

+echo Using CLASSPATH:       "%CLASSPATH%"

+

+set _EXECJAVA=%_RUNJAVA%

+set MAINCLASS=org.apache.catalina.startup.Bootstrap

+set ACTION=start

+set SECURITY_POLICY_FILE=

+set DEBUG_OPTS=

+set JPDA=

+

+if not ""%1"" == ""jpda"" goto noJpda

+set JPDA=jpda

+if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport

+set JPDA_TRANSPORT=dt_socket

+:gotJpdaTransport

+if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress

+set JPDA_ADDRESS=8000

+:gotJpdaAddress

+if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend

+set JPDA_SUSPEND=n

+:gotJpdaSuspend

+if not "%JPDA_OPTS%" == "" goto gotJpdaOpts

+set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%

+:gotJpdaOpts

+shift

+:noJpda

+

+if ""%1"" == ""debug"" goto doDebug

+if ""%1"" == ""run"" goto doRun

+if ""%1"" == ""start"" goto doStart

+if ""%1"" == ""stop"" goto doStop

+if ""%1"" == ""version"" goto doVersion

+

+echo Usage:  catalina ( commands ... )

+echo commands:

+echo   debug             Start Catalina in a debugger

+echo   debug -security   Debug Catalina with a security manager

+echo   jpda start        Start Catalina under JPDA debugger

+echo   run               Start Catalina in the current window

+echo   run -security     Start in the current window with security manager

+echo   start             Start Catalina in a separate window

+echo   start -security   Start in a separate window with security manager

+echo   stop              Stop Catalina

+echo   version           What version of tomcat are you running?

+goto end

+

+:doDebug

+shift

+set _EXECJAVA=%_RUNJDB%

+set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\java"

+if not ""%1"" == ""-security"" goto execCmd

+shift

+echo Using Security Manager

+set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"

+goto execCmd

+

+:doRun

+shift

+if not ""%1"" == ""-security"" goto execCmd

+shift

+echo Using Security Manager

+set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"

+goto execCmd

+

+:doStart

+shift

+if not "%OS%" == "Windows_NT" goto noTitle

+if "%TITLE%" == "" set TITLE=Tomcat

+set _EXECJAVA=start "%TITLE%" %_RUNJAVA%

+goto gotTitle

+:noTitle

+set _EXECJAVA=start %_RUNJAVA%

+:gotTitle

+if not ""%1"" == ""-security"" goto execCmd

+shift

+echo Using Security Manager

+set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"

+goto execCmd

+

+:doStop

+shift

+set ACTION=stop

+set CATALINA_OPTS=

+goto execCmd

+

+:doVersion

+%_EXECJAVA% -classpath "%CATALINA_HOME%\lib\catalina.jar" org.apache.catalina.util.ServerInfo

+goto end

+

+

+:execCmd

+rem Get remaining unshifted command line arguments and save them in the

+set CMD_LINE_ARGS=

+:setArgs

+if ""%1""=="""" goto doneSetArgs

+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

+shift

+goto setArgs

+:doneSetArgs

+

+rem Execute Java with the applicable properties

+if not "%JPDA%" == "" goto doJpda

+if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity

+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

+goto end

+:doSecurity

+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

+goto end

+:doJpda

+if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda

+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

+goto end

+:doSecurityJpda

+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

+goto end

+

+:end

diff --git a/tomcat-uidm/bin/catalina.sh b/tomcat-uidm/bin/catalina.sh
new file mode 100644
index 0000000..45ac16d
--- /dev/null
+++ b/tomcat-uidm/bin/catalina.sh
@@ -0,0 +1,502 @@
+#!/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.
+
+# -----------------------------------------------------------------------------
+# Start/Stop Script for the CATALINA Server
+#
+# Environment Variable Prerequisites
+#
+#   CATALINA_HOME   May point at your Catalina "build" directory.
+#
+#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
+#                   of a Catalina installation.  If not present, resolves to
+#                   the same directory that CATALINA_HOME points to.
+#
+#   CATALINA_OUT    (Optional) Full path to a file where stdout and stderr
+#                   will be redirected.
+#                   Default is $CATALINA_BASE/logs/catalina.out
+#
+#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
+#                   or "run" command is executed.
+#
+#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
+#                   the JVM should use (java.io.tmpdir).  Defaults to
+#                   $CATALINA_BASE/temp.
+#
+#   JAVA_HOME       Must point at your Java Development Kit installation.
+#                   Required to run the with the "debug" argument.
+#
+#   JRE_HOME        Must point at your Java Development Kit installation.
+#                   Defaults to JAVA_HOME if empty.
+#
+#   JAVA_OPTS       (Optional) Java runtime options used when the "start",
+#                   "stop", or "run" command is executed.
+#
+#   JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories
+#                   containing some jars in order to allow replacement of APIs
+#                   created outside of the JCP (i.e. DOM and SAX from W3C).
+#                   It can also be used to update the XML parser implementation.
+#                   Defaults to $CATALINA_HOME/endorsed.
+#
+#   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
+#                   command is executed. The default is "dt_socket".
+#
+#   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. The default is 8000.
+#
+#   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. Specifies whether JVM should suspend
+#                   execution immediately after startup. Default is "n".
+#
+#   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
+#                   and JPDA_SUSPEND are ignored. Thus, all required jpda
+#                   options MUST be specified. The default is:
+#
+#                   -agentlib:jdwp=transport=$JPDA_TRANSPORT,
+#                       address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
+#
+#   CATALINA_PID    (Optional) Path of the file which should contains the pid
+#                   of catalina startup java process, when start (fork) is used
+#
+#   LOGGING_CONFIG  (Optional) Override Tomcat's logging config file
+#                   Example (all one line)
+#                   LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
+#
+#   LOGGING_MANAGER (Optional) Override Tomcat's logging manager
+#                   Example (all one line)
+#                   LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false
+os400=false
+darwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+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
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+# Only set CATALINA_HOME if not already set
+[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
+
+# Copy CATALINA_BASE from CATALINA_HOME if not already set
+[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
+
+# Ensure that any user defined CLASSPATH variables are not used on startup,
+# but allow them to be specified in setenv.sh, in rare case when it is needed.
+CLASSPATH=
+
+if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
+  . "$CATALINA_BASE/bin/setenv.sh"
+elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
+  . "$CATALINA_HOME/bin/setenv.sh"
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
+  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
+  [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For OS400
+if $os400; then
+  # Set job priority to standard for interactive (interactive - 6) by using
+  # the interactive priority - 6, the helper threads that respond to requests
+  # will be running at the same priority as interactive jobs.
+  COMMAND='chgjob job('$JOBNAME') runpty(6)'
+  system $COMMAND
+
+  # Enable multi threading
+  export QIBM_MULTI_THREADED=Y
+fi
+
+# Get standard Java environment variables
+if $os400; then
+  # -r will Only work on the os400 if the files are:
+  # 1. owned by the user
+  # 2. owned by the PRIMARY group of the user
+  # this will not work if the user belongs in secondary groups
+  BASEDIR="$CATALINA_HOME"
+  . "$CATALINA_HOME"/bin/setclasspath.sh
+else
+  if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
+    BASEDIR="$CATALINA_HOME"
+    . "$CATALINA_HOME"/bin/setclasspath.sh
+  else
+    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
+    echo "This file is needed to run this program"
+    exit 1
+  fi
+fi
+
+if [ -z "$CATALINA_BASE" ] ; then
+  CATALINA_BASE="$CATALINA_HOME"
+fi
+
+# Add tomcat-juli.jar and bootstrap.jar to classpath
+# tomcat-juli.jar can be over-ridden per instance
+if [ ! -z "$CLASSPATH" ] ; then
+  CLASSPATH="$CLASSPATH":
+fi
+if [ "$CATALINA_BASE" != "$CATALINA_HOME" ] && [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then
+  CLASSPATH="$CLASSPATH""$CATALINA_BASE"/bin/tomcat-juli.jar:"$CATALINA_HOME"/bin/bootstrap.jar
+else
+  CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar
+fi
+
+if [ -z "$CATALINA_OUT" ] ; then
+  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
+fi
+
+if [ -z "$CATALINA_TMPDIR" ] ; then
+  # Define the java.io.tmpdir to use for Catalina
+  CATALINA_TMPDIR="$CATALINA_BASE"/temp
+fi
+
+# Bugzilla 37848: When no TTY is available, don't output to console
+have_tty=0
+if [ "`tty`" != "not a tty" ]; then
+    have_tty=1
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
+  JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
+  CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
+  CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
+  CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
+fi
+
+# Set juli LogManager config file if it is present and an override has not been issued
+if [ -z "$LOGGING_CONFIG" ]; then
+  if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then
+    LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
+  else
+    # Bugzilla 45585
+    LOGGING_CONFIG="-Dnop"
+  fi
+fi
+
+if [ -z "$LOGGING_MANAGER" ]; then
+  LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+# Bugzilla 37848: only output this if we have a TTY
+if [ $have_tty -eq 1 ]; then
+  echo "Using CATALINA_BASE:   $CATALINA_BASE"
+  echo "Using CATALINA_HOME:   $CATALINA_HOME"
+  echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
+  if [ "$1" = "debug" ] ; then
+    echo "Using JAVA_HOME:       $JAVA_HOME"
+  else
+    echo "Using JRE_HOME:        $JRE_HOME"
+  fi
+  echo "Using CLASSPATH:       $CLASSPATH"
+  if [ ! -z "$CATALINA_PID" ]; then
+    echo "Using CATALINA_PID:    $CATALINA_PID"
+  fi
+fi
+
+if [ "$1" = "jpda" ] ; then
+  if [ -z "$JPDA_TRANSPORT" ]; then
+    JPDA_TRANSPORT="dt_socket"
+  fi
+  if [ -z "$JPDA_ADDRESS" ]; then
+    JPDA_ADDRESS="8000"
+  fi
+  if [ -z "$JPDA_SUSPEND" ]; then
+    JPDA_SUSPEND="n"
+  fi
+  if [ -z "$JPDA_OPTS" ]; then
+    JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
+  fi
+  CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
+  shift
+fi
+
+if [ "$1" = "debug" ] ; then
+  if $os400; then
+    echo "Debug command not available on OS400"
+    exit 1
+  else
+    shift
+    if [ "$1" = "-security" ] ; then
+      if [ $have_tty -eq 1 ]; then
+        echo "Using Security Manager"
+      fi
+      shift
+      exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
+        -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+        -sourcepath "$CATALINA_HOME"/../../java \
+        -Djava.security.manager \
+        -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+        -Dcatalina.base="$CATALINA_BASE" \
+        -Dcatalina.home="$CATALINA_HOME" \
+        -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+        org.apache.catalina.startup.Bootstrap "$@" start
+    else
+      exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
+        -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+        -sourcepath "$CATALINA_HOME"/../../java \
+        -Dcatalina.base="$CATALINA_BASE" \
+        -Dcatalina.home="$CATALINA_HOME" \
+        -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+        org.apache.catalina.startup.Bootstrap "$@" start
+    fi
+  fi
+
+elif [ "$1" = "run" ]; then
+
+  shift
+  if [ "$1" = "-security" ] ; then
+    if [ $have_tty -eq 1 ]; then
+      echo "Using Security Manager"
+    fi
+    shift
+    exec "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Djava.security.manager \
+      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start
+  else
+    exec "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start
+  fi
+
+elif [ "$1" = "start" ] ; then
+
+  if [ ! -z "$CATALINA_PID" ]; then
+    if [ -f "$CATALINA_PID" ]; then
+      if [ -s "$CATALINA_PID" ]; then
+        echo "Existing PID file found during start."
+        if [ -r "$CATALINA_PID" ]; then
+          PID=`cat "$CATALINA_PID"`
+          ps -p $PID >/dev/null 2>&1
+          if [ $? -eq 0 ] ; then
+            echo "Tomcat appears to still be running with PID $PID. Start aborted."
+            exit 1
+          else
+            echo "Removing/clearing stale PID file."
+            rm -f "$CATALINA_PID" >/dev/null 2>&1
+            if [ $? != 0 ]; then
+              if [ -w "$CATALINA_PID" ]; then
+                cat /dev/null > "$CATALINA_PID"
+              else
+                echo "Unable to remove or clear stale PID file. Start aborted."
+                exit 1
+              fi
+            fi
+          fi
+        else
+          echo "Unable to read PID file. Start aborted."
+          exit 1
+        fi
+      else
+        rm -f "$CATALINA_PID" >/dev/null 2>&1
+        if [ $? != 0 ]; then
+          if [ ! -w "$CATALINA_PID" ]; then
+            echo "Unable to remove or write to empty PID file. Start aborted."
+            exit 1
+          fi
+        fi
+      fi
+    fi
+  fi
+
+  shift
+  touch "$CATALINA_OUT"
+  if [ "$1" = "-security" ] ; then
+    if [ $have_tty -eq 1 ]; then
+      echo "Using Security Manager"
+    fi
+    shift
+    "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Djava.security.manager \
+      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start \
+      >> "$CATALINA_OUT" 2>&1 &
+
+  else
+    "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start \
+      >> "$CATALINA_OUT" 2>&1 &
+
+  fi
+
+  if [ ! -z "$CATALINA_PID" ]; then
+    echo $! > "$CATALINA_PID"
+  fi
+
+elif [ "$1" = "stop" ] ; then
+
+  shift
+
+  SLEEP=5
+  if [ ! -z "$1" ]; then
+    echo $1 | grep "[^0-9]" >/dev/null 2>&1
+    if [ $? -gt 0 ]; then
+      SLEEP=$1
+      shift
+    fi
+  fi
+
+  FORCE=0
+  if [ "$1" = "-force" ]; then
+    shift
+    FORCE=1
+  fi
+
+  if [ ! -z "$CATALINA_PID" ]; then
+    if [ -f "$CATALINA_PID" ]; then
+      if [ -s "$CATALINA_PID" ]; then
+        kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1
+        if [ $? -gt 0 ]; then
+          echo "PID file found but no matching process was found. Stop aborted."
+          exit 1
+        fi
+      else
+        echo "PID file is empty and has been ignored."
+      fi
+    else
+      echo "\$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted."
+      exit 1
+    fi
+  fi
+  
+  "$_RUNJAVA" $LOGGING_MANAGER $JAVA_OPTS \
+    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+    -Dcatalina.base="$CATALINA_BASE" \
+    -Dcatalina.home="$CATALINA_HOME" \
+    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+    org.apache.catalina.startup.Bootstrap "$@" stop
+
+  if [ ! -z "$CATALINA_PID" ]; then
+    if [ -f "$CATALINA_PID" ]; then
+      while [ $SLEEP -ge 0 ]; do
+        kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1
+        if [ $? -gt 0 ]; then
+          rm -f "$CATALINA_PID" >/dev/null 2>&1
+          if [ $? != 0 ]; then
+            if [ -w "$CATALINA_PID" ]; then
+              cat /dev/null > "$CATALINA_PID"
+            else
+              echo "Tomcat stopped but the PID file could not be removed or cleared."
+            fi
+          fi
+          break
+        fi
+        if [ $SLEEP -gt 0 ]; then
+          sleep 1
+        fi
+        if [ $SLEEP -eq 0 ]; then
+          if [ $FORCE -eq 0 ]; then
+            echo "Tomcat did not stop in time. PID file was not removed."
+          fi
+        fi
+        SLEEP=`expr $SLEEP - 1 `
+      done
+    fi
+  fi
+
+  if [ $FORCE -eq 1 ]; then
+    if [ -z "$CATALINA_PID" ]; then
+      echo "Kill failed: \$CATALINA_PID not set"
+    else
+      if [ -f "$CATALINA_PID" ]; then
+        PID=`cat "$CATALINA_PID"`
+        echo "Killing Tomcat with the PID: $PID"
+        kill -9 $PID
+        rm -f "$CATALINA_PID" >/dev/null 2>&1
+        if [ $? != 0 ]; then
+          echo "Tomcat was killed but the PID file could not be removed."
+        fi
+      fi
+    fi
+  fi
+
+elif [ "$1" = "version" ] ; then
+
+    "$_RUNJAVA"   \
+      -classpath "$CATALINA_HOME/lib/catalina.jar" \
+      org.apache.catalina.util.ServerInfo
+
+else
+
+  echo "Usage: catalina.sh ( commands ... )"
+  echo "commands:"
+  if $os400; then
+    echo "  debug             Start Catalina in a debugger (not available on OS400)"
+    echo "  debug -security   Debug Catalina with a security manager (not available on OS400)"
+  else
+    echo "  debug             Start Catalina in a debugger"
+    echo "  debug -security   Debug Catalina with a security manager"
+  fi
+  echo "  jpda start        Start Catalina under JPDA debugger"
+  echo "  run               Start Catalina in the current window"
+  echo "  run -security     Start in the current window with security manager"
+  echo "  start             Start Catalina in a separate window"
+  echo "  start -security   Start in a separate window with security manager"
+  echo "  stop              Stop Catalina, waiting up to 5 seconds for the process to end"
+  echo "  stop n            Stop Catalina, waiting up to n seconds for the process to end"
+  echo "  stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running"
+  echo "  stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running"
+  echo "  version           What version of tomcat are you running?"
+  echo "Note: Waiting for the process to end and use of the -force option require that \$CATALINA_PID is defined"
+  exit 1
+
+fi
diff --git a/tomcat-uidm/bin/commons-daemon-native.tar.gz b/tomcat-uidm/bin/commons-daemon-native.tar.gz
new file mode 100644
index 0000000..6d25918
--- /dev/null
+++ b/tomcat-uidm/bin/commons-daemon-native.tar.gz
Binary files differ
diff --git a/tomcat-uidm/bin/commons-daemon.jar b/tomcat-uidm/bin/commons-daemon.jar
new file mode 100644
index 0000000..2b6b9c6
--- /dev/null
+++ b/tomcat-uidm/bin/commons-daemon.jar
Binary files differ
diff --git a/tomcat-uidm/bin/cpappend.bat b/tomcat-uidm/bin/cpappend.bat
new file mode 100644
index 0000000..455e832
--- /dev/null
+++ b/tomcat-uidm/bin/cpappend.bat
@@ -0,0 +1,33 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+rem ---------------------------------------------------------------------------

+rem Append to CLASSPATH

+rem ---------------------------------------------------------------------------

+

+rem Process the first argument

+if ""%1"" == """" goto end

+set CLASSPATH=%CLASSPATH%;%1

+shift

+

+rem Process the remaining arguments

+:setArgs

+if ""%1"" == """" goto doneSetArgs

+set CLASSPATH=%CLASSPATH% %1

+shift

+goto setArgs

+:doneSetArgs

+:end

diff --git a/tomcat-uidm/bin/daemon.sh b/tomcat-uidm/bin/daemon.sh
new file mode 100644
index 0000000..fc18f76
--- /dev/null
+++ b/tomcat-uidm/bin/daemon.sh
@@ -0,0 +1,244 @@
+#!/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.
+#
+# -----------------------------------------------------------------------------
+# Commons Daemon wrapper script.
+# -----------------------------------------------------------------------------
+#
+# resolve links - $0 may be a softlink
+ARG0="$0"
+while [ -h "$ARG0" ]; do
+  ls=`ls -ld "$ARG0"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    ARG0="$link"
+  else
+    ARG0="`dirname $ARG0`/$link"
+  fi
+done
+DIRNAME="`dirname $ARG0`"
+PROGRAM="`basename $ARG0`"
+while [ ".$1" != . ]
+do
+  case "$1" in
+    --java-home )
+        JAVA_HOME="$2"
+        shift; shift;
+        continue
+    ;;
+    --catalina-home )
+        CATALINA_HOME="$2"
+        shift; shift;
+        continue
+    ;;
+    --catalina-base )
+        CATALINA_BASE="$2"
+        shift; shift;
+        continue
+    ;;
+    --catalina-pid )
+        CATALINA_PID="$2"
+        shift; shift;
+        continue
+    ;;
+    --tomcat-user )
+        TOMCAT_USER="$2"
+        shift; shift;
+        continue
+    ;;
+    --service-start-wait-time )
+        SERVICE_START_WAIT_TIME="$2"
+        shift; shift;
+        continue
+    ;;
+    * )
+        break
+    ;;
+  esac
+done
+# OS specific support (must be 'true' or 'false').
+cygwin=false;
+darwin=false;
+case "`uname`" in
+    CYGWIN*)
+        cygwin=true
+        ;;
+    Darwin*)
+        darwin=true
+        ;;
+esac
+
+# Use the maximum available, or set MAX_FD != -1 to use that
+test ".$MAX_FD" = . && MAX_FD="maximum"
+# Setup parameters for running the jsvc
+#
+test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
+# Set JAVA_HOME to working JDK or JRE
+# JAVA_HOME=/opt/jdk-1.6.0.22
+# If not set we'll try to guess the JAVA_HOME
+# from java binary if on the PATH
+#
+if [ -z "$JAVA_HOME" ]; then
+    JAVA_BIN="`which java 2>/dev/null || type java 2>&1`"
+    test -x "$JAVA_BIN" && JAVA_HOME="`dirname $JAVA_BIN`"
+    test ".$JAVA_HOME" != . && JAVA_HOME=`cd "$JAVA_HOME/.." >/dev/null; pwd`
+else
+    JAVA_BIN="$JAVA_HOME/bin/java"
+fi
+
+# Only set CATALINA_HOME if not already set
+test ".$CATALINA_HOME" = . && CATALINA_HOME=`cd "$DIRNAME/.." >/dev/null; pwd`
+test ".$CATALINA_BASE" = . && CATALINA_BASE="$CATALINA_HOME"
+test ".$CATALINA_MAIN" = . && CATALINA_MAIN=org.apache.catalina.startup.Bootstrap
+test ".$JSVC" = . && JSVC="$CATALINA_BASE/bin/jsvc"
+# Set the default service-start wait time if necessary
+test ".$SERVICE_START_WAIT_TIME" = . && SERVICE_START_WAIT_TIME=10
+
+# Ensure that any user defined CLASSPATH variables are not used on startup,
+# but allow them to be specified in setenv.sh, in rare case when it is needed.
+CLASSPATH=
+JAVA_OPTS=
+if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
+  . "$CATALINA_BASE/bin/setenv.sh"
+elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
+  . "$CATALINA_HOME/bin/setenv.sh"
+fi
+
+# Add on extra jar files to CLASSPATH
+# tomcat-juli.jar can be over-ridden per instance
+test ".$CLASSPATH" != . && CLASSPATH="${CLASSPATH}:"
+if [ "$CATALINA_BASE" != "$CATALINA_HOME" ] && [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then
+  CLASSPATH="$CLASSPATH$CATALINA_BASE/bin/tomcat-juli.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar"
+else
+  CLASSPATH="$CLASSPATH$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar"
+fi
+
+test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina-daemon.out"
+test ".$CATALINA_TMP" = . && CATALINA_TMP="$CATALINA_BASE/temp"
+
+# Set juli LogManager config file if it is present and an override has not been issued
+if [ -z "$LOGGING_CONFIG" ]; then
+  if [ -r "$CATALINA_BASE/conf/logging.properties" ]; then
+    LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
+  else
+    # Bugzilla 45585
+    LOGGING_CONFIG="-Dnop"
+  fi
+fi
+
+test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"
+
+# Set -pidfile
+test ".$CATALINA_PID" = . && CATALINA_PID="$CATALINA_BASE/logs/catalina-daemon.pid"
+
+# Increase the maximum file descriptors if we can
+if [ "$cygwin" = "false" ]; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ "$?" -eq 0 ]; then
+        # Darwin does not allow RLIMIT_INFINITY on file soft limit
+        if [ "$darwin" = "true" -a "$MAX_FD_LIMIT" = "unlimited" ]; then
+            MAX_FD_LIMIT=`/usr/sbin/sysctl -n kern.maxfilesperproc`
+        fi
+        test ".$MAX_FD" = ".maximum" && MAX_FD="$MAX_FD_LIMIT"
+        ulimit -n $MAX_FD
+        if [ "$?" -ne 0 ]; then
+            echo "$PROGRAM: Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        echo "$PROGRAM: Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+case "$1" in
+    run     )
+      shift
+      "$JSVC" $* \
+      $JSVC_OPTS \
+      -java-home "$JAVA_HOME" \
+      -pidfile "$CATALINA_PID" \
+      -wait "$SERVICE_START_WAIT_TIME" \
+      -nodetach \
+      -outfile "&1" \
+      -errfile "&2" \
+      -classpath "$CLASSPATH" \
+      "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMP" \
+      $CATALINA_MAIN
+      exit $?
+    ;;
+    start   )
+      "$JSVC" $JSVC_OPTS \
+      -java-home "$JAVA_HOME" \
+      -user $TOMCAT_USER \
+      -pidfile "$CATALINA_PID" \
+      -wait "$SERVICE_START_WAIT_TIME" \
+      -outfile "$CATALINA_OUT" \
+      -errfile "&1" \
+      -classpath "$CLASSPATH" \
+      "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMP" \
+      $CATALINA_MAIN
+      exit $?
+    ;;
+    stop    )
+      "$JSVC" $JSVC_OPTS \
+      -stop \
+      -pidfile "$CATALINA_PID" \
+      -classpath "$CLASSPATH" \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMP" \
+      $CATALINA_MAIN
+      exit $?
+    ;;
+    version  )
+      "$JSVC" \
+      -java-home "$JAVA_HOME" \
+      -pidfile "$CATALINA_PID" \
+      -classpath "$CLASSPATH" \
+      -errfile "&2" \
+      -version \
+      -check \
+      $CATALINA_MAIN
+      if [ "$?" = 0 ]; then
+        "$JAVA_BIN" \
+        -classpath "$CATALINA_HOME/lib/catalina.jar" \
+        org.apache.catalina.util.ServerInfo
+      fi
+      exit $?
+    ;;
+    *       )
+      echo "Unknown command: \`$1'"
+      echo "Usage: $PROGRAM ( commands ... )"
+      echo "commands:"
+      echo "  run               Start Tomcat without detaching from console"
+      echo "  start             Start Tomcat"
+      echo "  stop              Stop Tomcat"
+      echo "  version           What version of commons daemon and Tomcat"
+      echo "                    are you running?"
+      exit 1
+    ;;
+esac
diff --git a/tomcat-uidm/bin/digest.bat b/tomcat-uidm/bin/digest.bat
new file mode 100644
index 0000000..fbc36d3
--- /dev/null
+++ b/tomcat-uidm/bin/digest.bat
@@ -0,0 +1,54 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+if "%OS%" == "Windows_NT" setlocal

+rem ---------------------------------------------------------------------------

+rem Script to digest password using the algorithm specified

+rem ---------------------------------------------------------------------------

+

+rem Guess CATALINA_HOME if not defined

+if not "%CATALINA_HOME%" == "" goto gotHome

+set CATALINA_HOME=.

+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome

+set CATALINA_HOME=..

+:gotHome

+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome

+echo The CATALINA_HOME environment variable is not defined correctly

+echo This environment variable is needed to run this program

+goto end

+:okHome

+

+set "EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat"

+

+rem Check that target executable exists

+if exist "%EXECUTABLE%" goto okExec

+echo Cannot find "%EXECUTABLE%"

+echo This file is needed to run this program

+goto end

+:okExec

+

+rem Get remaining unshifted command line arguments and save them in the

+set CMD_LINE_ARGS=

+:setArgs

+if ""%1""=="""" goto doneSetArgs

+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

+shift

+goto setArgs

+:doneSetArgs

+

+call "%EXECUTABLE%" -server org.apache.catalina.realm.RealmBase %CMD_LINE_ARGS%

+

+:end

diff --git a/tomcat-uidm/bin/digest.sh b/tomcat-uidm/bin/digest.sh
new file mode 100644
index 0000000..1b5d5e7
--- /dev/null
+++ b/tomcat-uidm/bin/digest.sh
@@ -0,0 +1,46 @@
+#!/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.
+
+# -----------------------------------------------------------------------------
+# Script to digest password using the algorithm specified
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+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
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=tool-wrapper.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "The file is absent or does not have execute permission"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" -server org.apache.catalina.realm.RealmBase "$@"
diff --git a/tomcat-uidm/bin/setclasspath.bat b/tomcat-uidm/bin/setclasspath.bat
new file mode 100644
index 0000000..360b9e4
--- /dev/null
+++ b/tomcat-uidm/bin/setclasspath.bat
@@ -0,0 +1,80 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+rem ---------------------------------------------------------------------------

+rem Set CLASSPATH and Java options

+rem ---------------------------------------------------------------------------

+

+rem Make sure prerequisite environment variables are set

+if not "%JAVA_HOME%" == "" goto gotJdkHome

+if not "%JRE_HOME%" == "" goto gotJreHome

+echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

+echo At least one of these environment variable is needed to run this program

+goto exit

+

+:gotJreHome

+if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome

+if not exist "%JRE_HOME%\bin\javaw.exe" goto noJavaHome

+if not ""%1"" == ""debug"" goto okJavaHome

+echo JAVA_HOME should point to a JDK in order to run in debug mode.

+goto exit

+

+:gotJdkHome

+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome

+if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome

+if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome

+if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome

+if not "%JRE_HOME%" == "" goto okJavaHome

+set "JRE_HOME=%JAVA_HOME%"

+goto okJavaHome

+

+:noJavaHome

+echo The JAVA_HOME environment variable is not defined correctly

+echo This environment variable is needed to run this program

+echo NB: JAVA_HOME should point to a JDK not a JRE

+goto exit

+:okJavaHome

+

+if not "%BASEDIR%" == "" goto gotBasedir

+echo The BASEDIR environment variable is not defined

+echo This environment variable is needed to run this program

+goto exit

+:gotBasedir

+if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir

+echo The BASEDIR environment variable is not defined correctly

+echo This environment variable is needed to run this program

+goto exit

+:okBasedir

+

+rem Don't override the endorsed dir if the user has set it previously

+if not "%JAVA_ENDORSED_DIRS%" == "" goto gotEndorseddir

+rem Set the default -Djava.endorsed.dirs argument

+set "JAVA_ENDORSED_DIRS=%BASEDIR%\endorsed"

+:gotEndorseddir

+

+rem Set standard command for invoking Java.

+rem Note that NT requires a window name argument when using start.

+rem Also note the quoting as JAVA_HOME may contain spaces.

+set _RUNJAVA="%JRE_HOME%\bin\java"

+set _RUNJDB="%JAVA_HOME%\bin\jdb"

+

+goto end

+

+:exit

+exit /b 1

+

+:end

+exit /b 0

diff --git a/tomcat-uidm/bin/setclasspath.sh b/tomcat-uidm/bin/setclasspath.sh
new file mode 100644
index 0000000..590fd6e
--- /dev/null
+++ b/tomcat-uidm/bin/setclasspath.sh
@@ -0,0 +1,117 @@
+#!/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.
+
+# -----------------------------------------------------------------------------
+#  Set CLASSPATH and Java options
+# -----------------------------------------------------------------------------
+
+# Make sure prerequisite environment variables are set
+if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
+  if $darwin; then
+    # Bugzilla 54390
+    if [ -x '/usr/libexec/java_home' ] ; then
+      export JAVA_HOME=`/usr/libexec/java_home`
+    # Bugzilla 37284 (reviewed).
+    elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
+      export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
+    fi
+  else
+    JAVA_PATH=`which java 2>/dev/null`
+    if [ "x$JAVA_PATH" != "x" ]; then
+      JAVA_PATH=`dirname $JAVA_PATH 2>/dev/null`
+      JRE_HOME=`dirname $JAVA_PATH 2>/dev/null`
+    fi
+    if [ "x$JRE_HOME" = "x" ]; then
+      # XXX: Should we try other locations?
+      if [ -x /usr/bin/java ]; then
+        JRE_HOME=/usr
+      fi
+    fi
+  fi
+  if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
+    echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
+    echo "At least one of these environment variable is needed to run this program"
+    exit 1
+  fi
+fi
+if [ -z "$JAVA_HOME" -a "$1" = "debug" ]; then
+  echo "JAVA_HOME should point to a JDK in order to run in debug mode."
+  exit 1
+fi
+if [ -z "$JRE_HOME" ]; then
+  JRE_HOME="$JAVA_HOME"
+fi
+
+# If we're running under jdb, we need a full jdk.
+if [ "$1" = "debug" ] ; then
+  if [ "$os400" = "true" ]; then
+    if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then
+      echo "The JAVA_HOME environment variable is not defined correctly"
+      echo "This environment variable is needed to run this program"
+      echo "NB: JAVA_HOME should point to a JDK not a JRE"
+      exit 1
+    fi
+  else
+    if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]; then
+      echo "The JAVA_HOME environment variable is not defined correctly"
+      echo "This environment variable is needed to run this program"
+      echo "NB: JAVA_HOME should point to a JDK not a JRE"
+      exit 1
+    fi
+  fi
+fi
+if [ -z "$BASEDIR" ]; then
+  echo "The BASEDIR environment variable is not defined"
+  echo "This environment variable is needed to run this program"
+  exit 1
+fi
+if [ ! -x "$BASEDIR"/bin/setclasspath.sh ]; then
+  if $os400; then
+    # -x will Only work on the os400 if the files are:
+    # 1. owned by the user
+    # 2. owned by the PRIMARY group of the user
+    # this will not work if the user belongs in secondary groups
+    eval
+  else
+    echo "The BASEDIR environment variable is not defined correctly"
+    echo "This environment variable is needed to run this program"
+    exit 1
+  fi
+fi
+
+# Don't override the endorsed dir if the user has set it previously
+if [ -z "$JAVA_ENDORSED_DIRS" ]; then
+  # Set the default -Djava.endorsed.dirs argument
+  JAVA_ENDORSED_DIRS="$BASEDIR"/endorsed
+fi
+
+# OSX hack to CLASSPATH
+JIKESPATH=
+if [ `uname -s` = "Darwin" ]; then
+  OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
+  if [ -d "$OSXHACK" ]; then
+    for i in "$OSXHACK"/*.jar; do
+      JIKESPATH="$JIKESPATH":"$i"
+    done
+  fi
+fi
+
+# Set standard commands for invoking Java.
+_RUNJAVA="$JRE_HOME"/bin/java
+if [ "$os400" != "true" ]; then
+  _RUNJDB="$JAVA_HOME"/bin/jdb
+fi
diff --git a/tomcat-uidm/bin/shutdown.bat b/tomcat-uidm/bin/shutdown.bat
new file mode 100644
index 0000000..d4a0335
--- /dev/null
+++ b/tomcat-uidm/bin/shutdown.bat
@@ -0,0 +1,57 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+if "%OS%" == "Windows_NT" setlocal

+rem ---------------------------------------------------------------------------

+rem Stop script for the CATALINA Server

+rem ---------------------------------------------------------------------------

+

+rem Guess CATALINA_HOME if not defined

+set "CURRENT_DIR=%cd%"

+if not "%CATALINA_HOME%" == "" goto gotHome

+set "CATALINA_HOME=%CURRENT_DIR%"

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+cd ..

+set "CATALINA_HOME=%cd%"

+cd "%CURRENT_DIR%"

+:gotHome

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+echo The CATALINA_HOME environment variable is not defined correctly

+echo This environment variable is needed to run this program

+goto end

+:okHome

+

+set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

+

+rem Check that target executable exists

+if exist "%EXECUTABLE%" goto okExec

+echo Cannot find "%EXECUTABLE%"

+echo This file is needed to run this program

+goto end

+:okExec

+

+rem Get remaining unshifted command line arguments and save them in the

+set CMD_LINE_ARGS=

+:setArgs

+if ""%1""=="""" goto doneSetArgs

+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

+shift

+goto setArgs

+:doneSetArgs

+

+call "%EXECUTABLE%" stop %CMD_LINE_ARGS%

+

+:end

diff --git a/tomcat-uidm/bin/shutdown.sh b/tomcat-uidm/bin/shutdown.sh
new file mode 100644
index 0000000..e454500
--- /dev/null
+++ b/tomcat-uidm/bin/shutdown.sh
@@ -0,0 +1,46 @@
+#!/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.
+
+# -----------------------------------------------------------------------------
+# Stop script for the CATALINA Server
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+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
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "The file is absent or does not have execute permission"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
diff --git a/tomcat-uidm/bin/startup.bat b/tomcat-uidm/bin/startup.bat
new file mode 100644
index 0000000..179e245
--- /dev/null
+++ b/tomcat-uidm/bin/startup.bat
@@ -0,0 +1,57 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+if "%OS%" == "Windows_NT" setlocal

+rem ---------------------------------------------------------------------------

+rem Start script for the CATALINA Server

+rem ---------------------------------------------------------------------------

+

+rem Guess CATALINA_HOME if not defined

+set "CURRENT_DIR=%cd%"

+if not "%CATALINA_HOME%" == "" goto gotHome

+set "CATALINA_HOME=%CURRENT_DIR%"

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+cd ..

+set "CATALINA_HOME=%cd%"

+cd "%CURRENT_DIR%"

+:gotHome

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+echo The CATALINA_HOME environment variable is not defined correctly

+echo This environment variable is needed to run this program

+goto end

+:okHome

+

+set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

+

+rem Check that target executable exists

+if exist "%EXECUTABLE%" goto okExec

+echo Cannot find "%EXECUTABLE%"

+echo This file is needed to run this program

+goto end

+:okExec

+

+rem Get remaining unshifted command line arguments and save them in the

+set CMD_LINE_ARGS=

+:setArgs

+if ""%1""=="""" goto doneSetArgs

+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

+shift

+goto setArgs

+:doneSetArgs

+

+call "%EXECUTABLE%" start %CMD_LINE_ARGS%

+

+:end

diff --git a/tomcat-uidm/bin/startup.sh b/tomcat-uidm/bin/startup.sh
new file mode 100644
index 0000000..3a68fe8
--- /dev/null
+++ b/tomcat-uidm/bin/startup.sh
@@ -0,0 +1,63 @@
+#!/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.
+
+# -----------------------------------------------------------------------------
+# Start Script for the CATALINA Server
+# -----------------------------------------------------------------------------
+
+# Better OS/400 detection: see Bugzilla 31132
+os400=false
+darwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+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
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if $os400; then
+  # -x will Only work on the os400 if the files are: 
+  # 1. owned by the user
+  # 2. owned by the PRIMARY group of the user
+  # this will not work if the user belongs in secondary groups
+  eval
+else
+  if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+    echo "Cannot find $PRGDIR/$EXECUTABLE"
+    echo "The file is absent or does not have execute permission"
+    echo "This file is needed to run this program"
+    exit 1
+  fi
+fi 
+
+exec "$PRGDIR"/"$EXECUTABLE" start "$@"
diff --git a/tomcat-uidm/bin/tomcat-juli.jar b/tomcat-uidm/bin/tomcat-juli.jar
new file mode 100644
index 0000000..ee62416
--- /dev/null
+++ b/tomcat-uidm/bin/tomcat-juli.jar
Binary files differ
diff --git a/tomcat-uidm/bin/tomcat-native.tar.gz b/tomcat-uidm/bin/tomcat-native.tar.gz
new file mode 100644
index 0000000..a764da7
--- /dev/null
+++ b/tomcat-uidm/bin/tomcat-native.tar.gz
Binary files differ
diff --git a/tomcat-uidm/bin/tool-wrapper.bat b/tomcat-uidm/bin/tool-wrapper.bat
new file mode 100644
index 0000000..7b88835
--- /dev/null
+++ b/tomcat-uidm/bin/tool-wrapper.bat
@@ -0,0 +1,83 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+if "%OS%" == "Windows_NT" setlocal

+rem ---------------------------------------------------------------------------

+rem Wrapper script for command line tools

+rem

+rem Environment Variable Prerequisites

+rem

+rem   CATALINA_HOME May point at your Catalina "build" directory.

+rem

+rem   TOOL_OPTS     (Optional) Java runtime options used when the "start",

+rem                 "stop", or "run" command is executed.

+rem

+rem   JAVA_HOME     Must point at your Java Development Kit installation.

+rem

+rem   JAVA_OPTS     (Optional) Java runtime options used when the "start",

+rem                 "stop", or "run" command is executed.

+rem ---------------------------------------------------------------------------

+

+rem Guess CATALINA_HOME if not defined

+if not "%CATALINA_HOME%" == "" goto gotHome

+set CATALINA_HOME=.

+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome

+set CATALINA_HOME=..

+:gotHome

+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome

+echo The CATALINA_HOME environment variable is not defined correctly

+echo This environment variable is needed to run this program

+goto end

+:okHome

+

+rem Ensure that any user defined CLASSPATH variables are not used on startup,

+rem but allow them to be specified in setenv.bat, in rare case when it is needed.

+set CLASSPATH=

+

+rem Get standard environment variables

+if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

+

+rem Get standard Java environment variables

+if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath

+echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"

+echo This file is needed to run this program

+goto end

+:okSetclasspath

+set "BASEDIR=%CATALINA_HOME%"

+call "%CATALINA_HOME%\bin\setclasspath.bat"

+

+rem Add on extra jar files to CLASSPATH

+rem Note that there are no quotes as we do not want to introduce random

+rem quotes into the CLASSPATH

+if "%CLASSPATH%" == "" goto noclasspath

+set "CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;%BASEDIR%\lib\servlet-api.jar"

+goto okclasspath

+:noclasspath

+set "CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%BASEDIR%\lib\servlet-api.jar"

+:okclasspath

+

+rem Get remaining unshifted command line arguments and save them in the

+set CMD_LINE_ARGS=

+:setArgs

+if ""%1""=="""" goto doneSetArgs

+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

+shift

+goto setArgs

+:doneSetArgs

+

+%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Tool %CMD_LINE_ARGS%

+

+:end

diff --git a/tomcat-uidm/bin/tool-wrapper.sh b/tomcat-uidm/bin/tool-wrapper.sh
new file mode 100644
index 0000000..71c1de4
--- /dev/null
+++ b/tomcat-uidm/bin/tool-wrapper.sh
@@ -0,0 +1,97 @@
+#!/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.
+
+# -----------------------------------------------------------------------------
+# Wrapper script for command line tools
+#
+# Environment Variable Prerequisites
+#
+#   CATALINA_HOME May point at your Catalina "build" directory.
+#
+#   TOOL_OPTS     (Optional) Java runtime options used when the "start",
+#                 "stop", or "run" command is executed.
+#
+#   JAVA_HOME     Must point at your Java Development Kit installation.
+#
+#   JAVA_OPTS     (Optional) Java runtime options used when the "start",
+#                 "stop", or "run" command is executed.
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+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
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
+
+# Ensure that any user defined CLASSPATH variables are not used on startup,
+# but allow them to be specified in setenv.sh, in rare case when it is needed.
+CLASSPATH=
+
+if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
+  . "$CATALINA_HOME"/bin/setenv.sh
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# Get standard Java environment variables
+if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
+  BASEDIR="$CATALINA_HOME"
+  . "$CATALINA_HOME"/bin/setclasspath.sh
+else
+  echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+# Add on extra jar files to CLASSPATH
+CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$BASEDIR"/lib/servlet-api.jar
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  CATALINA_HOME=`cygpath --path --windows "$CATALINA_HOME"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+exec "$_RUNJAVA" $JAVA_OPTS $TOOL_OPTS \
+  -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+  -Dcatalina.home="$CATALINA_HOME" \
+  org.apache.catalina.startup.Tool "$@"
diff --git a/tomcat-uidm/bin/version.bat b/tomcat-uidm/bin/version.bat
new file mode 100644
index 0000000..e190c23
--- /dev/null
+++ b/tomcat-uidm/bin/version.bat
@@ -0,0 +1,57 @@
+@echo off

+rem Licensed to the Apache Software Foundation (ASF) under one or more

+rem contributor license agreements.  See the NOTICE file distributed with

+rem this work for additional information regarding copyright ownership.

+rem The ASF licenses this file to You under the Apache License, Version 2.0

+rem (the "License"); you may not use this file except in compliance with

+rem the License.  You may obtain a copy of the License at

+rem

+rem     http://www.apache.org/licenses/LICENSE-2.0

+rem

+rem Unless required by applicable law or agreed to in writing, software

+rem distributed under the License is distributed on an "AS IS" BASIS,

+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+rem See the License for the specific language governing permissions and

+rem limitations under the License.

+

+if "%OS%" == "Windows_NT" setlocal

+rem ---------------------------------------------------------------------------

+rem Version script for the CATALINA Server

+rem ---------------------------------------------------------------------------

+

+rem Guess CATALINA_HOME if not defined

+set "CURRENT_DIR=%cd%"

+if not "%CATALINA_HOME%" == "" goto gotHome

+set "CATALINA_HOME=%CURRENT_DIR%"

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+cd ..

+set "CATALINA_HOME=%cd%"

+cd "%CURRENT_DIR%"

+:gotHome

+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome

+echo The CATALINA_HOME environment variable is not defined correctly

+echo This environment variable is needed to run this program

+goto end

+:okHome

+

+set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

+

+rem Check that target executable exists

+if exist "%EXECUTABLE%" goto okExec

+echo Cannot find "%EXECUTABLE%"

+echo This file is needed to run this program

+goto end

+:okExec

+

+rem Get remaining unshifted command line arguments and save them in the

+set CMD_LINE_ARGS=

+:setArgs

+if ""%1""=="""" goto doneSetArgs

+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

+shift

+goto setArgs

+:doneSetArgs

+

+call "%EXECUTABLE%" version %CMD_LINE_ARGS%

+

+:end

diff --git a/tomcat-uidm/bin/version.sh b/tomcat-uidm/bin/version.sh
new file mode 100644
index 0000000..6723161
--- /dev/null
+++ b/tomcat-uidm/bin/version.sh
@@ -0,0 +1,46 @@
+#!/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.
+
+# -----------------------------------------------------------------------------
+# Version Script for the CATALINA Server
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+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
+
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "The file is absent or does not have execute permission"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" version "$@"