anchor.diff:            description = "Parameters to pass to the Java Virtual Machine which spawns the Catalina servlet container";
           };
           
  -        sharedLibFrom = mkOption {
  -          default = "";
  -          description = "Location where shared libraries are stored. Leave empty to use the baseDir.";
  -        };
  -        
  -        commonLibFrom = mkOption {
  -          default = "";
  -          description = "Location where common libraries are stored. Leave empty to use the baseDir.";
  -        };
  -        
  -        contextXML = mkOption {
  -          default = "";
  -          description = "Location of the context.xml to use. Leave empty to use the default.";
  -        };
  +        sharedLibs = mkOption {
  +          default = [];
  +          description = "List containing JAR files or directories with JAR files which are libraries shared by the web applications";
  +        };
  +        
  +        commonLibs = mkOption {
  +          default = [];
  +          description = "List containing JAR files or directories with JAR files which are libraries shared by the web applications and the servlet container";
  +        };
  +	
  +	webapps = mkOption {
  +	  default = [ pkgs.tomcat6 ];
  +	  description = "List containing WAR files or directories with WAR files which are web applications to be deployed on Tomcat";
  +	};
  +	
  +	axis2 = {
  +	  enable = mkOption {
  +	    default = false;
  +	    description = "Whether to enable an Apache Axis2 container";
  +	  };
  +	  
  +	  services = mkOption {
  +	    default = [];
  +	    description = "List containing AAR files or directories with AAR files which are web services to be deployed on Axis2";
  +	  };
  +	};
         };
       };
     };
  
positive.code:         stop on network-interfaces/stop
          
          start script
              # Create initial state data
              
              if ! test -d ${cfg.baseDir}
              then    
                  mkdir -p ${cfg.baseDir}/webapps
                  mkdir -p ${cfg.baseDir}/shared
                  mkdir -p ${cfg.baseDir}/lib
                  cp -av ${pkgs.tomcat6}/{conf,temp,logs} ${cfg.baseDir}
              fi
              
              # Deploy context.xml
              
              if test "${cfg.contextXML}" = ""
              then
                  cp ${pkgs.tomcat6}/conf/context.xml.default ${cfg.baseDir}/conf/context.xml
              else
                  cp ${cfg.contextXML} ${cfg.baseDir}/conf/context.xml
              fi
                      
              # Deploy all webapplications
              
              if ! test "${cfg.deployFrom}" = ""
              then
                  rm -rf ${cfg.baseDir}/webapps
                  mkdir -p ${cfg.baseDir}/webapps
                  for i in ${cfg.deployFrom}/*
                  do
                      cp -rL $i ${cfg.baseDir}/webapps
                  done
              fi
              
              # Fix permissions
              
              chown -R ${cfg.user} ${cfg.baseDir}
              
              for i in `find ${cfg.baseDir} -type d`
              do
                  chmod -v 755 $i
              done
              
              for i in `find ${cfg.baseDir} -type f`
              do
                  chmod -v 644 $i
              done
  
              # Deploy all common libraries
                      
              rm -rf ${cfg.baseDir}/lib/*
              
              if test "${cfg.commonLibFrom}" = ""
              then
                  commonLibFrom="${pkgs.tomcat6}/lib";
              else
                  commonLibFrom="${cfg.commonLibFrom}";
              fi
              
              for i in $commonLibFrom/*.jar
              do
                  ln -s $i ${cfg.baseDir}/lib
              done
  
              # Deploy all shared libraries
              
              if ! test "${cfg.sharedLibFrom}" = ""
              then
                  rm -f ${cfg.baseDir}/shared/lib
                  ln -s ${cfg.sharedLibFrom} ${cfg.baseDir}/shared/lib
              fi
  
          end script
          
          respawn ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c 'CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${pkgs.jdk} JAVA_OPTS="${cfg.javaOpts}" CATALINA_OPTS="${cfg.catalinaOpts}" ${pkgs.tomcat6}/bin/startup.sh; sleep 1000d'
  
negative.code:           description = "User account under which Apache Tomcat runs.";
          };      
          
  	group = mkOption {
            default = "tomcat";
            description = "Group account under which Apache Tomcat runs.";
          };      
          
          javaOpts = mkOption {
            default = "";
  