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]>