package com.installshield.greenstone3_digital_library_software.event; import java.io.*; import java.net.*; import java.util.ArrayList; import java.util.StringTokenizer; import com.installshield.event.*; import com.installshield.event.ui.*; import com.installshield.event.wizard.*; import com.installshield.event.product.*; import com.installshield.wizard.*; import com.installshield.wizard.service.*; import com.installshield.wizard.service.file.*; import com.installshield.wizard.awt.*; import com.installshield.wizard.swing.*; import com.installshield.wizard.console.*; import com.installshield.product.*; import com.installshield.util.*; import com.installshield.ui.controls.*; import com.installshield.database.designtime.*; import com.installshield.product.service.product.*; public class InstallScript { /* DONE public void onInstalled_AntBuildFiles(ISContext context) { String productInstallLocation = context.resolveString("$P(absoluteInstallLocation)"); String configFile = context.resolveString("$PATH(" + productInstallLocation +", build.properties)"); String tomcatPort = context.resolveString("$V(START_PORT)"); String tomcatShutdownPort = context.resolveString("$V(SHUTDOWN_PORT)"); System.out.println("tomcatPort: "+tomcatPort); System.out.println("java version = "+context.resolveString("$J(java.version)")); ArrayList fileLines = readInFile(configFile); if (fileLines != null) { setupReplace(fileLines, "tomcat.port", tomcatPort); setupReplace(fileLines, "tomcat.shutdown.port", tomcatShutdownPort); writeOutFile(configFile, fileLines); } } public void onReplaced_AntBuildFiles(ComponentReplaceContext context) { onInstalled_AntBuildFiles(context); } */ public void onInstalled_Tomcat(ISContext context) { /* DONE // modify server.xml String installLocation = context.resolveString("$P(absoluteInstallLocation)"); String templateServerXML = context.resolveString("$PATH(" + installLocation +", resources/tomcat/server.xml)"); String finalServerXML = context.resolveString("$PATH(" + installLocation +", packages/tomcat/conf/server.xml)"); String tomcatPort = context.resolveString("$V(START_PORT)"); String tomcatShutdownPort=context.resolveString("$V(SHUTDOWN_PORT)"); ArrayList fileLines = readInFile(templateServerXML); if (fileLines != null) { queryReplace(fileLines, "@port@", tomcatPort); queryReplace(fileLines, "@shutdown-port@", tomcatShutdownPort); writeOutFile(finalServerXML, fileLines); } // copy greenstone3.xml into tomcat directory String templateGreenstone3Context = context.resolveString("$PATH(" + installLocation +", resources/tomcat/greenstone3.xml)"); String finalGreenstone3Context = context.resolveString("$PATH(" + installLocation +", packages/tomcat/conf/Catalina/localhost/greenstone3.xml)"); fileLines = readInFile(templateGreenstone3Context); String webDir = context.resolveString("$PATH(" + installLocation +", web)"); if (context.resolveString("$J(os.name)").startsWith("Windows")) { // replace \ with \\ (I think) webDir = webDir.replaceAll("\\\\", "\\\\\\\\\\\\\\\\"); } if (fileLines != null) { queryReplace(fileLines, "@gsdl3webhome@", webDir); writeOutFile(finalGreenstone3Context, fileLines); } System.out.println("java version = "+context.resolveString("$J(java.version)")); } public void onReplaced_Tomcat(ComponentReplaceContext context) { onInstalled_Tomcat(context); } public void onInstalled_GS2BuildSetupBat(ISContext context) { if (context.resolveString("$J(os.name)").startsWith("Windows")) { String installLocation = context.resolveString("$P(absoluteInstallLocation)"); String setupBatFile = context.resolveString("$PATH("+ installLocation+", gs2build/setup.bat)"); String gsdlhome = context.resolveString("$PATH("+ installLocation+", gs2build)"); ArrayList fileLines = readInFile(setupBatFile); gsdlhome = gsdlhome.replaceAll("\\\\", "/"); if (fileLines != null) { queryReplace(fileLines, "@gsdlhome@",gsdlhome); writeOutFile(setupBatFile, fileLines); } } } public void onReplaced_GS2BuildSetupBat(ComponentReplaceContext context) { onInstalled_GS2BuildSetupBat(context); } */ public void onInstalled_WebDirectory(ISContext context) { String installLocation = context.resolveString("$P(absoluteInstallLocation)"); // rename some jar files if Java version is 1.5 /*String java_ver = context.resolveString("$J(java.version)"); if (java_ver.equals("1.5")) { String xalanTmpFile = context.resolveString("$PATH(" + installLocation +", web/WEB-INF/lib/xalan.jar.tmp)"); String xalanJarFile = context.resolveString("$PATH(" + installLocation +", web/WEB-INF/lib/xalan.jar)"); renameFile(context,xalanTmpFile,xalanJarFile); String xercesImplTmpFile = context.resolveString("$PATH(" + installLocation +", web/WEB-INF/lib/xercesImpl.jar.tmp)"); String xercesImplJarFile = context.resolveString("$PATH(" + installLocation +", web/WEB-INF/lib/xercesImpl.jar)"); renameFile(context,xercesImplTmpFile,xercesImplJarFile); } String webDir = context.resolveString("$PATH(" + installLocation +", web)"); // on windows, turn the path back into linux style if (context.resolveString("$J(os.name)").startsWith("Windows")) { webDir = webDir.replaceAll("\\\\", "/"); } String tomcatPort = context.resolveString("$V(START_PORT)"); // Set up global.properties String templateGlobalProperties = context.resolveString("$PATH(" + installLocation +", resources/java/global.properties.in)"); String finalGlobalProperties = context.resolveString("$PATH(" + installLocation +", web/WEB-INF/classes/global.properties)"); ArrayList fileLines = readInFile(templateGlobalProperties); if (fileLines != null) { queryReplace(fileLines, "@gsdl3home@", webDir); queryReplace(fileLines, "@tomcat.server@", "localhost"); queryReplace(fileLines, "@tomcat.port@", tomcatPort); writeOutFile(finalGlobalProperties, fileLines); } // Set up log4j.properties String templateLog4jProperties = context.resolveString("$PATH(" + installLocation +", resources/java/log4j.properties.in)"); String finalLog4jProperties = context.resolveString("$PATH(" + installLocation +", web/WEB-INF/classes/log4j.properties)"); fileLines = readInFile(templateLog4jProperties); if (fileLines != null) { queryReplace(fileLines, "@gsdl3home@", webDir); writeOutFile(finalLog4jProperties, fileLines); } */ } public void onReplaced_WebDirectory(ComponentReplaceContext context) { onInstalled_WebDirectory(context); } // -------------------------------------------------- // General methods // -------------------------------------------------- public ArrayList readInFile(String file) { try { ArrayList fileLines = new ArrayList(); String line = null; BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); while ((line = bufferedReader.readLine()) != null ) { fileLines.add(line); } bufferedReader.close(); return fileLines; } catch (Exception e) { System.err.println("exception: "+e); return null; } } public void writeOutFile(String file, ArrayList fileLines) { try { PrintWriter printWriter = new PrintWriter(new BufferedWriter(new FileWriter(file))); for (int i=0; i