JBossWeb SVN: r1427 - tags.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-31 14:45:30 -0400 (Wed, 31 Mar 2010)
New Revision: 1427
Added:
tags/JBOSSWEB_3_0_0_BETA4/
Log:
- New build with JSP fixes mostly.
Copied: tags/JBOSSWEB_3_0_0_BETA4 (from rev 1426, trunk)
14 years, 8 months
JBossWeb SVN: r1426 - trunk/webapps/docs.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-31 13:31:04 -0400 (Wed, 31 Mar 2010)
New Revision: 1426
Modified:
trunk/webapps/docs/changelog.xml
Log:
- Changelog update.
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2010-03-31 17:02:39 UTC (rev 1425)
+++ trunk/webapps/docs/changelog.xml 2010-03-31 17:31:04 UTC (rev 1426)
@@ -19,6 +19,9 @@
<section name="JBoss Web 3.0.0.Beta4 (remm)">
<subsection name="Catalina">
<changelog>
+ <fix>
+ Add missing event for regular request processing to InstanceListener. (remm)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
14 years, 8 months
JBossWeb SVN: r1425 - in trunk: conf and 3 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-31 13:02:39 -0400 (Wed, 31 Mar 2010)
New Revision: 1425
Removed:
trunk/bin/
trunk/conf/catalina.policy
trunk/conf/catalina.properties
trunk/conf/context.xml
trunk/conf/logging.properties
trunk/conf/server.xml
trunk/conf/tomcat-users.xml
trunk/conf/web.xml
trunk/res/INSTALLLICENSE
trunk/res/bootstrap.jar.manifest
trunk/res/config.ini
trunk/res/confinstall/server_1.xml
trunk/res/confinstall/server_2.xml
trunk/res/confinstall/tomcat-users_1.xml
trunk/res/confinstall/tomcat-users_2.xml
trunk/res/deployer/
trunk/res/el-api-pom.xml
trunk/res/header.bmp
trunk/res/jboss-web.ico
trunk/res/jboss-web.nsi
trunk/res/jsp-api-pom.xml
trunk/res/jvm.ini
trunk/res/main.ico
trunk/res/maven/
trunk/res/procrun/
trunk/res/servlet-api-pom.xml
trunk/res/side_left.bmp
trunk/res/tickno.bmp
trunk/res/tickyes.bmp
trunk/res/uninst.ico
trunk/webapps/host-manager/
trunk/webapps/manager/
Log:
- Remove all unused standalone files.
Deleted: trunk/conf/catalina.policy
===================================================================
--- trunk/conf/catalina.policy 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/conf/catalina.policy 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,179 +0,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.
-
-// ============================================================================
-// catalina.corepolicy - Security Policy Permissions for JBoss Web
-//
-// This file contains a default set of security policies to be enforced (by the
-// JVM) when Catalina is executed with the "-security" option. In addition
-// to the permissions granted here, the following additional permissions are
-// granted to the codebase specific to each web application:
-//
-// * Read access to the document root directory
-//
-// $Id$
-// ============================================================================
-
-
-// ========== SYSTEM CODE PERMISSIONS =========================================
-
-
-// These permissions apply to javac
-grant codeBase "file:${java.home}/lib/-" {
- permission java.security.AllPermission;
-};
-
-// These permissions apply to all shared system extensions
-grant codeBase "file:${java.home}/jre/lib/ext/-" {
- permission java.security.AllPermission;
-};
-
-// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
-grant codeBase "file:${java.home}/../lib/-" {
- permission java.security.AllPermission;
-};
-
-// These permissions apply to all shared system extensions when
-// ${java.home} points at $JAVA_HOME/jre
-grant codeBase "file:${java.home}/lib/ext/-" {
- permission java.security.AllPermission;
-};
-
-
-// ========== CATALINA CODE PERMISSIONS =======================================
-
-
-// These permissions apply to the daemon code
-grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
- permission java.security.AllPermission;
-};
-
-// These permissions apply to the logging API
-grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
- permission java.util.PropertyPermission "java.util.logging.config.class", "read";
- permission java.util.PropertyPermission "java.util.logging.config.file", "read";
- permission java.io.FilePermission "${java.home}${file.separator}lib${file.separator}logging.properties", "read";
- permission java.lang.RuntimePermission "shutdownHooks";
- permission java.io.FilePermission "${catalina.base}${file.separator}conf${file.separator}logging.properties", "read";
- permission java.util.PropertyPermission "catalina.base", "read";
- permission java.util.logging.LoggingPermission "control";
- permission java.io.FilePermission "${catalina.base}${file.separator}logs", "read, write";
- permission java.io.FilePermission "${catalina.base}${file.separator}logs${file.separator}*", "read, write";
- permission java.lang.RuntimePermission "getClassLoader";
- // To enable per context logging configuration, permit read access to the appropriate file.
- // Be sure that the logging configuration is secure before enabling such access
- // eg for the examples web application:
- // permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}examples${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";
-};
-
-// These permissions apply to the server startup code
-grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
- permission java.security.AllPermission;
-};
-
-// These permissions apply to the servlet API classes
-// and those that are shared across all class loaders
-// located in the "lib" directory
-grant codeBase "file:${catalina.home}/lib/-" {
- permission java.security.AllPermission;
-};
-
-
-// ========== WEB APPLICATION PERMISSIONS =====================================
-
-
-// These permissions are granted by default to all web applications
-// In addition, a web application will be given a read FilePermission
-// and JndiPermission for all files and directories in its document root.
-grant {
- // Required for JNDI lookup of named JDBC DataSource's and
- // javamail named MimePart DataSource used to send mail
- permission java.util.PropertyPermission "java.home", "read";
- permission java.util.PropertyPermission "java.naming.*", "read";
- permission java.util.PropertyPermission "javax.sql.*", "read";
-
- // OS Specific properties to allow read access
- permission java.util.PropertyPermission "os.name", "read";
- permission java.util.PropertyPermission "os.version", "read";
- permission java.util.PropertyPermission "os.arch", "read";
- permission java.util.PropertyPermission "file.separator", "read";
- permission java.util.PropertyPermission "path.separator", "read";
- permission java.util.PropertyPermission "line.separator", "read";
-
- // JVM properties to allow read access
- permission java.util.PropertyPermission "java.version", "read";
- permission java.util.PropertyPermission "java.vendor", "read";
- permission java.util.PropertyPermission "java.vendor.url", "read";
- permission java.util.PropertyPermission "java.class.version", "read";
- permission java.util.PropertyPermission "java.specification.version", "read";
- permission java.util.PropertyPermission "java.specification.vendor", "read";
- permission java.util.PropertyPermission "java.specification.name", "read";
-
- permission java.util.PropertyPermission "java.vm.specification.version", "read";
- permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
- permission java.util.PropertyPermission "java.vm.specification.name", "read";
- permission java.util.PropertyPermission "java.vm.version", "read";
- permission java.util.PropertyPermission "java.vm.vendor", "read";
- permission java.util.PropertyPermission "java.vm.name", "read";
-
- // Required for OpenJMX
- permission java.lang.RuntimePermission "getAttribute";
-
- // Allow read of JAXP compliant XML parser debug
- permission java.util.PropertyPermission "jaxp.debug", "read";
-
- // Precompiled JSPs need access to these packages.
- permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el";
- permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
- permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
-
- // Precompiled JSPs need access to these system properties.
- permission java.util.PropertyPermission "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read";
- permission java.util.PropertyPermission "org.apache.el.parser.COERCE_TO_ZERO", "read";
-};
-
-
-// You can assign additional permissions to particular web applications by
-// adding additional "grant" entries here, based on the code base for that
-// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
-//
-// Different permissions can be granted to JSP pages, classes loaded from
-// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
-// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
-//
-// For instance, assume that the standard "examples" application
-// included a JDBC driver that needed to establish a network connection to the
-// corresponding database and used the scrape taglib to get the weather from
-// the NOAA web server. You might create a "grant" entries like this:
-//
-// The permissions granted to the context root directory apply to JSP pages.
-// grant codeBase "file:${catalina.home}/webapps/examples/-" {
-// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
-// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
-// };
-//
-// The permissions granted to the context WEB-INF/classes directory
-// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
-// };
-//
-// The permission granted to your JDBC driver
-// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
-// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
-// };
-// The permission granted to the scrape taglib
-// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
-// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
-// };
-
Deleted: trunk/conf/catalina.properties
===================================================================
--- trunk/conf/catalina.properties 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/conf/catalina.properties 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,66 +0,0 @@
-#
-# List of comma-separated packages that start with or equal this string
-# will cause a security exception to be thrown when
-# passed to checkPackageAccess unless the
-# corresponding RuntimePermission ("accessClassInPackage."+package) has
-# been granted.
-package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
-#
-# List of comma-separated packages that start with or equal this string
-# will cause a security exception to be thrown when
-# passed to checkPackageDefinition unless the
-# corresponding RuntimePermission ("defineClassInPackage."+package) has
-# been granted.
-#
-# by default, no packages are restricted for definition, and none of
-# the class loaders supplied with the JDK call checkPackageDefinition.
-#
-package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
-
-#
-#
-# List of comma-separated paths defining the contents of the "common"
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
-# If left as blank,the JVM system loader will be used as Catalina's "common"
-# loader.
-# Examples:
-# "foo": Add this folder as a class repository
-# "foo/*.jar": Add all the JARs of the specified folder as class
-# repositories
-# "foo/bar.jar": Add bar.jar as a class repository
-common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
-
-#
-# List of comma-separated paths defining the contents of the "server"
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
-# If left as blank, the "common" loader will be used as Catalina's "server"
-# loader.
-# Examples:
-# "foo": Add this folder as a class repository
-# "foo/*.jar": Add all the JARs of the specified folder as class
-# repositories
-# "foo/bar.jar": Add bar.jar as a class repository
-server.loader=
-
-#
-# List of comma-separated paths defining the contents of the "shared"
-# classloader. Prefixes should be used to define what is the repository type.
-# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
-# the "common" loader will be used as Catalina's "shared" loader.
-# Examples:
-# "foo": Add this folder as a class repository
-# "foo/*.jar": Add all the JARs of the specified folder as class
-# repositories
-# "foo/bar.jar": Add bar.jar as a class repository
-# Please note that for single jars, e.g. bar.jar, you need the URL form
-# starting with file:.
-shared.loader=
-
-#
-# String cache configuration.
-org.apache.tomcat.util.buf.StringCache.byte.enabled=true
-#org.apache.tomcat.util.buf.StringCache.char.enabled=true
-#org.apache.tomcat.util.buf.StringCache.trainThreshold=500000
-#org.apache.tomcat.util.buf.StringCache.cacheSize=5000
Deleted: trunk/conf/context.xml
===================================================================
--- trunk/conf/context.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/conf/context.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,18 +0,0 @@
-<!-- The contents of this file will be loaded for each web application -->
-<Context>
-
- <!-- Default set of monitored resources -->
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
-
- <!-- Uncomment this to disable session persistence across Tomcat restarts -->
- <!--
- <Manager pathname="" />
- -->
-
- <!-- Uncomment this to enable Comet connection tacking (provides events
- on session expiration as well as webapp lifecycle) -->
- <!--
- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
- -->
-
-</Context>
\ No newline at end of file
Deleted: trunk/conf/logging.properties
===================================================================
--- trunk/conf/logging.properties 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/conf/logging.properties 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,49 +0,0 @@
-handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
-
-.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
-
-############################################################
-# Handler specific properties.
-# Describes specific configuration info for Handlers.
-############################################################
-
-1catalina.org.apache.juli.FileHandler.level = FINE
-1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
-1catalina.org.apache.juli.FileHandler.prefix = catalina.
-
-2localhost.org.apache.juli.FileHandler.level = FINE
-2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
-2localhost.org.apache.juli.FileHandler.prefix = localhost.
-
-3manager.org.apache.juli.FileHandler.level = FINE
-3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
-3manager.org.apache.juli.FileHandler.prefix = manager.
-
-5host-manager.org.apache.juli.FileHandler.level = FINE
-5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
-5host-manager.org.apache.juli.FileHandler.prefix = host-manager.
-
-java.util.logging.ConsoleHandler.level = FINE
-java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
-
-
-############################################################
-# Facility specific properties.
-# Provides extra control for each logger.
-############################################################
-
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
-
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
-
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.org.apache.juli.FileHandler
-
-# For example, set the com.xyz.foo logger to only log SEVERE
-# messages:
-#org.apache.catalina.startup.ContextConfig.level = FINE
-#org.apache.catalina.startup.HostConfig.level = FINE
-#org.apache.catalina.session.ManagerBase.level = FINE
-#org.apache.catalina.core.AprLifecycleListener.level=FINE
Deleted: trunk/conf/server.xml
===================================================================
--- trunk/conf/server.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/conf/server.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,87 +0,0 @@
-<!-- Note: A "Server" is not itself a "Container", so you may not
- define subcomponents such as "Valves" at this level.
- Documentation at /docs/config/server.html
- -->
-<Server port="8005" shutdown="SHUTDOWN">
-
- <!--APR library loader. Documentation at /docs/apr.html -->
- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
- <!--Initialize Jasper prior to webapps deployment. Documentation at /docs/jasper-howto.html -->
- <Listener className="org.apache.catalina.core.JasperListener" />
- <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
- <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
- <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
-
- <!-- A "Service" is a collection of one or more "Connectors" that share
- a single "Container" Note: A "Service" is not itself a "Container",
- so you may not define subcomponents such as "Valves" at this level.
- Documentation at /docs/config/service.html
- -->
- <Service name="Catalina">
-
- <!-- A "Connector" represents an endpoint by which requests are received
- and responses are returned. Documentation at :
- Java HTTP Connector: /docs/config/http.html
- Java AJP Connector: /docs/config/ajp.html
- If APR is installed, additional Connector documentation: /docs/apr.html
- Define a non-SSL HTTP/1.1 Connector on port 8080.
- For HTTPS, refer to the documentation.
- JSSE documentation: /docs/ssl-howto.html
- Using APR and OpenSSL: /docs/apr.html
- -->
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000" redirectPort="8443" />
-
- <!-- Define an AJP 1.3 Connector on port 8009 -->
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-
- <!-- An Engine represents the entry point (within Catalina) that processes
- every request. The Engine implementation for Tomcat stand alone
- analyzes the HTTP headers included with the request, and passes them
- on to the appropriate Host (virtual host).
- Documentation at /docs/config/engine.html -->
-
- <!-- You should set jvmRoute to support load-balancing via AJP ie :
- <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
- -->
- <Engine name="Catalina" defaultHost="localhost">
-
- <!--For clustering, please take a look at documentation at:
- /docs/cluster-howto.html (simple how to)
- /docs/config/cluster.html (reference documentation) -->
- <!--
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
- -->
-
- <!-- The request dumper valve dumps useful debugging information about
- the request and response data received and sent by Tomcat.
- Documentation at: /docs/config/valve.html -->
- <!--
- <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
- -->
-
- <Realm className="org.apache.catalina.realm.MemoryRealm"/>
-
- <!-- Define the default virtual host
- Note: XML Schema validation will not work with Xerces 2.2.
- -->
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true">
-
- <!-- SingleSignOn valve, share authentication between web applications
- Documentation at: /docs/config/valve.html -->
- <!--
- <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
- -->
-
- <!-- Access log processes all example.
- Documentation at: /docs/config/valve.html -->
- <!--
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
- -->
-
- </Host>
- </Engine>
- </Service>
-</Server>
Deleted: trunk/conf/tomcat-users.xml
===================================================================
--- trunk/conf/tomcat-users.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/conf/tomcat-users.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,10 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<tomcat-users>
-<!--
- <role rolename="tomcat"/>
- <role rolename="role1"/>
- <user username="tomcat" password="tomcat" roles="tomcat"/>
- <user username="both" password="tomcat" roles="tomcat,role1"/>
- <user username="role1" password="tomcat" roles="role1"/>
--->
-</tomcat-users>
Deleted: trunk/conf/web.xml
===================================================================
--- trunk/conf/web.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/conf/web.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,1174 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- 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.
--->
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
-
- <!-- ======================== Introduction ============================== -->
- <!-- This document defines default values for *all* web applications -->
- <!-- loaded into this instance of Tomcat. As each application is -->
- <!-- deployed, this file is processed, followed by the -->
- <!-- "/WEB-INF/web.xml" deployment descriptor from your own -->
- <!-- applications. -->
- <!-- -->
- <!-- WARNING: Do not configure application-specific resources here! -->
- <!-- They should go in the "/WEB-INF/web.xml" file in your application. -->
-
-
- <!-- ================== Built In Servlet Definitions ==================== -->
-
-
- <!-- The default servlet for all web applications, that serves static -->
- <!-- resources. It processes all requests that are not mapped to other -->
- <!-- servlets with servlet mappings (defined either here or in your own -->
- <!-- web.xml file. This servlet supports the following initialization -->
- <!-- parameters (default values are in square brackets): -->
- <!-- -->
- <!-- debug Debugging detail level for messages logged -->
- <!-- by this servlet. [0] -->
- <!-- -->
- <!-- fileEncoding Encoding to be used to read static resources -->
- <!-- [platform default] -->
- <!-- -->
- <!-- input Input buffer size (in bytes) when reading -->
- <!-- resources to be served. [2048] -->
- <!-- -->
- <!-- listings Should directory listings be produced if there -->
- <!-- is no welcome file in this directory? [false] -->
- <!-- WARNING: Listings for directories with many -->
- <!-- entries can be slow and may consume -->
- <!-- significant proportions of server resources. -->
- <!-- -->
- <!-- output Output buffer size (in bytes) when writing -->
- <!-- resources to be served. [2048] -->
- <!-- -->
- <!-- readonly Is this context "read only", so HTTP -->
- <!-- commands like PUT and DELETE are -->
- <!-- rejected? [true] -->
- <!-- -->
- <!-- readmeFile File name to display with the directory -->
- <!-- contents. [null] -->
- <!-- -->
- <!-- sendfileSize If the connector used supports sendfile, this -->
- <!-- represents the minimal file size in KB for -->
- <!-- which sendfile will be used. Use a negative -->
- <!-- value to always disable sendfile. [48] -->
- <!-- -->
- <!-- useAcceptRanges Should the Accept-Ranges header be included -->
- <!-- in responses where appropriate? [true] -->
- <!-- -->
- <!-- For directory listing customization. Checks localXsltFile, then -->
- <!-- globalXsltFile, then defaults to original behavior. -->
- <!-- -->
- <!-- localXsltFile Make directory listings an XML doc and -->
- <!-- pass the result to this style sheet residing -->
- <!-- in that directory. This overrides -->
- <!-- globalXsltFile[null] -->
- <!-- -->
- <!-- globalXsltFile Site wide configuration version of -->
- <!-- localXsltFile This argument is expected -->
- <!-- to be a physical file. [null] -->
- <!-- -->
- <!-- -->
-
- <servlet>
- <servlet-name>default</servlet-name>
- <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>0</param-value>
- </init-param>
- <init-param>
- <param-name>listings</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
-
- <!-- The JSP page compiler and execution servlet, which is the mechanism -->
- <!-- used by Tomcat to support JSP pages. Traditionally, this servlet -->
- <!-- is mapped to the URL pattern "*.jsp". This servlet supports the -->
- <!-- following initialization parameters (default values are in square -->
- <!-- brackets): -->
- <!-- -->
- <!-- checkInterval If development is false and checkInterval is -->
- <!-- greater than zero, background compilations are -->
- <!-- enabled. checkInterval is the time in seconds -->
- <!-- between checks to see if a JSP page (and its -->
- <!-- dependent files) needs to be recompiled. [0] -->
- <!-- -->
- <!-- classdebuginfo Should the class file be compiled with -->
- <!-- debugging information? [true] -->
- <!-- -->
- <!-- compilerSourceVM Compiler source VM. [1.5] -->
- <!-- -->
- <!-- compilerTargetVM Compiler target VM. [1.5] -->
- <!-- -->
- <!-- development Is Jasper used in development mode? If true, -->
- <!-- the frequency at which JSPs are checked for -->
- <!-- modification may be specified via the -->
- <!-- modificationTestInterval parameter. [true] -->
- <!-- -->
- <!-- displaySourceFragment -->
- <!-- Should a source fragment be included in -->
- <!-- exception messages? [true] -->
- <!-- -->
- <!-- dumpSmap Should the SMAP info for JSR45 debugging be -->
- <!-- dumped to a file? [false] -->
- <!-- False if suppressSmap is true -->
- <!-- -->
- <!-- enablePooling Determines whether tag handler pooling is -->
- <!-- enabled. This is a compilation option. It will -->
- <!-- not alter the behaviour of JSPs that have -->
- <!-- already been compiled. [true] -->
- <!-- -->
- <!-- engineOptionsClass Allows specifying the Options class used to -->
- <!-- configure Jasper. If not present, the default -->
- <!-- EmbeddedServletOptions will be used. -->
- <!-- -->
- <!-- errorOnUseBeanInvalidClassAttribute -->
- <!-- Should Jasper issue an error when the value of -->
- <!-- the class attribute in an useBean action is -->
- <!-- not a valid bean class? [true] -->
- <!-- -->
- <!-- fork Tell Ant to fork compiles of JSP pages so that -->
- <!-- a separate JVM is used for JSP page compiles -->
- <!-- from the one Tomcat is running in. [true] -->
- <!-- -->
- <!-- genStrAsCharArray Should text strings be generated as char -->
- <!-- arrays, to improve performance in some cases? -->
- <!-- [false] -->
- <!-- -->
- <!-- ieClassId The class-id value to be sent to Internet -->
- <!-- Explorer when using <jsp:plugin> tags. -->
- <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] -->
- <!-- -->
- <!-- javaEncoding Java file encoding to use for generating java -->
- <!-- source files. [UTF8] -->
- <!-- -->
- <!-- keepgenerated Should we keep the generated Java source code -->
- <!-- for each page instead of deleting it? [true] -->
- <!-- -->
- <!-- mappedfile Should we generate static content with one -->
- <!-- print statement per input line, to ease -->
- <!-- debugging? [true] -->
- <!-- -->
- <!-- modificationTestInterval -->
- <!-- Causes a JSP (and its dependent files) to not -->
- <!-- be checked for modification during the -->
- <!-- specified time interval (in seconds) from the -->
- <!-- last time the JSP was checked for -->
- <!-- modification. A value of 0 will cause the JSP -->
- <!-- to be checked on every access. -->
- <!-- Used in development mode only. [4] -->
- <!-- -->
- <!-- scratchdir What scratch directory should we use when -->
- <!-- compiling JSP pages? [default work directory -->
- <!-- for the current web application] -->
- <!-- -->
- <!-- suppressSmap Should the generation of SMAP info for JSR45 -->
- <!-- debugging be suppressed? [false] -->
- <!-- -->
- <!-- trimSpaces Should white spaces in template text between -->
- <!-- actions or directives be trimmed? [false] -->
- <!-- -->
- <!-- xpoweredBy Determines whether X-Powered-By response -->
- <!-- header is added by generated servlet [false] -->
- <!-- -->
- <!-- If you wish to use Jikes to compile JSP pages: -->
- <!-- Please see the "Using Jikes" section of the Jasper-HowTo -->
- <!-- page in the Tomcat documentation. -->
-
- <servlet>
- <servlet-name>jsp</servlet-name>
- <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
- <init-param>
- <param-name>fork</param-name>
- <param-value>false</param-value>
- </init-param>
- <init-param>
- <param-name>xpoweredBy</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>3</load-on-startup>
- </servlet>
-
-
- <!-- NOTE: An SSI Filter is also available as an alternative SSI -->
- <!-- implementation. Use either the Servlet or the Filter but NOT both. -->
- <!-- -->
- <!-- Server Side Includes processing servlet, which processes SSI -->
- <!-- directives in HTML pages consistent with similar support in web -->
- <!-- servers like Apache. Traditionally, this servlet is mapped to the -->
- <!-- URL pattern "*.shtml". This servlet supports the following -->
- <!-- initialization parameters (default values are in square brackets): -->
- <!-- -->
- <!-- buffered Should output from this servlet be buffered? -->
- <!-- (0=false, 1=true) [0] -->
- <!-- -->
- <!-- debug Debugging detail level for messages logged -->
- <!-- by this servlet. [0] -->
- <!-- -->
- <!-- expires The number of seconds before a page with SSI -->
- <!-- directives will expire. [No default] -->
- <!-- -->
- <!-- isVirtualWebappRelative -->
- <!-- Should "virtual" paths be interpreted as -->
- <!-- relative to the context root, instead of -->
- <!-- the server root? (0=false, 1=true) [0] -->
- <!-- -->
- <!-- inputEncoding The encoding to assume for SSI resources if -->
- <!-- one is not available from the resource. -->
- <!-- [Platform default] -->
- <!-- -->
- <!-- outputEncoding The encoding to use for the page that results -->
- <!-- from the SSI processing. [UTF-8] -->
-
-<!--
- <servlet>
- <servlet-name>ssi</servlet-name>
- <servlet-class>
- org.apache.catalina.ssi.SSIServlet
- </servlet-class>
- <init-param>
- <param-name>buffered</param-name>
- <param-value>1</param-value>
- </init-param>
- <init-param>
- <param-name>debug</param-name>
- <param-value>0</param-value>
- </init-param>
- <init-param>
- <param-name>expires</param-name>
- <param-value>666</param-value>
- </init-param>
- <init-param>
- <param-name>isVirtualWebappRelative</param-name>
- <param-value>0</param-value>
- </init-param>
- <load-on-startup>4</load-on-startup>
- </servlet>
--->
-
-
- <!-- Common Gateway Includes (CGI) processing servlet, which supports -->
- <!-- execution of external applications that conform to the CGI spec -->
- <!-- requirements. Typically, this servlet is mapped to the URL pattern -->
- <!-- "/cgi-bin/*", which means that any CGI applications that are -->
- <!-- executed must be present within the web application. This servlet -->
- <!-- supports the following initialization parameters (default values -->
- <!-- are in square brackets): -->
- <!-- -->
- <!-- cgiPathPrefix The CGI search path will start at -->
- <!-- webAppRootDir + File.separator + this prefix. -->
- <!-- [WEB-INF/cgi] -->
- <!-- -->
- <!-- debug Debugging detail level for messages logged -->
- <!-- by this servlet. [0] -->
- <!-- -->
- <!-- executable Name of the exectuable used to run the -->
- <!-- script. [perl] -->
- <!-- -->
- <!-- parameterEncoding Name of parameter encoding to be used with -->
- <!-- CGI servlet. -->
- <!-- [System.getProperty("file.encoding","UTF-8")] -->
- <!-- -->
- <!-- passShellEnvironment Should the shell environment variables (if -->
- <!-- any) be passed to the CGI script? [false] -->
-
-<!--
- <servlet>
- <servlet-name>cgi</servlet-name>
- <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>0</param-value>
- </init-param>
- <init-param>
- <param-name>cgiPathPrefix</param-name>
- <param-value>WEB-INF/cgi</param-value>
- </init-param>
- <load-on-startup>5</load-on-startup>
- </servlet>
--->
-
-
- <!-- ================ Built In Servlet Mappings ========================= -->
-
-
- <!-- The servlet mappings for the built in servlets defined above. Note -->
- <!-- that, by default, the CGI and SSI servlets are *not* mapped. You -->
- <!-- must uncomment these mappings (or add them to your application's own -->
- <!-- web.xml deployment descriptor) to enable these services -->
-
- <!-- The mapping for the default servlet -->
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
-
- <!-- The mapping for the JSP servlet -->
- <servlet-mapping>
- <servlet-name>jsp</servlet-name>
- <url-pattern>*.jsp</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>jsp</servlet-name>
- <url-pattern>*.jspx</url-pattern>
- </servlet-mapping>
-
- <!-- The mapping for the SSI servlet -->
-<!--
- <servlet-mapping>
- <servlet-name>ssi</servlet-name>
- <url-pattern>*.shtml</url-pattern>
- </servlet-mapping>
--->
-
- <!-- The mapping for the CGI Gateway servlet -->
-
-<!--
- <servlet-mapping>
- <servlet-name>cgi</servlet-name>
- <url-pattern>/cgi-bin/*</url-pattern>
- </servlet-mapping>
--->
-
-
- <!-- ================== Built In Filter Definitions ===================== -->
-
- <!-- NOTE: An SSI Servlet is also available as an alternative SSI -->
- <!-- implementation. Use either the Servlet or the Filter but NOT both. -->
- <!-- -->
- <!-- Server Side Includes processing filter, which processes SSI -->
- <!-- directives in HTML pages consistent with similar support in web -->
- <!-- servers like Apache. Traditionally, this filter is mapped to the -->
- <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will -->
- <!-- selectively enable/disable SSI processing based on mime types. For -->
- <!-- this to work you will need to uncomment the .shtml mime type -->
- <!-- definition towards the bottom of this file. -->
- <!-- The contentType init param allows you to apply SSI processing to JSP -->
- <!-- pages, javascript, or any other content you wish. This filter -->
- <!-- supports the following initialization parameters (default values are -->
- <!-- in square brackets): -->
- <!-- -->
- <!-- contentType A regex pattern that must be matched before -->
- <!-- SSI processing is applied. -->
- <!-- [text/x-server-parsed-html(;.*)?] -->
- <!-- -->
- <!-- debug Debugging detail level for messages logged -->
- <!-- by this servlet. [0] -->
- <!-- -->
- <!-- expires The number of seconds before a page with SSI -->
- <!-- directives will expire. [No default] -->
- <!-- -->
- <!-- isVirtualWebappRelative -->
- <!-- Should "virtual" paths be interpreted as -->
- <!-- relative to the context root, instead of -->
- <!-- the server root? (0=false, 1=true) [0] -->
-
-<!--
- <filter>
- <filter-name>ssi</filter-name>
- <filter-class>
- org.apache.catalina.ssi.SSIFilter
- </filter-class>
- <init-param>
- <param-name>contentType</param-name>
- <param-value>text/x-server-parsed-html(;.*)?</param-value>
- </init-param>
- <init-param>
- <param-name>debug</param-name>
- <param-value>0</param-value>
- </init-param>
- <init-param>
- <param-name>expires</param-name>
- <param-value>666</param-value>
- </init-param>
- <init-param>
- <param-name>isVirtualWebappRelative</param-name>
- <param-value>0</param-value>
- </init-param>
- </filter>
--->
-
-
- <!-- ==================== Built In Filter Mappings ====================== -->
-
- <!-- The mapping for the SSI Filter -->
-<!--
- <filter-mapping>
- <filter-name>ssi</filter-name>
- <url-pattern>*.shtml</url-pattern>
- </filter-mapping>
--->
-
-
- <!-- ==================== Default Session Configuration ================= -->
- <!-- You can set the default session timeout (in minutes) for all newly -->
- <!-- created sessions by modifying the value below. -->
-
- <session-config>
- <session-timeout>30</session-timeout>
- </session-config>
-
-
- <!-- ===================== Default MIME Type Mappings =================== -->
- <!-- When serving static resources, Tomcat will automatically generate -->
- <!-- a "Content-Type" header based on the resource's filename extension, -->
- <!-- based on these mappings. Additional mappings can be added here (to -->
- <!-- apply to all web applications), or in your own application's web.xml -->
- <!-- deployment descriptor. -->
-
- <mime-mapping>
- <extension>abs</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ai</extension>
- <mime-type>application/postscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aif</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aifc</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aiff</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aim</extension>
- <mime-type>application/x-aim</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>art</extension>
- <mime-type>image/x-jg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>asf</extension>
- <mime-type>video/x-ms-asf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>asx</extension>
- <mime-type>video/x-ms-asf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>au</extension>
- <mime-type>audio/basic</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>avi</extension>
- <mime-type>video/x-msvideo</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>avx</extension>
- <mime-type>video/x-rad-screenplay</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>bcpio</extension>
- <mime-type>application/x-bcpio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>bin</extension>
- <mime-type>application/octet-stream</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>bmp</extension>
- <mime-type>image/bmp</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>body</extension>
- <mime-type>text/html</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>cdf</extension>
- <mime-type>application/x-cdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>cer</extension>
- <mime-type>application/x-x509-ca-cert</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>class</extension>
- <mime-type>application/java</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>cpio</extension>
- <mime-type>application/x-cpio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>csh</extension>
- <mime-type>application/x-csh</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>css</extension>
- <mime-type>text/css</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dib</extension>
- <mime-type>image/bmp</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>doc</extension>
- <mime-type>application/msword</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dtd</extension>
- <mime-type>application/xml-dtd</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dv</extension>
- <mime-type>video/x-dv</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>dvi</extension>
- <mime-type>application/x-dvi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>eps</extension>
- <mime-type>application/postscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>etx</extension>
- <mime-type>text/x-setext</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>exe</extension>
- <mime-type>application/octet-stream</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>gif</extension>
- <mime-type>image/gif</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>gtar</extension>
- <mime-type>application/x-gtar</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>gz</extension>
- <mime-type>application/x-gzip</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>hdf</extension>
- <mime-type>application/x-hdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>hqx</extension>
- <mime-type>application/mac-binhex40</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>htc</extension>
- <mime-type>text/x-component</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>htm</extension>
- <mime-type>text/html</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>html</extension>
- <mime-type>text/html</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>hqx</extension>
- <mime-type>application/mac-binhex40</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ief</extension>
- <mime-type>image/ief</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jad</extension>
- <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jar</extension>
- <mime-type>application/java-archive</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>java</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jnlp</extension>
- <mime-type>application/x-java-jnlp-file</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jpe</extension>
- <mime-type>image/jpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jpeg</extension>
- <mime-type>image/jpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jpg</extension>
- <mime-type>image/jpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>js</extension>
- <mime-type>text/javascript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jsf</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>jspf</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>kar</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>latex</extension>
- <mime-type>application/x-latex</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>m3u</extension>
- <mime-type>audio/x-mpegurl</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mac</extension>
- <mime-type>image/x-macpaint</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>man</extension>
- <mime-type>application/x-troff-man</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mathml</extension>
- <mime-type>application/mathml+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>me</extension>
- <mime-type>application/x-troff-me</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mid</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>midi</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mif</extension>
- <mime-type>application/x-mif</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mov</extension>
- <mime-type>video/quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>movie</extension>
- <mime-type>video/x-sgi-movie</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mp1</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mp2</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mp3</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mp4</extension>
- <mime-type>video/mp4</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpa</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpe</extension>
- <mime-type>video/mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpeg</extension>
- <mime-type>video/mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpega</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpg</extension>
- <mime-type>video/mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>mpv2</extension>
- <mime-type>video/mpeg2</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ms</extension>
- <mime-type>application/x-wais-source</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>nc</extension>
- <mime-type>application/x-netcdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>oda</extension>
- <mime-type>application/oda</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Database -->
- <extension>odb</extension>
- <mime-type>application/vnd.oasis.opendocument.database</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Chart -->
- <extension>odc</extension>
- <mime-type>application/vnd.oasis.opendocument.chart</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Formula -->
- <extension>odf</extension>
- <mime-type>application/vnd.oasis.opendocument.formula</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Drawing -->
- <extension>odg</extension>
- <mime-type>application/vnd.oasis.opendocument.graphics</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Image -->
- <extension>odi</extension>
- <mime-type>application/vnd.oasis.opendocument.image</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Master Document -->
- <extension>odm</extension>
- <mime-type>application/vnd.oasis.opendocument.text-master</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Presentation -->
- <extension>odp</extension>
- <mime-type>application/vnd.oasis.opendocument.presentation</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Spreadsheet -->
- <extension>ods</extension>
- <mime-type>application/vnd.oasis.opendocument.spreadsheet</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Text -->
- <extension>odt</extension>
- <mime-type>application/vnd.oasis.opendocument.text</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Drawing Template -->
- <extension>otg </extension>
- <mime-type>application/vnd.oasis.opendocument.graphics-template</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- HTML Document Template -->
- <extension>oth</extension>
- <mime-type>application/vnd.oasis.opendocument.text-web</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Presentation Template -->
- <extension>otp</extension>
- <mime-type>application/vnd.oasis.opendocument.presentation-template</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Spreadsheet Template -->
- <extension>ots</extension>
- <mime-type>application/vnd.oasis.opendocument.spreadsheet-template </mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- OpenDocument Text Template -->
- <extension>ott</extension>
- <mime-type>application/vnd.oasis.opendocument.text-template</mime-type>
- </mime-mapping>
- <!-- xiph mime types -->
- <mime-mapping>
- <extension>ogx</extension>
- <mime-type>application/ogg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ogv</extension>
- <mime-type>video/ogg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>oga</extension>
- <mime-type>audio/ogg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ogg</extension>
- <mime-type>audio/ogg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>spx</extension>
- <mime-type>audio/ogg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>flac</extension>
- <mime-type>audio/flac</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>anx</extension>
- <mime-type>application/annodex</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>axa</extension>
- <mime-type>audio/annodex</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>axv</extension>
- <mime-type>video/annodex</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xspf</extension>
- <mime-type>application/xspf+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pbm</extension>
- <mime-type>image/x-portable-bitmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pct</extension>
- <mime-type>image/pict</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pdf</extension>
- <mime-type>application/pdf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pgm</extension>
- <mime-type>image/x-portable-graymap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pic</extension>
- <mime-type>image/pict</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pict</extension>
- <mime-type>image/pict</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pls</extension>
- <mime-type>audio/x-scpls</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>png</extension>
- <mime-type>image/png</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pnm</extension>
- <mime-type>image/x-portable-anymap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pnt</extension>
- <mime-type>image/x-macpaint</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ppm</extension>
- <mime-type>image/x-portable-pixmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ppt</extension>
- <mime-type>application/vnd.ms-powerpoint</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>pps</extension>
- <mime-type>application/vnd.ms-powerpoint</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ps</extension>
- <mime-type>application/postscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>psd</extension>
- <mime-type>image/x-photoshop</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>qt</extension>
- <mime-type>video/quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>qti</extension>
- <mime-type>image/x-quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>qtif</extension>
- <mime-type>image/x-quicktime</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ras</extension>
- <mime-type>image/x-cmu-raster</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rdf</extension>
- <mime-type>application/rdf+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rgb</extension>
- <mime-type>image/x-rgb</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rm</extension>
- <mime-type>application/vnd.rn-realmedia</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>roff</extension>
- <mime-type>application/x-troff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rtf</extension>
- <mime-type>application/rtf</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>rtx</extension>
- <mime-type>text/richtext</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sh</extension>
- <mime-type>application/x-sh</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>shar</extension>
- <mime-type>application/x-shar</mime-type>
- </mime-mapping>
-<!--
- <mime-mapping>
- <extension>shtml</extension>
- <mime-type>text/x-server-parsed-html</mime-type>
- </mime-mapping>
--->
- <mime-mapping>
- <extension>smf</extension>
- <mime-type>audio/x-midi</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sit</extension>
- <mime-type>application/x-stuffit</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>snd</extension>
- <mime-type>audio/basic</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>src</extension>
- <mime-type>application/x-wais-source</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sv4cpio</extension>
- <mime-type>application/x-sv4cpio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>sv4crc</extension>
- <mime-type>application/x-sv4crc</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>svg</extension>
- <mime-type>image/svg+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>svgz</extension>
- <mime-type>image/svg+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>swf</extension>
- <mime-type>application/x-shockwave-flash</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>t</extension>
- <mime-type>application/x-troff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tar</extension>
- <mime-type>application/x-tar</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tcl</extension>
- <mime-type>application/x-tcl</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tex</extension>
- <mime-type>application/x-tex</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>texi</extension>
- <mime-type>application/x-texinfo</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>texinfo</extension>
- <mime-type>application/x-texinfo</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tif</extension>
- <mime-type>image/tiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tiff</extension>
- <mime-type>image/tiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tr</extension>
- <mime-type>application/x-troff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>tsv</extension>
- <mime-type>text/tab-separated-values</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>txt</extension>
- <mime-type>text/plain</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ulw</extension>
- <mime-type>audio/basic</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ustar</extension>
- <mime-type>application/x-ustar</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>vxml</extension>
- <mime-type>application/voicexml+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xbm</extension>
- <mime-type>image/x-xbitmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xht</extension>
- <mime-type>application/xhtml+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xhtml</extension>
- <mime-type>application/xhtml+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xls</extension>
- <mime-type>application/vnd.ms-excel</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xml</extension>
- <mime-type>application/xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xpm</extension>
- <mime-type>image/x-xpixmap</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xsl</extension>
- <mime-type>application/xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xslt</extension>
- <mime-type>application/xslt+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xul</extension>
- <mime-type>application/vnd.mozilla.xul+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>xwd</extension>
- <mime-type>image/x-xwindowdump</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>vsd</extension>
- <mime-type>application/x-visio</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>wav</extension>
- <mime-type>audio/x-wav</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- Wireless Bitmap -->
- <extension>wbmp</extension>
- <mime-type>image/vnd.wap.wbmp</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- WML Source -->
- <extension>wml</extension>
- <mime-type>text/vnd.wap.wml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- Compiled WML -->
- <extension>wmlc</extension>
- <mime-type>application/vnd.wap.wmlc</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- WML Script Source -->
- <extension>wmls</extension>
- <mime-type>text/vnd.wap.wmlscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <!-- Compiled WML Script -->
- <extension>wmlscriptc</extension>
- <mime-type>application/vnd.wap.wmlscriptc</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>wmv</extension>
- <mime-type>video/x-ms-wmv</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>wrl</extension>
- <mime-type>x-world/x-vrml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>wspolicy</extension>
- <mime-type>application/wspolicy+xml</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>Z</extension>
- <mime-type>application/x-compress</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>z</extension>
- <mime-type>application/x-compress</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>zip</extension>
- <mime-type>application/zip</mime-type>
- </mime-mapping>
-
- <!-- ==================== Default Welcome File List ===================== -->
- <!-- When a request URI refers to a directory, the default servlet looks -->
- <!-- for a "welcome file" within that directory and, if present, -->
- <!-- to the corresponding resource URI for display. If no welcome file -->
- <!-- is present, the default servlet either serves a directory listing, -->
- <!-- or returns a 404 status, depending on how it is configured. -->
- <!-- -->
- <!-- If you define welcome files in your own application's web.xml -->
- <!-- deployment descriptor, that list *replaces* the list configured -->
- <!-- here, so be sure that you include any of the default values that -->
- <!-- you wish to include. -->
-
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
-
-</web-app>
Deleted: trunk/res/INSTALLLICENSE
===================================================================
--- trunk/res/INSTALLLICENSE 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/INSTALLLICENSE 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,197 +0,0 @@
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- 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 that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU 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 as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
-
-
-
-
-JBoss Web
-Copyright 2006-2008 Red Hat Middleware, LLC. All rights reserved.
-
-Apache Tomcat
-Copyright 1999-2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-The Windows Installer is built with the
-Nullsoft Scriptable Install Sysem (NSIS), which is
-open source software. The original software and
-related information is available at
-http://nsis.sourceforge.net.
-
-Java compilation software for JSP pages is provided by Eclipse,
-which is open source software. The orginal software and
-related infomation is available at http://www.eclipse.org.
-
-org.apache.tomcat.util.json
-Copyright 2002 JSON.org
-
-org.apache.tomcat.bayeux
-Copyright 2007 Dojo Foundation
-Copyright 2007-2008 Guy Molinari
-Copyright 2007-2008 Filip Hanik
-Copyright 2007 Mort Bay Consulting Pty. Ltd.
Deleted: trunk/res/bootstrap.jar.manifest
===================================================================
--- trunk/res/bootstrap.jar.manifest 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/bootstrap.jar.manifest 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.apache.catalina.startup.Bootstrap
-Class-Path: commons-daemon.jar commons-logging-api.jar tomcat-juli.jar tomcat-coyote.jar
-Specification-Title: Catalina
-Specification-Version: 6.0
\ No newline at end of file
Deleted: trunk/res/config.ini
===================================================================
--- trunk/res/config.ini 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/config.ini 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,59 +0,0 @@
-[Settings]
-NumFields=7
-
-[Field 1]
-Type=Label
-Text=HTTP/1.1 Connector Port
-left=0
-right=150
-top=5
-bottom=20
-
-[Field 2]
-Type=Text
-State=8080
-MaxLen=5
-left=150
-right=200
-top=5
-bottom=18
-
-[Field 3]
-Type=Label
-text=Administrator Login
-left=0
-right=300
-top=30
-bottom=45
-
-[Field 4]
-Type=Label
-Text=User Name
-left=0
-right=150
-top=50
-bottom=65
-
-[Field 5]
-Type=Text
-State=admin
-left=150
-right=250
-top=50
-bottom=63
-
-[Field 6]
-Type=Label
-Text=Password
-left=0
-right=150
-top=70
-bottom=85
-
-[Field 7]
-Type=Password
-left=150
-right=250
-top=70
-bottom=83
-
Deleted: trunk/res/confinstall/server_1.xml
===================================================================
--- trunk/res/confinstall/server_1.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/confinstall/server_1.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,32 +0,0 @@
-<!-- Note: A "Server" is not itself a "Container", so you may not
- define subcomponents such as "Valves" at this level.
- Documentation at /docs/config/server.html
- -->
-<Server port="8005" shutdown="SHUTDOWN">
-
- <!--APR library loader. Documentation at /docs/apr.html -->
- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
- <!--Initialize Jasper prior to webapps deployment. Documentation at /docs/jasper-howto.html -->
- <Listener className="org.apache.catalina.core.JasperListener" />
- <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
- <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
- <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
-
- <!-- A "Service" is a collection of one or more "Connectors" that share
- a single "Container" Note: A "Service" is not itself a "Container",
- so you may not define subcomponents such as "Valves" at this level.
- Documentation at /docs/config/service.html
- -->
- <Service name="Catalina">
-
- <!-- A "Connector" represents an endpoint by which requests are received
- and responses are returned. Documentation at :
- Java HTTP Connector: /docs/config/http.html
- Java AJP Connector: /docs/config/ajp.html
- If APR is installed, additional Connector documentation: /docs/apr.html
- Define a non-SSL HTTP/1.1 Connector on port 8080.
- For HTTPS, refer to the documentation.
- JSSE documentation: /docs/ssl-howto.html
- Using APR and OpenSSL: /docs/apr.html
- -->
- <Connector
\ No newline at end of file
Deleted: trunk/res/confinstall/server_2.xml
===================================================================
--- trunk/res/confinstall/server_2.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/confinstall/server_2.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,56 +0,0 @@
- protocol="HTTP/1.1"
- connectionTimeout="20000" redirectPort="8443" />
-
- <!-- Define an AJP 1.3 Connector on port 8009 -->
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-
- <!-- An Engine represents the entry point (within Catalina) that processes
- every request. The Engine implementation for Tomcat stand alone
- analyzes the HTTP headers included with the request, and passes them
- on to the appropriate Host (virtual host).
- Documentation at /docs/config/engine.html -->
-
- <!-- You should set jvmRoute to support load-balancing via AJP ie :
- <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
- -->
- <Engine name="Catalina" defaultHost="localhost">
-
- <!--For clustering, please take a look at documentation at:
- /docs/cluster-howto.html (simple how to)
- /docs/config/cluster.html (reference documentation) -->
- <!--
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
- -->
-
- <!-- The request dumper valve dumps useful debugging information about
- the request and response data received and sent by Tomcat.
- Documentation at: /docs/config/valve.html -->
- <!--
- <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
- -->
-
- <Realm className="org.apache.catalina.realm.MemoryRealm"/>
-
- <!-- Define the default virtual host
- Note: XML Schema validation will not work with Xerces 2.2.
- -->
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true">
-
- <!-- SingleSignOn valve, share authentication between web applications
- Documentation at: /docs/config/valve.html -->
- <!--
- <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
- -->
-
- <!-- Access log processes all example.
- Documentation at: /docs/config/valve.html -->
- <!--
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
- -->
-
- </Host>
- </Engine>
- </Service>
-</Server>
Deleted: trunk/res/confinstall/tomcat-users_1.xml
===================================================================
--- trunk/res/confinstall/tomcat-users_1.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/confinstall/tomcat-users_1.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1 +0,0 @@
-<tomcat-users>
Deleted: trunk/res/confinstall/tomcat-users_2.xml
===================================================================
--- trunk/res/confinstall/tomcat-users_2.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/confinstall/tomcat-users_2.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,8 +0,0 @@
-<!--
- <role rolename="tomcat"/>
- <role rolename="role1"/>
- <user username="tomcat" password="tomcat" roles="tomcat"/>
- <user username="both" password="tomcat" roles="tomcat,role1"/>
- <user username="role1" password="tomcat" roles="role1"/>
--->
-</tomcat-users>
Deleted: trunk/res/el-api-pom.xml
===================================================================
--- trunk/res/el-api-pom.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/el-api-pom.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>jboss.web</groupId>
- <artifactId>el-api</artifactId>
- <version>@VERSION@</version>
-</project>
Deleted: trunk/res/header.bmp
===================================================================
(Binary files differ)
Deleted: trunk/res/jboss-web.ico
===================================================================
(Binary files differ)
Deleted: trunk/res/jboss-web.nsi
===================================================================
--- trunk/res/jboss-web.nsi 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/jboss-web.nsi 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,635 +0,0 @@
-
-; JBoss Web script for Nullsoft Installer
-; $Id$
-
- ;Compression options
- CRCCheck on
- SetCompressor /SOLID lzma
-
- Name "JBoss Web"
-
- ;Product information
- VIAddVersionKey ProductName "JBoss Web"
- VIAddVersionKey CompanyName "Red Hat"
- VIAddVersionKey LegalCopyright "Copyright (c) 2006-2008 Red Hat Middleware, LLC. All rights reserved."
- VIAddVersionKey FileDescription "JBoss Web Installer"
- VIAddVersionKey FileVersion "2.1"
- VIAddVersionKey ProductVersion "@VERSION@"
- VIAddVersionKey Comments "jboss-web"
- VIAddVersionKey InternalName "jboss-web-@VERSION@.exe"
- VIProductVersion @VERSION_NUMBER@
-
-!include "MUI.nsh"
-!include "StrFunc.nsh"
-${StrRep}
- Var "JavaHome"
-
-
-
-;--------------------------------
-;Configuration
-
- !define MUI_HEADERIMAGE
- !define MUI_HEADERIMAGE_RIGHT
- !define MUI_HEADERIMAGE_BITMAP header.bmp
- !define MUI_WELCOMEFINISHPAGE_BITMAP side_left.bmp
- !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\webapps\ROOT\RELEASE-NOTES.txt"
- !define MUI_FINISHPAGE_RUN $INSTDIR\bin\jbosswebw.exe
- !define MUI_FINISHPAGE_RUN_PARAMETERS //MR//JBossWeb
- !define MUI_FINISHPAGE_NOREBOOTSUPPORT
-
- !define MUI_ABORTWARNING
-
- !define TEMP1 $R0
- !define TEMP2 $R1
-
- !define MUI_ICON jboss-web.ico
- !define MUI_UNICON jboss-web.ico
-
- ;General
- OutFile jboss-web-installer.exe
-
- ;Install Options pages
- LangString TEXT_JVM_TITLE ${LANG_ENGLISH} "Java Virtual Machine"
- LangString TEXT_JVM_SUBTITLE ${LANG_ENGLISH} "Java Virtual Machine path selection."
- LangString TEXT_JVM_PAGETITLE ${LANG_ENGLISH} ": Java Virtual Machine path selection"
-
- LangString TEXT_CONF_TITLE ${LANG_ENGLISH} "Configuration"
- LangString TEXT_CONF_SUBTITLE ${LANG_ENGLISH} "JBoss Web basic configuration."
- LangString TEXT_CONF_PAGETITLE ${LANG_ENGLISH} ": Configuration Options"
-
- ;Install Page order
- !insertmacro MUI_PAGE_WELCOME
- !insertmacro MUI_PAGE_LICENSE INSTALLLICENSE
- !insertmacro MUI_PAGE_COMPONENTS
- !insertmacro MUI_PAGE_DIRECTORY
- Page custom SetConfiguration Void "$(TEXT_CONF_PAGETITLE)"
- Page custom SetChooseJVM Void "$(TEXT_JVM_PAGETITLE)"
- !insertmacro MUI_PAGE_INSTFILES
- Page custom CheckUserType
- !insertmacro MUI_PAGE_FINISH
-
- ;Uninstall Page order
- !insertmacro MUI_UNPAGE_CONFIRM
- !insertmacro MUI_UNPAGE_INSTFILES
-
- ;Component-selection page
- ;Descriptions
- LangString DESC_SecJBossWeb ${LANG_ENGLISH} "Install the JBoss Web Servlet container."
- LangString DESC_SecJBossWebCore ${LANG_ENGLISH} "Install the JBoss Web Servlet container core."
- LangString DESC_SecJBossWebService ${LANG_ENGLISH} "Automatically start JBoss Web when the computer is started. This requires Windows NT 4.0, Windows 2000 or Windows XP."
-; LangString DESC_SecJBossWebNative ${LANG_ENGLISH} "Downloads and installs JBoss Web native .dll for better performance and scalability in production environments."
- LangString DESC_SecMenu ${LANG_ENGLISH} "Create a Start Menu program group for JBoss Web."
- LangString DESC_SecDocs ${LANG_ENGLISH} "Install the JBoss Web documentation bundle. This include documentation on the servlet container and its configuration options, on the JSP page compiler, as well as on the native webserver connectors."
-
- ;Language
- !insertmacro MUI_LANGUAGE English
-
- ;Folder-select dialog
- InstallDir "$PROGRAMFILES\JBoss.org\JBoss Web 2.1"
-
- ;Install types
- InstType Normal
- InstType Minimum
- InstType Full
-
- ; Main registry key
- InstallDirRegKey HKLM "SOFTWARE\JBoss.org\JBoss Web\2.1" ""
-
- !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
- ReserveFile "jvm.ini"
- ReserveFile "config.ini"
-
-;--------------------------------
-;Installer Sections
-
-SubSection "JBoss Web" SecJBossWeb
-
-Section "Core" SecJBossWebCore
-
- SectionIn 1 2 3 RO
-
- IfSilent +2 0
- Call checkJvm
-
- SetOutPath $INSTDIR
- File jboss-web.ico
- File LICENSE
- File NOTICE
- SetOutPath $INSTDIR\lib
- File /r lib\*.*
- SetOutPath $INSTDIR\logs
- File /nonfatal /r logs\*.*
- SetOutPath $INSTDIR\work
- File /nonfatal /r work\*.*
- SetOutPath $INSTDIR\temp
- File /nonfatal /r temp\*.*
- SetOutPath $INSTDIR\bin
- File bin\bootstrap.jar
- File bin\tomcat-juli.jar
- File bin\*.exe
- File bin\*.dll
- SetOutPath $INSTDIR\conf
- File conf\*.*
- SetOutPath $INSTDIR\webapps\ROOT
- File /r webapps\ROOT\*.*
- SetOutPath $INSTDIR\webapps\host-manager
- File /r webapps\host-manager\*.*
- SetOutPath $INSTDIR\webapps\manager
- File /r webapps\manager\*.*
-
- Call configure
- Call findJavaPath
- Pop $2
-
- IfSilent +2 0
- !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
-
- StrCpy "$JavaHome" $2
- Call findJVMPath
- Pop $2
-
- DetailPrint "Using Jvm: $2"
-
- InstallRetry:
- ClearErrors
- nsExec::ExecToLog '"$INSTDIR\bin\jbossweb.exe" //IS//JBossWeb --DisplayName "JBoss Web" --Description "JBoss Web @VERSION@ Server - http://labs.jboss.com/jbossweb/" --LogPath "$INSTDIR\logs" --Install "$INSTDIR\bin\jbossweb.exe" --Jvm "$2" --StartPath "$INSTDIR" --StopPath "$INSTDIR"'
- Pop $0
- StrCmp $0 "0" InstallOk
- MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP \
- "Failed to install JBossWeb service.$\r$\nCheck your settings and permissions$\r$\nIgnore and continue anyway (not recommended)?" \
- /SD IDIGNORE IDIGNORE InstallOk IDRETRY InstallRetry
- Quit
- InstallOk:
- ClearErrors
-
-SectionEnd
-
-Section "Service" SecJBossWebService
-
- SectionIn 3
-
- IfSilent 0 +3
- Call findJavaPath
- Pop $2
-
- IfSilent +2 0
- !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
-
- StrCpy "$JavaHome" $2
- Call findJVMPath
- Pop $2
-
- nsExec::ExecToLog '"$INSTDIR\bin\jbossweb.exe" //US//JBossWeb --Startup auto'
- ; Bahave like Apache Httpd (put the icon in try on login)
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "JBossWebMonitor" '"$INSTDIR\bin\jbosswebw.exe" //MS//JBossWeb'
-
- ClearErrors
-
-SectionEnd
-
-;Section "Native" SecJBossWebNative
-;
-; SectionIn 3
-;
-; ; tcnative-1.dll is a symlink to the tcnative-1-ipv4.dll
-; ; If IPV6 support is required, download the tcnative-1-ipv6.dll insted
-; ; The tcnative-1.dll from heanet.ie comes with APR 1.2.8 and OpenSSL 0.9.8e compiled in.
-; ; TODO: Depending on the JVM download the 32 or 64 bit version.
-; NSISdl::download /TIMEOUT=30000 http://tomcat.heanet.ie/native/1.1.12/binaries/win32/tcnative-1.dll $INSTDIR\bin\tcnative-1.dll
-; Pop $0
-; StrCmp $0 success success
-; SetDetailsView show
-; DetailPrint "download failed from http://tomcat.heanet.ie/native/1.1.12/binaries/win32/tcnative-1.dll: $0"
-; success:
-;
-; ClearErrors
-;
-;SectionEnd
-
-SubSectionEnd
-
-Section "Start Menu Items" SecMenu
-
- SectionIn 1 2 3
-
- !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"
-
- SetOutPath "$SMPROGRAMS\JBoss Web 2.1"
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\JBoss Web Home Page.lnk" \
- "http://labs.jboss.com/jbossweb/"
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\Welcome.lnk" \
- "http://localhost:$R0/"
-
- IfFileExists "$INSTDIR\webapps\manager" 0 NoManagerApp
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\JBoss Web Manager.lnk" \
- "http://localhost:$R0/manager/html"
-
-NoManagerApp:
-
- IfFileExists "$INSTDIR\webapps\webapps\docs" 0 NoDocumentaion
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\JBoss Web Documentation.lnk" \
- "$INSTDIR\webapps\docs\index.html"
-
-NoDocumentaion:
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\Uninstall.lnk" \
- "$INSTDIR\Uninstall.exe"
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\Program Directory.lnk" \
- "$INSTDIR"
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\Monitor JBoss Web.lnk" \
- "$INSTDIR\bin\jbosswebw.exe" \
- '//MS//JBossWeb' \
- "$INSTDIR\jboss-web.ico" 0 SW_SHOWNORMAL
-
- CreateShortCut "$SMPROGRAMS\JBoss Web 2.1\Configure JBoss Web.lnk" \
- "$INSTDIR\bin\jbosswebw.exe" \
- '//ES//JBossWeb' \
- "$INSTDIR\jboss-web.ico" 0 SW_SHOWNORMAL
-
-SectionEnd
-
-Section "Documentation" SecDocs
-
- SectionIn 1 3
- SetOutPath $INSTDIR\webapps\docs
- File /r webapps\docs\*.*
-
-SectionEnd
-
-Section -post
- nsExec::ExecToLog '"$INSTDIR\bin\jbossweb.exe" //US//JBossWeb --Classpath "$INSTDIR\bin\bootstrap.jar" --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop --StartMode jvm --StopMode jvm'
- nsExec::ExecToLog '"$INSTDIR\bin\jbossweb.exe" //US//JBossWeb --JvmOptions "-Dcatalina.home=$INSTDIR#-Dcatalina.base=$INSTDIR#-Djava.endorsed.dirs=$INSTDIR\endorsed#-Djava.io.tmpdir=$INSTDIR\temp#-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager#-Djava.util.logging.config.file=$INSTDIR\conf\logging.properties" --StdOutput auto --StdError auto'
-
- WriteUninstaller "$INSTDIR\Uninstall.exe"
-
- WriteRegStr HKLM "SOFTWARE\JBoss.org\JBoss Web\2.1" "InstallPath" $INSTDIR
- WriteRegStr HKLM "SOFTWARE\JBoss.org\JBoss Web\2.1" "Version" @VERSION@
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JBoss Web 2.1" \
- "DisplayName" "JBoss Web 2.1 (remove only)"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JBoss Web 2.1" \
- "UninstallString" '"$INSTDIR\Uninstall.exe"'
-
-SectionEnd
-
-Function .onInit
-
- ;Extract Install Options INI Files
- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "config.ini"
- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "jvm.ini"
-
-FunctionEnd
-
-Function SetChooseJVM
- !insertmacro MUI_HEADER_TEXT "$(TEXT_JVM_TITLE)" "$(TEXT_JVM_SUBTITLE)"
- Call findJavaPath
- Pop $3
- !insertmacro MUI_INSTALLOPTIONS_WRITE "jvm.ini" "Field 2" "State" $3
- !insertmacro MUI_INSTALLOPTIONS_DISPLAY "jvm.ini"
-FunctionEnd
-
-Function SetConfiguration
- !insertmacro MUI_HEADER_TEXT "$(TEXT_CONF_TITLE)" "$(TEXT_CONF_SUBTITLE)"
- !insertmacro MUI_INSTALLOPTIONS_DISPLAY "config.ini"
-FunctionEnd
-
-Function Void
-FunctionEnd
-
-;--------------------------------
-;Descriptions
-
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecJBossWeb} $(DESC_SecJBossWeb)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecJBossWebCore} $(DESC_SecJBossWebCore)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecJBossWebService} $(DESC_SecJBossWebService)
-; !insertmacro MUI_DESCRIPTION_TEXT ${SecJBossWebNative} $(DESC_SecJBossWebNative)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecMenu} $(DESC_SecMenu)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecDocs} $(DESC_SecDocs)
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-
-; =====================
-; CheckUserType Function
-; =====================
-;
-; Check the user type, and warn if it's not an administrator.
-; Taken from Examples/UserInfo that ships with NSIS.
-Function CheckUserType
- ClearErrors
- UserInfo::GetName
- IfErrors Win9x
- Pop $0
- UserInfo::GetAccountType
- Pop $1
- StrCmp $1 "Admin" 0 +3
- ; This is OK, do nothing
- Goto done
-
- MessageBox MB_OK|MB_ICONEXCLAMATION 'Note: the current user is not an administrator. \
- To run JBoss Web as a Windows service, you must be an administrator. \
- You can still run JBoss Web from the command-line as this type of user.'
- Goto done
-
- Win9x:
- # This one means you don't need to care about admin or
- # not admin because Windows 9x doesn't either
- MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
-
- done:
-FunctionEnd
-
-
-; =====================
-; FindJavaPath Function
-; =====================
-;
-; Find the JAVA_HOME used on the system, and put the result on the top of the
-; stack
-; Will return an empty string if the path cannot be determined
-;
-Function findJavaPath
-
- ;ClearErrors
-
- ;ReadEnvStr $1 JAVA_HOME
-
- ;IfErrors 0 FoundJDK
-
- ClearErrors
-
- ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
- ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2" "JavaHome"
- ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2" "RuntimeLib"
-
- ;FoundJDK:
-
- IfErrors 0 NoErrors
- StrCpy $1 ""
-
-NoErrors:
-
- ClearErrors
-
- ; Put the result in the stack
- Push $1
-
-FunctionEnd
-
-
-; ====================
-; FindJVMPath Function
-; ====================
-;
-; Find the full JVM path, and put the result on top of the stack
-; Argument: JVM base path (result of findJavaPath)
-; Will return an empty string if the path cannot be determined
-;
-Function findJVMPath
-
- ClearErrors
-
- ;Step one: Is this a JRE path (Program Files\Java\XXX)
- StrCpy $1 "$JavaHome"
-
- StrCpy $2 "$1\bin\hotspot\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\server\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\client\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\classic\jvm.dll"
- IfFileExists "$2" FoundJvmDll
-
- ;Step two: Is this a JDK path (Program Files\XXX\jre)
- StrCpy $1 "$JavaHome\jre"
-
- StrCpy $2 "$1\bin\hotspot\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\server\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\client\jvm.dll"
- IfFileExists "$2" FoundJvmDll
- StrCpy $2 "$1\bin\classic\jvm.dll"
- IfFileExists "$2" FoundJvmDll
-
- ClearErrors
- ;Step tree: Read defaults from registry
-
- ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
- ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$1" "RuntimeLib"
-
- IfErrors 0 FoundJvmDll
- StrCpy $2 ""
-
- FoundJvmDll:
- ClearErrors
-
- ; Put the result in the stack
- Push $2
-
-FunctionEnd
-
-
-; ====================
-; CheckJvm Function
-; ====================
-;
-Function checkJvm
-
- !insertmacro MUI_INSTALLOPTIONS_READ $3 "jvm.ini" "Field 2" "State"
- IfFileExists "$3\bin\java.exe" NoErrors1
- MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in folder:$\r$\n$3"
- Quit
-NoErrors1:
- StrCpy "$JavaHome" $3
- Call findJVMPath
- Pop $4
- StrCmp $4 "" 0 NoErrors2
- MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in folder:$\r$\n$3"
- Quit
-NoErrors2:
-
-FunctionEnd
-
-; ==================
-; Configure Function
-; ==================
-;
-; Display the configuration dialog boxes, read the values entered by the user,
-; and build the configuration files
-;
-Function configure
-
- !insertmacro MUI_INSTALLOPTIONS_READ $R0 "config.ini" "Field 2" "State"
- !insertmacro MUI_INSTALLOPTIONS_READ $R1 "config.ini" "Field 5" "State"
- !insertmacro MUI_INSTALLOPTIONS_READ $R2 "config.ini" "Field 7" "State"
-
- IfSilent 0 +2
- StrCpy $R4 'port="8080"'
-
- IfSilent +2 0
- StrCpy $R4 'port="$R0"'
-
- IfSilent 0 +2
- StrCpy $R5 ''
-
- IfSilent Silent 0
-
- ; Escape XML
- Push $R1
- Call xmlEscape
- Pop $R1
- Push $R2
- Call xmlEscape
- Pop $R2
-
- StrCpy $R5 '<user name="$R1" password="$R2" roles="admin,manager" />'
-
-Silent:
- DetailPrint 'HTTP/1.1 Connector configured on port "$R0"'
- DetailPrint 'Admin user added: "$R1"'
-
- SetOutPath $TEMP
- File /r confinstall
-
- ; Build final server.xml
- Delete "$INSTDIR\conf\server.xml"
- FileOpen $R9 "$INSTDIR\conf\server.xml" w
-
- Push "$TEMP\confinstall\server_1.xml"
- Call copyFile
- FileWrite $R9 $R4
- Push "$TEMP\confinstall\server_2.xml"
- Call copyFile
-
- FileClose $R9
-
- DetailPrint "server.xml written"
-
- ; Build final tomcat-users.xml
-
- Delete "$INSTDIR\conf\tomcat-users.xml"
- FileOpen $R9 "$INSTDIR\conf\tomcat-users.xml" w
-
- ; File will be written using current windows codepage
- System::Call 'Kernel32::GetACP() i .r18'
- StrCmp $R8 "932" 0 +3
- ; Special case where Java uses non-standard name for character set
- FileWrite $R9 "<?xml version='1.0' encoding='ms$R8'?>$\r$\n"
- Goto +2
- FileWrite $R9 "<?xml version='1.0' encoding='cp$R8'?>$\r$\n"
-
- Push "$TEMP\confinstall\tomcat-users_1.xml"
- Call copyFile
- FileWrite $R9 $R5
- Push "$TEMP\confinstall\tomcat-users_2.xml"
- Call copyFile
-
- FileClose $R9
-
- DetailPrint "tomcat-users.xml written"
-
- RMDir /r "$TEMP\confinstall"
-
-FunctionEnd
-
-
-Function xmlEscape
- Pop $0
- ${StrRep} $0 $0 "&" "&"
- ${StrRep} $0 $0 "$\"" """
- ${StrRep} $0 $0 "<" "<"
- ${StrRep} $0 $0 ">" ">"
- Push $0
-FunctionEnd
-
-
-; =================
-; CopyFile Function
-; =================
-;
-; Copy specified file contents to $R9
-;
-Function copyFile
-
- ClearErrors
-
- Pop $0
-
- FileOpen $1 $0 r
-
- NoError:
-
- FileRead $1 $2
- IfErrors EOF 0
- FileWrite $R9 $2
-
- IfErrors 0 NoError
-
- EOF:
-
- FileClose $1
-
- ClearErrors
-
-FunctionEnd
-
-
-;--------------------------------
-;Uninstaller Section
-
-Section Uninstall
-
- Delete "$INSTDIR\modern.exe"
- Delete "$INSTDIR\Uninstall.exe"
-
- ; Stop JBoss Web service monitor if running
- nsExec::ExecToLog '"$INSTDIR\bin\jbosswebw.exe" //MQ//JBossWeb'
- ; Delete JBoss Web service
- nsExec::ExecToLog '"$INSTDIR\bin\jbossweb.exe" //DS//JBossWeb'
- ClearErrors
-
- DeleteRegKey HKCR "JSPFile"
- DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JBoss Web 2.1"
- DeleteRegKey HKLM "SOFTWARE\JBoss.org\JBoss Web\2.1"
- DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "JBossWebMonitor"
- RMDir /r "$SMPROGRAMS\JBoss Web 2.1"
- Delete "$INSTDIR\jboss-web.ico"
- Delete "$INSTDIR\LICENSE"
- Delete "$INSTDIR\NOTICE"
- RMDir /r "$INSTDIR\bin"
- RMDir /r "$INSTDIR\lib"
- Delete "$INSTDIR\conf\*.dtd"
- RMDir "$INSTDIR\logs"
- RMDir /r "$INSTDIR\webapps\docs"
- RMDir /r "$INSTDIR\work"
- RMDir /r "$INSTDIR\temp"
- RMDir "$INSTDIR"
-
- IfSilent Removed 0
-
- ; if $INSTDIR was removed, skip these next ones
- IfFileExists "$INSTDIR" 0 Removed
- MessageBox MB_YESNO|MB_ICONQUESTION \
- "Remove all files in your JBoss Web 2.1 directory? (If you have anything \
- you created that you want to keep, click No)" IDNO Removed
- RMDir /r "$INSTDIR\webapps\ROOT" ; this would be skipped if the user hits no
- RMDir "$INSTDIR\webapps"
- Delete "$INSTDIR\*.*"
- RMDir /r "$INSTDIR"
- Sleep 500
- IfFileExists "$INSTDIR" 0 Removed
- MessageBox MB_OK|MB_ICONEXCLAMATION \
- "Note: $INSTDIR could not be removed."
- Removed:
-
-SectionEnd
-
-;eof
Deleted: trunk/res/jsp-api-pom.xml
===================================================================
--- trunk/res/jsp-api-pom.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/jsp-api-pom.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>jboss.web</groupId>
- <artifactId>jsp-api</artifactId>
- <version>@VERSION@</version>
-</project>
Deleted: trunk/res/jvm.ini
===================================================================
--- trunk/res/jvm.ini 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/jvm.ini 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,18 +0,0 @@
-[Settings]
-NumFields=2
-
-[Field 1]
-Type=Label
-Text=Please select the path of a J2SE 5.0 JRE installed on your system:
-left=0
-right=300
-top=5
-bottom=20
-
-[Field 2]
-Type=DirRequest
-Left=0
-Right=-1
-Top=65
-Bottom=78
-
Deleted: trunk/res/main.ico
===================================================================
(Binary files differ)
Deleted: trunk/res/servlet-api-pom.xml
===================================================================
--- trunk/res/servlet-api-pom.xml 2010-03-29 16:16:02 UTC (rev 1424)
+++ trunk/res/servlet-api-pom.xml 2010-03-31 17:02:39 UTC (rev 1425)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>jboss.web</groupId>
- <artifactId>servlet-api</artifactId>
- <version>@VERSION@</version>
-</project>
Deleted: trunk/res/side_left.bmp
===================================================================
(Binary files differ)
Deleted: trunk/res/tickno.bmp
===================================================================
(Binary files differ)
Deleted: trunk/res/tickyes.bmp
===================================================================
(Binary files differ)
Deleted: trunk/res/uninst.ico
===================================================================
(Binary files differ)
14 years, 8 months
JBossWeb SVN: r1424 - in trunk: java/org/apache/catalina and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-29 12:16:02 -0400 (Mon, 29 Mar 2010)
New Revision: 1424
Modified:
trunk/PATCHES.txt
trunk/java/org/apache/catalina/InstanceEvent.java
trunk/java/org/apache/catalina/core/LocalStrings.properties
trunk/java/org/apache/catalina/core/StandardWrapperValve.java
Log:
- Add missing before/after request events.
Modified: trunk/PATCHES.txt
===================================================================
--- trunk/PATCHES.txt 2010-03-25 23:00:05 UTC (rev 1423)
+++ trunk/PATCHES.txt 2010-03-29 16:16:02 UTC (rev 1424)
@@ -79,13 +79,10 @@
Changes to APR init
784083
-Useless alias feature, rather redundant with overlays, and has no place in the DirContext implementation
+Useless alias feature, redundant with overlays
890139
EL coercion patch
-918851 919914 920055 920110
-Parser changes to "fix" EL processing when EL is disabled, likely to cause regressions
-
920449
Generating broken pages using included error pages
Modified: trunk/java/org/apache/catalina/InstanceEvent.java
===================================================================
--- trunk/java/org/apache/catalina/InstanceEvent.java 2010-03-25 23:00:05 UTC (rev 1423)
+++ trunk/java/org/apache/catalina/InstanceEvent.java 2010-03-29 16:16:02 UTC (rev 1424)
@@ -90,8 +90,8 @@
/**
- * The event indicating that the <code>service()</code> method of a
- * servlet accessed via a request dispatcher is about to be called.
+ * The event indicating that the <code>doFilter()</code> method of a
+ * filter chain accessed via a request dispatcher is about to be called.
* The <code>servlet</code> property contains a reference to the
* dispatched-to servlet instance, and the <code>request</code> and
* <code>response</code> properties contain the current request and
@@ -102,8 +102,8 @@
/**
- * The event indicating that the <code>service()</code> method of a
- * servlet accessed via a request dispatcher has returned. The
+ * The event indicating that the <code>doFilter()</code> method of a
+ * filter chain accessed via a request dispatcher has returned. The
* <code>servlet</code> property contains a reference to the
* dispatched-to servlet instance, and the <code>request</code> and
* <code>response</code> properties contain the current request and
@@ -115,6 +115,30 @@
/**
* The event indicating that the <code>doFilter()</code> method of a
+ * filter chain is about to be called.
+ * The <code>servlet</code> property contains a reference to the
+ * associated servlet instance, and the <code>request</code> and
+ * <code>response</code> properties contain the current request and
+ * response being processed. The <code>wrapper</code> property will
+ * contain a reference to the dispatched-to Wrapper.
+ */
+ public static final String BEFORE_REQUEST_EVENT = "beforeRequest";
+
+
+ /**
+ * The event indicating that the <code>doFilter()</code> method of a
+ * filter chain has returned. The
+ * <code>servlet</code> property contains a reference to the
+ * associated servlet instance, and the <code>request</code> and
+ * <code>response</code> properties contain the current request and
+ * response being processed. The <code>wrapper</code> property will
+ * contain a reference to the dispatched-to Wrapper.
+ */
+ public static final String AFTER_REQUEST_EVENT = "afterRequest";
+
+
+ /**
+ * The event indicating that the <code>doFilter()</code> method of a
* Filter is about to be called. The <code>filter</code> property
* contains a reference to the relevant filter instance, and the
* <code>request</code> and <code>response</code> properties contain
Modified: trunk/java/org/apache/catalina/core/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/catalina/core/LocalStrings.properties 2010-03-25 23:00:05 UTC (rev 1423)
+++ trunk/java/org/apache/catalina/core/LocalStrings.properties 2010-03-29 16:16:02 UTC (rev 1424)
@@ -210,6 +210,7 @@
standardWrapper.loadException=Servlet {0} threw load() exception
standardWrapper.missingClass=Wrapper cannot find servlet class {0} or a class it depends on
standardWrapper.missingLoader=Wrapper cannot find Loader for servlet {0}
+standardWrapper.noInstanceSupport=Servlet {0} does not have any instance support
standardWrapper.notChild=Wrapper container may not have child containers
standardWrapper.notClass=No servlet class has been specified for servlet {0}
standardWrapper.notContext=Parent container of a Wrapper must be a Context
Modified: trunk/java/org/apache/catalina/core/StandardWrapperValve.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2010-03-25 23:00:05 UTC (rev 1423)
+++ trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2010-03-29 16:16:02 UTC (rev 1424)
@@ -61,12 +61,16 @@
import javax.servlet.UnavailableException;
import javax.servlet.http.HttpServletResponse;
+import org.apache.catalina.Container;
import org.apache.catalina.Context;
import org.apache.catalina.Globals;
+import org.apache.catalina.InstanceEvent;
+import org.apache.catalina.Wrapper;
import org.apache.catalina.connector.ClientAbortException;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.connector.Request.AsyncListenerRegistration;
+import org.apache.catalina.util.InstanceSupport;
import org.apache.catalina.util.StringManager;
import org.apache.catalina.valves.ValveBase;
import org.apache.tomcat.util.log.SystemLogHandler;
@@ -103,6 +107,7 @@
private volatile int eventCount;
private volatile int requestCount;
private volatile int errorCount;
+ private InstanceSupport support;
/**
@@ -115,6 +120,16 @@
// --------------------------------------------------------- Public Methods
+ public void setContainer(Container container) {
+ super.setContainer(container);
+ if (container instanceof Wrapper) {
+ support = ((Wrapper) container).getInstanceSupport();
+ }
+ if (support == null) {
+ throw new IllegalStateException(sm.getString("standardWrapper.noInstanceSupport", container.getName()));
+ }
+ }
+
/**
* Invoke the servlet we are managing, respecting the rules regarding
* servlet lifecycle and SingleThreadModel support.
@@ -248,6 +263,8 @@
request.setAttribute(Globals.JSP_FILE_ATTR, jspFile);
else
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.BEFORE_REQUEST_EVENT,
+ servlet, request, response);
if ((servlet != null) && (filterChain != null)) {
// Swallow output if needed
if (context.getSwallowOutput()) {
@@ -282,16 +299,22 @@
request.removeAttribute(Globals.JSP_FILE_ATTR);
} catch (ClientAbortException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
throwable = e;
exception(request, response, e);
} catch (IOException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
exception(request, response, e);
} catch (UnavailableException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
// throwable = e;
@@ -312,6 +335,8 @@
// do not want to do exception(request, response, e) processing
} catch (ServletException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
Throwable rootCause = StandardWrapper.getRootCause(e);
if (!(rootCause instanceof ClientAbortException)) {
container.getLogger().error(sm.getString("standardWrapper.serviceException",
@@ -321,6 +346,8 @@
exception(request, response, e);
} catch (Throwable e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
@@ -460,8 +487,9 @@
request.setAttribute(Globals.JSP_FILE_ATTR, jspFile);
else
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.BEFORE_REQUEST_EVENT,
+ servlet, request, response);
if ((servlet != null) && (filterChain != null)) {
-
// Swallow output if needed
if (context.getSwallowOutput()) {
try {
@@ -476,27 +504,34 @@
} else {
filterChain.doFilterEvent(request.getEvent());
}
-
}
request.removeAttribute(Globals.JSP_FILE_ATTR);
} catch (ClientAbortException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
throwable = e;
exception(request, response, e);
} catch (IOException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
exception(request, response, e);
} catch (UnavailableException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
// Do not save exception in 'throwable', because we
// do not want to do exception(request, response, e) processing
} catch (ServletException e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
Throwable rootCause = StandardWrapper.getRootCause(e);
if (!(rootCause instanceof ClientAbortException)) {
container.getLogger().error(sm.getString("standardWrapper.serviceException",
@@ -506,6 +541,8 @@
exception(request, response, e);
} catch (Throwable e) {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
14 years, 9 months
JBossWeb SVN: r1423 - in trunk: webapps/docs and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-25 19:00:05 -0400 (Thu, 25 Mar 2010)
New Revision: 1423
Modified:
trunk/java/org/apache/jasper/compiler/AttributeParser.java
trunk/java/org/apache/jasper/compiler/Parser.java
trunk/webapps/docs/changelog.xml
Log:
- Port another regression fix.
Modified: trunk/java/org/apache/jasper/compiler/AttributeParser.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/AttributeParser.java 2010-03-25 19:47:57 UTC (rev 1422)
+++ trunk/java/org/apache/jasper/compiler/AttributeParser.java 2010-03-25 23:00:05 UTC (rev 1423)
@@ -122,9 +122,7 @@
boolean strict) {
this.input = input;
this.quote = quote;
- // If quote is null this is a scriptign expressions and any EL syntax
- // should be ignored
- this.isELIgnored = isELIgnored || (quote == 0);
+ this.isELIgnored = isELIgnored;
this.isDeferredSyntaxAllowedAsLiteral =
isDeferredSyntaxAllowedAsLiteral;
this.strict = strict;
Modified: trunk/java/org/apache/jasper/compiler/Parser.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Parser.java 2010-03-25 19:47:57 UTC (rev 1422)
+++ trunk/java/org/apache/jasper/compiler/Parser.java 2010-03-25 23:00:05 UTC (rev 1423)
@@ -242,12 +242,16 @@
String ret = null;
try {
- char quote = 0;
- if (watch.length() == 1) {
- quote = watch.charAt(0);
- }
+ char quote = watch.charAt(watch.length() - 1);
+
+ // If watch is longer than 1 character this is a scripting
+ // expression and EL is always ignored
+ boolean isElIgnored =
+ pageInfo.isELIgnored() || watch.length() > 1;
+
ret = AttributeParser.getUnquoted(reader.getText(start, stop),
- quote, pageInfo.isELIgnored(), pageInfo.isDeferredSyntaxAllowedAsLiteral());
+ quote, isElIgnored,
+ pageInfo.isDeferredSyntaxAllowedAsLiteral());
} catch (IllegalArgumentException iae) {
err.jspError(start, iae.getMessage());
}
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2010-03-25 19:47:57 UTC (rev 1422)
+++ trunk/webapps/docs/changelog.xml 2010-03-25 23:00:05 UTC (rev 1423)
@@ -48,6 +48,9 @@
<bug>48795</bug>: Add a new property to control if the next request always
triggers recompilation after a compilation failure. (markt)
</update>
+ <fix>
+ <bug>45015</bug>: Fix regression. (markt)
+ </fix>
</changelog>
</subsection>
</section>
14 years, 9 months
JBossWeb SVN: r1422 - in trunk: java/org/apache/jasper/compiler and 2 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-25 15:47:57 -0400 (Thu, 25 Mar 2010)
New Revision: 1422
Modified:
trunk/java/org/apache/jasper/EmbeddedServletOptions.java
trunk/java/org/apache/jasper/JspCompilationContext.java
trunk/java/org/apache/jasper/Options.java
trunk/java/org/apache/jasper/compiler/Generator.java
trunk/java/org/apache/jasper/resources/LocalStrings.properties
trunk/webapps/docs/changelog.xml
Log:
- Port Jasper patches.
Modified: trunk/java/org/apache/jasper/EmbeddedServletOptions.java
===================================================================
--- trunk/java/org/apache/jasper/EmbeddedServletOptions.java 2010-03-25 17:19:10 UTC (rev 1421)
+++ trunk/java/org/apache/jasper/EmbeddedServletOptions.java 2010-03-25 19:47:57 UTC (rev 1422)
@@ -171,6 +171,11 @@
private int modificationTestInterval = 4;
/**
+ * Is re-compilation attempted immediately after a failure?
+ */
+ private boolean recompileOnFail = false;
+
+ /**
* Is generation of X-Powered-By response header enabled/disabled?
*/
private boolean xpoweredBy;
@@ -246,6 +251,13 @@
}
/**
+ * Re-compile on failure.
+ */
+ public boolean getRecompileOnFail() {
+ return recompileOnFail;
+ }
+
+ /**
* Is Jasper being used in development mode?
*/
public boolean getDevelopment() {
@@ -485,6 +497,16 @@
}
}
+ String recompileOnFail = config.getInitParameter("recompileOnFail");
+ if (recompileOnFail != null) {
+ if (recompileOnFail.equalsIgnoreCase("true")) {
+ this.recompileOnFail = true;
+ } else if (recompileOnFail.equalsIgnoreCase("false")) {
+ this.recompileOnFail = false;
+ } else {
+ log.warn(Localizer.getMessage("jsp.warning.recompileOnFail"));
+ }
+ }
String development = config.getInitParameter("development");
if (development != null) {
if (development.equalsIgnoreCase("true")) {
Modified: trunk/java/org/apache/jasper/JspCompilationContext.java
===================================================================
--- trunk/java/org/apache/jasper/JspCompilationContext.java 2010-03-25 17:19:10 UTC (rev 1421)
+++ trunk/java/org/apache/jasper/JspCompilationContext.java 2010-03-25 19:47:57 UTC (rev 1422)
@@ -23,7 +23,6 @@
import java.net.URL;
import java.net.URLClassLoader;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@@ -305,6 +304,9 @@
}
if (jarUrl != null) {
result = new URL(jarUrl.toExternalForm() + res.substring(1));
+ } else {
+ // May not be in a JAR in some IDE environments
+ result = context.getResource(canonicalURI(res));
}
} else if (res.startsWith("jar:file:")) {
// This is a tag file packaged in a jar that is being checked
@@ -608,6 +610,10 @@
} catch (JasperException ex) {
// Cache compilation exception
jsw.setCompilationException(ex);
+ if (options.getDevelopment() && options.getRecompileOnFail()) {
+ // Force a recompilation attempt on next access
+ jsw.setLastModificationTest(-1);
+ }
throw ex;
} catch (Exception ex) {
JasperException je = new JasperException(
Modified: trunk/java/org/apache/jasper/Options.java
===================================================================
--- trunk/java/org/apache/jasper/Options.java 2010-03-25 17:19:10 UTC (rev 1421)
+++ trunk/java/org/apache/jasper/Options.java 2010-03-25 19:47:57 UTC (rev 1422)
@@ -170,6 +170,11 @@
public int getModificationTestInterval();
/**
+ * Re-compile on failure.
+ */
+ public boolean getRecompileOnFail();
+
+ /**
* Is caching enabled (used for precompilation).
*/
public boolean isCaching();
Modified: trunk/java/org/apache/jasper/compiler/Generator.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Generator.java 2010-03-25 17:19:10 UTC (rev 1421)
+++ trunk/java/org/apache/jasper/compiler/Generator.java 2010-03-25 19:47:57 UTC (rev 1422)
@@ -78,6 +78,15 @@
private static final String VAR_INSTANCEMANAGER =
System.getProperty("org.apache.jasper.compiler.Generator.VAR_INSTANCEMANAGER", "_jsp_instancemanager");
+ /* System property that controls if the requirement to have the object
+ * used in jsp:getProperty action to be previously "introduced"
+ * to the JSP processor (see JSP.5.3) is enforced.
+ */
+ private static final boolean STRICT_GET_PROPERTY = Boolean.valueOf(
+ System.getProperty(
+ "org.apache.jasper.compiler.Generator.STRICT_GET_PROPERTY",
+ "true")).booleanValue();
+
private ServletWriter out;
private ArrayList methodsBuffered;
@@ -1064,7 +1073,7 @@
+ ")_jspx_page_context.findAttribute("
+ "\""
+ name + "\"))." + methodName + "())));");
- } else if (varInfoNames.contains(name)) {
+ } else if (!STRICT_GET_PROPERTY || varInfoNames.contains(name)) {
// The object is a custom action with an associated
// VariableInfo entry for this name.
// Get the class name and then introspect at runtime.
@@ -1712,6 +1721,21 @@
pageInfo.getVarInfoNames().add(info.getVarName());
}
}
+ TagVariableInfo[] tagInfos = n.getTagVariableInfos();
+ if (tagInfos != null && tagInfos.length > 0) {
+ for (int i = 0; i < tagInfos.length; i++) {
+ TagVariableInfo tagInfo = tagInfos[i];
+ if (tagInfo != null) {
+ String name = tagInfo.getNameGiven();
+ if (name == null) {
+ String nameFromAttribute =
+ tagInfo.getNameFromAttribute();
+ name = n.getAttributeValue(nameFromAttribute);
+ }
+ pageInfo.getVarInfoNames().add(name);
+ }
+ }
+ }
if (n.implementsSimpleTag()) {
generateCustomDoTag(n, handlerInfo, tagHandlerVar);
Modified: trunk/java/org/apache/jasper/resources/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/jasper/resources/LocalStrings.properties 2010-03-25 17:19:10 UTC (rev 1421)
+++ trunk/java/org/apache/jasper/resources/LocalStrings.properties 2010-03-25 19:47:57 UTC (rev 1422)
@@ -155,6 +155,7 @@
jsp.warning.classDebugInfo=Warning: Invalid value for the initParam classdebuginfo. Will use the default value of \"false\"
jsp.warning.checkInterval=Warning: Invalid value for the initParam checkInterval. Will use the default value of \"300\" seconds
jsp.warning.modificationTestInterval=Warning: Invalid value for the initParam modificationTestInterval. Will use the default value of \"4\" seconds
+jsp.warning.recompileOnFail=Warning: Invalid value for the initParam recompileOnFail. Will use the default value of \"false\" seconds
jsp.warning.development=Warning: Invalid value for the initParam development. Will use the default value of \"true\"
jsp.warning.fork=Warning: Invalid value for the initParam fork. Will use the default value of \"true\"
jsp.warning.reloading=Warning: Invalid value for the initParam reloading. Will use the default value of \"true\"
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2010-03-25 17:19:10 UTC (rev 1421)
+++ trunk/webapps/docs/changelog.xml 2010-03-25 19:47:57 UTC (rev 1422)
@@ -40,6 +40,14 @@
<bug>48668</bug>: Honor isELIgnored and isDeferredSyntaxAllowed in the Parser.
ELParser is now aware of the isDeferredAsLiteral option. (kkolinko)
</fix>
+ <fix>
+ <bug>48701</bug>: Allow TagVariableInfo as well as VariableInfo to introduce
+ objects later used by jsp:getProperty. (markt)
+ </fix>
+ <update>
+ <bug>48795</bug>: Add a new property to control if the next request always
+ triggers recompilation after a compilation failure. (markt)
+ </update>
</changelog>
</subsection>
</section>
14 years, 9 months
JBossWeb SVN: r1421 - in trunk: java/org/apache/jasper/resources and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-25 13:19:10 -0400 (Thu, 25 Mar 2010)
New Revision: 1421
Modified:
trunk/java/org/apache/jasper/compiler/Compiler.java
trunk/java/org/apache/jasper/compiler/ELParser.java
trunk/java/org/apache/jasper/compiler/JspConfig.java
trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
trunk/java/org/apache/jasper/compiler/Parser.java
trunk/java/org/apache/jasper/compiler/Validator.java
trunk/java/org/apache/jasper/resources/LocalStrings.properties
trunk/webapps/docs/changelog.xml
Log:
- Port Jasper fixes.
- Make ELParser aware of the deferred flag.
- JSP doc parser regression fix.
Modified: trunk/java/org/apache/jasper/compiler/Compiler.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Compiler.java 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/java/org/apache/jasper/compiler/Compiler.java 2010-03-25 17:19:10 UTC (rev 1421)
@@ -149,6 +149,21 @@
pageInfo.setErrorOnUndeclaredNamespace(JspUtil.booleanValue(jspProperty
.isErrorOnUndeclaredNamespace()));
}
+ if (ctxt.isTagFile()) {
+ try {
+ double libraryVersion = Double.parseDouble(ctxt.getTagInfo()
+ .getTagLibrary().getRequiredVersion());
+ if (libraryVersion < 2.0) {
+ pageInfo.setIsELIgnored("true", null, errDispatcher, true);
+ }
+ if (libraryVersion < 2.1) {
+ pageInfo.setDeferredSyntaxAllowedAsLiteral("true", null,
+ errDispatcher, true);
+ }
+ } catch (NumberFormatException ex) {
+ errDispatcher.jspError(ex);
+ }
+ }
ctxt.checkOutputDir();
String javaFileName = ctxt.getServletJavaFileName();
Modified: trunk/java/org/apache/jasper/compiler/ELParser.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/ELParser.java 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/java/org/apache/jasper/compiler/ELParser.java 2010-03-25 17:19:10 UTC (rev 1421)
@@ -45,13 +45,16 @@
private boolean escapeBS; // is '\' an escape char in text outside EL?
+ private final boolean isDeferredSyntaxAllowedAsLiteral;
+
private static final String reservedWords[] = { "and", "div", "empty",
"eq", "false", "ge", "gt", "instanceof", "le", "lt", "mod", "ne",
"not", "null", "or", "true" };
- public ELParser(String expression) {
+ public ELParser(String expression, boolean isDeferredSyntaxAllowedAsLiteral) {
index = 0;
this.expression = expression;
+ this.isDeferredSyntaxAllowedAsLiteral = isDeferredSyntaxAllowedAsLiteral;
expr = new ELNode.Nodes();
}
@@ -61,10 +64,13 @@
* @param expression
* The input expression string of the form Char* ('${' Char*
* '}')* Char*
+ * @param isDeferredSyntaxAllowedAsLiteral
+ * Are deferred expressions treated as literals?
* @return Parsed EL expression in ELNode.Nodes
*/
- public static ELNode.Nodes parse(String expression) {
- ELParser parser = new ELParser(expression);
+ public static ELNode.Nodes parse(String expression,
+ boolean isDeferredSyntaxAllowedAsLiteral) {
+ ELParser parser = new ELParser(expression, isDeferredSyntaxAllowedAsLiteral);
while (parser.hasNextChar()) {
String text = parser.skipUntilEL();
if (text.length() > 0) {
@@ -187,11 +193,11 @@
buf.append('\\');
if (!escapeBS)
prev = '\\';
- } else if (ch == '$' || ch == '#') {
+ } else if (ch == '$' || (!isDeferredSyntaxAllowedAsLiteral && ch == '#')) {
buf.append(ch);
}
// else error!
- } else if (prev == '$' || prev == '#') {
+ } else if (prev == '$' || (!isDeferredSyntaxAllowedAsLiteral && prev == '#')) {
if (ch == '{') {
this.type = prev;
prev = 0;
@@ -200,7 +206,8 @@
buf.append(prev);
prev = 0;
}
- if (ch == '\\' || ch == '$' || ch == '#') {
+ if (ch == '\\' || ch == '$'
+ || (!isDeferredSyntaxAllowedAsLiteral && ch == '#')) {
prev = ch;
} else {
buf.append(ch);
Modified: trunk/java/org/apache/jasper/compiler/JspConfig.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/JspConfig.java 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/java/org/apache/jasper/compiler/JspConfig.java 2010-03-25 17:19:10 UTC (rev 1421)
@@ -106,7 +106,11 @@
}
if (version < 2.4) {
defaultIsELIgnored = "true";
+ defaultDeferedSyntaxAllowedAsLiteral = "true";
}
+ if (version < 2.5) {
+ defaultDeferedSyntaxAllowedAsLiteral = "true";
+ }
jspProperties = new ArrayList<JspPropertyGroup>();
Iterator<String> urlPatternIterator = jspPropertyGroups.keySet().iterator();
Modified: trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/JspDocumentParser.java 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/java/org/apache/jasper/compiler/JspDocumentParser.java 2010-03-25 17:19:10 UTC (rev 1421)
@@ -110,8 +110,6 @@
// Flag set to delay incrmenting tagDependentNesting until jsp:body
// is first encountered
private boolean tagDependentPending = false;
- // Tag being parsed that should have an empty body
- private Node tagEmptyBody = null;
/*
* Constructor
@@ -271,8 +269,6 @@
AttributesImpl nonTaglibAttrs = null;
AttributesImpl nonTaglibXmlnsAttrs = null;
- checkEmptyBody();
-
processChars();
checkPrefixes(uri, qName, attrs);
@@ -433,10 +429,9 @@
if (scriptlessBodyNode == null
&& bodyType.equalsIgnoreCase(TagInfo.BODY_CONTENT_SCRIPTLESS)) {
scriptlessBodyNode = node;
- } else if (TagInfo.BODY_CONTENT_TAG_DEPENDENT.equalsIgnoreCase(bodyType)) {
+ }
+ else if (TagInfo.BODY_CONTENT_TAG_DEPENDENT.equalsIgnoreCase(bodyType)) {
tagDependentPending = true;
- } else if (TagInfo.BODY_CONTENT_EMPTY.equals(bodyType)) {
- tagEmptyBody = node;
}
}
}
@@ -460,9 +455,7 @@
*
* @throws SAXException
*/
- public void characters(char[] buf, int offset, int len)
- throws SAXException {
- checkEmptyBody();
+ public void characters(char[] buf, int offset, int len) {
if (charBuffer == null) {
charBuffer = new StringBuilder();
}
@@ -620,10 +613,6 @@
public void endElement(String uri, String localName, String qName)
throws SAXException {
- if (tagEmptyBody != null) {
- tagEmptyBody = null;
- }
-
processChars();
if (directivesOnly &&
@@ -675,6 +664,23 @@
scriptlessBodyNode = null;
}
+ if (current instanceof Node.CustomTag) {
+ String bodyType = getBodyType((Node.CustomTag) current);
+ if (TagInfo.BODY_CONTENT_EMPTY.equalsIgnoreCase(bodyType)) {
+ // Children - if any - must be JSP attributes
+ Node.Nodes children = current.getBody();
+ if (children != null && children.size() > 0) {
+ for (int i = 0; i < children.size(); i++) {
+ Node child = children.getNode(i);
+ if (!(child instanceof Node.NamedAttribute)) {
+ throw new SAXParseException(Localizer.getMessage(
+ "jasper.error.emptybodycontent.nonempty",
+ current.qName), locator);
+ }
+ }
+ }
+ }
+ }
if (current.getParent() != null) {
current = current.getParent();
}
@@ -713,7 +719,6 @@
*/
public void startCDATA() throws SAXException {
- checkEmptyBody();
processChars(); // Flush char buffer and remove white spaces
startMark = new Mark(ctxt, path, locator.getLineNumber(),
locator.getColumnNumber());
@@ -1400,14 +1405,6 @@
return "";
}
- private void checkEmptyBody() throws SAXException {
- if (tagEmptyBody != null) {
- throw new SAXParseException(Localizer.getMessage(
- "jasper.error.emptybodycontent.nonempty",
- tagEmptyBody.qName), locator);
- }
- }
-
/*
* Gets SAXParser.
*
Modified: trunk/java/org/apache/jasper/compiler/Parser.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Parser.java 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/java/org/apache/jasper/compiler/Parser.java 2010-03-25 17:19:10 UTC (rev 1421)
@@ -1455,9 +1455,11 @@
err.jspError(reader.mark(), "jsp.error.no.scriptlets");
} else if (reader.matches("<jsp:text")) {
parseXMLTemplateText(parent);
- } else if (reader.matches("${")) {
+ } else if (!pageInfo.isELIgnored() && reader.matches("${")) {
parseELExpression(parent, '$');
- } else if (reader.matches("#{")) {
+ } else if (!pageInfo.isELIgnored()
+ && !pageInfo.isDeferredSyntaxAllowedAsLiteral()
+ && reader.matches("#{")) {
parseELExpression(parent, '#');
} else if (reader.matches("<jsp:")) {
parseStandardAction(parent);
@@ -1506,10 +1508,12 @@
} else if (reader.matches("<jsp:text")) {
err.jspError(reader.mark(), "jsp.error.not.in.template",
"<jsp:text");
- } else if (reader.matches("${")) {
+ } else if (!pageInfo.isELIgnored() && reader.matches("${")) {
err.jspError(reader.mark(), "jsp.error.not.in.template",
"Expression language");
- } else if (reader.matches("#{")) {
+ } else if (!pageInfo.isELIgnored()
+ && !pageInfo.isDeferredSyntaxAllowedAsLiteral()
+ && reader.matches("#{")) {
err.jspError(reader.mark(), "jsp.error.not.in.template",
"Expression language");
} else if (reader.matches("<jsp:")) {
Modified: trunk/java/org/apache/jasper/compiler/Validator.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Validator.java 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/java/org/apache/jasper/compiler/Validator.java 2010-03-25 17:19:10 UTC (rev 1421)
@@ -415,8 +415,6 @@
private ErrorDispatcher err;
- private TagInfo tagInfo;
-
private ClassLoader loader;
private final StringBuilder buf = new StringBuilder(32);
@@ -504,7 +502,6 @@
ValidateVisitor(Compiler compiler) {
this.pageInfo = compiler.getPageInfo();
this.err = compiler.getErrorDispatcher();
- this.tagInfo = compiler.getCompilationContext().getTagInfo();
this.loader = compiler.getCompilationContext().getClassLoader();
}
@@ -717,10 +714,7 @@
// JSP.2.2 - '#{' not allowed in template text
if (n.getType() == '#') {
- if (!pageInfo.isDeferredSyntaxAllowedAsLiteral()
- && (tagInfo == null
- || ((tagInfo != null) && !(tagInfo.getTagLibrary().getRequiredVersion().equals("2.0")
- || tagInfo.getTagLibrary().getRequiredVersion().equals("1.2"))))) {
+ if (!pageInfo.isDeferredSyntaxAllowedAsLiteral()) {
err.jspError(n, "jsp.error.el.template.deferred");
} else {
return;
@@ -731,7 +725,8 @@
StringBuilder expr = this.getBuffer();
expr.append(n.getType()).append('{').append(n.getText())
.append('}');
- ELNode.Nodes el = ELParser.parse(expr.toString());
+ ELNode.Nodes el = ELParser.parse(expr.toString(), pageInfo
+ .isDeferredSyntaxAllowedAsLiteral());
// validate/prepare expression
prepareExpression(el, n, expr.toString());
@@ -1062,10 +1057,6 @@
TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
Attributes attrs = n.getAttributes();
- boolean checkDeferred = !pageInfo.isDeferredSyntaxAllowedAsLiteral()
- && !(tagInfo.getTagLibrary().getRequiredVersion().equals("2.0")
- || tagInfo.getTagLibrary().getRequiredVersion().equals("1.2"));
-
for (int i = 0; attrs != null && i < attrs.getLength(); i++) {
boolean found = false;
@@ -1073,30 +1064,39 @@
|| (!n.getRoot().isXmlSyntax() && attrs.getValue(i).startsWith("<%=")));
boolean elExpression = false;
boolean deferred = false;
- boolean deferredValueIsLiteral = false;
+ double libraryVersion = Double.parseDouble(
+ tagInfo.getTagLibrary().getRequiredVersion());
+ boolean deferredSyntaxAllowedAsLiteral =
+ pageInfo.isDeferredSyntaxAllowedAsLiteral() ||
+ libraryVersion < 2.1;
ELNode.Nodes el = null;
- if (!runtimeExpression) {
- el = ELParser.parse(attrs.getValue(i));
+ if (!runtimeExpression && !pageInfo.isELIgnored()) {
+ el = ELParser.parse(attrs.getValue(i),
+ deferredSyntaxAllowedAsLiteral);
Iterator<ELNode> nodes = el.iterator();
while (nodes.hasNext()) {
ELNode node = nodes.next();
if (node instanceof ELNode.Root) {
if (((ELNode.Root) node).getType() == '$') {
+ if (elExpression && deferred) {
+ err.jspError(n,
+ "jsp.error.attribute.deferredmix");
+ }
elExpression = true;
- } else if (checkDeferred && ((ELNode.Root) node).getType() == '#') {
+ } else if (((ELNode.Root) node).getType() == '#') {
+ if (elExpression && !deferred) {
+ err.jspError(n,
+ "jsp.error.attribute.deferredmix");
+ }
elExpression = true;
deferred = true;
- if (pageInfo.isELIgnored()) {
- deferredValueIsLiteral = true;
- }
}
}
}
}
- boolean expression = runtimeExpression
- || (elExpression && (!pageInfo.isELIgnored() || (!"true".equalsIgnoreCase(pageInfo.getIsELIgnored()) && checkDeferred && deferred)));
+ boolean expression = runtimeExpression || elExpression;
for (int j = 0; tldAttrs != null && j < tldAttrs.length; j++) {
if (attrs.getLocalName(i).equals(tldAttrs[j].getName())
@@ -1104,23 +1104,20 @@
|| attrs.getURI(i).length() == 0 || attrs
.getURI(i).equals(n.getURI()))) {
- if (tldAttrs[j].canBeRequestTime()
- || tldAttrs[j].isDeferredMethod() || tldAttrs[j].isDeferredValue()) { // JSP 2.1
+ TagAttributeInfo tldAttr = tldAttrs[j];
+ if (tldAttr.canBeRequestTime()
+ || tldAttr.isDeferredMethod() || tldAttr.isDeferredValue()) { // JSP 2.1
if (!expression) {
- if (deferredValueIsLiteral && !pageInfo.isDeferredSyntaxAllowedAsLiteral()) {
- err.jspError(n, "jsp.error.attribute.custom.non_rt_with_expr",
- tldAttrs[j].getName());
- }
-
String expectedType = null;
- if (tldAttrs[j].isDeferredMethod()) {
+ if (tldAttr.isDeferredMethod()) {
// The String litteral must be castable to what is declared as type
// for the attribute
- String m = tldAttrs[j].getMethodSignature();
+ String m = tldAttr.getMethodSignature();
if (m != null) {
- int rti = m.trim().indexOf(' ');
+ m = m.trim();
+ int rti = m.indexOf(' ');
if (rti > 0) {
expectedType = m.substring(0, rti).trim();
}
@@ -1134,12 +1131,12 @@
// of void - JSP.2.3.4
err.jspError(n,
"jsp.error.literal_with_void",
- tldAttrs[j].getName());
+ tldAttr.getName());
}
- if (tldAttrs[j].isDeferredValue()) {
+ if (tldAttr.isDeferredValue()) {
// The String litteral must be castable to what is declared as type
// for the attribute
- expectedType = tldAttrs[j].getExpectedTypeName();
+ expectedType = tldAttr.getExpectedTypeName();
}
if (expectedType != null) {
Class expectedClass = String.class;
@@ -1148,7 +1145,7 @@
} catch (ClassNotFoundException e) {
err.jspError
(n, "jsp.error.unknown_attribute_type",
- tldAttrs[j].getName(), expectedType);
+ tldAttr.getName(), expectedType);
}
// Check casting
try {
@@ -1156,25 +1153,25 @@
} catch (Exception e) {
err.jspError
(n, "jsp.error.coerce_to_type",
- tldAttrs[j].getName(), expectedType, attrs.getValue(i));
+ tldAttr.getName(), expectedType, attrs.getValue(i));
}
}
- jspAttrs[i] = new Node.JspAttribute(tldAttrs[j],
+ jspAttrs[i] = new Node.JspAttribute(tldAttr,
attrs.getQName(i), attrs.getURI(i), attrs
.getLocalName(i),
attrs.getValue(i), false, null, false);
} else {
- if (deferred && !tldAttrs[j].isDeferredMethod() && !tldAttrs[j].isDeferredValue()) {
+ if (deferred && !tldAttr.isDeferredMethod() && !tldAttr.isDeferredValue()) {
// No deferred expressions allowed for this attribute
err.jspError(n, "jsp.error.attribute.custom.non_rt_with_expr",
- tldAttrs[j].getName());
+ tldAttr.getName());
}
- if (!deferred && !tldAttrs[j].canBeRequestTime()) {
+ if (!deferred && !tldAttr.canBeRequestTime()) {
// Only deferred expressions are allowed for this attribute
err.jspError(n, "jsp.error.attribute.custom.non_rt_with_expr",
- tldAttrs[j].getName());
+ tldAttr.getName());
}
Class expectedType = String.class;
@@ -1189,7 +1186,7 @@
if (elExpression) {
// El expression
validateFunctions(el, n);
- jspAttrs[i] = new Node.JspAttribute(tldAttrs[j],
+ jspAttrs[i] = new Node.JspAttribute(tldAttr,
attrs.getQName(i), attrs.getURI(i),
attrs.getLocalName(i),
attrs.getValue(i), false, el, false);
@@ -1204,7 +1201,7 @@
}
} else {
// Runtime expression
- jspAttrs[i] = getJspAttribute(tldAttrs[j],
+ jspAttrs[i] = getJspAttribute(tldAttr,
attrs.getQName(i), attrs.getURI(i),
attrs.getLocalName(i), attrs
.getValue(i), expectedType, n,
@@ -1222,9 +1219,9 @@
// Make sure its value does not contain any.
if (expression) {
err.jspError(n, "jsp.error.attribute.custom.non_rt_with_expr",
- tldAttrs[j].getName());
+ tldAttr.getName());
}
- jspAttrs[i] = new Node.JspAttribute(tldAttrs[j],
+ jspAttrs[i] = new Node.JspAttribute(tldAttr,
attrs.getQName(i), attrs.getURI(i), attrs
.getLocalName(i),
attrs.getValue(i), false, null, false);
@@ -1345,6 +1342,9 @@
result = new Node.JspAttribute(tai, qName, uri, localName,
value.substring(3, value.length() - 2), true, null,
dynamic);
+ } else if (pageInfo.isELIgnored()) {
+ result = new Node.JspAttribute(tai, qName, uri, localName,
+ value, false, null, dynamic);
} else {
// The attribute can contain expressions but is not a
// scriptlet expression; thus, we want to run it through
@@ -1352,22 +1352,10 @@
// validate expression syntax if string contains
// expression(s)
- ELNode.Nodes el = ELParser.parse(value);
-
- boolean deferred = false;
- Iterator<ELNode> nodes = el.iterator();
- while (nodes.hasNext()) {
- ELNode node = nodes.next();
- if (node instanceof ELNode.Root) {
- if (((ELNode.Root) node).getType() == '#') {
- deferred = true;
- }
- }
- }
+ ELNode.Nodes el = ELParser.parse(value, pageInfo
+ .isDeferredSyntaxAllowedAsLiteral());
- if (el.containsEL() && !pageInfo.isELIgnored()
- && ((!pageInfo.isDeferredSyntaxAllowedAsLiteral() && deferred)
- || !deferred)) {
+ if (el.containsEL()) {
validateFunctions(el, n);
@@ -1426,7 +1414,8 @@
boolean elExpression = false;
if (!runtimeExpression && !pageInfo.isELIgnored()) {
- Iterator<ELNode> nodes = ELParser.parse(value).iterator();
+ Iterator<ELNode> nodes = ELParser.parse(value,
+ pageInfo.isDeferredSyntaxAllowedAsLiteral()).iterator();
while (nodes.hasNext()) {
ELNode node = nodes.next();
if (node instanceof ELNode.Root) {
Modified: trunk/java/org/apache/jasper/resources/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/jasper/resources/LocalStrings.properties 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/java/org/apache/jasper/resources/LocalStrings.properties 2010-03-25 17:19:10 UTC (rev 1421)
@@ -355,6 +355,7 @@
jsp.error.prolog_config_encoding_mismatch=Page-encoding specified in XML prolog ({0}) is different from that specified in jsp-property-group ({1})
jsp.error.attribute.custom.non_rt_with_expr=According to TLD or attribute directive in tag file, attribute {0} does not accept any expressions
jsp.error.attribute.standard.non_rt_with_expr=The {0} attribute of the {1} standard action does not accept any expressions
+jsp.error.attribute.deferredmix=Cannot use both ${} and #{} EL expressions in the same attribute value
jsp.error.scripting.variable.missing_name=Unable to determine scripting variable name from attribute {0}
jasper.error.emptybodycontent.nonempty=According to TLD, tag {0} must be empty, but is not
jsp.error.tagfile.nameNotUnique=The value of {0} and the value of {1} in line {2} are the same.
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2010-03-25 17:17:13 UTC (rev 1420)
+++ trunk/webapps/docs/changelog.xml 2010-03-25 17:19:10 UTC (rev 1421)
@@ -23,6 +23,9 @@
</subsection>
<subsection name="Coyote">
<changelog>
+ <fix>
+ Add back SSL renegotiation as an option. (mturk)
+ </fix>
</changelog>
</subsection>
<subsection name="Jasper">
@@ -30,6 +33,13 @@
<fix>
<bug>48616</bug>: Additional variable declaration fixes. (kkolinko)
</fix>
+ <fix>
+ <bug>48827</bug>: Parser regression. (markt)
+ </fix>
+ <fix>
+ <bug>48668</bug>: Honor isELIgnored and isDeferredSyntaxAllowed in the Parser.
+ ELParser is now aware of the isDeferredAsLiteral option. (kkolinko)
+ </fix>
</changelog>
</subsection>
</section>
14 years, 9 months
JBossWeb SVN: r1420 - in trunk/java/org/apache: tomcat/jni and 2 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-25 13:17:13 -0400 (Thu, 25 Mar 2010)
New Revision: 1420
Modified:
trunk/java/org/apache/catalina/core/AprLifecycleListener.java
trunk/java/org/apache/tomcat/jni/SSL.java
trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties
Log:
- Port SSL renegotiation option.
Modified: trunk/java/org/apache/catalina/core/AprLifecycleListener.java
===================================================================
--- trunk/java/org/apache/catalina/core/AprLifecycleListener.java 2010-03-25 02:48:03 UTC (rev 1419)
+++ trunk/java/org/apache/catalina/core/AprLifecycleListener.java 2010-03-25 17:17:13 UTC (rev 1420)
@@ -58,7 +58,7 @@
protected static final int TCN_REQUIRED_MAJOR = 1;
protected static final int TCN_REQUIRED_MINOR = 1;
protected static final int TCN_REQUIRED_PATCH = 8;
- protected static final int TCN_RECOMMENDED_PV = 17;
+ protected static final int TCN_RECOMMENDED_PV = 21;
// ---------------------------------------------- Properties
Modified: trunk/java/org/apache/tomcat/jni/SSL.java
===================================================================
--- trunk/java/org/apache/tomcat/jni/SSL.java 2010-03-25 02:48:03 UTC (rev 1419)
+++ trunk/java/org/apache/tomcat/jni/SSL.java 2010-03-25 17:17:13 UTC (rev 1420)
@@ -116,6 +116,10 @@
/* As server, disallow session resumption on renegotiation */
public static final int SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION = 0x00010000;
+ /* Permit unsafe legacy renegotiation */
+ public static final int SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = 0x00040000;
+ /* If set, always create a new key when using tmp_eddh parameters */
+ public static final int SSL_OP_SINGLE_ECDH_USE = 0x00080000;
/* If set, always create a new key when using tmp_dh parameters */
public static final int SSL_OP_SINGLE_DH_USE = 0x00100000;
/* Set to always use the tmp_rsa key when doing RSA operations,
@@ -323,4 +327,16 @@
* Return last SSL error string
*/
public static native String getLastError();
+
+ /**
+ * Return true if SSL_OP_ if defined.
+ * <p>
+ * Currently used for testing weather the
+ * SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION is supported by OpenSSL.
+ * <p>
+ * @param op SSL_OP to test.
+ * @return true if SSL_OP is supported by OpenSSL library.
+ */
+ public static native boolean hasOp(int op);
+
}
Modified: trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
===================================================================
--- trunk/java/org/apache/tomcat/util/net/AprEndpoint.java 2010-03-25 02:48:03 UTC (rev 1419)
+++ trunk/java/org/apache/tomcat/util/net/AprEndpoint.java 2010-03-25 17:17:13 UTC (rev 1420)
@@ -469,6 +469,14 @@
public void setSSLVerifyDepth(int SSLVerifyDepth) { this.SSLVerifyDepth = SSLVerifyDepth; }
+ /**
+ * SSL allow insecure renegotiation for the the client that does not
+ * support the secure renegotiation.
+ */
+ protected boolean SSLInsecureRenegotiation = false;
+ public void setSSLInsecureRenegotiation(boolean SSLInsecureRenegotiation) { this.SSLInsecureRenegotiation = SSLInsecureRenegotiation; }
+ public boolean getSSLInsecureRenegotiation() { return SSLInsecureRenegotiation; }
+
// --------------------------------------------------------- Public Methods
@@ -636,6 +644,16 @@
}
// Create SSL Context
sslContext = SSLContext.make(rootPool, value, (reverseConnection) ? SSL.SSL_MODE_CLIENT : SSL.SSL_MODE_SERVER);
+ // SSL renegociation
+ if (SSLInsecureRenegotiation) {
+ if (SSL.hasOp(SSL.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION))
+ SSLContext.setOptions(sslContext, SSL.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION);
+ else {
+ // OpenSSL does not support unsafe legacy renegotiation.
+ log.warn(sm.getString("endpoint.warn.noInsecureReneg",
+ SSL.versionString()));
+ }
+ }
// List the ciphers that the client is permitted to negotiate
SSLContext.setCipherSuite(sslContext, SSLCipherSuite);
// Load Server key and certificate
Modified: trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties 2010-03-25 02:48:03 UTC (rev 1419)
+++ trunk/java/org/apache/tomcat/util/net/res/LocalStrings.properties 2010-03-25 17:17:13 UTC (rev 1420)
@@ -26,3 +26,4 @@
endpoint.sendfile.error=Unexpected sendfile error
endpoint.sendfile.addfail=Sendfile failure: [{0}] {1}
endpoint.sendfile.nosupport=Disabling sendfile, since either the APR version or the system doesn't support it
+endpoint.warn.noInsecureReneg=Secure renegotation is not supported by the SSL library {0}
14 years, 9 months
JBossWeb SVN: r1419 - in trunk: webapps/docs and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-24 22:48:03 -0400 (Wed, 24 Mar 2010)
New Revision: 1419
Modified:
trunk/java/org/apache/jasper/compiler/Generator.java
trunk/java/org/apache/jasper/compiler/Node.java
trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java
trunk/webapps/docs/changelog.xml
Log:
- Port Jasper patch for scripting variables sync.
Modified: trunk/java/org/apache/jasper/compiler/Generator.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Generator.java 2010-03-25 02:46:36 UTC (rev 1418)
+++ trunk/java/org/apache/jasper/compiler/Generator.java 2010-03-25 02:48:03 UTC (rev 1419)
@@ -167,25 +167,6 @@
return b.toString();
}
- /**
- * Finds the <jsp:body> subelement of the given parent node. If not
- * found, null is returned.
- */
- protected static Node.JspBody findJspBody(Node parent) {
- Node.JspBody result = null;
-
- Node.Nodes subelements = parent.getBody();
- for (int i = 0; (subelements != null) && (i < subelements.size()); i++) {
- Node n = subelements.getNode(i);
- if (n instanceof Node.JspBody) {
- result = (Node.JspBody) n;
- break;
- }
- }
-
- return result;
- }
-
private String createJspId() throws JasperException {
if (this.jspIdPrefix == null) {
StringBuilder sb = new StringBuilder(32);
@@ -352,6 +333,9 @@
}
public void visit(Node.CustomTag n) throws JasperException {
+ // XXX - Actually there is no need to declare those
+ // "_jspx_" + varName + "_" + nestingLevel variables when we are
+ // inside a JspFragment.
if (n.getCustomNestingLevel() > 0) {
TagVariableInfo[] tagVarInfos = n.getTagVariableInfos();
@@ -997,6 +981,25 @@
}
}
+ /**
+ * Finds the <jsp:body> subelement of the given parent node. If not
+ * found, null is returned.
+ */
+ private Node.JspBody findJspBody(Node parent) {
+ Node.JspBody result = null;
+
+ Node.Nodes subelements = parent.getBody();
+ for (int i = 0; (subelements != null) && (i < subelements.size()); i++) {
+ Node n = subelements.getNode(i);
+ if (n instanceof Node.JspBody) {
+ result = (Node.JspBody) n;
+ break;
+ }
+ }
+
+ return result;
+ }
+
public void visit(Node.ForwardAction n) throws JasperException {
Node.JspAttribute page = n.getPage();
@@ -2510,11 +2513,16 @@
}
private void declareScriptingVars(Node.CustomTag n, int scope) {
+ if (isFragment) {
+ // No need to declare Java variables, if we inside a
+ // JspFragment, because a fragment is always scriptless.
+ return;
+ }
- Vector vec = n.getScriptingVars(scope);
+ List<Object> vec = n.getScriptingVars(scope);
if (vec != null) {
for (int i = 0; i < vec.size(); i++) {
- Object elem = vec.elementAt(i);
+ Object elem = vec.get(i);
if (elem instanceof VariableInfo) {
VariableInfo varInfo = (VariableInfo) elem;
if (varInfo.getDeclare()) {
@@ -2557,6 +2565,14 @@
if (n.getCustomNestingLevel() == 0) {
return;
}
+ if (isFragment) {
+ // No need to declare Java variables, if we inside a
+ // JspFragment, because a fragment is always scriptless.
+ // Thus, there is no need to save/ restore/ sync them.
+ // Note, that JspContextWrapper.syncFoo() methods will take
+ // care of saving/ restoring/ sync'ing of JspContext attributes.
+ return;
+ }
TagVariableInfo[] tagVarInfos = n.getTagVariableInfos();
VariableInfo[] varInfos = n.getVariableInfos();
@@ -2564,13 +2580,15 @@
return;
}
+ List<Object> declaredVariables = n.getScriptingVars(scope);
+
if (varInfos.length > 0) {
for (int i = 0; i < varInfos.length; i++) {
if (varInfos[i].getScope() != scope)
continue;
// If the scripting variable has been declared, skip codes
// for saving and restoring it.
- if (n.getScriptingVars(scope).contains(varInfos[i]))
+ if (declaredVariables.contains(varInfos[i]))
continue;
String varName = varInfos[i].getVarName();
String tmpVarName = "_jspx_" + varName + "_"
@@ -2586,7 +2604,7 @@
continue;
// If the scripting variable has been declared, skip codes
// for saving and restoring it.
- if (n.getScriptingVars(scope).contains(tagVarInfos[i]))
+ if (declaredVariables.contains(tagVarInfos[i]))
continue;
String varName = tagVarInfos[i].getNameGiven();
if (varName == null) {
@@ -2617,6 +2635,14 @@
if (n.getCustomNestingLevel() == 0) {
return;
}
+ if (isFragment) {
+ // No need to declare Java variables, if we inside a
+ // JspFragment, because a fragment is always scriptless.
+ // Thus, there is no need to save/ restore/ sync them.
+ // Note, that JspContextWrapper.syncFoo() methods will take
+ // care of saving/ restoring/ sync'ing of JspContext attributes.
+ return;
+ }
TagVariableInfo[] tagVarInfos = n.getTagVariableInfos();
VariableInfo[] varInfos = n.getVariableInfos();
@@ -2624,13 +2650,15 @@
return;
}
+ List<Object> declaredVariables = n.getScriptingVars(scope);
+
if (varInfos.length > 0) {
for (int i = 0; i < varInfos.length; i++) {
if (varInfos[i].getScope() != scope)
continue;
// If the scripting variable has been declared, skip codes
// for saving and restoring it.
- if (n.getScriptingVars(scope).contains(varInfos[i]))
+ if (declaredVariables.contains(varInfos[i]))
continue;
String varName = varInfos[i].getVarName();
String tmpVarName = "_jspx_" + varName + "_"
@@ -2646,7 +2674,7 @@
continue;
// If the scripting variable has been declared, skip codes
// for saving and restoring it.
- if (n.getScriptingVars(scope).contains(tagVarInfos[i]))
+ if (declaredVariables.contains(tagVarInfos[i]))
continue;
String varName = tagVarInfos[i].getNameGiven();
if (varName == null) {
@@ -2671,6 +2699,15 @@
* given scope.
*/
private void syncScriptingVars(Node.CustomTag n, int scope) {
+ if (isFragment) {
+ // No need to declare Java variables, if we inside a
+ // JspFragment, because a fragment is always scriptless.
+ // Thus, there is no need to save/ restore/ sync them.
+ // Note, that JspContextWrapper.syncFoo() methods will take
+ // care of saving/ restoring/ sync'ing of JspContext attributes.
+ return;
+ }
+
TagVariableInfo[] tagVarInfos = n.getTagVariableInfos();
VariableInfo[] varInfos = n.getVariableInfos();
Modified: trunk/java/org/apache/jasper/compiler/Node.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/Node.java 2010-03-25 02:46:36 UTC (rev 1418)
+++ trunk/java/org/apache/jasper/compiler/Node.java 2010-03-25 02:48:03 UTC (rev 1419)
@@ -1425,11 +1425,11 @@
private boolean implementsDynamicAttributes;
- private Vector atBeginScriptingVars;
+ private List<Object> atBeginScriptingVars;
- private Vector atEndScriptingVars;
+ private List<Object> atEndScriptingVars;
- private Vector nestedScriptingVars;
+ private List<Object> nestedScriptingVars;
private Node.CustomTag customTagParent;
@@ -1661,7 +1661,7 @@
return this.numCount;
}
- public void setScriptingVars(Vector vec, int scope) {
+ public void setScriptingVars(List<Object> vec, int scope) {
switch (scope) {
case VariableInfo.AT_BEGIN:
this.atBeginScriptingVars = vec;
@@ -1679,8 +1679,8 @@
* Gets the scripting variables for the given scope that need to be
* declared.
*/
- public Vector getScriptingVars(int scope) {
- Vector vec = null;
+ public List<Object> getScriptingVars(int scope) {
+ List<Object> vec = null;
switch (scope) {
case VariableInfo.AT_BEGIN:
Modified: trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java
===================================================================
--- trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java 2010-03-25 02:46:36 UTC (rev 1418)
+++ trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java 2010-03-25 02:48:03 UTC (rev 1419)
@@ -58,11 +58,11 @@
static class ScriptingVariableVisitor extends Node.Visitor {
private ErrorDispatcher err;
- private Hashtable scriptVars;
+ private Map<String, Integer> scriptVars;
public ScriptingVariableVisitor(ErrorDispatcher err) {
this.err = err;
- scriptVars = new Hashtable();
+ scriptVars = new HashMap<String,Integer>();
}
public void visit(Node.CustomTag n) throws JasperException {
@@ -81,7 +81,7 @@
return;
}
- Vector vec = new Vector();
+ List<Object> vec = new ArrayList<Object>();
Node.CustomTag parent = n.getCustomTagParent();
Integer ownRange = null;
@@ -105,11 +105,8 @@
String varName = varInfos[i].getVarName();
Integer currentRange = (Integer) scriptVars.get(varName);
- // If a fragment helper has been used for the parent tag
- // the scripting variables always need to be declared
if (currentRange == null ||
- ownRange.compareTo(currentRange) > 0 ||
- parent != null && isImplementedAsFragment(parent)) {
+ ownRange.compareTo(currentRange) > 0) {
scriptVars.put(varName, ownRange);
vec.add(varInfos[i]);
}
@@ -131,11 +128,8 @@
}
Integer currentRange = (Integer) scriptVars.get(varName);
- // If a fragment helper has been used for the parent tag
- // the scripting variables always need to be declared
if (currentRange == null ||
- ownRange.compareTo(currentRange) > 0 ||
- parent != null && isImplementedAsFragment(parent)) {
+ ownRange.compareTo(currentRange) > 0) {
scriptVars.put(varName, ownRange);
vec.add(tagVarInfos[i]);
}
@@ -146,21 +140,6 @@
}
}
- private static boolean isImplementedAsFragment(Node.CustomTag n) {
- // Replicates logic from Generator to determine if a fragment
- // helper will be used
- if (n.implementsSimpleTag()) {
- if (Generator.findJspBody(n) == null) {
- if (!n.hasEmptyBody()) {
- return true;
- }
- return false;
- }
- return true;
- }
- return false;
- }
-
public static void set(Node.Nodes page, ErrorDispatcher err)
throws JasperException {
page.visit(new CustomTagCounter());
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2010-03-25 02:46:36 UTC (rev 1418)
+++ trunk/webapps/docs/changelog.xml 2010-03-25 02:48:03 UTC (rev 1419)
@@ -16,6 +16,24 @@
<body>
+<section name="JBoss Web 3.0.0.Beta4 (remm)">
+ <subsection name="Catalina">
+ <changelog>
+ </changelog>
+ </subsection>
+ <subsection name="Coyote">
+ <changelog>
+ </changelog>
+ </subsection>
+ <subsection name="Jasper">
+ <changelog>
+ <fix>
+ <bug>48616</bug>: Additional variable declaration fixes. (kkolinko)
+ </fix>
+ </changelog>
+ </subsection>
+</section>
+
<section name="JBoss Web 3.0.0.Beta3 (remm)">
<subsection name="Catalina">
<changelog>
14 years, 9 months
JBossWeb SVN: r1418 - trunk/java/org/apache/catalina/core.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-03-24 22:46:36 -0400 (Wed, 24 Mar 2010)
New Revision: 1418
Modified:
trunk/java/org/apache/catalina/core/StandardContext.java
Log:
- Drop some odd looking realm JMX code.
Modified: trunk/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardContext.java 2010-03-24 16:45:25 UTC (rev 1417)
+++ trunk/java/org/apache/catalina/core/StandardContext.java 2010-03-25 02:46:36 UTC (rev 1418)
@@ -4066,26 +4066,6 @@
}
}
- // Look for a realm - that may have been configured earlier.
- // If the realm is added after context - it'll set itself.
- // TODO: what is the use case for this ?
- if( realm == null && mserver != null ) {
- ObjectName realmName=null;
- try {
- realmName=new ObjectName( getEngineName() + ":type=Realm,host=" +
- getHostname() + ",path=" + getPath());
- if( mserver.isRegistered(realmName ) ) {
- mserver.invoke(realmName, "init",
- new Object[] {},
- new String[] {}
- );
- }
- } catch( Throwable t ) {
- if(log.isDebugEnabled())
- log.debug("No realm for this host " + realmName);
- }
- }
-
// Initialize character set mapper
getCharsetMapper();
14 years, 9 months