You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2009/12/24 12:14:47 UTC

svn commit: r893731 - in /tomcat/trunk: ./ java/org/apache/catalina/core/ java/org/apache/catalina/startup/ java/org/apache/jasper/compiler/ java/org/apache/tomcat/util/scan/ res/maven/

Author: markt
Date: Thu Dec 24 11:14:46 2009
New Revision: 893731

URL: http://svn.apache.org/viewvc?rev=893731&view=rev
Log:
Move JAR scanning into a new JAR used by both Catalina and Jasper

Added:
    tomcat/trunk/java/org/apache/tomcat/util/scan/
    tomcat/trunk/java/org/apache/tomcat/util/scan/DefaultJarScanner.java
      - copied, changed from r893553, tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java
    tomcat/trunk/java/org/apache/tomcat/util/scan/package.html   (with props)
    tomcat/trunk/res/maven/tomcat-util.pom   (with props)
Removed:
    tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java
    tomcat/trunk/java/org/apache/jasper/compiler/InternalJarScanner.java
Modified:
    tomcat/trunk/build.xml
    tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
    tomcat/trunk/java/org/apache/jasper/compiler/JarScannerFactory.java
    tomcat/trunk/res/maven/mvn-pub.xml
    tomcat/trunk/res/maven/tomcat-catalina.pom
    tomcat/trunk/res/maven/tomcat-jasper.pom

Modified: tomcat/trunk/build.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=893731&r1=893730&r2=893731&view=diff
==============================================================================
--- tomcat/trunk/build.xml (original)
+++ tomcat/trunk/build.xml Thu Dec 24 11:14:46 2009
@@ -84,6 +84,7 @@
   <property name="catalina-ant.jar" value="${tomcat.build}/lib/catalina-ant.jar"/>
   <property name="tomcat-coyote.jar" value="${tomcat.build}/lib/tomcat-coyote.jar"/>
   <property name="tomcat-api.jar" value="${tomcat.build}/lib/tomcat-api.jar"/>
+  <property name="tomcat-util.jar" value="${tomcat.build}/lib/tomcat-util.jar"/>
 
   <property name="jasper.jar" value="${tomcat.build}/lib/jasper.jar"/>
   <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>
@@ -228,7 +229,11 @@
   <patternset id="files.tomcat-api">
     <include name="org/apache/tomcat/*.class" />
   </patternset>
-  	
+
+  <patternset id="files.tomcat-util">
+    <include name="org/apache/tomcat/util/scan/*.class" />
+  </patternset>
+
   <patternset id="files.catalina">
     <include name="org/apache/catalina/**" />
     <include name="org/apache/naming/**" />
@@ -261,6 +266,8 @@
     <include name="org/apache/tomcat/jni/**" />
     <include name="org/apache/jk/**" />
     <include name="org/apache/tomcat/util/**" />
+    <!-- Exclude the files shared between Catalina & Jasper -->
+    <exclude name="org/apache/tomcat/util/scan/**" />
   </patternset>
 
   <patternset id="files.jasper">
@@ -399,6 +406,11 @@
       filesDir="${tomcat.classes}"
       filesId="files.tomcat-api" />
 
+    <!-- Tomcat API JAR File -->
+    <jarIt jarfile="${tomcat-util.jar}"
+      filesDir="${tomcat.classes}"
+      filesId="files.tomcat-util" />
+
     <!-- Protocol handlers - Coyote -->
     <jarIt jarfile="${tomcat-coyote.jar}"
       filesDir="${tomcat.classes}"

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=893731&r1=893730&r2=893731&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu Dec 24 11:14:46 2009
@@ -88,7 +88,6 @@
 import org.apache.catalina.loader.WebappLoader;
 import org.apache.catalina.session.StandardManager;
 import org.apache.catalina.startup.ContextConfig;
-import org.apache.catalina.startup.DefaultJarScanner;
 import org.apache.catalina.startup.TldConfig;
 import org.apache.catalina.util.CharsetMapper;
 import org.apache.catalina.util.ExtensionValidator;
@@ -105,6 +104,7 @@
 import org.apache.tomcat.InstanceManager;
 import org.apache.tomcat.JarScanner;
 import org.apache.tomcat.util.modeler.Registry;
+import org.apache.tomcat.util.scan.DefaultJarScanner;
 
 /**
  * Standard implementation of the <b>Context</b> interface.  Each

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JarScannerFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JarScannerFactory.java?rev=893731&r1=893730&r2=893731&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/JarScannerFactory.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JarScannerFactory.java Thu Dec 24 11:14:46 2009
@@ -23,6 +23,7 @@
 import javax.servlet.ServletContext;
 
 import org.apache.tomcat.JarScanner;
+import org.apache.tomcat.util.scan.DefaultJarScanner;
 
 /**
  * Provide a mechanism for Jasper to obtain a reference to the JarScanner
@@ -43,7 +44,7 @@
         	(JarScanner) ctxt.getAttribute(JarScanner.class.getName());
         if (jarScanner == null) {
             ctxt.log(Localizer.getMessage("jsp.warning.noJarScanner"));
-            jarScanner = new InternalJarScanner();
+            jarScanner = new DefaultJarScanner();
         }
         return jarScanner;
     }

Copied: tomcat/trunk/java/org/apache/tomcat/util/scan/DefaultJarScanner.java (from r893553, tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/scan/DefaultJarScanner.java?p2=tomcat/trunk/java/org/apache/tomcat/util/scan/DefaultJarScanner.java&p1=tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java&r1=893553&r2=893731&rev=893731&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/scan/DefaultJarScanner.java Thu Dec 24 11:14:46 2009
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.catalina.startup;
+package org.apache.tomcat.util.scan;
 
 import java.io.File;
 import java.io.IOException;
@@ -29,6 +29,7 @@
 
 import javax.servlet.ServletContext;
 
+import org.apache.catalina.startup.Constants;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.JarScanner;
@@ -48,8 +49,6 @@
  *       (disabled by default)</li>
  * </ul>
  * All of the extensions may be controlled via configuration.
- * 
- * Keep in sync with org.apache.jasper.compiler.InternalJarScanner
  */
 public class DefaultJarScanner implements JarScanner {
 

Added: tomcat/trunk/java/org/apache/tomcat/util/scan/package.html
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/scan/package.html?rev=893731&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/scan/package.html (added)
+++ tomcat/trunk/java/org/apache/tomcat/util/scan/package.html Thu Dec 24 11:14:46 2009
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+$Id$
+-->
+</head>
+<body bgcolor="white">
+<p>
+This package contains the common classes used to perform configuration scanning
+for Catalina and Jasper.
+</p>
+</body>
+</html>

Propchange: tomcat/trunk/java/org/apache/tomcat/util/scan/package.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tomcat/trunk/java/org/apache/tomcat/util/scan/package.html
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision

Modified: tomcat/trunk/res/maven/mvn-pub.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/mvn-pub.xml?rev=893731&r1=893730&r2=893731&view=diff
==============================================================================
--- tomcat/trunk/res/maven/mvn-pub.xml (original)
+++ tomcat/trunk/res/maven/mvn-pub.xml Thu Dec 24 11:14:46 2009
@@ -142,6 +142,7 @@
     <doMavenDeploy artifactId="tomcat-jsp-api" jarFileName="jsp-api.jar"/>
     <doMavenDeploy artifactId="tomcat-servlet-api" jarFileName="servlet-api.jar"/>
     <doMavenDeploy artifactId="tomcat-api"/>
+    <doMavenDeploy artifactId="tomcat-util"/>
     <doMavenDeploy artifactId="tomcat-coyote"/>
     <doMavenDeploy artifactId="tomcat-dbcp"/>
     <doMavenDeploy artifactId="tomcat-i18n-es"/>

Modified: tomcat/trunk/res/maven/tomcat-catalina.pom
URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-catalina.pom?rev=893731&r1=893730&r2=893731&view=diff
==============================================================================
--- tomcat/trunk/res/maven/tomcat-catalina.pom (original)
+++ tomcat/trunk/res/maven/tomcat-catalina.pom Thu Dec 24 11:14:46 2009
@@ -46,5 +46,11 @@
       <version>@MAVEN.DEPLOY.VERSION@</version>
       <scope>compile</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-util</artifactId>
+      <version>@MAVEN.DEPLOY.VERSION@</version>
+      <scope>compile</scope>
+    </dependency>
   </dependencies>
 </project>

Modified: tomcat/trunk/res/maven/tomcat-jasper.pom
URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-jasper.pom?rev=893731&r1=893730&r2=893731&view=diff
==============================================================================
--- tomcat/trunk/res/maven/tomcat-jasper.pom (original)
+++ tomcat/trunk/res/maven/tomcat-jasper.pom Thu Dec 24 11:14:46 2009
@@ -70,5 +70,11 @@
       <version>@MAVEN.DEPLOY.VERSION@</version>
       <scope>compile</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-util</artifactId>
+      <version>@MAVEN.DEPLOY.VERSION@</version>
+      <scope>compile</scope>
+    </dependency>
   </dependencies>
 </project>

Added: tomcat/trunk/res/maven/tomcat-util.pom
URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-util.pom?rev=893731&view=auto
==============================================================================
--- tomcat/trunk/res/maven/tomcat-util.pom (added)
+++ tomcat/trunk/res/maven/tomcat-util.pom Thu Dec 24 11:14:46 2009
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.tomcat</groupId>
+  <artifactId>tomcat-util</artifactId>
+  <version>@MAVEN.DEPLOY.VERSION@</version>
+  <description>Common code shared by Catalina and Jasper</description>
+</project>

Propchange: tomcat/trunk/res/maven/tomcat-util.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tomcat/trunk/res/maven/tomcat-util.pom
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r893731 - in /tomcat/trunk: ./ java/org/apache/catalina/core/ java/org/apache/catalina/startup/ java/org/apache/jasper/compiler/ java/org/apache/tomcat/util/scan/ res/maven/

Posted by Mark Thomas <ma...@apache.org>.
On 24/12/2009 12:20, Konstantin Kolinko wrote:
> 2009/12/24  <ma...@apache.org>:
>> Author: markt
>> Date: Thu Dec 24 11:14:46 2009
>> New Revision: 893731
>>
>> URL: http://svn.apache.org/viewvc?rev=893731&view=rev
>> Log:
>> Move JAR scanning into a new JAR used by both Catalina and Jasper
>>
> 
>> +++ tomcat/trunk/java/org/apache/tomcat/util/scan/DefaultJarScanner.java Thu Dec 24 11:14:46 2009
>> @@ -15,7 +15,7 @@
>>  *  limitations under the License.
>>  */
>>
>> -package org.apache.catalina.startup;
>> +package org.apache.tomcat.util.scan;
>>
>> (...)
>>
>> +import org.apache.catalina.startup.Constants;
>>  import org.apache.juli.logging.Log;
>>  import org.apache.juli.logging.LogFactory;
>>  import org.apache.tomcat.JarScanner;
>> @@ -48,8 +49,6 @@
>>  *       (disabled by default)</li>
>>  * </ul>
>>  * All of the extensions may be controlled via configuration.
>> - *
>> - * Keep in sync with org.apache.jasper.compiler.InternalJarScanner
>>  */
>>  public class DefaultJarScanner implements JarScanner {
>>
>>
> 
> 
>> +import org.apache.catalina.startup.Constants;
> 
> Dependency on Catalina.
> 
>     /**
>      * The string resources for this package.
>      */
>     private static final StringManager sm =
>         StringManager.getManager(Constants.Package);
> 
> The string resources used by DefaultJarScanner  have to be moved to
> the new package as well.
> 
> Maybe you already have that in mind. It is just a reminder.

Thanks for the reminder. It is on the todo list but as part of a wider
effort to have a single StringManager implementation. That means
including StringManager in the tomcat-util JAR. I'll be doing that later
today.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r893731 - in /tomcat/trunk: ./ java/org/apache/catalina/core/ java/org/apache/catalina/startup/ java/org/apache/jasper/compiler/ java/org/apache/tomcat/util/scan/ res/maven/

Posted by Konstantin Kolinko <kn...@gmail.com>.
2009/12/24  <ma...@apache.org>:
> Author: markt
> Date: Thu Dec 24 11:14:46 2009
> New Revision: 893731
>
> URL: http://svn.apache.org/viewvc?rev=893731&view=rev
> Log:
> Move JAR scanning into a new JAR used by both Catalina and Jasper
>

> +++ tomcat/trunk/java/org/apache/tomcat/util/scan/DefaultJarScanner.java Thu Dec 24 11:14:46 2009
> @@ -15,7 +15,7 @@
>  *  limitations under the License.
>  */
>
> -package org.apache.catalina.startup;
> +package org.apache.tomcat.util.scan;
>
>(...)
>
> +import org.apache.catalina.startup.Constants;
>  import org.apache.juli.logging.Log;
>  import org.apache.juli.logging.LogFactory;
>  import org.apache.tomcat.JarScanner;
> @@ -48,8 +49,6 @@
>  *       (disabled by default)</li>
>  * </ul>
>  * All of the extensions may be controlled via configuration.
> - *
> - * Keep in sync with org.apache.jasper.compiler.InternalJarScanner
>  */
>  public class DefaultJarScanner implements JarScanner {
>
>


> +import org.apache.catalina.startup.Constants;

Dependency on Catalina.

    /**
     * The string resources for this package.
     */
    private static final StringManager sm =
        StringManager.getManager(Constants.Package);

The string resources used by DefaultJarScanner  have to be moved to
the new package as well.

Maybe you already have that in mind. It is just a reminder.

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r893731 - in /tomcat/trunk: ./ java/org/apache/catalina/core/ java/org/apache/catalina/startup/ java/org/apache/jasper/compiler/ java/org/apache/tomcat/util/scan/ res/maven/

Posted by Mark Thomas <ma...@apache.org>.
On 24/12/2009 11:14, markt@apache.org wrote:
> Author: markt
> Date: Thu Dec 24 11:14:46 2009
> New Revision: 893731
> 
> URL: http://svn.apache.org/viewvc?rev=893731&view=rev
> Log:
> Move JAR scanning into a new JAR used by both Catalina and Jasper

Next steps are:
- move the common TLD scanning code to the new package
- get o.a.jasper.compiler.JspConfig working with fragments
- cache some results in the ServletContext to reduce scan time

The aim is to reduce duplication of code and effort whilst keeping
Jasper independent of Catalina.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org