package com.sysdeo.eclipse.tomcat; /* * (c) Copyright Sysdeo SA 2001, 2002. * All Rights Reserved. */ import java.io.File; import java.io.FilenameFilter; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; /** * See %TOMCAT3_HOME%/bin/tomcat.bat */ public class Tomcat3Bootstrap extends TomcatBootstrap { static private String DEBUG_VIEW_LABEL = "Tomcat 3.3"; /* * @see TomcatBootstrap#getClasspath() */ public String[] getClasspath() { String[] classpath = new String[1]; String toolsJarLocation = VMLauncherUtility.getVMInstall().getInstallLocation() + File.separator + "lib" + File.separator + "tools.jar"; classpath[0] = toolsJarLocation; File libDir = new File(getTomcatDir() + File.separator + "lib"); classpath = this.addJarsOfDirectory(classpath, libDir); File containerDir = new File(getTomcatDir() + File.separator + "lib" + File.separator + "container"); classpath = this.addJarsOfDirectory(classpath, containerDir); File commonDir = new File(getTomcatDir() + File.separator + "lib" + File.separator + "common"); classpath = this.addJarsOfDirectory(classpath, commonDir); File appsDir = new File(getTomcatDir() + File.separator + "lib" + File.separator + "apps"); classpath = this.addJarsOfDirectory(classpath, appsDir); return classpath; } /* * @see TomcatBootstrap#getMainClass() */ public String getMainClass() { return "org.apache.tomcat.startup.Main"; } /* * @see TomcatBootstrap#getStartCommand() */ public String getStartCommand() { return "start"; } /* * @see TomcatBootstrap#getStopCommand() */ public String getStopCommand() { return "stop"; } public String[] getPrgArgs(String command) { String[] prgArgs = null; if(command.equals(getStartCommand())) { prgArgs = new String[3]; prgArgs[0] = command; prgArgs[1] = "-config"; prgArgs[2] = TomcatLauncherPlugin.getDefault().getConfigFile(); } else { prgArgs = new String[1]; prgArgs[0] = command; } return prgArgs; } /* * @see TomcatBootstrap#getVmArgs() */ public String[] getVmArgs() { String[] vmArgs = new String[1]; vmArgs[0] = "-Dtomcat.home=" + getTomcatDir(); return vmArgs; } /* * Add all jar files of directory dir to previous array */ protected String[] addJarsOfDirectory(String[] previous, File dir) { if((dir != null) && (dir.isDirectory())) { // Filter for .jar files FilenameFilter filter = new FilenameFilter() { public boolean accept(File dir, String filename) { return filename.endsWith(".jar"); } }; String[] jars = null; File[] files = dir.listFiles(filter); jars = new String[files.length]; for(int i=0; i<files.length; i++) jars[i] = files[i].getAbsolutePath(); return StringUtil.concat(previous, jars); } else { return previous; } } /* * @see TomcatBootstrap#getXMLTagAfterContextDefinition() */ public String getXMLTagAfterContextDefinition() { return "</ContextManager>"; } public IPath getServletJarPath() { return new Path("lib").append("common").append("servlet.jar"); } public IPath getJasperJarPath() { return new Path("lib").append("common").append("jasper-runtime.jar"); } /** * @see TomcatBootstrap#getLabel() */ public String getLabel() { return DEBUG_VIEW_LABEL; } public String getContextWorkDir(String workFolder) { StringBuffer workDir = new StringBuffer("workDir="); workDir.append('"'); workDir.append(workFolder); workDir.append('"'); return workDir.toString(); } /* * No JSP jar for Tomcat 3, JSP classes are in servlet jar */ public IPath getJSPJarPath() { return null; } }