Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java')
-rw-r--r--plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java494
1 files changed, 0 insertions, 494 deletions
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
deleted file mode 100644
index 1c2745d7c..000000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.tomcat.core.internal;
-
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.core.FacetUtil;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.core.internal.J2EEUtil;
-import org.eclipse.osgi.util.NLS;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.*;
-/**
- * Generic Tomcat server.
- */
-public class TomcatServer extends ServerDelegate implements ITomcatServer, ITomcatServerWorkingCopy {
- public static final String PROPERTY_SECURE = "secure";
- public static final String PROPERTY_DEBUG = "debug";
-
-
- protected transient TomcatConfiguration configuration;
- protected transient ITomcatVersionHandler versionHandler;
-
- /**
- * TomcatServer.
- */
- public TomcatServer() {
- super();
- }
-
- /**
- * Get the Tomcat runtime for this server.
- *
- * @return Tomcat runtime for this server
- */
- public TomcatRuntime getTomcatRuntime() {
- if (getServer().getRuntime() == null)
- return null;
-
- return (TomcatRuntime) getServer().getRuntime().loadAdapter(TomcatRuntime.class, null);
- }
-
- /**
- * Gets the Tomcat version handler for this server.
- *
- * @return version handler for this server
- */
- public ITomcatVersionHandler getTomcatVersionHandler() {
- if (versionHandler == null) {
- if (getServer().getRuntime() == null || getTomcatRuntime() == null)
- return null;
-
- versionHandler = getTomcatRuntime().getVersionHandler();
- }
- return versionHandler;
- }
-
- public ITomcatConfiguration getServerConfiguration() throws CoreException {
- return getTomcatConfiguration();
- }
-
- public TomcatConfiguration getTomcatConfiguration() throws CoreException {
- if (configuration == null) {
- IFolder folder = getServer().getServerConfiguration();
- if (folder == null || !folder.exists()) {
- String path = null;
- if (folder != null)
- path = folder.getFullPath().toOSString();
- throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorNoConfiguration, path), null));
- }
-
- String id = getServer().getServerType().getId();
- if (id.indexOf("32") > 0)
- configuration = new Tomcat32Configuration(folder);
- else if (id.indexOf("40") > 0)
- configuration = new Tomcat40Configuration(folder);
- else if (id.indexOf("41") > 0)
- configuration = new Tomcat41Configuration(folder);
- else if (id.indexOf("50") > 0)
- configuration = new Tomcat50Configuration(folder);
- else if (id.indexOf("55") > 0)
- configuration = new Tomcat55Configuration(folder);
- else if (id.indexOf("60") > 0)
- configuration = new Tomcat60Configuration(folder);
- try {
- configuration.load(folder, null);
- } catch (CoreException ce) {
- // ignore
- configuration = null;
- throw ce;
- }
- }
- return configuration;
- }
-
- public void importRuntimeConfiguration(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
- if (runtime == null) {
- configuration = null;
- return;
- }
- IPath path = runtime.getLocation().append("conf");
-
- String id = getServer().getServerType().getId();
- IFolder folder = getServer().getServerConfiguration();
- if (id.indexOf("32") > 0)
- configuration = new Tomcat32Configuration(folder);
- else if (id.indexOf("40") > 0)
- configuration = new Tomcat40Configuration(folder);
- else if (id.indexOf("41") > 0)
- configuration = new Tomcat41Configuration(folder);
- else if (id.indexOf("50") > 0)
- configuration = new Tomcat50Configuration(folder);
- else if (id.indexOf("55") > 0)
- configuration = new Tomcat55Configuration(folder);
- else if (id.indexOf("60") > 0)
- configuration = new Tomcat60Configuration(folder);
- try {
- configuration.importFromPath(path, isTestEnvironment(), monitor);
- } catch (CoreException ce) {
- // ignore
- configuration = null;
- throw ce;
- }
- }
-
- public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
- if (configuration == null)
- return;
- configuration.save(getServer().getServerConfiguration(), monitor);
- }
-
- public void configurationChanged() {
- configuration = null;
- }
-
- /**
- * Return the root URL of this module.
- * @param module org.eclipse.wst.server.core.model.IModule
- * @return java.net.URL
- */
- public URL getModuleRootURL(IModule module) {
- try {
- if (module == null)
- return null;
-
- TomcatConfiguration config = getTomcatConfiguration();
- if (config == null)
- return null;
-
- String url = "http://localhost";
- int port = config.getMainPort().getPort();
- port = ServerUtil.getMonitoredPort(getServer(), port, "web");
- if (port != 80)
- url += ":" + port;
-
- url += config.getWebModuleURL(module);
-
- if (!url.endsWith("/"))
- url += "/";
-
- return new URL(url);
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not get root URL", e);
- return null;
- }
- }
-
- /**
- * Returns true if the process is set to run in debug mode.
- * This feature only works with Tomcat v4.0.
- *
- * @return boolean
- */
- public boolean isDebug() {
- return getAttribute(PROPERTY_DEBUG, false);
- }
-
- /**
- * Returns true if this is a test (run code out of the workbench) server.
- *
- * @return boolean
- */
- public boolean isTestEnvironment() {
- return getAttribute(PROPERTY_TEST_ENVIRONMENT, false);
- }
-
- /**
- * Returns true if the process is set to run in secure mode.
- *
- * @return boolean
- */
- public boolean isSecure() {
- return getAttribute(PROPERTY_SECURE, false);
- }
-
- /**
- * @see ITomcatServer#getInstanceDirectory()
- */
- public String getInstanceDirectory() {
- return getAttribute(PROPERTY_INSTANCE_DIR, (String)null);
- }
-
- /**
- * @see ITomcatServer#getDeployDirectory()
- */
- public String getDeployDirectory() {
- // Default to value used by prior WTP versions
- return getAttribute(PROPERTY_DEPLOY_DIR, LEGACY_DEPLOYDIR);
- }
-
- /**
- * Returns true if modules should be served without publishing.
- *
- * @return boolean
- */
- public boolean isServeModulesWithoutPublish() {
- // If feature is supported, return current setting
- if (versionHandler.supportsServeModulesWithoutPublish())
- return getAttribute(PROPERTY_SERVE_MODULES_WITHOUT_PUBLISH, false);
- return false;
- }
-
- /**
- * Returns true if contexts should be saved in separate files
- * during server publish.
- *
- * @return boolean
- */
- public boolean isSaveSeparateContextFiles() {
- // If feature is supported, return current setting
- if (versionHandler.supportsSeparateContextFiles())
- return getAttribute(PROPERTY_SAVE_SEPARATE_CONTEXT_FILES, false);
- return false;
- }
-
-
- /**
- * Gets the base directory where the server instance runs. This
- * path can vary depending on the configuration. Null may be returned
- * if a runtime hasn't been specified for the server.
- *
- * @return path to base directory for the server or null if
- * runtime hasn't been specified.
- */
- public IPath getRuntimeBaseDirectory() {
- ITomcatVersionHandler tvh = getTomcatVersionHandler();
- if (tvh != null)
- return tvh.getRuntimeBaseDirectory(this);
- return null;
- }
-
- /**
- * Gets the directory to which modules should be deployed for
- * this server.
- *
- * @return full path to deployment directory for the server
- */
- public IPath getServerDeployDirectory() {
- String deployDir = getDeployDirectory();
- IPath deployPath = new Path(deployDir);
- if (!deployPath.isAbsolute()) {
- IPath base = getRuntimeBaseDirectory();
- deployPath = base.append(deployPath);
- }
- return deployPath;
- }
-
- protected static String renderCommandLine(String[] commandLine, String separator) {
- if (commandLine == null || commandLine.length < 1)
- return "";
- StringBuffer buf= new StringBuffer(commandLine[0]);
- for (int i = 1; i < commandLine.length; i++) {
- buf.append(separator);
- buf.append(commandLine[i]);
- }
- return buf.toString();
- }
-
- /**
- * Returns the child module(s) of this module.
- * @param module module from which to get child module(s)
- * @return array of child module(s)
- */
- public IModule[] getChildModules(IModule[] module) {
- if (module == null)
- return null;
-
- IModuleType moduleType = module[0].getModuleType();
-
- if (module.length == 1 && moduleType != null && "jst.web".equals(moduleType.getId())) {
- IWebModule webModule = (IWebModule) module[0].loadAdapter(IWebModule.class, null);
- if (webModule != null) {
- IModule[] modules = webModule.getModules();
- //if (modules != null)
- // System.out.println(modules.length);
- return modules;
- }
- }
- return new IModule[0];
- }
-
- /**
- * Returns the root module(s) of this module.
- * @param module module from which to get the root module
- * @return root module
- * @throws CoreException
- */
- public IModule[] getRootModules(IModule module) throws CoreException {
- if ("jst.web".equals(module.getModuleType().getId())) {
- IStatus status = canModifyModules(new IModule[] { module }, null);
- if (status == null || !status.isOK())
- throw new CoreException(status);
- return new IModule[] { module };
- }
-
- return J2EEUtil.getWebModules(module, null);
- }
-
- /**
- * Returns true if the given project is supported by this
- * server, and false otherwise.
- *
- * @param add modules
- * @param remove modules
- * @return the status
- */
- public IStatus canModifyModules(IModule[] add, IModule[] remove) {
- if (add != null) {
- int size = add.length;
- for (int i = 0; i < size; i++) {
- IModule module = add[i];
- if (!"jst.web".equals(module.getModuleType().getId()))
- return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorWebModulesOnly, null);
-
- if (getTomcatVersionHandler() == null)
- return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorNoRuntime, null);
-
- IStatus status = getTomcatVersionHandler().canAddModule(module);
- if (status != null && !status.isOK())
- return status;
-
- if (module.getProject() != null) {
- status = FacetUtil.verifyFacets(module.getProject(), getServer());
- if (status != null && !status.isOK())
- return status;
- }
- }
- }
-
- return Status.OK_STATUS;
- }
-
- public ServerPort[] getServerPorts() {
- if (getServer().getServerConfiguration() == null)
- return new ServerPort[0];
-
- try {
- List list = getTomcatConfiguration().getServerPorts();
- ServerPort[] sp = new ServerPort[list.size()];
- list.toArray(sp);
- return sp;
- } catch (Exception e) {
- return new ServerPort[0];
- }
- }
-
- public void setDefaults(IProgressMonitor monitor) {
- setTestEnvironment(true);
- setAttribute("auto-publish-setting", 2);
- setAttribute("auto-publish-time", 1);
- setDeployDirectory(DEFAULT_DEPLOYDIR);
- }
-
- /**
- * Sets this process to debug mode. This feature only works
- * with Tomcat v4.0.
- *
- * @param b boolean
- */
- public void setDebug(boolean b) {
- setAttribute(PROPERTY_DEBUG, b);
- }
-
- /**
- * Sets this process to secure mode.
- * @param b boolean
- */
- public void setSecure(boolean b) {
- setAttribute(PROPERTY_SECURE, b);
- }
-
- /**
- * Sets this server to test environment mode.
- *
- * @param b boolean
- */
- public void setTestEnvironment(boolean b) {
- setAttribute(PROPERTY_TEST_ENVIRONMENT, b);
- }
-
- /**
- * @see ITomcatServerWorkingCopy#setInstanceDirectory(String)
- */
- public void setInstanceDirectory(String instanceDir) {
- setAttribute(PROPERTY_INSTANCE_DIR, instanceDir);
- }
-
- /**
- * @see ITomcatServerWorkingCopy#setDeployDirectory(String)
- */
- public void setDeployDirectory(String deployDir) {
- // Remove attribute if setting to legacy value assumed in prior versions of WTP.
- // Allowing values that differ only in case is asking for more trouble that it is worth.
- if (LEGACY_DEPLOYDIR.equalsIgnoreCase(deployDir))
- setAttribute(PROPERTY_DEPLOY_DIR, (String)null);
- else
- setAttribute(PROPERTY_DEPLOY_DIR, deployDir);
- }
-
- /**
- * @see ITomcatServerWorkingCopy#setServeModulesWithoutPublish(boolean)
- */
- public void setServeModulesWithoutPublish(boolean b) {
- setAttribute(PROPERTY_SERVE_MODULES_WITHOUT_PUBLISH, b);
- }
-
- /**
- * @see ITomcatServerWorkingCopy#setSaveSeparateContextFiles(boolean)
- */
- public void setSaveSeparateContextFiles(boolean b) {
- setAttribute(PROPERTY_SAVE_SEPARATE_CONTEXT_FILES, b);
- }
-
- /**
- * @see ServerDelegate#modifyModules(IModule[], IModule[], IProgressMonitor)
- */
- public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
- IStatus status = canModifyModules(add, remove);
- if (status == null || !status.isOK())
- throw new CoreException(status);
-
- TomcatConfiguration config = getTomcatConfiguration();
-
- if (add != null) {
- int size = add.length;
- for (int i = 0; i < size; i++) {
- IModule module3 = add[i];
- IWebModule module = (IWebModule) module3.loadAdapter(IWebModule.class, monitor);
- String contextRoot = module.getContextRoot();
- if (contextRoot != null && !contextRoot.startsWith("/") && contextRoot.length() > 0)
- contextRoot = "/" + contextRoot;
- String docBase = config.getDocBasePrefix() + module3.getName();
- WebModule module2 = new WebModule(contextRoot, docBase, module3.getId(), true);
- config.addWebModule(-1, module2);
- }
- }
-
- if (remove != null) {
- int size2 = remove.length;
- for (int j = 0; j < size2; j++) {
- IModule module3 = remove[j];
- String memento = module3.getId();
- List modules = getTomcatConfiguration().getWebModules();
- int size = modules.size();
- for (int i = 0; i < size; i++) {
- WebModule module = (WebModule) modules.get(i);
- if (memento.equals(module.getMemento()))
- config.removeWebModule(i);
- }
- }
- }
- //config.save(config.getFolder(), monitor);
- }
-
- /**
- * Return a string representation of this object.
- * @return java.lang.String
- */
- public String toString() {
- return "TomcatServer";
- }
-}

Back to the top