funkman     2004/04/06 10:58:59

  Modified:    jasper2/src/share/org/apache/jasper JspC.java
  Log:
  Allow disable tag pooling for ant task (and command line option)
  also detabbed
  
  Revision  Changes    Path
  1.69      +97 -85    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java
  
  Index: JspC.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- JspC.java 17 Mar 2004 19:23:03 -0000      1.68
  +++ JspC.java 6 Apr 2004 17:58:59 -0000       1.69
  @@ -1,12 +1,12 @@
   /*
    * Copyright 1999,2004 The Apache Software Foundation.
  - * 
  + *
    * Licensed 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.
  @@ -108,6 +108,7 @@
       private static final String SWITCH_TRIM_SPACES = "-trimSpaces";
       private static final String SWITCH_CLASSPATH = "-classpath";
       private static final String SWITCH_DIE = "-die";
  +    private static final String SWITCH_POOLING = "-poolingEnabled";
       private static final String SHOW_SUCCESS ="-s";
       private static final String LIST_ERRORS = "-l";
       private static final int NO_WEBXML = 0;
  @@ -116,19 +117,20 @@
       private static final int DEFAULT_DIE_LEVEL = 1;
       private static final int NO_DIE_LEVEL = 0;
   
  -    private static final String[] insertBefore = 
  -    { "</web-app>", "<servlet-mapping>", "<session-config>", 
  +    private static final String[] insertBefore =
  +    { "</web-app>", "<servlet-mapping>", "<session-config>",
         "<mime-mapping>", "<welcome-file-list>", "<error-page>", "<taglib>",
         "<resource-env-ref>", "<resource-ref>", "<security-constraint>",
  -      "<login-config>", "<security-role>", "<env-entry>", "<ejb-ref>", 
  +      "<login-config>", "<security-role>", "<env-entry>", "<ejb-ref>",
         "<ejb-local-ref>" };
   
  -    private static int die; 
  +    private static int die;
       private String classPath = null;
       private URLClassLoader loader = null;
       private boolean trimSpaces = false;
       private boolean xpoweredBy;
       private boolean mappedFile = false;
  +    private boolean poolingEnabled = true;
       private File scratchDir;
       private String ieClassId = DEFAULT_IE_CLASS_ID;
       private String targetPackage;
  @@ -261,6 +263,13 @@
                   die = dieLevel;
               } else if (tok.equals(SWITCH_HELP)) {
                   helpNeeded = true;
  +            } else if (tok.equals(SWITCH_POOLING)) {
  +                tok = nextArg();
  +                if ("false".equals(tok)) {
  +                    poolingEnabled = false;
  +                } else {
  +                    poolingEnabled = true;
  +                }
               } else {
                   if (tok.startsWith("-")) {
                       throw new JasperException("Unrecognized option: " + tok +
  @@ -296,7 +305,11 @@
       }
   
       public boolean isPoolingEnabled() {
  -        return true;
  +        return poolingEnabled;
  +    }
  +
  +    public void setPoolingEnabled(boolean poolingEnabled) {
  +        this.poolingEnabled = poolingEnabled;
       }
   
       public boolean isXpoweredBy() {
  @@ -312,19 +325,19 @@
       }
   
       public int getTagPoolSize() {
  -     return Constants.MAX_POOL_SIZE;
  +        return Constants.MAX_POOL_SIZE;
       }
   
       /**
        * Are we supporting HTML mapped servlets?
        */
       public boolean getMappedFile() {
  -     return mappedFile;
  +        return mappedFile;
       }
   
       // Off-line compiler, no need for security manager
       public Object getProtectionDomain() {
  -     return null;
  +        return null;
       }
   
       public boolean getSendErrorToClient() {
  @@ -366,14 +379,14 @@
        * Is the generation of SMAP info for JSR45 debuggin suppressed?
        */
       public boolean isSmapSuppressed() {
  -     return true;
  +        return true;
       }
   
      /**
        * Should SMAP info for JSR45 debugging be dumped to a file?
        */
       public boolean isSmapDumped() {
  -     return false;
  +        return false;
       }
   
       /**
  @@ -413,7 +426,7 @@
       }
   
       public TldLocationsCache getTldLocationsCache() {
  -     return tldLocationsCache;
  +    return tldLocationsCache;
       }
   
       /**
  @@ -423,14 +436,14 @@
        * @return String The encoding
        */
       public String getJavaEncoding() {
  -     return javaEncoding;
  +        return javaEncoding;
       }
   
       /**
        * Sets the encoding to use for
        * java files.
        *
  -     * @param encodingName The name, e.g. "UTF-8" 
  +     * @param encodingName The name, e.g. "UTF-8"
        */
       public void setJavaEncoding(String encodingName) {
         javaEncoding = encodingName;
  @@ -531,7 +544,7 @@
        * Obtain JSP configuration informantion specified in web.xml.
        */
       public JspConfig getJspConfig() {
  -     return jspConfig;
  +        return jspConfig;
       }
   
       public TagPluginManager getTagPluginManager() {
  @@ -576,13 +589,13 @@
           File webappBase = new File(uriRoot);
           File webXml = new File(webappBase, "WEB-INF/web.xml");
           File webXml2 = new File(webappBase, "WEB-INF/web2.xml");
  -        String insertStartMarker = 
  +        String insertStartMarker =
               Localizer.getMessage("jspc.webinc.insertStart");
  -        String insertEndMarker = 
  +        String insertEndMarker =
               Localizer.getMessage("jspc.webinc.insertEnd");
   
           BufferedReader reader = new BufferedReader(new FileReader(webXml));
  -        BufferedReader fragmentReader = 
  +        BufferedReader fragmentReader =
               new BufferedReader(new FileReader(webxmlFile));
           PrintWriter writer = new PrintWriter(new FileWriter(webXml2));
   
  @@ -727,15 +740,15 @@
                   rootCause = ((JasperException) rootCause).getRootCause();
               }
               log.error(Localizer.getMessage("jspc.error.generalException",
  -                                        file),
  -                   rootCause);
  +                       file),
  +              rootCause);
               throw je;
   
           } catch (Exception e) {
  -         if ((e instanceof FileNotFoundException) && log.isWarnEnabled()) {
  -             log.warn(Localizer.getMessage("jspc.error.fileDoesNotExist",
  -                                           e.getMessage()));
  -         }
  +        if ((e instanceof FileNotFoundException) && log.isWarnEnabled()) {
  +        log.warn(Localizer.getMessage("jspc.error.fileDoesNotExist",
  +                          e.getMessage()));
  +        }
               throw new JasperException(e);
           }
       }
  @@ -779,12 +792,12 @@
       public void execute() throws JasperException {
   
           try {
  -         if (uriRoot == null) {
  -             if( pages.size() == 0 ) {
  -                 throw new JasperException(
  -                        Localizer.getMessage("jsp.error.jspc.missingTarget"));
  -             }
  -             String firstJsp=(String)pages.elementAt( 0 );
  +            if (uriRoot == null) {
  +                if( pages.size() == 0 ) {
  +                    throw new JasperException(
  +                                
Localizer.getMessage("jsp.error.jspc.missingTarget"));
  +                }
  +                String firstJsp=(String)pages.elementAt( 0 );
                   File firstJspF = new File( firstJsp );
                   if (!firstJspF.exists()) {
                      throw new JasperException(
  @@ -792,58 +805,58 @@
                                               firstJsp));
                   }
                   locateUriRoot( firstJspF );
  -         }
  +            }
   
  -         if( context==null )
  -             initServletContext();
  +            if( context==null )
  +                initServletContext();
   
  -         // No explicit page, we'll process all .jsp in the webapp
  -         if (pages.size() == 0) {
  -             scanFiles( new File( uriRoot ));
  -         }
  +            // No explicit page, we'll process all .jsp in the webapp
  +            if (pages.size() == 0) {
  +                scanFiles( new File( uriRoot ));
  +            }
   
               if (uriRoot == null) {
  -             throw new JasperException(
  -                    Localizer.getMessage("jsp.error.jspc.no_uriroot"));
  -         }
  -         File uriRootF = new File(uriRoot);
  -         if (!uriRootF.exists() || !uriRootF.isDirectory()) {
  -             throw new JasperException(
  -                    Localizer.getMessage("jsp.error.jspc.uriroot_not_dir"));
  -         }
  -
  -         initWebXml();
  -
  -         Enumeration e = pages.elements();
  -         while (e.hasMoreElements()) {
  -             String nextjsp = e.nextElement().toString();
  -             try {
  -                 File fjsp = new File(nextjsp);
  -                 if (!fjsp.exists()) {
  -                     if (log.isWarnEnabled()) {
  -                         
log.warn(Localizer.getMessage("jspc.error.fileDoesNotExist",
  -                                                       fjsp.toString()));
  -                     }
  -                     continue;
  -                 }
  -                 String s = fjsp.getCanonicalPath();
  -                 //System.out.println("**" + s);
  -                 if (s.startsWith(uriRoot)) {
  -                     nextjsp = s.substring(uriRoot.length());
  -                 }
  -             } catch (IOException ioe) {
  -                 // if we got problems dont change the file name
  -             }
  -
  -             if (nextjsp.startsWith("." + File.separatorChar)) {
  -                 nextjsp = nextjsp.substring(2);
  -             }
  +                throw new JasperException(
  +                            Localizer.getMessage("jsp.error.jspc.no_uriroot"));
  +            }
  +            File uriRootF = new File(uriRoot);
  +            if (!uriRootF.exists() || !uriRootF.isDirectory()) {
  +                throw new JasperException(
  +                            Localizer.getMessage("jsp.error.jspc.uriroot_not_dir"));
  +            }
  +
  +            initWebXml();
  +
  +            Enumeration e = pages.elements();
  +            while (e.hasMoreElements()) {
  +                String nextjsp = e.nextElement().toString();
  +                try {
  +                    File fjsp = new File(nextjsp);
  +                    if (!fjsp.exists()) {
  +                        if (log.isWarnEnabled()) {
  +                            
log.warn(Localizer.getMessage("jspc.error.fileDoesNotExist",
  +                                          fjsp.toString()));
  +                        }
  +                        continue;
  +                    }
  +                    String s = fjsp.getCanonicalPath();
  +                    //System.out.println("**" + s);
  +                    if (s.startsWith(uriRoot)) {
  +                        nextjsp = s.substring(uriRoot.length());
  +                    }
  +                } catch (IOException ioe) {
  +                    // if we got problems dont change the file name
  +                }
  +
  +                if (nextjsp.startsWith("." + File.separatorChar)) {
  +                    nextjsp = nextjsp.substring(2);
  +                }
  +
  +                processFile(nextjsp);
  +            }
   
  -             processFile(nextjsp);
  -         }
  +            completeWebXml();
   
  -         completeWebXml();
  -         
               if (addWebXmlMappings) {
                   mergeIntoWebXml();
               }
  @@ -930,8 +943,7 @@
               context =new JspCServletContext
                   (new PrintWriter(System.out),
                    new URL("file:" + uriRoot.replace('\\','/') + '/'));
  -            tldLocationsCache = new
  -                TldLocationsCache(context, true);
  +            tldLocationsCache = new TldLocationsCache(context, true);
           } catch (MalformedURLException me) {
               System.out.println("**" + me);
           }
  @@ -941,7 +953,7 @@
       }
   
       private void initClassLoader(JspCompilationContext clctxt)
  -         throws IOException {
  +        throws IOException {
   
           classPath = getClassPath();
   
  @@ -1038,10 +1050,10 @@
                       if (g.exists() && g.isDirectory()) {
                           uriRoot = f.getCanonicalPath();
                           uriBase = tUriBase;
  -                     if (log.isInfoEnabled()) {
  -                         log.info(Localizer.getMessage("jspc.implicit.uriRoot",
  -                                                       uriRoot));
  -                     }
  +            if (log.isInfoEnabled()) {
  +                log.info(Localizer.getMessage("jspc.implicit.uriRoot",
  +                              uriRoot));
  +            }
                           break;
                       }
                       if (f.exists() && f.isDirectory()) {
  
  
  

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

Reply via email to