larryi      02/01/12 17:58:47

  Modified:    src/share/org/apache/tomcat/modules/config IISConfig.java
  Log:
  Updated to write a "properties" file in addition to registry file.  This file
  will be written to the same directory as the registry file.
  
  Add an isapiRedirector attribute.  This attribute specifies the name of
  the redirector DLL. It affects the value of the extension_uri configuration
  setting and the name of the "properties" file written.  This will make it
  easier to use the isapi redirector in jakarta-tomcat-connectors which
  has a slightly different name as the one in jakarta-tomcat.
  
  Revision  Changes    Path
  1.12      +53 -2     
jakarta-tomcat/src/share/org/apache/tomcat/modules/config/IISConfig.java
  
  Index: IISConfig.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/config/IISConfig.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- IISConfig.java    17 Dec 2001 02:30:48 -0000      1.11
  +++ IISConfig.java    13 Jan 2002 01:58:47 -0000      1.12
  @@ -131,7 +131,7 @@
       @author Costin Manolache
       @author Larry Isaacs
       @author Gal Shachor
  -     @version $Revision: 1.11 $
  +     @version $Revision: 1.12 $
    */
   public class IISConfig extends BaseJkConfig  { 
   
  @@ -139,15 +139,40 @@
       public static final String URI_WORKERS_MAP_CONFIG = 
"/conf/auto/uriworkermap.properties";
       public static final String ISAPI_LOG_LOCATION = "/logs/iis_redirect.log";
       public static final String ISAPI_REG_FILE = "/conf/auto/iis_redirect.reg";    
  +    public static final String ISAPI_PROP_FILE = 
"/conf/auto/isapi_redirect.properties";
  +    public static final String ISAPI_REDIRECTOR = "isapi_redirect.dll";
   
       private File regConfig = null;
  +    private File propConfig = null;
       private File uriConfig = null;
   
  +    private String isapiRedirector = null;
  +
       public IISConfig() 
       {
       }
   
       //-------------------- Properties --------------------
  +
  +    private void updatePropFile() {
  +        propConfig=null;
  +        if( isapiRedirector != null ) {
  +            int idx=isapiRedirector.lastIndexOf('.');
  +            if( idx > 0 ) {
  +                String dir=(regConfig!=null) ?
  +                        regConfig.toString().replace(File.separatorChar,'/') :
  +                        ISAPI_REG_FILE;
  +                int idx2=dir.lastIndexOf('/');
  +                if( idx2 > 0 ) {
  +                    dir = dir.substring(0,idx2 + 1);
  +                } else {
  +                    dir = "";
  +                }
  +                propConfig = new File(dir + isapiRedirector.substring(0,idx)
  +                                          + ".properties");
  +            }
  +        }
  +    }
       
       /**
           set the path to the output file for the auto-generated
  @@ -159,6 +184,7 @@
       */
       public void setRegConfig(String path){
        regConfig= (path==null)?null:new File(path);
  +        updatePropFile();
       }
   
       /**
  @@ -169,6 +195,11 @@
           uriConfig= (path==null?null:new File(path));
       }
   
  +    public void setIsapiRedirector(String s) {
  +        isapiRedirector=s;
  +        updatePropFile();
  +    }
  +
       // -------------------- Initialize/guess defaults --------------------
   
       /** Initialize defaults for properties that are not set
  @@ -178,6 +209,7 @@
           super.initProperties(cm);
   
        regConfig=FileUtil.getConfigFile( regConfig, configHome, ISAPI_REG_FILE);
  +     propConfig=FileUtil.getConfigFile( propConfig, configHome, ISAPI_PROP_FILE);
        workersConfig=FileUtil.getConfigFile( workersConfig, configHome, 
WORKERS_CONFIG);
        uriConfig=FileUtil.getConfigFile( uriConfig, configHome, 
URI_WORKERS_MAP_CONFIG);
        jkLog=FileUtil.getConfigFile( jkLog, configHome, ISAPI_LOG_LOCATION);
  @@ -200,11 +232,14 @@
            initWorker(cm);
   
               PrintWriter regfile = new PrintWriter(new FileWriter(regConfig));
  +            PrintWriter propfile = new PrintWriter(new FileWriter(propConfig));
               PrintWriter uri_worker = new PrintWriter(new FileWriter(uriConfig));    
    
            log("Generating IIS registry file = "+regConfig );
  +         log("Generating IIS properties file = "+propConfig );
            log("Generating IIS URI worker map file = "+uriConfig );
   
               generateRegistrySettings(regfile);
  +            generatePropertySettings(propfile);
   
               generateUriWorkerHeader(uri_worker);            
   
  @@ -227,6 +262,7 @@
               }
   
               regfile.close();
  +            propfile.close();
               uri_worker.close();
   
           } catch(Exception ex) {
  @@ -244,11 +280,26 @@
           regfile.println("REGEDIT4");
           regfile.println();
           regfile.println("[HKEY_LOCAL_MACHINE\\SOFTWARE\\Apache Software 
Foundation\\Jakarta Isapi Redirector\\1.0]");
  -        regfile.println("\"extension_uri\"=\"/jakarta/isapi_redirect.dll\"");
  +        regfile.println("\"extension_uri\"=\"/jakarta/"
  +                + (isapiRedirector!=null?isapiRedirector:ISAPI_REDIRECTOR) + "\"");
           regfile.println("\"log_file\"=\"" + dubleSlash(jkLog.toString()) +"\"");
           regfile.println("\"log_level\"=\"" + jkDebug + "\"");
           regfile.println("\"worker_file\"=\"" + dubleSlash(workersConfig.toString()) 
+"\"");
           regfile.println("\"worker_mount_file\"=\"" + 
dubleSlash(uriConfig.toString()) +"\"");
  +        regfile.println("\"uri_select\"=\"parsed\"");
  +    }
  +
  +    /** Writes the registry settings required by the IIS connector
  +     */
  +    private void generatePropertySettings(PrintWriter propfile)
  +    {
  +        propfile.println("extension_uri=/jakarta/"
  +                + (isapiRedirector!=null?isapiRedirector:ISAPI_REDIRECTOR));
  +        propfile.println("log_file=" + jkLog.toString());
  +        propfile.println("log_level=" + jkDebug);
  +        propfile.println("worker_file=" + workersConfig.toString());
  +        propfile.println("worker_mount_file=" + uriConfig.toString());
  +        propfile.println("uri_select=parsed");
       }
   
       /** Writes the header information to the uriworkermap file
  
  
  

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

Reply via email to