FileDocCategorySizeDatePackage
GeneratorApache2.javaAPI DocApache Tomcat 6.0.146887Fri Jul 20 04:20:32 BST 2007org.apache.jk.config

GeneratorApache2

public class GeneratorApache2 extends Object implements WebXml2Jk.MappingGenerator
author
Costin Manolache

Fields Summary
WebXml2Jk
wxml
String
vhost
String
cpath
String
worker
PrintWriter
out
Constructors Summary
Methods Summary
public voidgenerateConstraints(java.util.Vector urls, java.util.Vector methods, java.util.Vector roles, boolean isSSL)

        for( int i=0; i<urls.size(); i++ ) {
            String url=(String)urls.elementAt(i);

            out.println( "<Location \"" + cpath + url + "\" >");

            if( methods.size() > 0 ) {
                out.print("  <Limit ");
                for( int j=0; j<methods.size(); j++ ) {
                    String m=(String)methods.elementAt(j);
                    out.print( " " +  m);
                }
                out.println(  " >" );
            }

            out.println( "    AuthType basic" );
            out.print( "    Require group " );
            for( int j=0; j<roles.size(); j++ ) {
                String role=(String)roles.elementAt(j);
                out.print( " " +  role);
            }
            out.println();

            if( methods.size() > 0 ) {
                out.println("  </Limit>");
            }
            
            out.println( "</Location>");
        }
    
public voidgenerateEnd()

        out.close();
    
public voidgenerateErrorPage(int err, java.lang.String location)

        
    
public voidgenerateFilterMapping(java.lang.String servlet, java.lang.String url)

        out.println( "<Location \"" + cpath + url + "\" >");
        out.println( "  SetHandler jakarta-servlet2" );
        out.println( "  JkUriSet group " + worker );
        out.println( "  JkUriSet servlet " +  servlet);
        out.println( "  JkUriSet host " +  vhost );
        out.println( "  JkUriSet context " +  cpath );
        out.println( "</Location>");
        out.println();
    
public voidgenerateLoginConfig(java.lang.String loginPage, java.lang.String errPage, java.lang.String authM)

        out.println( "<Location \"" + cpath + loginPage + "\" >");
        out.println( "  SetHandler jakarta-servlet2" );
        out.println( "  JkUriSet group " + worker );
        out.println( "  JkUriSet host " +  vhost );
        out.println( "  JkUriSet context " +  cpath );
        out.println( "</Location>");
        out.println();
    
private voidgenerateMimeMapping(java.io.PrintWriter out)

        Node webN=wxml.getWebXmlNode();
        for( Node mapN=WebXml2Jk.getChild( webN, "mime-mapping" );
             mapN != null; mapN = WebXml2Jk.getNext( mapN ) ) {
            String ext=WebXml2Jk.getChildContent( mapN, "extension" );
            String type=WebXml2Jk.getChildContent( mapN, "mime-type" );

            out.println("  AddType " + type + " " + ext );
        }
        

    
public voidgenerateServletMapping(java.lang.String servlet, java.lang.String url)

        out.println( "<Location \"" + cpath + url + "\" >");
        out.println( "  SetHandler jakarta-servlet2" );
        out.println( "  JkUriSet group " + worker );
        out.println( "  JkUriSet servlet " +  servlet);
        out.println( "  JkUriSet host " +  vhost );
        out.println( "  JkUriSet context " +  cpath );
        out.println( "</Location>");
        out.println();
    
public voidgenerateStart()

        File base=wxml.getJkDir();
        File outF=new File(base, "jk2.conf");
        out=new PrintWriter( new FileWriter( outF ));

        out.println("# Must be included in a virtual host context for " + vhost );

        out.println("Alias " + cpath + " \"" + wxml.docBase + "\"");
        out.println("<Directory \"" + wxml.docBase + "\" >");
        out.println("  Options Indexes FollowSymLinks");
        generateMimeMapping( out );
        generateWelcomeFiles( out);

        // If we use this instead of extension mapping for jsp we can avoid most
        // jsp security problems.
        out.println("  AddHandler jakarta-servlet2 .jsp");
        out.println("</Directory>");
        out.println();
        
        out.println("<Location \"" + cpath + "/WEB-INF\" >");
        out.println("  AllowOverride None");
        out.println("  Deny from all");
        out.println("</Location>");
        out.println();
        out.println("<Location \"" + cpath + "/META-INF\" >");
        out.println("  AllowOverride None");
        out.println("  Deny from all");
        out.println("</Location>");
        out.println();
    
private voidgenerateWelcomeFiles(java.io.PrintWriter out)

        Vector wf= wxml.getWellcomeFiles();
        out.print("  DirectoryIndex ");
        for( int i=0; i<wf.size(); i++ ) {
            out.print( " " + (String)wf.elementAt(i));
        }
        out.println();
    
public voidsetWebXmlReader(WebXml2Jk wxml)

        this.wxml=wxml;
        vhost=wxml.vhost;
        cpath=wxml.cpath;
        worker=wxml.worker;