Class ExtensionValidator


  • public final class ExtensionValidator
    extends Object
    Ensures that all extension dependencies are resolved for a WEB application are met. This class builds a list of extensions available to an application and then validates those extensions. See http://docs.oracle.com/javase/1.4.2/docs/guide/extensions/spec.html for a detailed explanation of the extension mechanism in Java.
    Author:
    Greg Murray, Justyna Horwat
    • Constructor Detail

      • ExtensionValidator

        public ExtensionValidator()
    • Method Detail

      • validateApplication

        public static boolean validateApplication​(WebResourceRoot resources,
                                                  Context context)
                                           throws IOException
        Runtime validation of a Web Application. This method uses JNDI to look up the resources located under a DirContext. 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 ArrayList of ManifestResource objects. These objects are then passed to the validateManifestResources method for validation.
        Parameters:
        resources - The resources configured for this Web Application
        context - The context from which the Logger and path to the application
        Returns:
        true if all required extensions satisfied
        Throws:
        IOException - Error reading resources needed for validation
      • addSystemResource

        public static void addSystemResource​(File jarFile)
                                      throws IOException
        Checks to see if the given system JAR file contains a MANIFEST, and adds it to the container's manifest resources.
        Parameters:
        jarFile - The system JAR whose manifest to add
        Throws:
        IOException - Error reading JAR file