cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java

2004-04-16 Thread remm
remm2004/04/16 04:01:11

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java
  Log:
  - Avoid NPE if there are no extensions.
  
  Revision  ChangesPath
  1.12  +2 -6  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ExtensionValidator.java   10 Apr 2004 23:39:40 -  1.11
  +++ ExtensionValidator.java   16 Apr 2004 11:01:11 -  1.12
  @@ -63,7 +63,7 @@
   StringManager.getManager(org.apache.catalina.util);
   
   private static HashMap containerAvailableExtensions = null;
  -private static ArrayList containerManifestResources = null;
  +private static ArrayList containerManifestResources = new ArrayList();
   private static ResourceBundle messages = null;
   
   
  @@ -209,16 +209,12 @@
* @param jarFile The system JAR whose manifest to add
*/
   public static void addSystemResource(File jarFile) throws IOException {
  -
   Manifest manifest = getManifest(new FileInputStream(jarFile));
   if (manifest != null)  {
   ManifestResource mre
   = new ManifestResource(jarFile.getAbsolutePath(),
  manifest,
  ManifestResource.SYSTEM);
  -if (containerManifestResources == null) {
  -containerManifestResources = new ArrayList();
  -}
   containerManifestResources.add(mre);
   }
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java

2004-04-10 Thread remm
remm2004/04/10 16:39:40

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java
  Log:
  - Remove the hadcoding of the extension validator.
  - I think all the JARs from the common and shared CLs should be added to it.
  
  Revision  ChangesPath
  1.11  +55 -43
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ExtensionValidator.java   5 Apr 2004 20:32:34 -   1.10
  +++ ExtensionValidator.java   10 Apr 2004 23:39:40 -  1.11
  @@ -102,30 +102,9 @@
   }
   }
   
  -// get the files in the extensions directory
  -String extensionsDir = System.getProperty(java.ext.dirs);
  -if (extensionsDir != null) {
  -StringTokenizer extensionsTok
  -= new StringTokenizer(extensionsDir, File.pathSeparator);
  -while (extensionsTok.hasMoreTokens()) {
  -File targetDir = new File(extensionsTok.nextToken());
  -if (!targetDir.exists() || !targetDir.isDirectory()) {
  -continue;
  -}
  -File[] files = targetDir.listFiles();
  -for (int i = 0; i  files.length; i++) {
  -if (files[i].getName().toLowerCase().endsWith(.jar)) {
  -try {
  -addSystemResource(files[i]);
  -} catch (IOException e) {
  -log.error
  -(sm.getString
  - (extensionValidator.failload, files[i]), e);
  -}
  -}
  -}
  -}
  -}
  +// add specified folders to the list
  +addFolderList(java.ext.dirs);
  +addFolderList(catalina.ext.dirs);
   
   }
   
  @@ -223,6 +202,28 @@
   }
   
   
  +/**
  + * Checks to see if the given system JAR file contains a MANIFEST, and adds
  + * it to the container's manifest resources.
  + *
  + * @param jarFile The system JAR whose manifest to add
  + */
  +public static void addSystemResource(File jarFile) throws IOException {
  +
  +Manifest manifest = getManifest(new FileInputStream(jarFile));
  +if (manifest != null)  {
  +ManifestResource mre
  += new ManifestResource(jarFile.getAbsolutePath(),
  +   manifest,
  +   ManifestResource.SYSTEM);
  +if (containerManifestResources == null) {
  +containerManifestResources = new ArrayList();
  +}
  +containerManifestResources.add(mre);
  +}
  +}
  +
  +
   //  Private Methods
   
   
  @@ -384,28 +385,39 @@
   
   return manifest;
   }
  -
  -/*
  - * Checks to see if the given system JAR file contains a MANIFEST, and adds
  - * it to the container's manifest resources.
  - *
  - * @param jarFile The system JAR whose manifest to add
  +
  +
  +/**
  + * Add the JARs specified to the extension list.
*/
  -private static void addSystemResource(File jarFile) throws IOException {
  +private static void addFolderList(String property) {
   
  -Manifest manifest = getManifest(new FileInputStream(jarFile));
  -if (manifest != null)  {
  -ManifestResource mre
  -= new ManifestResource(jarFile.getAbsolutePath(),
  -   manifest,
  -   ManifestResource.SYSTEM);
  -if (containerManifestResources == null) {
  -containerManifestResources = new ArrayList();
  +// get the files in the extensions directory
  +String extensionsDir = System.getProperty(property);
  +if (extensionsDir != null) {
  +StringTokenizer extensionsTok
  += new StringTokenizer(extensionsDir, File.pathSeparator);
  +while (extensionsTok.hasMoreTokens()) {
  +File targetDir = new File(extensionsTok.nextToken());
  +if (!targetDir.exists() || !targetDir.isDirectory()) {
  +continue;
  +}
  +File[] files = targetDir.listFiles();
  +for (int i = 0; i  files.length; i++) {
  +if (files[i].getName().toLowerCase().endsWith(.jar)) {
  +try {
  +   

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java LocalStrings.properties

2004-04-05 Thread remm
remm2004/04/05 13:32:34

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java LocalStrings.properties
  Log:
  - Refactor the Extension validator without using a singleton pattern (since all
the methods are static, and getInstance never gets called inside Tomcat).
This fixes a NPE I ran into.
  
  Revision  ChangesPath
  1.10  +22 -24
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ExtensionValidator.java   27 Feb 2004 14:58:50 -  1.9
  +++ ExtensionValidator.java   5 Apr 2004 20:32:34 -   1.10
  @@ -62,28 +62,23 @@
   private static StringManager sm =
   StringManager.getManager(org.apache.catalina.util);
   
  -private static ExtensionValidator validator = null;
   private static HashMap containerAvailableExtensions = null;
   private static ArrayList containerManifestResources = null;
   private static ResourceBundle messages = null;
   
   
  -// --- Constructors
  +// - Static Initializer
   
   
   /**
  - *  Access to this class can only be made through the factory method
  - *  getInstance()
  - *
  - *  This private constructor loads the container level extensions that are
  + *  This static initializer loads the container level extensions that are
*  available to all web applications. This method scans all extension 
*  directories available via the java.ext.dirs System property. 
*
*  The System Class-Path is also scanned for jar files that may contain 
  - *  available extensions. The system extensions are loaded only the 
  - *  first time an instance of the ExtensionValidator is created.
  + *  available extensions.
*/
  -private ExtensionValidator() throws IOException {
  +static {
   
   // check for container level optional packages
   String systemClasspath = System.getProperty(java.class.path);
  @@ -97,7 +92,12 @@
   if (classpathItem.toLowerCase().endsWith(.jar)) {
   File item = new File(classpathItem);
   if (item.exists()) {
  -addSystemResource(item);
  +try {
  +addSystemResource(item);
  +} catch (IOException e) {
  +log.error(sm.getString
  +  (extensionValidator.failload, item), e);
  +}
   }
   }
   }
  @@ -115,11 +115,18 @@
   File[] files = targetDir.listFiles();
   for (int i = 0; i  files.length; i++) {
   if (files[i].getName().toLowerCase().endsWith(.jar)) {
  -addSystemResource(files[i]);
  +try {
  +addSystemResource(files[i]);
  +} catch (IOException e) {
  +log.error
  +(sm.getString
  + (extensionValidator.failload, files[i]), e);
  +}
   }
   }
   }
   }
  +
   }
   
   
  @@ -214,19 +221,10 @@
   
   return validateManifestResources(appName, appManifestResources);
   }
  -
  -/**
  - * Return an instance of the ExtensionValidator. 
  - * The ExtensionValidator is a singleton.
  - */
  -public static ExtensionValidator getInstance() throws IOException {
  -if (validator == null) {
  -validator = new ExtensionValidator();
  -}
  -return validator;
  -}
  -
  +
  +
   //  Private Methods
  +
   
   /**
* Validates a codeArrayList/code of codeManifestResource/code 
  
  
  
  1.5   +1 -0  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/LocalStrings.properties,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LocalStrings.properties   24 Sep 2002 15:52:39 -  1.4
  +++ LocalStrings.properties   5 Apr 2004 20:32:34 -   1.5
  @@ -6,5 +6,6 @@
   extensionValidator.web-application-manifest=Web 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java

2003-08-02 Thread remm
remm2003/08/02 10:40:31

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java
  Log:
  - Tomcat will now ignore a non existent classpath JAR.
  
  Revision  ChangesPath
  1.7   +17 -8 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ExtensionValidator.java   31 Jul 2003 20:56:25 -  1.6
  +++ ExtensionValidator.java   2 Aug 2003 17:40:30 -   1.7
  @@ -119,8 +119,12 @@
   private static HashMap containerAvailableExtensions = null;
   private static ArrayList containerManifestResources = null;
   private static ResourceBundle messages = null;
  -
  -/*
  +
  +
  +// --- Constructors
  +
  +
  +/**
*  Access to this class can only be made through the factory method
*  getInstance()
*
  @@ -144,7 +148,10 @@
   while (strTok.hasMoreTokens()) {
   String classpathItem = strTok.nextToken();
   if (classpathItem.toLowerCase().endsWith(.jar)) {
  -addSystemResource(new File(classpathItem));
  +File item = new File(classpathItem);
  +if (item.exists()) {
  +addSystemResource(item);
  +}
   }
   }
   
  @@ -168,8 +175,10 @@
   }
   }
   
  +
   // - Public Methods
  -
  +
  +
   /**
* Runtime validation of a Web Applicaiton.
*
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java ManifestResource.java

2003-07-31 Thread luehe
luehe   2003/07/31 13:56:25

  Modified:catalina/src/share/org/apache/catalina/core
StandardContext.java
   catalina/src/share/org/apache/catalina/util
ExtensionValidator.java ManifestResource.java
  Log:
  More clean up
  
  - Close JarInputStream after reading manifest
  - Leverage existing StringManager class for localization
  - Leverage commons-logging
  
  Revision  ChangesPath
  1.77  +10 -4 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java
  
  Index: StandardContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
  retrieving revision 1.76
  retrieving revision 1.77
  diff -u -r1.76 -r1.77
  --- StandardContext.java  29 Jul 2003 15:55:15 -  1.76
  +++ StandardContext.java  31 Jul 2003 20:56:25 -  1.77
  @@ -3964,9 +3964,15 @@
   postWorkDirectory();
   
   // Validate required extensions
  -ExtensionValidator validator = ExtensionValidator.getInstance();
  -boolean dependencyCheck = validator.validateApplication(
  -  getResources(), this);
  +boolean dependencyCheck = true;
  +try {
  +ExtensionValidator validator = ExtensionValidator.getInstance();
  +dependencyCheck = validator.validateApplication(getResources(),
  +this);
  +} catch (IOException ioe) {
  +dependencyCheck = false;
  +}
  +
   if (!dependencyCheck) {
   // do not make application available if depency check fails
   log.error( Error in dependencyCheck);
  
  
  
  1.6   +104 -127  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ExtensionValidator.java   30 Jul 2003 22:29:23 -  1.5
  +++ ExtensionValidator.java   31 Jul 2003 20:56:25 -  1.6
  @@ -73,9 +73,11 @@
   import java.io.File;
   import java.io.FileInputStream;
   import java.io.InputStream;
  +import java.io.IOException;
   import java.util.jar.JarInputStream;
   import java.util.jar.Manifest;
   import java.util.jar.Attributes;
  +import java.util.NoSuchElementException;
   
   import org.apache.catalina.core.StandardContext;
   import org.apache.catalina.Logger;
  @@ -84,17 +86,18 @@
   
   // JNDI Imports
   import javax.naming.NamingEnumeration;
  -import javax.naming.directory.DirContext;
  +import javax.naming.NamingException;
   import javax.naming.Binding;
  +import javax.naming.directory.DirContext;
   
   
   /**
  - *  Ensures that all extension dependies are resolved for a WEB application
  - *  are met. This class builds a master list of extensions available to an
  - *  applicaiton and then validates those extensions.
  + * Ensures that all extension dependies are resolved for a WEB application
  + * are met. This class builds a master list of extensions available to an
  + * applicaiton and then validates those extensions.
*
  - *  See http://java.sun.com/j2se/1.4/docs/guide/extensions/spec.html for
  - *  a detailed explanation of the extension mechanism in Java.
  + * See http://java.sun.com/j2se/1.4/docs/guide/extensions/spec.html for
  + * a detailed explanation of the extension mechanism in Java.
*
* @author Greg Murray
* @author Justyna Horwat
  @@ -103,8 +106,14 @@
*/
   public final class ExtensionValidator {
   
  -// - Properties
  +private static org.apache.commons.logging.Log log=
  +org.apache.commons.logging.LogFactory.getLog(ExtensionValidator.class);
   
  +/**
  + * The string resources for this package.
  + */
  +private static StringManager sm =
  +StringManager.getManager(org.apache.catalina.util);
   
   private static ExtensionValidator validator = null;
   private static HashMap containerAvailableExtensions = null;
  @@ -123,10 +132,10 @@
*  available extensions. The system extensions are loaded only the 
*  first time an instance of the ExtensionValidator is created.
*/
  -private ExtensionValidator() {
  +private ExtensionValidator() throws IOException {
   
   // check for container level optional packages
  -String systemClasspath = 
System.getProperties().getProperty(java.class.path);
  +String systemClasspath = System.getProperty(java.class.path);
   
   StringTokenizer 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java ManifestResource.java

2003-07-30 Thread luehe
luehe   2003/07/30 11:48:18

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java ManifestResource.java
  Log:
  Fixed NPE.
  
  Available and required extensions are now consistently NULL if not present.
  Previous code was inconsistent, assuming empty HashMap/ArrayList if no
  available/required extensions were present, but actually never
  allocating a HashMap/ArrayList in that case.
  
  Allocate HashMap/ArrayList objects only when needed.
  
  Revision  ChangesPath
  1.4   +113 -104  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ExtensionValidator.java   30 Aug 2002 18:41:26 -  1.3
  +++ ExtensionValidator.java   30 Jul 2003 18:48:18 -  1.4
  @@ -176,22 +176,21 @@
   // - Public Methods
   
   /**
  - *  Runtime validation of a Web Applicaiton.
  + * Runtime validation of a Web Applicaiton.
*
  - *  This method uses JNDI to look up the resources located under a 
  - *  codeDirContext/code. It locates Web Application MANIFEST.MF 
  - *  file in the /META-INF/ directory of the application and all 
  - *  MANIFEST.MF files in each JAR file located in the WEB-INF/lib 
  - *  directory and creates an codeArrayList/code of 
  - *  codeManifestResorcecode objects. These objects are then passed 
  - *  to the validateManifestResources method for validation.
  - *
  - *  @param DirContext The JNDI root of the Web Application
  - *  @param StandardContext The context from which the Logger and path 
  - * to the application
  - *
  - *  @return true if all required extensions satisfied
  + * This method uses JNDI to look up the resources located under a 
  + * codeDirContext/code. It locates Web Application MANIFEST.MF 
  + * file in the /META-INF/ directory of the application and all 
  + * MANIFEST.MF files in each JAR file located in the WEB-INF/lib 
  + * directory and creates an codeArrayList/code of 
  + * codeManifestResorcecode objects. These objects are then passed 
  + * to the validateManifestResources method for validation.
  + *
  + * @param dirContext The JNDI root of the Web Application
  + * @param context The context from which the Logger and path to the
  + *application
*
  + * @return true if all required extensions satisfied
*/
   public static synchronized boolean validateApplication(
  DirContext dirContext, 
  @@ -203,7 +202,7 @@
   // If the application context is null it does not exist and 
   // therefore is not valid
   if (dirContext == null) return false;
  -// Find the Mainfest for the Web Applicaiton
  +// Find the Manifest for the Web Applicaiton
   try {
   NamingEnumeration  wne = null;
   wne = dirContext.listBindings(/META-INF/);
  @@ -254,12 +253,13 @@
   // Jump out of the check for this application because it 
   // has no resources
   }
  -return validateManifestResources(appName,appManifestResources, logger);
  +return validateManifestResources(appName, appManifestResources,
  + logger);
   }
   
   /**
  - *  Return an instance of the ExtensionValidator. 
  - *  The ExtensionValidator is a singleton.
  + * Return an instance of the ExtensionValidator. 
  + * The ExtensionValidator is a singleton.
*/
   public static ExtensionValidator getInstance() {
   if (validator == null) {
  @@ -283,86 +283,90 @@
* This method should also provide static validation of a Web Applicaiton 
* if provided with the necessary parameters.
*
  - * @param String The name of the Application that will appear in the 
  - *   error messages
  - * @param ArrayList A list of codeManifestResource/code objects 
  + * @param appName The name of the Application that will appear in the 
  + *error messages
  + * @param resources A list of codeManifestResource/code objects 
*  to be validated.
  - * @param Logger A logger to which failure messages are logged.
  + * @param logger A logger to which failure messages are logged.
*
* @return true if manifest resource file requirements are met
  - *
*/
   private static boolean 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java ManifestResource.java

2003-07-30 Thread luehe
luehe   2003/07/30 15:29:23

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java ManifestResource.java
  Log:
  More clean up and bug fix (system resources were identified but then
  ignored when checking if an app's dependencies could be resolved)
  
  Revision  ChangesPath
  1.5   +91 -98
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ExtensionValidator.java   30 Jul 2003 18:48:18 -  1.4
  +++ ExtensionValidator.java   30 Jul 2003 22:29:23 -  1.5
  @@ -117,56 +117,42 @@
*
*  This private constructor loads the container level extensions that are
*  available to all web applications. This method scans all extension 
  - *  directories available to via the java.ext.dirs System property. 
  + *  directories available via the java.ext.dirs System property. 
*
*  The System Class-Path is also scanned for jar files that may contain 
*  available extensions. The system extensions are loaded only the 
*  first time an instance of the ExtensionValidator is created.
*/
   private ExtensionValidator() {
  -   
  -// load the container level extensions
  -containerManifestResources = new ArrayList();
  +
   // check for container level optional packages
  -String systemClasspath = System.getProperties().
  - getProperty(java.class.path);
  +String systemClasspath = 
System.getProperties().getProperty(java.class.path);
   
   StringTokenizer strTok = new StringTokenizer(systemClasspath, 
File.pathSeparator);
  -ArrayList items = new ArrayList();
  +
   // build a list of jar files in the classpath
   while (strTok.hasMoreTokens()) {
   String classpathItem = strTok.nextToken();
   if (classpathItem.toLowerCase().endsWith(.jar)) {
  -items.add(classpathItem);
  +addSystemResource(new File(classpathItem));
   }
   }
  +
   // get the files in the extensions directory
  -String extensionsDir = System.getProperties().
  -getProperty(java.ext.dirs);
  -StringTokenizer extensionsTok = null;
  +String extensionsDir = System.getProperties().getProperty(java.ext.dirs);
   if (extensionsDir != null) {
  -extensionsTok = new StringTokenizer(extensionsDir, 
  - File.pathSeparator);
  -}
  -while ((extensionsTok != null)  extensionsTok.hasMoreTokens()) {
  -String targetDir = extensionsTok.nextToken();
  -// check if the directory exits
  -if (((new File(targetDir)).exists())  
  -(new File(targetDir)).isDirectory()) {
  -// get a file list
  -File[] files = (new File(targetDir)).listFiles();
  -// see if any file is a jar file
  -for (int loop = 0; loop  files.length; loop++) {
  -if (files[loop].getName().toLowerCase().endsWith(.jar)) {
  -items.add(files[loop].getAbsolutePath());
  -Manifest manifest = getManifest(files[loop]);
  -if (manifest != null)  {
  -ManifestResource mre = new ManifestResource
  -(files[loop].getAbsolutePath(), manifest, 
  - ManifestResource.SYSTEM);
  -containerManifestResources.add(mre);
  -}
  +StringTokenizer extensionsTok
  += new StringTokenizer(extensionsDir, File.pathSeparator);
  +while (extensionsTok.hasMoreTokens()) {
  +File targetDir = new File(extensionsTok.nextToken());
  +if (!targetDir.exists() || !targetDir.isDirectory()) {
  +continue;
  +}
  +File[] files = targetDir.listFiles();
  +for (int i = 0; i  files.length; i++) {
  +if (files[i].getName().toLowerCase().endsWith(.jar)) {
  +addSystemResource(files[i]);
   }
   }
   }
  @@ -226,29 +212,30 @@
   }
   // Locate the Manifests for all necessary Jar Files in the Application
   ArrayList jarEntries = new ArrayList();
  -NamingEnumeration  ne = 

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java

2002-08-30 Thread horwat

horwat  2002/08/30 11:41:27

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java
  Log:
  If a META-INF directory exists without a manifest file, handle condition gracefully.
  
  Revision  ChangesPath
  1.3   +6 -4  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ExtensionValidator.java   29 Aug 2002 23:56:12 -  1.2
  +++ ExtensionValidator.java   30 Aug 2002 18:41:26 -  1.3
  @@ -220,6 +220,8 @@
   } 
   } catch (javax.naming.NamingException nex) {
   // Application does not contain a MANIFEST.MF file
  +} catch (java.util.NoSuchElementException nse) {
  +// Application does not contain a MANIFEST.MF file
   }  catch (java.io.IOException iox) {
   // Unable to load MANIFEST.MF file
   }
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util ExtensionValidator.java

2002-08-29 Thread horwat

horwat  2002/08/29 16:56:12

  Modified:catalina/src/share/org/apache/catalina/util
ExtensionValidator.java
  Log:
  Add more robust handling of invalid manifests.
  
  If a manifest does not end with a newline as defined by the Manifest Specification 
(http://java.sun.com/j2se/1.4/docs/guide/jar/jar.html#JAR%20Manifest) then 
JarInputStream.getManifest() returns a null value.
  
  Revision  ChangesPath
  1.2   +10 -8 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
  
  Index: ExtensionValidator.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ExtensionValidator.java   24 Aug 2002 02:27:28 -  1.1
  +++ ExtensionValidator.java   29 Aug 2002 23:56:12 -  1.2
  @@ -237,10 +237,12 @@
   InputStream in = resource.streamContent();
   JarInputStream jin = new JarInputStream(in);
   Manifest jmanifest = jin.getManifest();
  -ManifestResource mre = new ManifestResource
  -(binding.getName(), jmanifest, 
  -ManifestResource.APPLICATION);
  -appManifestResources.add(mre);
  +if (jmanifest != null) {
  +ManifestResource mre = new ManifestResource
  +(binding.getName(), jmanifest, 
  +ManifestResource.APPLICATION);
  +appManifestResources.add(mre);
  +}
   } catch (java.io.IOException iox) {
   // do not do anything... go to the next entry
   }
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]