API changes
diff --git a/plugins/org.eclipse.jst.server.core/plugin.properties b/plugins/org.eclipse.jst.server.core/plugin.properties
index 4dc017a..d6c521b 100644
--- a/plugins/org.eclipse.jst.server.core/plugin.properties
+++ b/plugins/org.eclipse.jst.server.core/plugin.properties
@@ -11,28 +11,6 @@
pluginName=Java Server Support
providerName=IBM
-# Commands
-commandSetVMArguments=set VM arguments
-commandSetVMArgumentsDescription=Set the Java VM arguments
-commandSetPath=set system path
-commandSetPathDescription=Set the system path
-commandSetPathType=set system path option
-commandSetPathTypeDescription=Set the system path option
-commandAddSystemProperty=add system property
-commandAddSystemPropertyDescription=Add a system property
-commandModifySystemProperty=modify system property
-commandModifySystemPropertyDescription=Modify the system property
-commandRemoveSystemProperty=remove system property
-commandRemoveSystemPropertyDescription=Remove a system property
-commandAddToClasspath=add to class path
-commandAddToClasspathDescription=Add to the class path
-commandEditClasspath=edit class path
-commandEditClasspathDescription=Edit the class path
-commandReorderClasspath=reorder class path
-commandReorderClasspathDescrption=Reorder the class path
-commandRemoveFromClasspath=remove from class path
-commandRemoveFromClasspathDescription=Remove from the class path
-
classpathContainerDescription=Server Classpath Container
runtimeTypeName=J2EE Runtime Library
diff --git a/plugins/org.eclipse.jst.server.core/plugin.xml b/plugins/org.eclipse.jst.server.core/plugin.xml
index de93910..4808fd6 100644
--- a/plugins/org.eclipse.jst.server.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.core/plugin.xml
@@ -3,23 +3,22 @@
<plugin id="org.eclipse.jst.server.core"
name="%pluginName"
- version="3.0.0"
+ version="1.0.0"
provider-name="%providerName"
class="org.eclipse.jst.server.core.internal.JavaServerPlugin">
<requires>
- <import plugin="org.eclipse.core.resources" />
- <import plugin="org.eclipse.debug.core" />
- <import plugin="org.eclipse.wst.server.core" />
- <import plugin="org.eclipse.jdt.core" />
- <import plugin="org.eclipse.jdt.launching" />
+ <import plugin="org.eclipse.core.resources"/>
+ <import plugin="org.eclipse.debug.core"/>
+ <import plugin="org.eclipse.wst.server.core"/>
+ <import plugin="org.eclipse.jdt.core"/>
+ <import plugin="org.eclipse.jdt.launching"/>
<import plugin="org.eclipse.core.runtime"/>
</requires>
<runtime>
<library name="sjavacore.jar">
<export name="*"/>
- <packages prefixes="org.eclipse.jst.server.core,org.eclipse.jst.server.j2ee"/>
</library>
</runtime>
@@ -28,15 +27,15 @@
id="org.eclipse.jst.server.core.container"
class="org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer"/>
</extension>
-
- <extension point="org.eclipse.wst.server.core.moduleKinds">
- <moduleKind
+
+ <extension point="org.eclipse.wst.server.core.moduleTypes">
+ <moduleType
id="j2ee.web"
name="%moduleTypeJ2EEWebName"/>
- <moduleKind
+ <moduleType
id="j2ee.ejb"
name="%moduleTypeJ2EEEJBName"/>
- <moduleKind
+ <moduleType
id="j2ee.ear"
name="%moduleTypeJ2EEEARName"/>
</extension>
@@ -46,8 +45,7 @@
id="org.eclipse.jst.server.core.runtimeType"
name="%runtimeTypeName"
description="%runtimeTypeDescription"
- class="org.eclipse.jst.server.core.internal.GenericRuntime"
- workingCopyClass="org.eclipse.jst.server.core.internal.GenericRuntimeWorkingCopy">
+ class="org.eclipse.jst.server.core.internal.GenericRuntime">
<moduleType
types="j2ee"
versions="*"/>
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
index 67808f4..0556300 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -26,12 +26,11 @@
import org.eclipse.jst.server.core.internal.RuntimeClasspathContainer;
import org.eclipse.jst.server.core.internal.Trace;
import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.model.IRuntimeTargetHandlerDelegate;
-
+import org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate;
/**
*
*/
-public abstract class ClasspathRuntimeTargetHandler implements IRuntimeTargetHandlerDelegate {
+public abstract class ClasspathRuntimeTargetHandler extends RuntimeTargetHandlerDelegate {
/* (non-Javadoc)
* @see org.eclipse.wst.server.core.model.IRuntimeTargetDelegate#setRuntimeTarget(org.eclipse.core.resources.IProject, org.eclipse.wst.server.core.IRuntime)
*/
@@ -62,7 +61,7 @@
}
List add = new ArrayList();
- IClasspathEntry[] entries = getDelegateClasspathEntries(runtime);
+ IClasspathEntry[] entries = getDelegateClasspathEntries(runtime, monitor);
if (entries != null) {
size = entries.length;
for (int i = 0; i < size; i++)
@@ -73,7 +72,8 @@
if (ids != null) {
size = ids.length;
for (int i = 0; i < size; i++) {
- IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER).append(getId()).append(runtime.getId());
+ String id2 = getRuntimeTargetHandler().getId();
+ IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER).append(id2).append(runtime.getId());
if (ids[i] != null)
path.append(ids[i]);
add.add(JavaCore.newContainerEntry(path));
@@ -223,7 +223,7 @@
return;
try {
- IClasspathEntry[] delegates = getDelegateClasspathEntries(runtime);
+ IClasspathEntry[] delegates = getDelegateClasspathEntries(runtime, monitor);
int delegateSize = 0;
if (delegates != null)
delegateSize = delegates.length;
@@ -298,9 +298,7 @@
return entries;
}
- public abstract String getId();
-
- public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime) {
+ public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
return null;
}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/GenericRuntimeUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/GenericRuntimeUtil.java
index 42cac9b..71c3e58 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/GenericRuntimeUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/GenericRuntimeUtil.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -17,8 +17,18 @@
public class GenericRuntimeUtil {
protected static final String RUNTIME_TYPE_ID = "org.eclipse.jst.server.core.runtimeType";
+ /**
+ * Returns <code>true</code> if the given runtime is a generic J2EE runtime, and
+ * <code>false</code> otherwise. The runtime may not be null.
+ *
+ * @param runtime
+ * @return <code>true</code> if
+ */
public static boolean isGenericJ2EERuntime(IRuntime runtime) {
- return (runtime != null && runtime.getRuntimeType() != null &&
+ if (runtime == null)
+ throw new IllegalArgumentException();
+
+ return (runtime.getRuntimeType() != null &&
runtime.getRuntimeType().getId().startsWith(RUNTIME_TYPE_ID));
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
index 60b3041..a45e713 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntime.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -10,19 +10,15 @@
**********************************************************************/
package org.eclipse.jst.server.core;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.jdt.launching.IVMInstall;
-
-import org.eclipse.wst.server.core.model.IRuntimeDelegate;
/**
*
*/
-public interface IGenericRuntime extends IRuntimeDelegate {
- public String getVMInstallTypeId();
-
- public String getVMInstallId();
-
+public interface IGenericRuntime {
+ /**
+ * Return the VM install (installed JRE) that this runtime is using.
+ *
+ * @return the current VM install
+ */
public IVMInstall getVMInstall();
-
- public IStatus validate();
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
index 8182e0f..29319f5 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IGenericRuntimeWorkingCopy.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -10,10 +10,15 @@
**********************************************************************/
package org.eclipse.jst.server.core;
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
+import org.eclipse.jdt.launching.IVMInstall;
/**
*
*/
-public interface IGenericRuntimeWorkingCopy extends IGenericRuntime, IRuntimeWorkingCopyDelegate {
- public void setVMInstall(String typeId, String id);
+public interface IGenericRuntimeWorkingCopy extends IGenericRuntime {
+ /**
+ * Set the VM install (installed JRE) that this runtime is using.
+ *
+ * @param vmInstall the VM install to use
+ */
+ public void setVMInstall(IVMInstall vmInstall);
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
index 6959f4c..978bbbc 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -15,31 +15,26 @@
import org.eclipse.jdt.launching.IVMInstallType;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.jst.server.core.IGenericRuntime;
+import org.eclipse.jst.server.core.IGenericRuntimeWorkingCopy;
import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.model.RuntimeDelegate;
/**
*
*/
-public class GenericRuntime implements IGenericRuntime {
+public class GenericRuntime extends RuntimeDelegate implements IGenericRuntime, IGenericRuntimeWorkingCopy {
protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
protected static final String PROP_VM_INSTALL_ID = "vm-install-id";
- protected IRuntime runtime;
-
public GenericRuntime() {
// do nothing
}
- public void initialize(IRuntime newRuntime) {
- this.runtime = newRuntime;
+ protected String getVMInstallTypeId() {
+ return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
}
- public String getVMInstallTypeId() {
- return runtime.getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
- }
-
- public String getVMInstallId() {
- return runtime.getAttribute(PROP_VM_INSTALL_ID, (String)null);
+ protected String getVMInstallId() {
+ return getAttribute(PROP_VM_INSTALL_ID, (String)null);
}
public IVMInstall getVMInstall() {
@@ -59,24 +54,42 @@
}
public IStatus validate() {
- if (runtime.getName() == null || runtime.getName().length() == 0)
- return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorName"), null);
-
- if (ServerUtil.isNameInUse(runtime))
- return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorDuplicateRuntimeName"), null);
+ IStatus status = super.validate();
+ if (!status.isOK())
+ return status;
+ IRuntime runtime = getRuntime();
+
IPath path = runtime.getLocation();
- if (path == null || path.isEmpty())
- return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, "", null);
- else if (!path.toFile().exists())
+ if (!path.toFile().exists())
return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorLocation"), null);
else if (getVMInstall() == null)
return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, JavaServerPlugin.getResource("%errorJRE"), null);
else
return new Status(IStatus.OK, JavaServerPlugin.PLUGIN_ID, 0, "", null);
}
-
- public void dispose() {
- // do nothing
+
+ public void setDefaults() {
+ IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
+ setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
+ }
+
+ public void setVMInstall(IVMInstall vmInstall) {
+ if (vmInstall == null) {
+ setVMInstall(null, null);
+ } else
+ setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
+ }
+
+ protected void setVMInstall(String typeId, String id) {
+ if (typeId == null)
+ setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
+ else
+ setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
+
+ if (id == null)
+ setAttribute(PROP_VM_INSTALL_ID, (String)null);
+ else
+ setAttribute(PROP_VM_INSTALL_ID, id);
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeTargetHandler.java
index 254e749..e18fd09 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeTargetHandler.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeTargetHandler.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -14,6 +14,7 @@
import java.util.List;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
@@ -26,8 +27,8 @@
*
*/
public class GenericRuntimeTargetHandler extends ClasspathRuntimeTargetHandler {
- public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime) {
- GenericRuntime genericRuntime = (GenericRuntime) runtime.getDelegate();
+ public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
+ GenericRuntime genericRuntime = (GenericRuntime) runtime.getAdapter(GenericRuntime.class);
IVMInstall vmInstall = genericRuntime.getVMInstall();
if (vmInstall != null) {
String name = vmInstall.getName();
@@ -37,7 +38,7 @@
}
public String getClasspathContainerLabel(IRuntime runtime, String id) {
- return JavaServerPlugin.getResource("%runtimeTargetContainer");
+ return JavaServerPlugin.getResource("%runtimeTypeName");
}
public String[] getClasspathEntryIds(IRuntime runtime) {
@@ -61,4 +62,4 @@
public String getId() {
return "org.eclipse.jst.server.core.runtimeTarget";
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeWorkingCopy.java
deleted file mode 100644
index ed684d7..0000000
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IGenericRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-/**
- *
- */
-public class GenericRuntimeWorkingCopy extends GenericRuntime implements IGenericRuntimeWorkingCopy {
- protected IRuntimeWorkingCopy wc;
-
- public void initialize(IRuntimeWorkingCopy runtime2) {
- wc = runtime2;
- }
-
- public void setDefaults() {
- IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
- setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
- }
-
- public void setVMInstall(String typeId, String id) {
- if (typeId == null)
- wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
- else
- wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-
- if (id == null)
- wc.setAttribute(PROP_VM_INSTALL_ID, (String)null);
- else
- wc.setAttribute(PROP_VM_INSTALL_ID, id);
- }
-
- public void handleSave(byte id, IProgressMonitor monitor) {
- // do nothing
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JavaResources.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaResources.java
similarity index 82%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JavaResources.java
rename to plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaResources.java
index 742997d..c1bbb57 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JavaResources.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaResources.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -8,9 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-package org.eclipse.jst.server.core;
-
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
+package org.eclipse.jst.server.core.internal;
/**
*
*/
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
index 605e475..b5cd4db 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/LaunchConfigurationUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
similarity index 84%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/LaunchConfigurationUtil.java
rename to plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
index 97d04d9..a44300a 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/LaunchConfigurationUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -8,12 +8,13 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-package org.eclipse.jst.server.core;
+package org.eclipse.jst.server.core.internal;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
@@ -36,8 +37,8 @@
* @return
* @throws CoreException
*/
- public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create) throws CoreException {
- ILaunchConfiguration config = server.getLaunchConfiguration(create);
+ public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create, IProgressMonitor monitor) throws CoreException {
+ ILaunchConfiguration config = server.getLaunchConfiguration(create, monitor);
if (config == null)
return null;
@@ -51,8 +52,8 @@
* @param classpath
* @throws CoreException
*/
- public static void setClasspath(IServer server, IRuntimeClasspathEntry[] classpath) throws CoreException {
- ILaunchConfiguration config = server.getLaunchConfiguration(true);
+ public static void setClasspath(IServer server, IRuntimeClasspathEntry[] classpath, IProgressMonitor monitor) throws CoreException {
+ ILaunchConfiguration config = server.getLaunchConfiguration(true, monitor);
ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy();
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
index b08e363..218dae6 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
index d99ce6a..1603cdc 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -28,19 +28,19 @@
public void initialize(IPath containerPath, IJavaProject project) throws CoreException {
if (containerPath.segmentCount() > 0) {
if (containerPath.segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER)) {
- ClasspathRuntimeTargetHandler delegate = null;
+ ClasspathRuntimeTargetHandler crth = null;
IRuntime runtime = null;
String id = "";
if (containerPath.segmentCount() > 2) {
IRuntimeTargetHandler handler = ServerCore.getRuntimeTargetHandler(containerPath.segment(1));
if (handler != null)
- delegate = (ClasspathRuntimeTargetHandler) handler.getDelegate();
+ crth = (ClasspathRuntimeTargetHandler) handler.getAdapter(ClasspathRuntimeTargetHandler.class);
String runtimeId = containerPath.segment(2);
- runtime = ServerCore.getResourceManager().getRuntime(runtimeId);
+ runtime = ServerCore.findRuntime(runtimeId);
if (containerPath.segmentCount() > 3)
id = containerPath.segment(3);
}
- RuntimeClasspathContainer container = new RuntimeClasspathContainer(containerPath, delegate, runtime, id);
+ RuntimeClasspathContainer container = new RuntimeClasspathContainer(containerPath, crth, runtime, id);
JavaCore.setClasspathContainer(containerPath, new IJavaProject[] {project}, new IClasspathContainer[] {container}, null);
}
}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/SystemProperty.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/SystemProperty.java
similarity index 88%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/SystemProperty.java
rename to plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/SystemProperty.java
index c884c30..e57bcbb 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/SystemProperty.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/SystemProperty.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -8,7 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-package org.eclipse.jst.server.core;
+package org.eclipse.jst.server.core.internal;
/**
* A system property name/value pair.
*/
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java
index 51273c9..1a8c110 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Util.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Util.java
similarity index 95%
rename from plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Util.java
rename to plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Util.java
index 9534967..81c313a 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Util.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Util.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -8,7 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-package org.eclipse.jst.server.core;
+package org.eclipse.jst.server.core.internal;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/EJBBean.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/EJBBean.java
index a098867..fa51946 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/EJBBean.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/EJBBean.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -10,10 +10,10 @@
**********************************************************************/
package org.eclipse.jst.server.j2ee;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IModuleArtifact;
-public class EJBBean implements IModuleObject {
+public class EJBBean implements IModuleArtifact {
public static final String ID = "org.eclipse.jst.server.j2ee.ejb";
private IModule module;
@@ -39,14 +39,14 @@
}
/*
- * @see IModuleObject#getId()
+ * @see IModuleArtifact#getId()
*/
public String getId() {
return ID;
}
/*
- * @see IModuleObject#getModule()
+ * @see IModuleArtifact#getModule()
*/
public IModule getModule() {
return module;
@@ -63,4 +63,4 @@
public boolean hasLocalInterface() {
return local;
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IApplicationClientModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IApplicationClientModule.java
index 5230890..9d8587b 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IApplicationClientModule.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IApplicationClientModule.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IConnectorModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IConnectorModule.java
index e39dcb4..410065b 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IConnectorModule.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IConnectorModule.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -10,15 +10,15 @@
**********************************************************************/
package org.eclipse.jst.server.j2ee;
-import java.util.List;
+import org.eclipse.core.runtime.IPath;
/**
* A J2EE connector module.
*/
public interface IConnectorModule extends IJ2EEModule {
/**
- * Returns the classpath as a list of absolute IPaths.
+ * Returns the classpath as an array of absolute IPaths.
*
- * @param java.util.List
+ * @param the classpath array
*/
- public List getClasspath();
+ public IPath[] getClasspath();
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEJBModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEJBModule.java
index 5defe37..d382cab 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEJBModule.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEJBModule.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEnterpriseApplication.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEnterpriseApplication.java
index 4f25930..cb09ed9 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEnterpriseApplication.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IEnterpriseApplication.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -11,12 +11,10 @@
package org.eclipse.jst.server.j2ee;
import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.model.IModule;
/**
*
*/
-public interface IEnterpriseApplication extends IModule {
+public interface IEnterpriseApplication {
/**
* Returns a version number in the form "x.y.z".
*
@@ -55,4 +53,4 @@
* @return org.eclipse.core.runtime.IPath
*/
public IPath getLocation();
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IJ2EEModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IJ2EEModule.java
index ae79fd2..4c89f59 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IJ2EEModule.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IJ2EEModule.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -11,12 +11,10 @@
package org.eclipse.jst.server.j2ee;
import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.model.IModule;
/**
* An abstract J2EE module that can be deployed to a server.
*/
-public interface IJ2EEModule extends IModule {
+public interface IJ2EEModule {
/**
* Returns a version number in the form "x.y.z".
*
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchive.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchive.java
index fe63c0d..06ea2d7 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchive.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchive.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -11,12 +11,10 @@
package org.eclipse.jst.server.j2ee;
import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.wst.server.core.model.IModule;
/**
*
*/
-public interface ILooseArchive extends IModule {
+public interface ILooseArchive {
/**
* Returns the location of the root of the loose utility. This should
* be an absolute path that is not workbench relative.
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchiveSupport.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchiveSupport.java
index bb9e381..0466280 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchiveSupport.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/ILooseArchiveSupport.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IWebModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IWebModule.java
index 848033f..6601f6a 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IWebModule.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/IWebModule.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/J2EEUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/J2EEUtil.java
index 1e04376..21b6a18 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/J2EEUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/J2EEUtil.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -11,11 +11,10 @@
package org.eclipse.jst.server.j2ee;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
+import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
/**
*
*/
@@ -23,22 +22,25 @@
/**
* Returns the enterprise applications that the module is contained within.
*
- * @param module org.eclipse.jst.server.j2ee.IJ2EEModule
- * @return org.eclipse.jst.server.j2ee.IEnterpriseApplication
+ * @param module
+ * @return
*/
public static IEnterpriseApplication[] getEnterpriseApplications(IJ2EEModule module) {
- Iterator iterator = ServerUtil.getModules("j2ee.ear", "*", false).iterator();
List list = new ArrayList();
- while (iterator.hasNext()) {
- IModule module2 = (IModule) iterator.next();
- if (module2 instanceof IEnterpriseApplication) {
- IEnterpriseApplication ear = (IEnterpriseApplication) module2;
- IJ2EEModule[] modules = ear.getModules();
- if (modules != null) {
- int size = modules.length;
- for (int i = 0; i < size; i++) {
- if (modules[i].equals(module))
- list.add(ear);
+ IModule[] modules = ServerUtil.getModules("j2ee.ear");
+ if (modules != null) {
+ int size = modules.length;
+ for (int i = 0; i < size; i++) {
+ IModule module2 = modules[i];
+ IEnterpriseApplication ear = (IEnterpriseApplication) module2.getAdapter(IEnterpriseApplication.class);
+ if (ear != null) {
+ IJ2EEModule[] modules2 = ear.getModules();
+ if (modules2 != null) {
+ int size2 = modules2.length;
+ for (int j = 0; j < size2; j++) {
+ if (modules2[j].equals(module))
+ list.add(ear);
+ }
}
}
}
@@ -47,4 +49,4 @@
list.toArray(ears);
return ears;
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiLaunchable.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiLaunchable.java
index cae4c73..a2e9313 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiLaunchable.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiLaunchable.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -12,7 +12,7 @@
import java.util.Properties;
-import org.eclipse.wst.server.core.model.ILaunchable;
+import org.eclipse.wst.server.core.ILaunchable;
/**
*
*/
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiObject.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiObject.java
index 3161ec3..6e2678b 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiObject.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/JndiObject.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -10,12 +10,12 @@
**********************************************************************/
package org.eclipse.jst.server.j2ee;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IModuleArtifact;
/**
*
*/
-public class JndiObject implements IModuleObject {
+public class JndiObject implements IModuleArtifact {
public static final String ID = "org.eclipse.jst.server.j2ee.jndi";
private IModule module;
@@ -37,4 +37,4 @@
public String getJndiName() {
return jndiName;
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/Servlet.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/Servlet.java
index b4a05fc..7366767 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/Servlet.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/Servlet.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -10,12 +10,12 @@
**********************************************************************/
package org.eclipse.jst.server.j2ee;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IModuleArtifact;
/**
*
*/
-public class Servlet implements IModuleObject {
+public class Servlet implements IModuleArtifact {
public static final String ID = "org.eclipse.jst.server.j2ee.servlet";
private IModule module;
@@ -47,4 +47,4 @@
public String toString() {
return "Servlet [module=" + module + ", class=" + className + ", alias=" + alias + "]";
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/WebResource.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/WebResource.java
index 4118747..f6e22e3 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/WebResource.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/j2ee/WebResource.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -12,12 +12,12 @@
import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleObject;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IModuleArtifact;
/**
*
*/
-public class WebResource implements IModuleObject {
+public class WebResource implements IModuleArtifact {
public static final String ID = "org.eclipse.jst.server.j2ee.webresource";
private IModule module;
@@ -43,4 +43,4 @@
public String toString() {
return "WebResource [module=" + module + ", path=" + path + "]";
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
index e130fc2..c5e8c4a 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
@@ -32,66 +32,49 @@
serverLocatorDescription=Search for Apache Tomcat v3.2, v4.0, v4.1, and v5.0 servers.
# runtime target
-targetJRE=Tomcat JRE
target32runtime=Tomcat v3.2 runtime
target40runtime=Tomcat v4.0 runtime
target41runtime=Tomcat v4.1 runtime
target50runtime=Tomcat v5.0 runtime
+target55runtime=Tomcat v5.5 runtime
# --------------- Servers and Configurations ---------------
tomcat32ServerType=Tomcat v3.2 Server
-tomcat32ServerShortType=Local Server
tomcat32ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
tomcat32ConfigurationType=Tomcat v3.2 Server Configuration
-tomcat32ConfigurationShortType=Server Configuration
tomcat32ConfigurationDescription=A server configuration for Tomcat version 3.2.
tomcat40ServerType=Tomcat v4.0 Server
-tomcat40ServerShortType=Local Server
tomcat40ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
tomcat40ConfigurationType=Tomcat v4.0 Server Configuration
-tomcat40ConfigurationShortType=Server Configuration
tomcat40ConfigurationDescription=A server configuration for Tomcat version 4.0.
tomcat41ServerType=Tomcat v4.1 Server
-tomcat41ServerShortType=Local Server
tomcat41ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
tomcat41ConfigurationType=Tomcat v4.1 Server Configuration
-tomcat41ConfigurationShortType=Server Configuration
tomcat41ConfigurationDescription=A server configuration for Tomcat version 4.1.
tomcat50ServerType=Tomcat v5.0 Server
-tomcat50ServerShortType=Local Server
tomcat50ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
tomcat50ConfigurationType=Tomcat v5.0 Server Configuration
-tomcat50ConfigurationShortType=Server Configuration
tomcat50ConfigurationDescription=A server configuration for Tomcat version 5.0.
tomcat55ServerType=Tomcat v5.5 Server
-tomcat55ServerShortType=Local Server
tomcat55ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
tomcat55ConfigurationType=Tomcat v5.5 Server Configuration
-tomcat55ConfigurationShortType=Server Configuration
tomcat55ConfigurationDescription=A server configuration for Tomcat version 5.5.
# --------------- Tasks (progress monitors) ---------------
savingTask=Saving...
loadingTask=Loading...
-creatingTask=Creating...
updatingConfigurationTask=Updating run-time configuration...
-publishTask=Publishing to Tomcat...
publishConfigurationTask=Publishing the configuration...
-publishTempDirectoryTask=Updating the temp directory...
-publishCopyTask=Copying module {0}...
-publishExpandTask=Expanding module {0}...
-publishProjectTask=Publishing project {0}...
publisherPublishTask=Publishing {0}...
-publisherDeleteTask=Deleting {0}...
tomcatLaunchConfigurationType=Apache Tomcat
@@ -114,41 +97,28 @@
configurationEditorActionEditWebModuleDescription=Change Web module path from {0} to {1}
# --------------- General ---------------
-startingServer=Starting Tomcat server {0}. Debugging is disabled and breakpoints will be ignored.
-debuggingServer=Starting Tomcat server {0} in debug mode. Breakpoints are enabled.
-profilingServer=Starting Tomcat server {0}. Profiling is enabled and debugging has been disabled.
-errorInvalidConfiguration=Invalid server configuration
canAddModule=Web module can be added to the server.
canModifyModules=Web modules can be modified.
# --------------- Errors and Info ---------------
-errorTitle=Tomcat Error
errorInstallDir=The Tomcat installation directory is not correct. Edit the server and change the installation directory.
errorJRE=The JRE could not be found. Edit the server and change the JRE location.
errorPortInUse=Port {0} required by {1} is already in use.
-errorCouldNotLaunch=Tomcat could not be launched successfully.
-errorCouldNotFindDebugPort=Could not find a valid port for debugging.
-errorCouldNotLoadServer=Could not find a valid Tomcat server at the specified location.
errorCouldNotLoadConfiguration=Could not find a valid Tomcat server configuration at the specified location.
-errorCouldNotSaveServer=Could not save the Tomcat server: {0}.
errorCouldNotSaveConfiguration=Could not save the Tomcat server configuration: {0}.
errorPublishConfiguration=Could not publish server configuration: {0}.
errorWebModulesOnly=Tomcat only supports running J2EE Web modules.
-errorCancelled=Cancelled
errorSpec32=Tomcat version 3.2 only supports J2EE 1.2 Web modules
errorSpec40=Tomcat version 4.0 only supports J2EE 1.2 and 1.3 Web modules
errorSpec41=Tomcat version 4.1 only supports J2EE 1.2 and 1.3 Web modules
errorSpec50=Tomcat version 5.0 only supports J2EE 1.2 and 1.3 and 1.4 Web modules
errorSpec55=Tomcat version 5.5 only supports J2EE 1.2 and 1.3 and 1.4 Web modules
errorInstallDir=The Tomcat installation directory is not correct.
-errorJREDir=The JDK installation directory is not correct.
-errorRuntimeName=Enter a name for the runtime.
-errorDuplicateRuntimeName=Name is already in use.
-publishingStarted=Publishing started successfully
-publishingStopped=Publishing ended successfully
-
-infoPublishSuccess=Publishing was successful
-infoDefaultAvailable=A Tomcat server is available.
-
-projectCleanupSuccess=Old project {0} was removed successfully.
+# Actions (used in undo/redo menus)
+serverEditorActionSetSecure=set security
+serverEditorActionSetSecureDescription=Set the Tomcat security
+serverEditorActionSetDebugMode=set Tomcat debug mode
+serverEditorActionSetDebugModeDescription=Set Tomcat in debug mode
+serverEditorActionSetTestEnvironment=run modules from workspace
+serverEditorActionSetTestEnvironmentDescription=Run modules from the workspace
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
index e232912..c330f72 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
@@ -3,130 +3,108 @@
<plugin id="org.eclipse.jst.server.tomcat.core"
name="%pluginName"
- version="3.0.0"
+ version="1.0.0"
provider-name="%providerName"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin">
<runtime>
<library name="tomcatcore.jar">
<export name="*"/>
- <packages prefixes="org.eclipse.jst.server.tomcat.core"/>
</library>
</runtime>
<requires>
- <import plugin="org.eclipse.core.runtime" />
- <import plugin="org.eclipse.core.resources" />
- <import plugin="org.eclipse.debug.core" />
- <import plugin="org.eclipse.jdt.core" />
- <import plugin="org.eclipse.jdt.debug" />
- <import plugin="org.eclipse.jdt.launching" />
- <import plugin="org.eclipse.wst.server.core" />
- <import plugin="org.eclipse.jst.server.core" />
+ <import plugin="org.eclipse.core.runtime"/>
+ <import plugin="org.eclipse.core.resources"/>
+ <import plugin="org.eclipse.debug.core"/>
+ <import plugin="org.eclipse.jdt.core"/>
+ <import plugin="org.eclipse.jdt.launching"/>
+ <import plugin="org.eclipse.wst.server.core"/>
+ <import plugin="org.eclipse.jst.server.core"/>
</requires>
<extension point="org.eclipse.wst.server.core.runtimeTypes">
<runtimeType
- id="org.eclipse.jst.server.tomcat.32.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.32"
name="%runtimeTypeTomcat32Label"
description="%runtimeTypeTomcat32Description"
vendor="%apache"
version="3.2"
order="50"
- class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
+ class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
<moduleType
types="j2ee.web"
versions="1.2"/>
</runtimeType>
<runtimeType
- id="org.eclipse.jst.server.tomcat.40.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.40"
name="%runtimeTypeTomcat40Label"
description="%runtimeTypeTomcat40Description"
vendor="%apache"
version="4.0"
order="52"
- class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
+ class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
<moduleType
types="j2ee.web"
versions="1.2, 1.3"/>
</runtimeType>
<runtimeType
- id="org.eclipse.jst.server.tomcat.41.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.41"
name="%runtimeTypeTomcat41Label"
description="%runtimeTypeTomcat41Description"
vendor="%apache"
version="4.1"
order="54"
- class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
+ class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
<moduleType
types="j2ee.web"
versions="1.2, 1.3"/>
</runtimeType>
<runtimeType
- id="org.eclipse.jst.server.tomcat.50.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.50"
name="%runtimeTypeTomcat50Label"
description="%runtimeTypeTomcat50Description"
vendor="%apache"
version="5.0"
order="56"
- class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
+ class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
<moduleType
types="j2ee.web"
versions="1.2, 1.3, 1.4"/>
</runtimeType>
<runtimeType
- id="org.eclipse.jst.server.tomcat.55.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.55"
name="%runtimeTypeTomcat55Label"
description="%runtimeTypeTomcat55Description"
vendor="%apache"
version="5.5"
order="58"
- class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy">
+ class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
<moduleType
types="j2ee.web"
versions="1.2, 1.3, 1.4"/>
</runtimeType>
</extension>
-
+
<extension point="org.eclipse.wst.server.core.runtimeLocators">
<runtimeLocator
id="org.eclipse.jst.server.tomcat.runtime.locator"
name="%runtimeLocatorLabel"
description="%runtimeLocatorDescription"
+ typeIds="org.eclipse.jst.server.tomcat.runtime.*"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeLocator"/>
</extension>
-
+
<extension point="org.eclipse.wst.server.core.runtimeTargetHandlers">
<runtimeTargetHandler
- id="org.eclipse.jst.server.tomcat.runtimeTarget.v32"
- runtimeTypeIds="org.eclipse.jst.server.tomcat.32.runtime"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat32RuntimeTargetHandler"/>
- <runtimeTargetHandler
- id="org.eclipse.jst.server.tomcat.runtimeTarget.v40"
- runtimeTypeIds="org.eclipse.jst.server.tomcat.40.runtime"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat40RuntimeTargetHandler"/>
- <runtimeTargetHandler
- id="org.eclipse.jst.server.tomcat.runtimeTarget.v41"
- runtimeTypeIds="org.eclipse.jst.server.tomcat.41.runtime"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat41RuntimeTargetHandler"/>
- <runtimeTargetHandler
- id="org.eclipse.jst.server.tomcat.runtimeTarget.v50"
- runtimeTypeIds="org.eclipse.jst.server.tomcat.50.runtime"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat50RuntimeTargetHandler"/>
- <runtimeTargetHandler
- id="org.eclipse.jst.server.tomcat.runtimeTarget.v55"
- runtimeTypeIds="org.eclipse.jst.server.tomcat.55.runtime"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat55RuntimeTargetHandler"/>
+ id="org.eclipse.jst.server.tomcat.runtimeTarget"
+ runtimeTypeIds="org.eclipse.jst.server.tomcat.runtime.*"
+ class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeTargetHandler"/>
</extension>
<extension point="org.eclipse.wst.server.core.serverTypes">
@@ -134,144 +112,107 @@
id="org.eclipse.jst.server.tomcat.32"
name="%tomcat32ServerType"
description="%tomcat32ServerDescription"
- hosts="localhost"
+ supportsRemoteHosts="false"
runtime="true"
order="50"
- monitorable="true"
+ startTimeout="45000"
+ stopTimeout="15000"
initialState="stopped"
- configurationTypeId="org.eclipse.jst.server.tomcat.32"
+ hasConfiguration="true"
launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
- runtimeTypeId="org.eclipse.jst.server.tomcat.32.runtime"
+ runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.32"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
+ behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
</serverType>
<serverType
id="org.eclipse.jst.server.tomcat.40"
name="%tomcat40ServerType"
description="%tomcat40ServerDescription"
- hosts="localhost"
+ supportsRemoteHosts="false"
runtime="true"
order="52"
- monitorable="true"
+ startTimeout="45000"
+ stopTimeout="15000"
initialState="stopped"
- configurationTypeId="org.eclipse.jst.server.tomcat.40"
+ hasConfiguration="true"
launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
- runtimeTypeId="org.eclipse.jst.server.tomcat.40.runtime"
+ runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.40"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
+ behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
</serverType>
<serverType
id="org.eclipse.jst.server.tomcat.41"
name="%tomcat41ServerType"
description="%tomcat41ServerDescription"
- hosts="localhost"
+ supportsRemoteHosts="false"
runtime="true"
order="54"
- monitorable="true"
+ startTimeout="45000"
+ stopTimeout="15000"
initialState="stopped"
- configurationTypeId="org.eclipse.jst.server.tomcat.41"
+ hasConfiguration="true"
launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
- runtimeTypeId="org.eclipse.jst.server.tomcat.41.runtime"
+ runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.41"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
+ behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
</serverType>
<serverType
id="org.eclipse.jst.server.tomcat.50"
name="%tomcat50ServerType"
description="%tomcat50ServerDescription"
- hosts="localhost"
+ supportsRemoteHosts="false"
runtime="true"
order="56"
- monitorable="true"
+ startTimeout="45000"
+ stopTimeout="15000"
initialState="stopped"
- configurationTypeId="org.eclipse.jst.server.tomcat.50"
+ hasConfiguration="true"
launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
- runtimeTypeId="org.eclipse.jst.server.tomcat.50.runtime"
+ runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.50"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
+ behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
</serverType>
<serverType
id="org.eclipse.jst.server.tomcat.55"
name="%tomcat55ServerType"
description="%tomcat55ServerDescription"
- hosts="localhost"
+ supportsRemoteHosts="false"
runtime="true"
order="58"
- monitorable="true"
+ startTimeout="45000"
+ stopTimeout="15000"
initialState="stopped"
- configurationTypeId="org.eclipse.jst.server.tomcat.55"
+ hasConfiguration="true"
launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
- runtimeTypeId="org.eclipse.jst.server.tomcat.55.runtime"
+ runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.55"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerWorkingCopy">
+ behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour">
</serverType>
- </extension>
-
- <extension point="org.eclipse.wst.server.core.serverLocators">
+ </extension>
+
+ <extension point="org.eclipse.wst.server.core.serverLocators">
<serverLocator
id="org.eclipse.jst.server.tomcat.server.locator"
name="%serverLocatorLabel"
description="%serverLocatorDescription"
- hosts="local"
+ supportsRemoteHosts="false"
+ typeIds="org.eclipse.jst.server.tomcat.*"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatServerLocator"/>
</extension>
-
- <extension point="org.eclipse.wst.server.core.serverConfigurationTypes">
- <serverConfigurationType
- id="org.eclipse.jst.server.tomcat.32"
- name="%tomcat32ConfigurationType"
- description="%tomcat32ConfigurationDescription"
- isFolder="true"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat32Configuration"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat32ConfigurationWorkingCopy">
- </serverConfigurationType>
- <serverConfigurationType
- id="org.eclipse.jst.server.tomcat.40"
- name="%tomcat40ConfigurationType"
- description="%tomcat40ConfigurationDescription"
- isFolder="true"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat40Configuration"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat40ConfigurationWorkingCopy">
- </serverConfigurationType>
- <serverConfigurationType
- id="org.eclipse.jst.server.tomcat.41"
- name="%tomcat41ConfigurationType"
- description="%tomcat41ConfigurationDescription"
- isFolder="true"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat41Configuration"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat41ConfigurationWorkingCopy">
- </serverConfigurationType>
- <serverConfigurationType
- id="org.eclipse.jst.server.tomcat.50"
- name="%tomcat50ConfigurationType"
- description="%tomcat50ConfigurationDescription"
- isFolder="true"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat50Configuration"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat50ConfigurationWorkingCopy">
- </serverConfigurationType>
- <serverConfigurationType
- id="org.eclipse.jst.server.tomcat.55"
- name="%tomcat55ConfigurationType"
- description="%tomcat55ConfigurationDescription"
- isFolder="true"
- class="org.eclipse.jst.server.tomcat.core.internal.Tomcat55Configuration"
- workingCopyClass="org.eclipse.jst.server.tomcat.core.internal.Tomcat55ConfigurationWorkingCopy">
- </serverConfigurationType>
- </extension>
- <extension point="org.eclipse.wst.server.core.launchableAdapters">
- <launchableAdapter
- class="org.eclipse.jst.server.tomcat.core.internal.TomcatLaunchableAdapterDelegate"
- id="org.eclipse.jst.server.tomcat.web"/>
- </extension>
+ <extension point="org.eclipse.wst.server.core.launchableAdapters">
+ <launchableAdapter
+ class="org.eclipse.jst.server.tomcat.core.internal.TomcatLaunchableAdapterDelegate"
+ id="org.eclipse.jst.server.tomcat.web"/>
+ </extension>
- <extension point="org.eclipse.debug.core.sourcePathComputers">
+ <extension point="org.eclipse.debug.core.sourcePathComputers">
<sourcePathComputer
id="org.eclipse.jst.server.tomcat.core.sourcePathComputer"
class="org.eclipse.jst.server.tomcat.core.internal.TomcatSourcePathComputerDelegate"/>
- </extension>
+ </extension>
- <extension point="org.eclipse.debug.core.launchConfigurationTypes">
+ <extension point="org.eclipse.debug.core.launchConfigurationTypes">
<launchConfigurationType
id="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
name="%tomcatLaunchConfigurationType"
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/IMimeMapping.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/IMimeMapping.java
index e269443..54badf5 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/IMimeMapping.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/IMimeMapping.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,19 +8,22 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core;
/**
*
*/
public interface IMimeMapping {
/**
* Returns the extension.
- * @return java.lang.String
+ *
+ * @return the extension
*/
public String getExtension();
/**
* Returns the mime type.
- * @return java.lang.String
+ *
+ * @return the mime type
*/
public String getMimeType();
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfiguration.java
index e0a2b4b..fbb6ca1 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfiguration.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfiguration.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,29 +8,31 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import java.util.List;
+package org.eclipse.jst.server.tomcat.core;
-import org.eclipse.wst.server.core.model.IServerConfigurationDelegate;
+import java.util.List;
/**
*
*/
-public interface ITomcatConfiguration extends IServerConfigurationDelegate {
+public interface ITomcatConfiguration {
/**
* Returns a list of mime mappings.
- * @return java.util.List
+ *
+ * @return mime mappings
*/
public List getMimeMappings();
/**
* Returns a list of ServerPorts that this configuration uses.
*
- * @return java.util.List
+ * @return the server ports
*/
public List getServerPorts();
/**
* Return a list of the web modules in this server.
- * @return java.util.List
+ *
+ * @return the web modules
*/
public List getWebModules();
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfigurationWorkingCopy.java
index 3028367..1f73e3b 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfigurationWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatConfigurationWorkingCopy.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,9 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.wst.server.core.model.IServerConfigurationWorkingCopyDelegate;
+package org.eclipse.jst.server.tomcat.core;
-public interface ITomcatConfigurationWorkingCopy extends ITomcatConfiguration, IServerConfigurationWorkingCopyDelegate {
+public interface ITomcatConfigurationWorkingCopy extends ITomcatConfiguration {
/**
* Add a web module.
*
@@ -22,6 +21,7 @@
/**
* Change a web module.
+ *
* @param index int
* @param docBase java.lang.String
* @param path java.lang.String
@@ -30,7 +30,8 @@
public void modifyWebModule(int index, String docBase, String path, boolean reloadable);
/**
- * Removes a web module.
+ * Remove a web module.
+ *
* @param index int
*/
public void removeWebModule(int index);
@@ -45,6 +46,7 @@
/**
* Change a mime mapping.
+ *
* @param index int
* @param map MimeMapping
*/
@@ -59,8 +61,9 @@
public void modifyServerPort(String id, int port);
/**
- * Removes a mime mapping.
+ * Remove a mime mapping.
+ *
* @param index int
*/
public void removeMimeMapping(int index);
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntime.java
index 203ef25..8386a7e 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntime.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntime.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,20 +8,26 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core;
+
import java.util.List;
import org.eclipse.jdt.launching.IVMInstall;
-
-import org.eclipse.wst.server.core.model.IRuntimeDelegate;
/**
*
*/
-public interface ITomcatRuntime extends IRuntimeDelegate {
- public String getVMInstallTypeId();
-
- public String getVMInstallId();
-
+public interface ITomcatRuntime {
+ /**
+ * Return the VM install (installed JRE) that this runtime is using.
+ *
+ * @return the current VM install
+ */
public IVMInstall getVMInstall();
-
+
+ /**
+ * Returns the runtime classpath that is used by this runtime.
+ *
+ * @return the runtime classpath
+ */
public List getRuntimeClasspath();
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntimeWorkingCopy.java
index 2be3301..e11b214 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntimeWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatRuntimeWorkingCopy.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,10 +8,18 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
+package org.eclipse.jst.server.tomcat.core;
+
+import org.eclipse.jdt.launching.IVMInstall;
+
/**
*
*/
-public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime, IRuntimeWorkingCopyDelegate {
- public void setVMInstall(String typeId, String id);
+public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime {
+ /**
+ * Set the VM install (installed JRE) that this runtime is using.
+ *
+ * @param vmInstall the VM install to use
+ */
+ public void setVMInstall(IVMInstall vmInstall);
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServer.java
index d22ca1c..66352ca 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServer.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServer.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,23 +8,20 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
+package org.eclipse.jst.server.tomcat.core;
-import org.eclipse.wst.server.core.model.IServerDelegate;
import org.eclipse.wst.server.core.model.IURLProvider;
/**
*
*/
-public interface ITomcatServer extends IServerDelegate, IURLProvider {
+public interface ITomcatServer extends IURLProvider {
public static final String PROPERTY_SECURE = "secure";
public static final String PROPERTY_DEBUG = "debug";
public static final String PROPERTY_TEST_ENVIRONMENT = "testEnvironment";
/**
- * Returns true if the process is set to run in debug mode.
+ * Returns <code>true</code> if the server is set to run in Tomcat debug mode, and
+ * <code>false</code> otherwise.
* This feature only works with Tomcat v4.0.
*
* @return boolean
@@ -38,36 +34,26 @@
* @return boolean
*/
public boolean isSecure();
-
+
/**
- * Returns true if this is a test (run code out of the workbench) environment server.
+ * Returns true if this is a test (publish and run code out of the
+ * workbench) environment server.
*
* @return boolean
*/
public boolean isTestEnvironment();
-
+
/**
* Returns the main class that is used to launch the Tomcat server.
*
* @return
*/
public String getRuntimeClass();
-
- /**
- * Set the process that is monitored for Tomcat startup and shutdown.
- * Warning: Do not call this method unless you know what you're doing;
- * it should only be used in rare cases.
- *
- * @param newProcess
- */
- public void setProcess(IProcess newProcess);
/**
- * Setup for starting the server.
+ * Return the Tomcat configuration model.
*
- * @param launch ILaunch
- * @param launchMode String
- * @param monitor IProgressMonitor
+ * @return
*/
- public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException;
+ public ITomcatConfiguration getServerConfiguration();
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerBehaviour.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerBehaviour.java
new file mode 100644
index 0000000..4c51a08
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerBehaviour.java
@@ -0,0 +1,45 @@
+/**********************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.jst.server.tomcat.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IProcess;
+/**
+ *
+ */
+public interface ITomcatServerBehaviour {
+ /**
+ * Returns the main class that is used to launch the Tomcat server.
+ *
+ * @return
+ */
+ public String getRuntimeClass();
+
+ /**
+ * Set the process that is monitored for Tomcat startup and shutdown.
+ * Warning: Do not call this method unless you know what you're doing;
+ * it should only be used in rare cases.
+ *
+ * @param newProcess
+ */
+ public void setProcess(IProcess newProcess);
+
+ /**
+ * Setup for starting the server.
+ *
+ * @param launch ILaunch
+ * @param launchMode String
+ * @param monitor IProgressMonitor
+ */
+ public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException;
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerWorkingCopy.java
index 2d54aa4..b8a09c4 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerWorkingCopy.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatServerWorkingCopy.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,13 +8,13 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.wst.server.core.model.IServerWorkingCopyDelegate;
+package org.eclipse.jst.server.tomcat.core;
/**
*
*/
-public interface ITomcatServerWorkingCopy extends ITomcatServer, IServerWorkingCopyDelegate {
+public interface ITomcatServerWorkingCopy extends ITomcatServer {
/**
- * Sets this process to debug mode. This feature only works
+ * Sets this process to Tomcat debug mode. This feature only works
* with Tomcat v4.0 and above.
*
* @param b boolean
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatWebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatWebModule.java
index 5edf606..edc32b3 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatWebModule.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/ITomcatWebModule.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,8 +8,9 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core;
/**
- *
+ * A Web module deployed on Tomcat.
*/
public interface ITomcatWebModule {
/**
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/WebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/WebModule.java
index 8bb2640..5f41129 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/WebModule.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/WebModule.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core;
/**
* A Web module.
*/
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java
index caddc6f..9bc75ad 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,13 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.util.List;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jst.server.j2ee.IWebModule;
-
/**
*
*/
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java
index 6954b41..0afd4a6 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import org.eclipse.jst.server.tomcat.core.IMimeMapping;
/**
* A mime mapping.
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
deleted file mode 100644
index 89802ae..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.debug.core.ILaunchManager;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerState;
-/**
- * Thread used to ping server to test when it is started.
- */
-public class PingThread extends Thread {
- // delay before pinging starts
- private static final int PING_DELAY = 2000;
-
- // delay between pings
- private static final int PING_INTERVAL = 250;
-
- // maximum number of pings before giving up
- private static final int MAX_PINGS = 56; // total: 16 seconds
-
- private boolean stop = false;
- private String mode;
- private String url = "";
- private TomcatServer serverType;
- private IServerState control;
-
- public PingThread(TomcatServer serverType, IServerState control, String url, String mode) { super();
- this.control = control;
- this.url = url;
- this.mode = mode;
- this.serverType = serverType;
- setDaemon(true);
- }
-
- /**
- * Ping the server until it is started. Then set the server
- * state to SERVER_STARTED.
- */
- public void run() {
- int count = 0;
- try {
- sleep(PING_DELAY);
- } catch (Exception e) { }
- while (!stop) {
- try {
- if (count == MAX_PINGS) {
- serverType.stop();
- stop = true;
- break;
- }
- Trace.trace(Trace.FINEST, "Ping: pinging");
- URL pingUrl = new URL(url);
- URLConnection conn = pingUrl.openConnection();
- ((HttpURLConnection)conn).getResponseCode();
- count++;
-
- // ping worked - server is up
- if (!stop) {
- Trace.trace(Trace.FINEST, "Ping: success");
- Thread.sleep(200);
- if (ILaunchManager.DEBUG_MODE.equals(mode))
- control.setServerState(IServer.SERVER_STARTED_DEBUG);
- else if (ILaunchManager.PROFILE_MODE.equals(mode))
- control.setServerState(IServer.SERVER_STARTED_PROFILE);
- else
- control.setServerState(IServer.SERVER_STARTED);
- }
- stop = true;
- } catch (FileNotFoundException fe) {
- try { Thread.sleep(200); } catch (Exception e) { }
- if (ILaunchManager.DEBUG_MODE.equals(mode))
- control.setServerState(IServer.SERVER_STARTED_DEBUG);
- else if (ILaunchManager.PROFILE_MODE.equals(mode))
- control.setServerState(IServer.SERVER_STARTED_PROFILE);
- else
- control.setServerState(IServer.SERVER_STARTED);
- stop = true;
- } catch (Exception e) {
- Trace.trace(Trace.FINEST, "Ping: failed");
- // pinging failed
- if (!stop) {
- try {
- sleep(PING_INTERVAL);
- } catch (InterruptedException e2) { }
- }
- }
- }
- }
-
- /**
- * Tell the pinging to stop.
- */
- public void stopPinging() {
- //Trace.trace("Ping: stopping");
- stop = true;
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProgressUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java
similarity index 92%
copy from plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProgressUtil.java
copy to plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java
index 9132b02..85bdce2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProgressUtil.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java
@@ -1,14 +1,14 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
- * IBM Corporation - Initial API and implementation
+ * IBM - Initial API and implementation
**********************************************************************/
-package org.eclipse.wst.server.core.util;
+package org.eclipse.jst.server.tomcat.core.internal;
import org.eclipse.core.runtime.*;
/**
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java
index 2da373b..c057d77 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
@@ -17,6 +18,8 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.*;
+import org.eclipse.jst.server.tomcat.core.IMimeMapping;
+import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
@@ -28,8 +31,8 @@
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IServerPort;
import org.eclipse.wst.server.core.util.ServerPort;
/**
* Tomcat v3.2 server configuration.
@@ -54,8 +57,8 @@
/**
* Tomcat32Configuration constructor comment.
*/
- public Tomcat32Configuration() {
- super();
+ public Tomcat32Configuration(IFolder path) {
+ super(path);
}
/**
@@ -449,4 +452,178 @@
throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorCouldNotSaveConfiguration", new String[] {e.getLocalizedMessage()}), e));
}
}
-}
+
+
+ /**
+ * Adds a mime mapping.
+ * @param map MimeMapping
+ */
+ public void addMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.addMimeMapping(index, map);
+ firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Add a web module.
+ * @param module org.eclipse.jst.server.tomcat.WebModule
+ */
+ public void addWebModule(int index, ITomcatWebModule module) {
+ try {
+ ContextManager contextManager = server.getContextManager();
+ Context context = (Context) contextManager.createElement(index, "Context");
+
+ context.setPath(module.getPath());
+ context.setDocBase(module.getDocumentBase());
+ context.setReloadable(module.isReloadable() ? "true" : "false");
+ if (module.getMemento() != null && module.getMemento().length() > 0)
+ context.setSource(module.getMemento());
+ isServerDirty = true;
+ firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
+ } catch (Exception e) {
+ Trace.trace("Error adding web module", e);
+ }
+ }
+
+ /**
+ * Localize the web projects in this configuration.
+ *
+ * @param file java.io.File
+ * @param monitor org.eclipse.core.runtime.IProgressMonitor
+ */
+ public void localizeConfiguration(IPath path, TomcatServer serverType, IRuntime runtime, IProgressMonitor monitor) {
+ try {
+ monitor = ProgressUtil.getMonitorFor(monitor);
+ monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
+
+ Tomcat32Configuration config = new Tomcat32Configuration(null);
+ config.load(path, ProgressUtil.getSubMonitorFor(monitor, 30));
+
+ if (monitor.isCanceled())
+ return;
+
+ if (serverType.isTestEnvironment()) {
+ config.server.getContextManager().setHome(runtime.getLocation().toOSString());
+ config.isServerDirty = true;
+ } else {
+ //IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
+ //Tomcat32Configuration cfg = (Tomcat32Configuration) scwc.getAdapter(Tomcat32Configuration.class);
+ config.localizeWebModules();
+ }
+
+ monitor.worked(40);
+
+ if (monitor.isCanceled())
+ return;
+
+ config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 30));
+
+ if (!monitor.isCanceled())
+ monitor.done();
+ } catch (Exception e) {
+ Trace.trace("Error localizing configuration", e);
+ }
+ }
+
+ /**
+ * Go through all of the web modules and make the document
+ * base "local" to the configuration.
+ */
+ protected void localizeWebModules() {
+ List modules = getWebModules();
+
+ int size = modules.size();
+ for (int i = 0; i < size; i++) {
+ WebModule module = (WebModule) modules.get(i);
+ String memento = module.getMemento();
+ if (memento != null && memento.length() > 0) {
+ // update document base to a relative ref
+ String docBase = getPathPrefix() + module.getPath();
+ if (docBase.startsWith("/") || docBase.startsWith("\\"))
+ docBase = docBase.substring(1);
+ modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
+ }
+ }
+ }
+
+ /**
+ * Change the extension of a mime mapping.
+ * @param index int
+ * @param newExtension java.lang.String
+ */
+ public void modifyMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.modifyMimeMapping(index, map);
+ firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Modify the port with the given id.
+ *
+ * @param id java.lang.String
+ * @param port int
+ */
+ public void modifyServerPort(String id, int port) {
+ try {
+ int con = Integer.parseInt(id);
+ Connector connector = server.getContextManager().getConnector(con);
+
+ int size = connector.getParameterCount();
+ for (int i = 0; i < size; i++) {
+ Parameter p = connector.getParameter(i);
+ if ("port".equals(p.getName())) {
+ p.setValue(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error modifying server port " + id, e);
+ }
+ }
+
+ /**
+ * Change a web module.
+ * @param index int
+ * @param docBase java.lang.String
+ * @param path java.lang.String
+ * @param reloadable boolean
+ */
+ public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
+ try {
+ ContextManager contextManager = server.getContextManager();
+ Context context = contextManager.getContext(index);
+ context.setPath(path);
+ context.setDocBase(docBase);
+ context.setReloadable(reloadable ? "true" : "false");
+ isServerDirty = true;
+ WebModule module = new WebModule(path, docBase, null, reloadable);
+ firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
+ } catch (Exception e) {
+ Trace.trace("Error modifying web module " + index, e);
+ }
+ }
+
+ /**
+ * Removes a mime mapping.
+ * @param index int
+ */
+ public void removeMimeMapping(int index) {
+ webAppDocument.removeMimeMapping(index);
+ firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
+ }
+
+ /**
+ * Removes a web module.
+ * @param index int
+ */
+ public void removeWebModule(int index) {
+ try {
+ ContextManager contextManager = server.getContextManager();
+ contextManager.removeElement("Context", index);
+ isServerDirty = true;
+ firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
+ } catch (Exception e) {
+ Trace.trace("Error removing web module " + index, e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32ConfigurationWorkingCopy.java
deleted file mode 100644
index 823ff60..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.ContextManager;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server32.Parameter;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v3.2 server configuration.
- */
-public class Tomcat32ConfigurationWorkingCopy extends Tomcat32Configuration implements ITomcatConfigurationWorkingCopy {
- protected IServerConfigurationWorkingCopy wc;
-
- /**
- * Tomcat32Configuration constructor comment.
- */
- public Tomcat32ConfigurationWorkingCopy() {
- super();
- }
-
- public void initialize(IServerConfigurationWorkingCopy wc2) {
- this.wc = wc2;
- }
-
- public void setDefaults() { }
-
- public void handleSave(byte id, IProgressMonitor monitor) { }
-
- /**
- * Adds a mime mapping.
- * @param map MimeMapping
- */
- public void addMimeMapping(int index, IMimeMapping map) {
- webAppDocument.addMimeMapping(index, map);
- firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Add a web module.
- * @param module org.eclipse.jst.server.tomcat.WebModule
- */
- public void addWebModule(int index, ITomcatWebModule module) {
- try {
- ContextManager contextManager = server.getContextManager();
- Context context = (Context) contextManager.createElement(index, "Context");
-
- context.setPath(module.getPath());
- context.setDocBase(module.getDocumentBase());
- context.setReloadable(module.isReloadable() ? "true" : "false");
- if (module.getMemento() != null && module.getMemento().length() > 0)
- context.setSource(module.getMemento());
- isServerDirty = true;
- firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
- } catch (Exception e) {
- Trace.trace("Error adding web module", e);
- }
- }
-
- /**
- * Localize the web projects in this configuration.
- *
- * @param file java.io.File
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- */
- public void localizeConfiguration(IPath path, TomcatServer serverType, IRuntime runtime, IProgressMonitor monitor) {
- try {
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-
- Tomcat32Configuration config = new Tomcat32Configuration();
- config.load(path, ProgressUtil.getSubMonitorFor(monitor, 30));
-
- if (monitor.isCanceled())
- return;
-
- if (serverType.isTestEnvironment()) {
- config.server.getContextManager().setHome(runtime.getLocation().toOSString());
- config.isServerDirty = true;
- } else {
- IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
- ((Tomcat32ConfigurationWorkingCopy) scwc.getDelegate()).localizeWebModules();
- }
-
- monitor.worked(40);
-
- if (monitor.isCanceled())
- return;
-
- config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 30));
-
- if (!monitor.isCanceled())
- monitor.done();
- } catch (Exception e) {
- Trace.trace("Error localizing configuration", e);
- }
- }
-
- /**
- * Go through all of the web modules and make the document
- * base "local" to the configuration.
- */
- protected void localizeWebModules() {
- List modules = getWebModules();
-
- int size = modules.size();
- for (int i = 0; i < size; i++) {
- WebModule module = (WebModule) modules.get(i);
- String memento = module.getMemento();
- if (memento != null && memento.length() > 0) {
- // update document base to a relative ref
- String docBase = getPathPrefix() + module.getPath();
- if (docBase.startsWith("/") || docBase.startsWith("\\"))
- docBase = docBase.substring(1);
- modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
- }
- }
- }
-
- /**
- * Change the extension of a mime mapping.
- * @param index int
- * @param newExtension java.lang.String
- */
- public void modifyMimeMapping(int index, IMimeMapping map) {
- webAppDocument.modifyMimeMapping(index, map);
- firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Modify the port with the given id.
- *
- * @param id java.lang.String
- * @param port int
- */
- public void modifyServerPort(String id, int port) {
- try {
- int con = Integer.parseInt(id);
- Connector connector = server.getContextManager().getConnector(con);
-
- int size = connector.getParameterCount();
- for (int i = 0; i < size; i++) {
- Parameter p = connector.getParameter(i);
- if ("port".equals(p.getName())) {
- p.setValue(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error modifying server port " + id, e);
- }
- }
-
- /**
- * Change a web module.
- * @param index int
- * @param docBase java.lang.String
- * @param path java.lang.String
- * @param reloadable boolean
- */
- public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
- try {
- ContextManager contextManager = server.getContextManager();
- Context context = contextManager.getContext(index);
- context.setPath(path);
- context.setDocBase(docBase);
- context.setReloadable(reloadable ? "true" : "false");
- isServerDirty = true;
- WebModule module = new WebModule(path, docBase, null, reloadable);
- firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
- } catch (Exception e) {
- Trace.trace("Error modifying web module " + index, e);
- }
- }
-
- /**
- * Removes a mime mapping.
- * @param index int
- */
- public void removeMimeMapping(int index) {
- webAppDocument.removeMimeMapping(index);
- firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
- }
-
- /**
- * Removes a web module.
- * @param index int
- */
- public void removeWebModule(int index) {
- try {
- ContextManager contextManager = server.getContextManager();
- contextManager.removeElement("Context", index);
- isServerDirty = true;
- firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
- } catch (Exception e) {
- Trace.trace("Error removing web module " + index, e);
- }
- }
-
- public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
- load(path, monitor);
- }
-
- public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
- load(runtime.getLocation().append("conf"), monitor);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java
index a2d63f8..656136c 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.File;
import java.util.ArrayList;
import java.util.List;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32RuntimeTargetHandler.java
deleted file mode 100644
index 8559ee0..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32RuntimeTargetHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- *
- */
-public class Tomcat32RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
- public String getId() {
- return "org.eclipse.jst.server.tomcat.runtimeTarget.v32";
- }
-
- public String getLabel() {
- return TomcatPlugin.getResource("%target32runtime");
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
- */
- public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
- IPath installPath = runtime.getLocation();
-
- if (installPath == null)
- return new IClasspathEntry[0];
-
- IPath path = installPath.append("lib");
- List list = new ArrayList();
- addLibraryEntries(list, path.toFile(), true);
-
- return resolveList(list);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java
index 2072415..3dc4210 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
@@ -22,26 +23,18 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.*;
+import org.eclipse.jst.server.tomcat.core.IMimeMapping;
+import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
+import org.eclipse.jst.server.tomcat.core.internal.xml.server40.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
+import org.eclipse.wst.server.core.IServerPort;
import org.eclipse.wst.server.core.util.ServerPort;
/**
* Tomcat v4.0 server configuration.
@@ -67,8 +60,8 @@
/**
* Tomcat40Configuration constructor comment.
*/
- public Tomcat40Configuration() {
- super();
+ public Tomcat40Configuration(IFolder path) {
+ super(path);
}
/**
@@ -133,7 +126,9 @@
try {
int port = Integer.parseInt(server.getPort());
ports.add(new ServerPort("server", "Server port", port, "TCPIP"));
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
// add connectors
try {
@@ -151,7 +146,9 @@
int port = -1;
try {
port = Integer.parseInt(connector.getPort());
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
if (HTTP_CONNECTOR.equals(className)) {
name = "HTTP Connector";
protocol = "HTTP";
@@ -163,7 +160,9 @@
name = "SSL Connector";
protocol = "SSL";
}
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
if ("HTTP".equals(protocol))
advanced = false;
} else if (APACHE_CONNECTOR.equals(className))
@@ -440,4 +439,200 @@
throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorCouldNotSaveConfiguration", new String[] {e.getLocalizedMessage()}), e));
}
}
-}
+
+ /**
+ * Adds a mime mapping.
+ * @param extension java.lang.String
+ * @param mimeType java.lang.String
+ */
+ public void addMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.addMimeMapping(index, map);
+ firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Add a web module.
+ * @param module org.eclipse.jst.server.tomcat.WebModule
+ */
+ public void addWebModule(int index, ITomcatWebModule module) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = (Context) host.createElement(index, "Context");
+ context.setDocBase(module.getDocumentBase());
+ context.setPath(module.getPath());
+ context.setReloadable(module.isReloadable() ? "true" : "false");
+ if (module.getMemento() != null && module.getMemento().length() > 0)
+ context.setSource(module.getMemento());
+ isServerDirty = true;
+ firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error adding web module " + module.getPath(), e);
+ }
+ }
+
+ /**
+ * Localize the web projects in this configuration.
+ *
+ * @param file java.io.File
+ * @param monitor org.eclipse.core.runtime.IProgressMonitor
+ */
+ public void localizeConfiguration(IPath path, TomcatServer server2, IProgressMonitor monitor) {
+ try {
+ monitor = ProgressUtil.getMonitorFor(monitor);
+ monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
+
+ Tomcat40Configuration config = new Tomcat40Configuration(null);
+ config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (monitor.isCanceled())
+ return;
+
+ if (!server2.isTestEnvironment()) {
+ //IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
+ //Tomcat40Configuration cfg = (Tomcat40Configuration) scwc.getAdapter(Tomcat40Configuration.class);
+ config.localizeWebModules();
+ }
+
+ monitor.worked(20);
+
+ if (monitor.isCanceled())
+ return;
+
+ config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (!monitor.isCanceled())
+ monitor.done();
+ } catch (Exception e) {
+ Trace.trace("Error localizing configuration", e);
+ }
+ }
+
+ /**
+ * Go through all of the web modules and make the document
+ * base "local" to the configuration.
+ */
+ protected void localizeWebModules() {
+ List modules = getWebModules();
+
+ int size = modules.size();
+ for (int i = 0; i < size; i++) {
+ WebModule module = (WebModule) modules.get(i);
+ String memento = module.getMemento();
+ if (memento != null && memento.length() > 0) {
+ // update document base to a relative ref
+ String docBase = getPathPrefix() + module.getPath();
+ if (docBase.startsWith("/") || docBase.startsWith("\\"))
+ docBase = docBase.substring(1);
+ modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
+ }
+ }
+ }
+
+ /**
+ * Change the extension of a mime mapping.
+ * @param index int
+ * @param newExtension java.lang.String
+ */
+ public void modifyMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.modifyMimeMapping(index, map);
+ firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Modify the port with the given id.
+ *
+ * @param id java.lang.String
+ * @param port int
+ */
+ public void modifyServerPort(String id, int port) {
+ try {
+ if ("server".equals(id)) {
+ server.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ return;
+ }
+
+ int i = id.indexOf("/");
+ int servNum = Integer.parseInt(id.substring(0, i));
+ int connNum = Integer.parseInt(id.substring(i + 1));
+
+ Service service = server.getService(servNum);
+ Connector connector = service.getConnector(connNum);
+ connector.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ } catch (Exception e) {
+ Trace.trace("Error modifying server port " + id, e);
+ }
+ }
+ /**
+ * Change a web module.
+ * @param index int
+ * @param docBase java.lang.String
+ * @param path java.lang.String
+ * @param reloadable boolean
+ */
+ public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = host.getContext(index);
+ context.setPath(path);
+ context.setDocBase(docBase);
+ context.setReloadable(reloadable ? "true" : "false");
+ isServerDirty = true;
+ WebModule module = new WebModule(path, docBase, null, reloadable);
+ firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error modifying web module " + index, e);
+ }
+ }
+
+ /**
+ * Removes a mime mapping.
+ * @param index int
+ */
+ public void removeMimeMapping(int index) {
+ webAppDocument.removeMimeMapping(index);
+ firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
+ }
+
+ /**
+ * Removes a web module.
+ * @param index int
+ */
+ public void removeWebModule(int index) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ host.removeElement("Context", index);
+ isServerDirty = true;
+ firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error removing module ref " + index, e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40ConfigurationWorkingCopy.java
deleted file mode 100644
index 999948a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,253 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v4.0 server configuration.
- */
-public class Tomcat40ConfigurationWorkingCopy extends Tomcat40Configuration implements ITomcatConfigurationWorkingCopy {
- protected IServerConfigurationWorkingCopy wc;
-
- /**
- * Tomcat40Configuration constructor comment.
- */
- public Tomcat40ConfigurationWorkingCopy() {
- super();
- }
-
- public void initialize(IServerConfigurationWorkingCopy wc2) {
- this.wc = wc2;
- }
-
- public void setDefaults() { }
-
- public void handleSave(byte id, IProgressMonitor monitor) { }
-
- /**
- * Adds a mime mapping.
- * @param extension java.lang.String
- * @param mimeType java.lang.String
- */
- public void addMimeMapping(int index, IMimeMapping map) {
- webAppDocument.addMimeMapping(index, map);
- firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Add a web module.
- * @param module org.eclipse.jst.server.tomcat.WebModule
- */
- public void addWebModule(int index, ITomcatWebModule module) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = (Context) host.createElement(index, "Context");
- context.setDocBase(module.getDocumentBase());
- context.setPath(module.getPath());
- context.setReloadable(module.isReloadable() ? "true" : "false");
- if (module.getMemento() != null && module.getMemento().length() > 0)
- context.setSource(module.getMemento());
- isServerDirty = true;
- firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error adding web module " + module.getPath(), e);
- }
- }
-
- /**
- * Localize the web projects in this configuration.
- *
- * @param file java.io.File
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- */
- public void localizeConfiguration(IPath path, TomcatServer server2, IProgressMonitor monitor) {
- try {
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-
- Tomcat40Configuration config = new Tomcat40Configuration();
- config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (monitor.isCanceled())
- return;
-
- if (!server2.isTestEnvironment()) {
- IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
- ((Tomcat40ConfigurationWorkingCopy) scwc.getDelegate()).localizeWebModules();
- }
-
- monitor.worked(20);
-
- if (monitor.isCanceled())
- return;
-
- config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (!monitor.isCanceled())
- monitor.done();
- } catch (Exception e) {
- Trace.trace("Error localizing configuration", e);
- }
- }
-
- /**
- * Go through all of the web modules and make the document
- * base "local" to the configuration.
- */
- protected void localizeWebModules() {
- List modules = getWebModules();
-
- int size = modules.size();
- for (int i = 0; i < size; i++) {
- WebModule module = (WebModule) modules.get(i);
- String memento = module.getMemento();
- if (memento != null && memento.length() > 0) {
- // update document base to a relative ref
- String docBase = getPathPrefix() + module.getPath();
- if (docBase.startsWith("/") || docBase.startsWith("\\"))
- docBase = docBase.substring(1);
- modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
- }
- }
- }
-
- /**
- * Change the extension of a mime mapping.
- * @param index int
- * @param newExtension java.lang.String
- */
- public void modifyMimeMapping(int index, IMimeMapping map) {
- webAppDocument.modifyMimeMapping(index, map);
- firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Modify the port with the given id.
- *
- * @param id java.lang.String
- * @param port int
- */
- public void modifyServerPort(String id, int port) {
- try {
- if ("server".equals(id)) {
- server.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- return;
- }
-
- int i = id.indexOf("/");
- int servNum = Integer.parseInt(id.substring(0, i));
- int connNum = Integer.parseInt(id.substring(i + 1));
-
- Service service = server.getService(servNum);
- Connector connector = service.getConnector(connNum);
- connector.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- } catch (Exception e) {
- Trace.trace("Error modifying server port " + id, e);
- }
- }
- /**
- * Change a web module.
- * @param index int
- * @param docBase java.lang.String
- * @param path java.lang.String
- * @param reloadable boolean
- */
- public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = host.getContext(index);
- context.setPath(path);
- context.setDocBase(docBase);
- context.setReloadable(reloadable ? "true" : "false");
- isServerDirty = true;
- WebModule module = new WebModule(path, docBase, null, reloadable);
- firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error modifying web module " + index, e);
- }
- }
-
- /**
- * Removes a mime mapping.
- * @param index int
- */
- public void removeMimeMapping(int index) {
- webAppDocument.removeMimeMapping(index);
- firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
- }
-
- /**
- * Removes a web module.
- * @param index int
- */
- public void removeWebModule(int index) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- host.removeElement("Context", index);
- isServerDirty = true;
- firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error removing module ref " + index, e);
- }
- }
-
- public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
- load(path, monitor);
- }
-
- public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
- load(runtime.getLocation().append("conf"), monitor);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java
index b69a5b4..0452222 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.util.ArrayList;
import java.util.List;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40RuntimeTargetHandler.java
deleted file mode 100644
index 5adf0e6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40RuntimeTargetHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- *
- */
-public class Tomcat40RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
- public String getId() {
- return "org.eclipse.jst.server.tomcat.runtimeTarget.v40";
- }
-
- public String getLabel() {
- return TomcatPlugin.getResource("%target40runtime");
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
- */
- public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
- IPath installPath = runtime.getLocation();
-
- if (installPath == null)
- return new IClasspathEntry[0];
-
- IPath path = installPath.append("common");
- List list = new ArrayList();
- addLibraryEntries(list, path.append("lib").toFile(), true);
- addLibraryEntries(list, path.append("endorsed").toFile(), true);
- //addLibraryEntry(list, path.append("classes").toFile()); // no longer supported by eclipse
- return resolveList(list);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java
index 5d26f99..1ff47c1 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
@@ -22,27 +23,18 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.*;
+import org.eclipse.jst.server.tomcat.core.IMimeMapping;
+import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Listener;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
+import org.eclipse.jst.server.tomcat.core.internal.xml.server40.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
+import org.eclipse.wst.server.core.IServerPort;
import org.eclipse.wst.server.core.util.ServerPort;
/**
* Tomcat v4.1 server configuration.
@@ -69,8 +61,8 @@
/**
* Tomcat41Configuration constructor comment.
*/
- public Tomcat41Configuration() {
- super();
+ public Tomcat41Configuration(IFolder path) {
+ super(path);
}
/**
@@ -135,7 +127,9 @@
try {
int port = Integer.parseInt(server.getPort());
ports.add(new ServerPort("server", "Server port", port, "TCPIP"));
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
// add connectors
try {
@@ -153,7 +147,9 @@
int port = -1;
try {
port = Integer.parseInt(connector.getPort());
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
if (HTTP_CONNECTOR.equals(className)) {
name = "HTTP Connector";
protocol = "HTTP";
@@ -165,7 +161,9 @@
name = "SSL Connector";
protocol = "SSL";
}
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
if ("HTTP".equals(protocol))
advanced = false;
} else if (APACHE_CONNECTOR.equals(className))
@@ -458,4 +456,199 @@
}
return false;
}
-}
+
+ /**
+ * Adds a mime mapping.
+ * @param extension java.lang.String
+ * @param mimeType java.lang.String
+ */
+ public void addMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.addMimeMapping(index, map);
+ firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Add a web module.
+ * @param module org.eclipse.jst.server.tomcat.WebModule
+ */
+ public void addWebModule(int index, ITomcatWebModule module) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = (Context) host.createElement(index, "Context");
+ context.setDocBase(module.getDocumentBase());
+ context.setPath(module.getPath());
+ context.setReloadable(module.isReloadable() ? "true" : "false");
+ if (module.getMemento() != null && module.getMemento().length() > 0)
+ context.setSource(module.getMemento());
+ isServerDirty = true;
+ firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error adding web module " + module.getPath(), e);
+ }
+ }
+
+ /**
+ * Localize the web projects in this configuration.
+ *
+ * @param file java.io.File
+ * @param monitor org.eclipse.core.runtime.IProgressMonitor
+ */
+ public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
+ try {
+ monitor = ProgressUtil.getMonitorFor(monitor);
+ monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
+
+ Tomcat41Configuration config = new Tomcat41Configuration(null);
+ config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (monitor.isCanceled())
+ return;
+
+ if (!server2.isTestEnvironment()) {
+ //IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
+ //Tomcat41Configuration cfg = (Tomcat41Configuration) scwc.getAdapter(Tomcat41Configuration.class);
+ config.localizeWebModules();
+ }
+ monitor.worked(20);
+
+ if (monitor.isCanceled())
+ return;
+
+ config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (!monitor.isCanceled())
+ monitor.done();
+ } catch (Exception e) {
+ Trace.trace("Error localizing configuration", e);
+ }
+ }
+
+ /**
+ * Go through all of the web modules and make the document
+ * base "local" to the configuration.
+ */
+ protected void localizeWebModules() {
+ List modules = getWebModules();
+
+ int size = modules.size();
+ for (int i = 0; i < size; i++) {
+ WebModule module = (WebModule) modules.get(i);
+ String memento = module.getMemento();
+ if (memento != null && memento.length() > 0) {
+ // update document base to a relative ref
+ String docBase = getPathPrefix() + module.getPath();
+ if (docBase.startsWith("/") || docBase.startsWith("\\"))
+ docBase = docBase.substring(1);
+ modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
+ }
+ }
+ }
+
+ /**
+ * Change the extension of a mime mapping.
+ * @param index int
+ * @param newExtension java.lang.String
+ */
+ public void modifyMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.modifyMimeMapping(index, map);
+ firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Modify the port with the given id.
+ *
+ * @param id java.lang.String
+ * @param port int
+ */
+ public void modifyServerPort(String id, int port) {
+ try {
+ if ("server".equals(id)) {
+ server.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ return;
+ }
+
+ int i = id.indexOf("/");
+ int servNum = Integer.parseInt(id.substring(0, i));
+ int connNum = Integer.parseInt(id.substring(i + 1));
+
+ Service service = server.getService(servNum);
+ Connector connector = service.getConnector(connNum);
+ connector.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ } catch (Exception e) {
+ Trace.trace("Error modifying server port " + id, e);
+ }
+ }
+ /**
+ * Change a web module.
+ * @param index int
+ * @param docBase java.lang.String
+ * @param path java.lang.String
+ * @param reloadable boolean
+ */
+ public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = host.getContext(index);
+ context.setPath(path);
+ context.setDocBase(docBase);
+ context.setReloadable(reloadable ? "true" : "false");
+ isServerDirty = true;
+ WebModule module = new WebModule(path, docBase, null, reloadable);
+ firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error modifying web module " + index, e);
+ }
+ }
+
+ /**
+ * Removes a mime mapping.
+ * @param index int
+ */
+ public void removeMimeMapping(int index) {
+ webAppDocument.removeMimeMapping(index);
+ firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
+ }
+
+ /**
+ * Removes a web module.
+ * @param index int
+ */
+ public void removeWebModule(int index) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ host.removeElement("Context", index);
+ isServerDirty = true;
+ firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error removing module ref " + index, e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41ConfigurationWorkingCopy.java
deleted file mode 100644
index 0c1abd6..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v4.1 server configuration.
- */
-public class Tomcat41ConfigurationWorkingCopy extends Tomcat41Configuration implements ITomcatConfigurationWorkingCopy {
- protected IServerConfigurationWorkingCopy wc;
-
- /**
- * Tomcat41Configuration constructor comment.
- */
- public Tomcat41ConfigurationWorkingCopy() {
- super();
- }
-
- public void initialize(IServerConfigurationWorkingCopy wc2) {
- this.wc = wc2;
- }
-
- public void setDefaults() { }
-
- public void handleSave(byte id, IProgressMonitor monitor) { }
-
- /**
- * Adds a mime mapping.
- * @param extension java.lang.String
- * @param mimeType java.lang.String
- */
- public void addMimeMapping(int index, IMimeMapping map) {
- webAppDocument.addMimeMapping(index, map);
- firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Add a web module.
- * @param module org.eclipse.jst.server.tomcat.WebModule
- */
- public void addWebModule(int index, ITomcatWebModule module) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = (Context) host.createElement(index, "Context");
- context.setDocBase(module.getDocumentBase());
- context.setPath(module.getPath());
- context.setReloadable(module.isReloadable() ? "true" : "false");
- if (module.getMemento() != null && module.getMemento().length() > 0)
- context.setSource(module.getMemento());
- isServerDirty = true;
- firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error adding web module " + module.getPath(), e);
- }
- }
-
- /**
- * Localize the web projects in this configuration.
- *
- * @param file java.io.File
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- */
- public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
- try {
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-
- Tomcat41Configuration config = new Tomcat41Configuration();
- config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (monitor.isCanceled())
- return;
-
- if (!server2.isTestEnvironment()) {
- IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
- ((Tomcat41ConfigurationWorkingCopy) scwc.getDelegate()).localizeWebModules();
- }
- monitor.worked(20);
-
- if (monitor.isCanceled())
- return;
-
- config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (!monitor.isCanceled())
- monitor.done();
- } catch (Exception e) {
- Trace.trace("Error localizing configuration", e);
- }
- }
-
- /**
- * Go through all of the web modules and make the document
- * base "local" to the configuration.
- */
- protected void localizeWebModules() {
- List modules = getWebModules();
-
- int size = modules.size();
- for (int i = 0; i < size; i++) {
- WebModule module = (WebModule) modules.get(i);
- String memento = module.getMemento();
- if (memento != null && memento.length() > 0) {
- // update document base to a relative ref
- String docBase = getPathPrefix() + module.getPath();
- if (docBase.startsWith("/") || docBase.startsWith("\\"))
- docBase = docBase.substring(1);
- modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
- }
- }
- }
-
- /**
- * Change the extension of a mime mapping.
- * @param index int
- * @param newExtension java.lang.String
- */
- public void modifyMimeMapping(int index, IMimeMapping map) {
- webAppDocument.modifyMimeMapping(index, map);
- firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Modify the port with the given id.
- *
- * @param id java.lang.String
- * @param port int
- */
- public void modifyServerPort(String id, int port) {
- try {
- if ("server".equals(id)) {
- server.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- return;
- }
-
- int i = id.indexOf("/");
- int servNum = Integer.parseInt(id.substring(0, i));
- int connNum = Integer.parseInt(id.substring(i + 1));
-
- Service service = server.getService(servNum);
- Connector connector = service.getConnector(connNum);
- connector.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- } catch (Exception e) {
- Trace.trace("Error modifying server port " + id, e);
- }
- }
- /**
- * Change a web module.
- * @param index int
- * @param docBase java.lang.String
- * @param path java.lang.String
- * @param reloadable boolean
- */
- public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = host.getContext(index);
- context.setPath(path);
- context.setDocBase(docBase);
- context.setReloadable(reloadable ? "true" : "false");
- isServerDirty = true;
- WebModule module = new WebModule(path, docBase, null, reloadable);
- firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error modifying web module " + index, e);
- }
- }
-
- /**
- * Removes a mime mapping.
- * @param index int
- */
- public void removeMimeMapping(int index) {
- webAppDocument.removeMimeMapping(index);
- firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
- }
-
- /**
- * Removes a web module.
- * @param index int
- */
- public void removeWebModule(int index) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- host.removeElement("Context", index);
- isServerDirty = true;
- firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error removing module ref " + index, e);
- }
- }
-
- public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
- load(path, monitor);
- }
-
- public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
- load(runtime.getLocation().append("conf"), monitor);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java
index 6efc9bf..599ba88 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.util.ArrayList;
import java.util.List;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41RuntimeTargetHandler.java
deleted file mode 100644
index d96cb51..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41RuntimeTargetHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- *
- */
-public class Tomcat41RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
- public String getId() {
- return "org.eclipse.jst.server.tomcat.runtimeTarget.v41";
- }
-
- public String getLabel() {
- return TomcatPlugin.getResource("%target41runtime");
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
- */
- public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
- IPath installPath = runtime.getLocation();
-
- if (installPath == null)
- return new IClasspathEntry[0];
-
- IPath path = installPath.append("common");
- List list = new ArrayList();
- addLibraryEntries(list, path.append("lib").toFile(), true);
- addLibraryEntries(list, path.append("endorsed").toFile(), true);
- //addLibraryEntry(list, path.append("classes").toFile()); // no longer supported by eclipse
- return resolveList(list);
- }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java
index 0f0103b..bbe71a9 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
@@ -17,6 +18,8 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.*;
+import org.eclipse.jst.server.tomcat.core.IMimeMapping;
+import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
@@ -24,8 +27,7 @@
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
+import org.eclipse.wst.server.core.IServerPort;
import org.eclipse.wst.server.core.util.ServerPort;
/**
* Tomcat v5.0 server configuration.
@@ -46,8 +48,8 @@
/**
* Tomcat50Configuration constructor comment.
*/
- public Tomcat50Configuration() {
- super();
+ public Tomcat50Configuration(IFolder path) {
+ super(path);
}
/**
@@ -112,7 +114,9 @@
try {
int port = Integer.parseInt(server.getPort());
ports.add(new ServerPort("server", "Server port", port, "TCPIP"));
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
// add connectors
try {
@@ -129,7 +133,9 @@
int port = -1;
try {
port = Integer.parseInt(connector.getPort());
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
String protocol = connector.getProtocol();
if (protocol != null && protocol.length() > 0) {
name = protocol;
@@ -430,4 +436,199 @@
}
return false;
}
-}
+
+ /**
+ * Adds a mime mapping.
+ * @param extension java.lang.String
+ * @param mimeType java.lang.String
+ */
+ public void addMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.addMimeMapping(index, map);
+ firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Add a web module.
+ * @param module org.eclipse.jst.server.tomcat.WebModule
+ */
+ public void addWebModule(int index, ITomcatWebModule module) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = (Context) host.createElement(index, "Context");
+ context.setDocBase(module.getDocumentBase());
+ context.setPath(module.getPath());
+ context.setReloadable(module.isReloadable() ? "true" : "false");
+ if (module.getMemento() != null && module.getMemento().length() > 0)
+ context.setSource(module.getMemento());
+ isServerDirty = true;
+ firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error adding web module " + module.getPath(), e);
+ }
+ }
+
+ /**
+ * Localize the web projects in this configuration.
+ *
+ * @param file java.io.File
+ * @param monitor org.eclipse.core.runtime.IProgressMonitor
+ */
+ public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
+ try {
+ monitor = ProgressUtil.getMonitorFor(monitor);
+ monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
+
+ Tomcat50Configuration config = new Tomcat50Configuration(null);
+ config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (monitor.isCanceled())
+ return;
+
+ if (!server2.isTestEnvironment()) {
+ //IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
+ //Tomcat50Configuration cfg = (Tomcat50Configuration) scwc.getAdapter(Tomcat50Configuration.class);
+ config.localizeWebModules();
+ }
+ monitor.worked(20);
+
+ if (monitor.isCanceled())
+ return;
+
+ config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (!monitor.isCanceled())
+ monitor.done();
+ } catch (Exception e) {
+ Trace.trace("Error localizing configuration", e);
+ }
+ }
+
+ /**
+ * Go through all of the web modules and make the document
+ * base "local" to the configuration.
+ */
+ protected void localizeWebModules() {
+ List modules = getWebModules();
+
+ int size = modules.size();
+ for (int i = 0; i < size; i++) {
+ WebModule module = (WebModule) modules.get(i);
+ String memento = module.getMemento();
+ if (memento != null && memento.length() > 0) {
+ // update document base to a relative ref
+ String docBase = getPathPrefix() + module.getPath();
+ if (docBase.startsWith("/") || docBase.startsWith("\\"))
+ docBase = docBase.substring(1);
+ modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
+ }
+ }
+ }
+
+ /**
+ * Change the extension of a mime mapping.
+ * @param index int
+ * @param newExtension java.lang.String
+ */
+ public void modifyMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.modifyMimeMapping(index, map);
+ firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Modify the port with the given id.
+ *
+ * @param id java.lang.String
+ * @param port int
+ */
+ public void modifyServerPort(String id, int port) {
+ try {
+ if ("server".equals(id)) {
+ server.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ return;
+ }
+
+ int i = id.indexOf("/");
+ int servNum = Integer.parseInt(id.substring(0, i));
+ int connNum = Integer.parseInt(id.substring(i + 1));
+
+ Service service = server.getService(servNum);
+ Connector connector = service.getConnector(connNum);
+ connector.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ } catch (Exception e) {
+ Trace.trace("Error modifying server port " + id, e);
+ }
+ }
+ /**
+ * Change a web module.
+ * @param index int
+ * @param docBase java.lang.String
+ * @param path java.lang.String
+ * @param reloadable boolean
+ */
+ public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = host.getContext(index);
+ context.setPath(path);
+ context.setDocBase(docBase);
+ context.setReloadable(reloadable ? "true" : "false");
+ isServerDirty = true;
+ WebModule module = new WebModule(path, docBase, null, reloadable);
+ firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error modifying web module " + index, e);
+ }
+ }
+
+ /**
+ * Removes a mime mapping.
+ * @param index int
+ */
+ public void removeMimeMapping(int index) {
+ webAppDocument.removeMimeMapping(index);
+ firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
+ }
+
+ /**
+ * Removes a web module.
+ * @param index int
+ */
+ public void removeWebModule(int index) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ host.removeElement("Context", index);
+ isServerDirty = true;
+ firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error removing module ref " + index, e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50ConfigurationWorkingCopy.java
deleted file mode 100644
index cc50521..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v4.1 server configuration.
- */
-public class Tomcat50ConfigurationWorkingCopy extends Tomcat50Configuration implements ITomcatConfigurationWorkingCopy {
- protected IServerConfigurationWorkingCopy wc;
-
- /**
- * Tomcat50Configuration constructor comment.
- */
- public Tomcat50ConfigurationWorkingCopy() {
- super();
- }
-
- public void initialize(IServerConfigurationWorkingCopy wc2) {
- this.wc = wc2;
- }
-
- public void setDefaults() { }
-
- public void handleSave(byte id, IProgressMonitor monitor) { }
-
- /**
- * Adds a mime mapping.
- * @param extension java.lang.String
- * @param mimeType java.lang.String
- */
- public void addMimeMapping(int index, IMimeMapping map) {
- webAppDocument.addMimeMapping(index, map);
- firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Add a web module.
- * @param module org.eclipse.jst.server.tomcat.WebModule
- */
- public void addWebModule(int index, ITomcatWebModule module) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = (Context) host.createElement(index, "Context");
- context.setDocBase(module.getDocumentBase());
- context.setPath(module.getPath());
- context.setReloadable(module.isReloadable() ? "true" : "false");
- if (module.getMemento() != null && module.getMemento().length() > 0)
- context.setSource(module.getMemento());
- isServerDirty = true;
- firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error adding web module " + module.getPath(), e);
- }
- }
-
- /**
- * Localize the web projects in this configuration.
- *
- * @param file java.io.File
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- */
- public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
- try {
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-
- Tomcat50Configuration config = new Tomcat50Configuration();
- config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (monitor.isCanceled())
- return;
-
- if (!server2.isTestEnvironment()) {
- IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
- ((Tomcat50ConfigurationWorkingCopy) scwc.getDelegate()).localizeWebModules();
- }
- monitor.worked(20);
-
- if (monitor.isCanceled())
- return;
-
- config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (!monitor.isCanceled())
- monitor.done();
- } catch (Exception e) {
- Trace.trace("Error localizing configuration", e);
- }
- }
-
- /**
- * Go through all of the web modules and make the document
- * base "local" to the configuration.
- */
- protected void localizeWebModules() {
- List modules = getWebModules();
-
- int size = modules.size();
- for (int i = 0; i < size; i++) {
- WebModule module = (WebModule) modules.get(i);
- String memento = module.getMemento();
- if (memento != null && memento.length() > 0) {
- // update document base to a relative ref
- String docBase = getPathPrefix() + module.getPath();
- if (docBase.startsWith("/") || docBase.startsWith("\\"))
- docBase = docBase.substring(1);
- modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
- }
- }
- }
-
- /**
- * Change the extension of a mime mapping.
- * @param index int
- * @param newExtension java.lang.String
- */
- public void modifyMimeMapping(int index, IMimeMapping map) {
- webAppDocument.modifyMimeMapping(index, map);
- firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Modify the port with the given id.
- *
- * @param id java.lang.String
- * @param port int
- */
- public void modifyServerPort(String id, int port) {
- try {
- if ("server".equals(id)) {
- server.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- return;
- }
-
- int i = id.indexOf("/");
- int servNum = Integer.parseInt(id.substring(0, i));
- int connNum = Integer.parseInt(id.substring(i + 1));
-
- Service service = server.getService(servNum);
- Connector connector = service.getConnector(connNum);
- connector.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- } catch (Exception e) {
- Trace.trace("Error modifying server port " + id, e);
- }
- }
- /**
- * Change a web module.
- * @param index int
- * @param docBase java.lang.String
- * @param path java.lang.String
- * @param reloadable boolean
- */
- public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = host.getContext(index);
- context.setPath(path);
- context.setDocBase(docBase);
- context.setReloadable(reloadable ? "true" : "false");
- isServerDirty = true;
- WebModule module = new WebModule(path, docBase, null, reloadable);
- firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error modifying web module " + index, e);
- }
- }
-
- /**
- * Removes a mime mapping.
- * @param index int
- */
- public void removeMimeMapping(int index) {
- webAppDocument.removeMimeMapping(index);
- firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
- }
-
- /**
- * Removes a web module.
- * @param index int
- */
- public void removeWebModule(int index) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- host.removeElement("Context", index);
- isServerDirty = true;
- firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error removing module ref " + index, e);
- }
- }
-
- public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
- load(path, monitor);
- }
-
- public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
- load(runtime.getLocation().append("conf"), monitor);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java
index 9371e9a..c1d8f30 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.util.ArrayList;
import java.util.List;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50RuntimeTargetHandler.java
deleted file mode 100644
index c514873..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50RuntimeTargetHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- *
- */
-public class Tomcat50RuntimeTargetHandler extends TomcatRuntimeTargetHandler {
- public String getId() {
- return "org.eclipse.jst.server.tomcat.runtimeTarget.v50";
- }
-
- public String getLabel() {
- return TomcatPlugin.getResource("%target50runtime");
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
- */
- public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
- IPath installPath = runtime.getLocation();
-
- if (installPath == null)
- return new IClasspathEntry[0];
-
- IPath path = installPath.append("common");
- List list = new ArrayList();
- addLibraryEntries(list, path.append("lib").toFile(), true);
- addLibraryEntries(list, path.append("endorsed").toFile(), true);
- // addLibraryEntry(list, path.append("classes").toFile()); // no longer supported by eclipse
- return resolveList(list);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java
index 2c3d2c0..15be680 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,39 +8,26 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.io.InputStreamReader;
+package org.eclipse.jst.server.tomcat.core.internal;
+
+import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.*;
+import org.eclipse.jst.server.tomcat.core.IMimeMapping;
+import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.xml.Factory;
import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Listener;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Server;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
+import org.eclipse.jst.server.tomcat.core.internal.xml.server40.*;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
-import org.eclipse.wst.server.core.model.IServerPort;
-import org.eclipse.wst.server.core.util.ProgressUtil;
+import org.eclipse.wst.server.core.IServerPort;
import org.eclipse.wst.server.core.util.ServerPort;
/**
* Tomcat v5.5 server configuration.
@@ -62,8 +48,8 @@
/**
* Tomcat55Configuration constructor comment.
*/
- public Tomcat55Configuration() {
- super();
+ public Tomcat55Configuration(IFolder path) {
+ super(path);
}
/**
@@ -128,7 +114,9 @@
try {
int port = Integer.parseInt(server.getPort());
ports.add(new ServerPort("server", "Server port", port, "TCPIP"));
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
// add connectors
try {
@@ -145,7 +133,9 @@
int port = -1;
try {
port = Integer.parseInt(connector.getPort());
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
String protocol = connector.getProtocol();
if (protocol != null && protocol.length() > 0) {
name = protocol;
@@ -446,4 +436,199 @@
}
return false;
}
-}
+
+ /**
+ * Adds a mime mapping.
+ * @param extension java.lang.String
+ * @param mimeType java.lang.String
+ */
+ public void addMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.addMimeMapping(index, map);
+ firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Add a web module.
+ * @param module org.eclipse.jst.server.tomcat.WebModule
+ */
+ public void addWebModule(int index, ITomcatWebModule module) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = (Context) host.createElement(index, "Context");
+ context.setDocBase(module.getDocumentBase());
+ context.setPath(module.getPath());
+ context.setReloadable(module.isReloadable() ? "true" : "false");
+ if (module.getMemento() != null && module.getMemento().length() > 0)
+ context.setSource(module.getMemento());
+ isServerDirty = true;
+ firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error adding web module " + module.getPath(), e);
+ }
+ }
+
+ /**
+ * Localize the web projects in this configuration.
+ *
+ * @param file java.io.File
+ * @param monitor org.eclipse.core.runtime.IProgressMonitor
+ */
+ public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
+ try {
+ monitor = ProgressUtil.getMonitorFor(monitor);
+ monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
+
+ Tomcat55Configuration config = new Tomcat55Configuration(null);
+ config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (monitor.isCanceled())
+ return;
+
+ if (!server2.isTestEnvironment()) {
+ //IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().createWorkingCopy();
+ //Tomcat55Configuration cfg = (Tomcat55Configuration) scwc.getAdapter(Tomcat55Configuration.class);
+ config.localizeWebModules();
+ }
+ monitor.worked(20);
+
+ if (monitor.isCanceled())
+ return;
+
+ config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
+
+ if (!monitor.isCanceled())
+ monitor.done();
+ } catch (Exception e) {
+ Trace.trace("Error localizing configuration", e);
+ }
+ }
+
+ /**
+ * Go through all of the web modules and make the document
+ * base "local" to the configuration.
+ */
+ protected void localizeWebModules() {
+ List modules = getWebModules();
+
+ int size = modules.size();
+ for (int i = 0; i < size; i++) {
+ WebModule module = (WebModule) modules.get(i);
+ String memento = module.getMemento();
+ if (memento != null && memento.length() > 0) {
+ // update document base to a relative ref
+ String docBase = getPathPrefix() + module.getPath();
+ if (docBase.startsWith("/") || docBase.startsWith("\\"))
+ docBase = docBase.substring(1);
+ modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
+ }
+ }
+ }
+
+ /**
+ * Change the extension of a mime mapping.
+ * @param index int
+ * @param newExtension java.lang.String
+ */
+ public void modifyMimeMapping(int index, IMimeMapping map) {
+ webAppDocument.modifyMimeMapping(index, map);
+ firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
+ }
+
+ /**
+ * Modify the port with the given id.
+ *
+ * @param id java.lang.String
+ * @param port int
+ */
+ public void modifyServerPort(String id, int port) {
+ try {
+ if ("server".equals(id)) {
+ server.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ return;
+ }
+
+ int i = id.indexOf("/");
+ int servNum = Integer.parseInt(id.substring(0, i));
+ int connNum = Integer.parseInt(id.substring(i + 1));
+
+ Service service = server.getService(servNum);
+ Connector connector = service.getConnector(connNum);
+ connector.setPort(port + "");
+ isServerDirty = true;
+ firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
+ } catch (Exception e) {
+ Trace.trace("Error modifying server port " + id, e);
+ }
+ }
+ /**
+ * Change a web module.
+ * @param index int
+ * @param docBase java.lang.String
+ * @param path java.lang.String
+ * @param reloadable boolean
+ */
+ public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ Context context = host.getContext(index);
+ context.setPath(path);
+ context.setDocBase(docBase);
+ context.setReloadable(reloadable ? "true" : "false");
+ isServerDirty = true;
+ WebModule module = new WebModule(path, docBase, null, reloadable);
+ firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error modifying web module " + index, e);
+ }
+ }
+
+ /**
+ * Removes a mime mapping.
+ * @param index int
+ */
+ public void removeMimeMapping(int index) {
+ webAppDocument.removeMimeMapping(index);
+ firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
+ }
+
+ /**
+ * Removes a web module.
+ * @param index int
+ */
+ public void removeWebModule(int index) {
+ try {
+ int size = server.getServiceCount();
+ for (int i = 0; i < size; i++) {
+ Service service = server.getService(i);
+ if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
+ Engine engine = service.getEngine();
+ Host host = engine.getHost();
+ host.removeElement("Context", index);
+ isServerDirty = true;
+ firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
+ return;
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error removing module ref " + index, e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55ConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55ConfigurationWorkingCopy.java
deleted file mode 100644
index df1c811..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55ConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.IMimeMapping;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Connector;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Engine;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Host;
-import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Service;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * Tomcat v5.5 server configuration.
- */
-public class Tomcat55ConfigurationWorkingCopy extends Tomcat55Configuration implements ITomcatConfigurationWorkingCopy {
- protected IServerConfigurationWorkingCopy wc;
-
- /**
- * Tomcat55Configuration constructor comment.
- */
- public Tomcat55ConfigurationWorkingCopy() {
- super();
- }
-
- public void initialize(IServerConfigurationWorkingCopy wc2) {
- this.wc = wc2;
- }
-
- public void setDefaults() { }
-
- public void handleSave(byte id, IProgressMonitor monitor) { }
-
- /**
- * Adds a mime mapping.
- * @param extension java.lang.String
- * @param mimeType java.lang.String
- */
- public void addMimeMapping(int index, IMimeMapping map) {
- webAppDocument.addMimeMapping(index, map);
- firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Add a web module.
- * @param module org.eclipse.jst.server.tomcat.WebModule
- */
- public void addWebModule(int index, ITomcatWebModule module) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = (Context) host.createElement(index, "Context");
- context.setDocBase(module.getDocumentBase());
- context.setPath(module.getPath());
- context.setReloadable(module.isReloadable() ? "true" : "false");
- if (module.getMemento() != null && module.getMemento().length() > 0)
- context.setSource(module.getMemento());
- isServerDirty = true;
- firePropertyChangeEvent(ADD_WEB_MODULE_PROPERTY, null, module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error adding web module " + module.getPath(), e);
- }
- }
-
- /**
- * Localize the web projects in this configuration.
- *
- * @param file java.io.File
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- */
- public void localizeConfiguration(IPath path, TomcatServer server2, TomcatRuntime runtime, IProgressMonitor monitor) {
- try {
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(TomcatPlugin.getResource("%updatingConfigurationTask"), 100);
-
- Tomcat55Configuration config = new Tomcat55Configuration();
- config.load(path, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (monitor.isCanceled())
- return;
-
- if (!server2.isTestEnvironment()) {
- IServerConfigurationWorkingCopy scwc = config.getServerConfiguration().getWorkingCopy();
- ((Tomcat55ConfigurationWorkingCopy) scwc.getDelegate()).localizeWebModules();
- }
- monitor.worked(20);
-
- if (monitor.isCanceled())
- return;
-
- config.save(path, false, ProgressUtil.getSubMonitorFor(monitor, 40));
-
- if (!monitor.isCanceled())
- monitor.done();
- } catch (Exception e) {
- Trace.trace("Error localizing configuration", e);
- }
- }
-
- /**
- * Go through all of the web modules and make the document
- * base "local" to the configuration.
- */
- protected void localizeWebModules() {
- List modules = getWebModules();
-
- int size = modules.size();
- for (int i = 0; i < size; i++) {
- WebModule module = (WebModule) modules.get(i);
- String memento = module.getMemento();
- if (memento != null && memento.length() > 0) {
- // update document base to a relative ref
- String docBase = getPathPrefix() + module.getPath();
- if (docBase.startsWith("/") || docBase.startsWith("\\"))
- docBase = docBase.substring(1);
- modifyWebModule(i, docBase, module.getPath(), module.isReloadable());
- }
- }
- }
-
- /**
- * Change the extension of a mime mapping.
- * @param index int
- * @param newExtension java.lang.String
- */
- public void modifyMimeMapping(int index, IMimeMapping map) {
- webAppDocument.modifyMimeMapping(index, map);
- firePropertyChangeEvent(MODIFY_MAPPING_PROPERTY, new Integer(index), map);
- }
-
- /**
- * Modify the port with the given id.
- *
- * @param id java.lang.String
- * @param port int
- */
- public void modifyServerPort(String id, int port) {
- try {
- if ("server".equals(id)) {
- server.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- return;
- }
-
- int i = id.indexOf("/");
- int servNum = Integer.parseInt(id.substring(0, i));
- int connNum = Integer.parseInt(id.substring(i + 1));
-
- Service service = server.getService(servNum);
- Connector connector = service.getConnector(connNum);
- connector.setPort(port + "");
- isServerDirty = true;
- firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
- } catch (Exception e) {
- Trace.trace("Error modifying server port " + id, e);
- }
- }
- /**
- * Change a web module.
- * @param index int
- * @param docBase java.lang.String
- * @param path java.lang.String
- * @param reloadable boolean
- */
- public void modifyWebModule(int index, String docBase, String path, boolean reloadable) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- Context context = host.getContext(index);
- context.setPath(path);
- context.setDocBase(docBase);
- context.setReloadable(reloadable ? "true" : "false");
- isServerDirty = true;
- WebModule module = new WebModule(path, docBase, null, reloadable);
- firePropertyChangeEvent(MODIFY_WEB_MODULE_PROPERTY, new Integer(index), module);
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error modifying web module " + index, e);
- }
- }
-
- /**
- * Removes a mime mapping.
- * @param index int
- */
- public void removeMimeMapping(int index) {
- webAppDocument.removeMimeMapping(index);
- firePropertyChangeEvent(REMOVE_MAPPING_PROPERTY, null, new Integer(index));
- }
-
- /**
- * Removes a web module.
- * @param index int
- */
- public void removeWebModule(int index) {
- try {
- int size = server.getServiceCount();
- for (int i = 0; i < size; i++) {
- Service service = server.getService(i);
- if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) {
- Engine engine = service.getEngine();
- Host host = engine.getHost();
- host.removeElement("Context", index);
- isServerDirty = true;
- firePropertyChangeEvent(REMOVE_WEB_MODULE_PROPERTY, null, new Integer(index));
- return;
- }
- }
- } catch (Exception e) {
- Trace.trace("Error removing module ref " + index, e);
- }
- }
-
- public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
- load(path, monitor);
- }
-
- public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
- load(runtime.getLocation().append("conf"), monitor);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java
index 891f976..bfcba2a 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -40,4 +41,4 @@
return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorSpec55"), null);
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55RuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55RuntimeTargetHandler.java
deleted file mode 100644
index cae2d19..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55RuntimeTargetHandler.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-/**
- *
- */
-public class Tomcat55RuntimeTargetHandler extends Tomcat50RuntimeTargetHandler {
- public String getId() {
- return "org.eclipse.jst.server.tomcat.runtimeTarget.v55";
- }
-
- public String getLabel() {
- return TomcatPlugin.getResource("%target55runtime");
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java
index 4a18a1d..32fd827 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,31 +8,34 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.*;
import org.eclipse.jst.server.j2ee.IWebModule;
import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
+import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
+import org.eclipse.jst.server.tomcat.core.ITomcatWebModule;
import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.wst.server.core.model.IServerPort;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServerPort;
+import org.eclipse.wst.server.core.internal.Trace;
import org.eclipse.wst.server.core.util.FileUtil;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-import org.eclipse.wst.server.core.util.ServerConfigurationDelegate;
/**
* Generic Tomcat server configuration.
*/
-public abstract class TomcatConfiguration extends ServerConfigurationDelegate implements ITomcatConfiguration {
+public abstract class TomcatConfiguration implements ITomcatConfiguration, ITomcatConfigurationWorkingCopy {
public static final String NAME_PROPERTY = "name";
public static final String PORT_PROPERTY = "port";
public static final String MODIFY_PORT_PROPERTY = "modifyPort";
@@ -44,12 +46,27 @@
public static final String MODIFY_WEB_MODULE_PROPERTY = "modifyWebModule";
public static final String ADD_WEB_MODULE_PROPERTY = "addWebModule";
public static final String REMOVE_WEB_MODULE_PROPERTY = "removeWebModule";
+
+ protected IFolder configPath;
+
+ // property change listeners
+ private transient List propertyListeners;
/**
* TomcatConfiguration constructor comment.
*/
- public TomcatConfiguration() {
+ public TomcatConfiguration(IFolder path) {
super();
+ this.configPath = path;
+ /*try {
+ load(configPath, new NullProgressMonitor());
+ } catch (Exception e) {
+ // ignore
+ }*/
+ }
+
+ protected IFolder getFolder() {
+ return configPath;
}
/**
@@ -76,14 +93,15 @@
confDir = confDir.append("conf");
- IFolder folder = configuration.getConfigurationDataFolder();
+ /*IServerConfiguration config = getServerConfiguration();
+ IFolder folder = config.getConfigurationDataFolder();
if (folder != null)
backupFolder(folder, confDir, backup, ms, monitor);
else {
- IPath path = configuration.getConfigurationDataPath();
- backupPath(path, confDir, backup, ms, monitor);
- }
-
+ IPath path = config.getConfigurationDataPath();
+ backupPath(configPath, confDir, backup, ms, monitor);*/
+ backupFolder(getFolder(), confDir, backup, ms, monitor);
+ //}
} catch (Exception e) {
Trace.trace("backupAndPublish() error", e);
IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPublishConfiguration", new String[] {e.getLocalizedMessage()}), e);
@@ -190,12 +208,13 @@
* @return java.lang.String
* @param module IWebModule
*/
- protected String getWebModuleURL(IWebModule webModule) {
+ protected String getWebModuleURL(IModule webModule) {
WebModule module = getWebModule(webModule);
if (module != null)
return module.getPath();
- return webModule.getContextRoot();
+ IWebModule webModule2 = (IWebModule) webModule.getAdapter(IWebModule.class);
+ return webModule2.getContextRoot();
}
/**
@@ -204,11 +223,11 @@
* @return java.lang.String
* @param project org.eclipse.core.resources.IProject
*/
- protected WebModule getWebModule(IWebModule webModule) {
+ protected WebModule getWebModule(IModule webModule) {
if (webModule == null)
return null;
- String memento = webModule.getFactoryId() + ":" + webModule.getId();
+ String memento = webModule.getId();
List modules = getWebModules();
int size = modules.size();
@@ -234,13 +253,68 @@
* @param forceSave boolean
* @exception java.io.IOException
*/
- protected abstract void save(IPath path, boolean forceSave, IProgressMonitor monitor) throws CoreException;
+ //protected abstract void save(IPath path, boolean forceSave, IProgressMonitor monitor) throws CoreException;
+
+ protected abstract void save(IFolder folder, IProgressMonitor monitor) throws CoreException;
protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
- configuration.getWorkingCopy().firePropertyChangeEvent(propertyName, oldValue, newValue);
+ if (propertyListeners == null)
+ return;
+
+ PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
+ try {
+ Iterator iterator = propertyListeners.iterator();
+ while (iterator.hasNext()) {
+ try {
+ PropertyChangeListener listener = (PropertyChangeListener) iterator.next();
+ listener.propertyChange(event);
+ } catch (Exception e) {
+ Trace.trace("Error firing property change event", e);
+ }
+ }
+ } catch (Exception e) {
+ Trace.trace("Error in property event", e);
+ }
}
/**
+ * Adds a property change listener to this server.
+ *
+ * @param listener java.beans.PropertyChangeListener
+ */
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ if (propertyListeners == null)
+ propertyListeners = new ArrayList();
+ propertyListeners.add(listener);
+ }
+
+ /**
+ * Removes a property change listener from this server.
+ *
+ * @param listener java.beans.PropertyChangeListener
+ */
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ if (propertyListeners != null)
+ propertyListeners.remove(listener);
+ }
+
+ /*public void importFromPath(IPath path, IProgressMonitor monitor) throws CoreException {
+ load(path, monitor);
+ }
+
+ public void importFromRuntime(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
+ load(runtime.getLocation().append("conf"), monitor);
+ }*/
+
+ protected abstract void load(IPath path, IProgressMonitor monitor) throws CoreException;
+
+ protected abstract void load(IFolder folder, IProgressMonitor monitor) throws CoreException;
+
+ public abstract void addWebModule(int index, ITomcatWebModule module);
+
+ public abstract void removeWebModule(int index);
+
+ /**
* Return a string representation of this object.
* @return java.lang.String
*/
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfigurationUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfigurationUtil.java
index d0b81dd..1f0f7f3 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfigurationUtil.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfigurationUtil.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
index aa25486..2044ff2 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.File;
import java.util.Map;
@@ -32,14 +33,14 @@
public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
String serverId = configuration.getAttribute(IServer.ATTR_SERVER_ID, (String) null);
- IServer server = ServerCore.getResourceManager().getServer(serverId);
+ IServer server = ServerCore.findServer(serverId);
if (server == null) {
Trace.trace(Trace.FINEST, "Launch configuration could not find server");
// throw CoreException();
return;
}
- TomcatServer tomcatServer = (TomcatServer) server.getDelegate();
+ TomcatServerBehaviour tomcatServer = (TomcatServerBehaviour) server.getAdapter(TomcatServerBehaviour.class);
tomcatServer.setupLaunch(launch, mode, monitor);
String mainTypeName = tomcatServer.getRuntimeClass();
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java
index 3407b18..4d6edf5 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,37 +8,37 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.net.URL;
import org.eclipse.jst.server.j2ee.IWebModule;
import org.eclipse.jst.server.j2ee.Servlet;
import org.eclipse.jst.server.j2ee.WebResource;
+import org.eclipse.wst.server.core.ILaunchable;
+import org.eclipse.wst.server.core.IModuleArtifact;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.model.*;
import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.NullLaunchable;
-import org.eclipse.wst.server.core.util.NullModuleObject;
/**
* Launchable adapter delegate for Web resources in Tomcat.
*/
-public class TomcatLaunchableAdapterDelegate implements ILaunchableAdapterDelegate {
+public class TomcatLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
/*
- * @see ILaunchableAdapterDelegate#getLaunchable(IServer, IModuleObject)
+ * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact)
*/
- public ILaunchable getLaunchable(IServer server, IModuleObject moduleObject) {
+ public ILaunchable getLaunchable(IServer server, IModuleArtifact moduleObject) {
Trace.trace("TomcatLaunchableAdapter " + server + "-" + moduleObject);
- IServerDelegate delegate = server.getDelegate();
- if (!(delegate instanceof TomcatServer))
+ if (server.getAdapter(TomcatServer.class) == null)
return null;
if (!(moduleObject instanceof Servlet) &&
- !(moduleObject instanceof WebResource) &&
- !(moduleObject instanceof NullModuleObject))
+ !(moduleObject instanceof WebResource))
return null;
- if (!(moduleObject.getModule() instanceof IWebModule))
+ if (moduleObject.getModule().getAdapter(IWebModule.class) == null)
return null;
try {
- URL url = ((IURLProvider) delegate).getModuleRootURL(moduleObject.getModule());
+ URL url = ((IURLProvider) server.getAdapter(IURLProvider.class)).getModuleRootURL(moduleObject.getModule());
Trace.trace("root: " + url);
@@ -60,8 +59,6 @@
path = path.substring(1);
if (path != null && path.length() > 0)
url = new URL(url, path);
- } else { // null
- return new NullLaunchable();
}
return new HttpLaunchable(url);
} catch (Exception e) {
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java
index 7f179b6..ab7094d 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.File;
import java.net.URL;
import java.text.MessageFormat;
@@ -151,7 +152,9 @@
}
public static ITomcatVersionHandler getTomcatVersionHandler(String id) {
- id = id.substring(0, id.length() - 8);
+ if (id.indexOf("runtime") > 0)
+ id = id.substring(0, 30) + id.substring(38);
+ //id = id.substring(0, id.length() - 8);
if (TOMCAT_32.equals(id))
return new Tomcat32Handler();
else if (TOMCAT_40.equals(id))
@@ -176,6 +179,13 @@
if (verify32 != null)
return;
+ // backup (empty) values
+ verify32 = new String[0];
+ verify40 = new String[0];
+ verify41 = new String[0];
+ verify50 = new String[0];
+ verify55 = new String[0];
+
try {
URL url = getInstance().getBundle().getEntry(VERIFY_INSTALL_FILE);
url = Platform.resolve(url);
@@ -242,11 +252,6 @@
list.toArray(verify55);
} catch (Exception e) {
Trace.trace(Trace.SEVERE, "Could not load installation verification properties", e);
- verify32 = new String[0];
- verify40 = new String[0];
- verify41 = new String[0];
- verify50 = new String[0];
- verify55 = new String[0];
}
}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
index 2f18b9c..fbece93 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,48 +8,46 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.util.List;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jdt.launching.IVMInstallType;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.jst.server.tomcat.core.ITomcatRuntime;
+import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.model.RuntimeDelegate;
/**
*
*/
-public class TomcatRuntime implements ITomcatRuntime {
+public class TomcatRuntime extends RuntimeDelegate implements ITomcatRuntime, ITomcatRuntimeWorkingCopy {
protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
protected static final String PROP_VM_INSTALL_ID = "vm-install-id";
- protected IRuntime runtime;
-
- public TomcatRuntime() { }
-
- public void initialize(IRuntime newRuntime) {
- this.runtime = newRuntime;
+ public TomcatRuntime() {
+ // do nothing
}
/* (non-Javadoc)
* @see org.eclipse.wst.server.core.model.IRuntime#getLocation()
*/
public ITomcatVersionHandler getVersionHandler() {
- IRuntimeType type = runtime.getRuntimeType();
+ IRuntimeType type = getRuntime().getRuntimeType();
return TomcatPlugin.getTomcatVersionHandler(type.getId());
}
- public String getVMInstallTypeId() {
- return runtime.getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
+ protected String getVMInstallTypeId() {
+ return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
}
- public String getVMInstallId() {
- return runtime.getAttribute(PROP_VM_INSTALL_ID, (String)null);
+ protected String getVMInstallId() {
+ return getAttribute(PROP_VM_INSTALL_ID, (String)null);
}
public IVMInstall getVMInstall() {
@@ -63,12 +60,14 @@
if (id.equals(vmInstalls[i].getId()))
return vmInstalls[i];
}
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
return null;
}
public List getRuntimeClasspath() {
- return getVersionHandler().getRuntimeClasspath(runtime.getLocation());
+ return getVersionHandler().getRuntimeClasspath(getRuntime().getLocation());
}
/**
@@ -78,26 +77,46 @@
* @return boolean
*/
public boolean verifyLocation() {
- return getVersionHandler().verifyInstallPath(runtime.getLocation());
+ return getVersionHandler().verifyInstallPath(getRuntime().getLocation());
}
public IStatus validate() {
- if (runtime.getName() == null || runtime.getName().length() == 0)
- return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorRuntimeName"), null);
-
- if (runtime.isWorkingCopy() && ServerUtil.isNameInUse(runtime))
- return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorDuplicateRuntimeName"), null);
+ IStatus status = super.validate();
+ if (!status.isOK())
+ return status;
- IPath path = runtime.getLocation();
- if (path == null || path.isEmpty())
- return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, "", null);
- else if (!verifyLocation())
+ if (!verifyLocation())
return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorInstallDir"), null);
- else if (getVMInstall() == null) {
+ else if (getVMInstall() == null)
return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorJRE"), null);
+
+ return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "", null);
+ }
+
+ public void setDefaults() {
+ IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
+ setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
+
+ IRuntimeType type = getRuntimeWorkingCopy().getRuntimeType();
+ getRuntimeWorkingCopy().setLocation(new Path(TomcatPlugin.getPreference("location" + type.getId())));
+ }
+
+ public void setVMInstall(IVMInstall vmInstall) {
+ if (vmInstall == null) {
+ setVMInstall(null, null);
} else
- return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "", null);
+ setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
}
- public void dispose() { }
+ protected void setVMInstall(String typeId, String id) {
+ if (typeId == null)
+ setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
+ else
+ setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
+
+ if (id == null)
+ setAttribute(PROP_VM_INSTALL_ID, (String)null);
+ else
+ setAttribute(PROP_VM_INSTALL_ID, id);
+ }
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java
index 8a3d9f5..969fa73 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,38 +8,49 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.File;
import java.io.FileFilter;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorDelegate;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorListener;
-import org.eclipse.wst.server.core.model.IRuntimeWorkingCopyDelegate;
+import org.eclipse.wst.server.core.*;
+import org.eclipse.wst.server.core.model.RuntimeLocatorDelegate;
/**
*
*/
-public class TomcatRuntimeLocator implements IRuntimeLocatorDelegate {
+public class TomcatRuntimeLocator extends RuntimeLocatorDelegate {
protected static final String[] runtimeTypes = new String[] {
- "org.eclipse.jst.server.tomcat.32.runtime",
- "org.eclipse.jst.server.tomcat.40.runtime",
- "org.eclipse.jst.server.tomcat.41.runtime",
- "org.eclipse.jst.server.tomcat.50.runtime",
- "org.eclipse.jst.server.tomcat.55.runtime"};
+ "org.eclipse.jst.server.tomcat.runtime.32",
+ "org.eclipse.jst.server.tomcat.runtime.40",
+ "org.eclipse.jst.server.tomcat.runtime.41",
+ "org.eclipse.jst.server.tomcat.runtime.50",
+ "org.eclipse.jst.server.tomcat.runtime.55"};
/* (non-Javadoc)
* @see org.eclipse.wst.server.core.model.IRuntimeFactoryDelegate#getKnownRuntimes()
*/
- public void searchForRuntimes(IRuntimeLocatorListener listener, IProgressMonitor monitor) {
- File[] files = File.listRoots();
+ public void searchForRuntimes(IPath path, IRuntimeLocator.RuntimeSearchListener listener, IProgressMonitor monitor) {
+ searchForRuntimes2(path, listener, monitor);
+ }
+
+ protected static void searchForRuntimes2(IPath path, IRuntimeLocator.RuntimeSearchListener listener, IProgressMonitor monitor) {
+ File[] files = null;
+ if (path != null) {
+ File f = path.toFile();
+ if (f.exists())
+ files = f.listFiles();
+ else
+ return;
+ } else
+ files = File.listRoots();
+
if (files != null) {
int size = files.length;
int work = 100 / size;
@@ -57,9 +67,9 @@
monitor.worked(100);
}
- protected void searchDir(IRuntimeLocatorListener listener, File dir, int depth, IProgressMonitor monitor) {
+ protected static void searchDir(IRuntimeLocator.RuntimeSearchListener listener, File dir, int depth, IProgressMonitor monitor) {
if ("conf".equals(dir.getName())) {
- IRuntimeWorkingCopy runtime = getRuntimeFromDir(dir.getParentFile());
+ IRuntimeWorkingCopy runtime = getRuntimeFromDir(dir.getParentFile(), monitor);
if (runtime != null) {
listener.runtimeFound(runtime);
return;
@@ -84,18 +94,16 @@
}
}
- protected IRuntimeWorkingCopy getRuntimeFromDir(File dir) {
+ protected static IRuntimeWorkingCopy getRuntimeFromDir(File dir, IProgressMonitor monitor) {
for (int i = 0; i < runtimeTypes.length; i++) {
try {
- IRuntimeType runtimeType = ServerCore.getRuntimeType(runtimeTypes[i]);
- IRuntimeWorkingCopy runtime = runtimeType.createRuntime(dir.getAbsolutePath());
+ IRuntimeType runtimeType = ServerCore.findRuntimeType(runtimeTypes[i]);
+ IRuntimeWorkingCopy runtime = runtimeType.createRuntime(dir.getAbsolutePath(), monitor);
runtime.setName(dir.getName());
runtime.setLocation(new Path(dir.getAbsolutePath()));
- IRuntimeWorkingCopyDelegate delegate = runtime.getWorkingCopyDelegate();
- ITomcatRuntimeWorkingCopy wc = (ITomcatRuntimeWorkingCopy) delegate;
- IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
- wc.setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
- IStatus status = wc.validate();
+ ITomcatRuntimeWorkingCopy wc = (ITomcatRuntimeWorkingCopy) runtime.getAdapter(ITomcatRuntimeWorkingCopy.class);
+ wc.setVMInstall(JavaRuntime.getDefaultVMInstall());
+ IStatus status = runtime.validate(monitor);
if (status == null || status.isOK())
return runtime;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java
index 90b9d93..f384cbd 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeTargetHandler.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,13 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
@@ -21,9 +27,9 @@
/**
*
*/
-public abstract class TomcatRuntimeTargetHandler extends ClasspathRuntimeTargetHandler {
- public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime) {
- ITomcatRuntime tomcatRuntime = (ITomcatRuntime) runtime.getDelegate();
+public class TomcatRuntimeTargetHandler extends ClasspathRuntimeTargetHandler {
+ public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
+ ITomcatRuntime tomcatRuntime = (ITomcatRuntime) runtime.getAdapter(ITomcatRuntime.class);
IVMInstall vmInstall = tomcatRuntime.getVMInstall();
if (vmInstall != null) {
String name = vmInstall.getName();
@@ -31,23 +37,55 @@
}
return null;
}
-
+
public String[] getClasspathEntryIds(IRuntime runtime) {
return new String[1];
}
+ /**
+ * Return a label for the classpath container.
+ *
+ * @return
+ */
public String getClasspathContainerLabel(IRuntime runtime, String id) {
- return getLabel();
+ String id2 = runtime.getId();
+ if (id2.indexOf("32") > 0)
+ return TomcatPlugin.getResource("%target32runtime");
+ else if (id2.indexOf("40") > 0)
+ return TomcatPlugin.getResource("%target40runtime");
+ else if (id2.indexOf("41") > 0)
+ return TomcatPlugin.getResource("%target41runtime");
+ else if (id2.indexOf("50") > 0)
+ return TomcatPlugin.getResource("%target50runtime");
+
+ return TomcatPlugin.getResource("%target55runtime");
}
/* (non-Javadoc)
- * @see org.eclipse.wst.server.target.IServerTargetDelegate#getClasspathEntries()
+ * @see org.eclipse.jst.server
*/
public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) {
return resolveClasspathContainer(runtime);
}
- public abstract String getLabel();
-
- public abstract IClasspathEntry[] resolveClasspathContainer(IRuntime runtime);
-}
+ /**
+ * Resolve the classpath entries.
+ */
+ public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
+ IPath installPath = runtime.getLocation();
+
+ if (installPath == null)
+ return new IClasspathEntry[0];
+
+ List list = new ArrayList();
+ if (runtime.getId().indexOf("32") > 0) {
+ IPath path = installPath.append("lib");
+ addLibraryEntries(list, path.toFile(), true);
+ } else {
+ IPath path = installPath.append("common");
+ addLibraryEntries(list, path.append("lib").toFile(), true);
+ addLibraryEntries(list, path.append("endorsed").toFile(), true);
+ }
+ return resolveList(list);
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeWorkingCopy.java
deleted file mode 100644
index 70616fd..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
-
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-/**
- *
- */
-public class TomcatRuntimeWorkingCopy extends TomcatRuntime implements ITomcatRuntimeWorkingCopy {
- protected IRuntimeWorkingCopy wc;
-
- public void initialize(IRuntimeWorkingCopy runtime2) {
- wc = runtime2;
- }
-
- public void setDefaults() {
- IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
- setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-
- IRuntimeType type = wc.getRuntimeType();
- wc.setLocation(new Path(TomcatPlugin.getPreference("location" + type.getId())));
- }
-
- public void setVMInstall(String typeId, String id) {
- if (typeId == null)
- wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
- else
- wc.setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-
- if (id == null)
- wc.setAttribute(PROP_VM_INSTALL_ID, (String)null);
- else
- wc.setAttribute(PROP_VM_INSTALL_ID, id);
- }
-
- public void handleSave(byte id, IProgressMonitor monitor) { }
-}
\ No newline at end of file
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
index 93b6f45..79514ae 100644
--- 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
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -10,12 +10,12 @@
**********************************************************************/
package org.eclipse.jst.server.tomcat.core.internal;
-import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.*;
import org.eclipse.debug.core.*;
import org.eclipse.debug.core.model.IProcess;
@@ -27,28 +27,24 @@
import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
import org.eclipse.jst.server.tomcat.core.ITomcatRuntime;
import org.eclipse.jst.server.tomcat.core.ITomcatServer;
+import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
import org.eclipse.jst.server.tomcat.core.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.command.RemoveWebModuleTask;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetWebModulePathTask;
import org.eclipse.wst.server.core.*;
import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.resources.IModuleResourceDelta;
-import org.eclipse.wst.server.core.util.SocketUtil;
+import org.eclipse.wst.server.core.util.PingThread;
/**
* Generic Tomcat server.
*/
-public class TomcatServer implements ITomcatServer, IStartableServer, IMonitorableServer {
- private static final String ATTR_STOP = "stop-server";
-
+public class TomcatServer extends ServerDelegate implements ITomcatServer, ITomcatServerWorkingCopy {
protected transient IPath tempDirectory;
-
- protected IServerState server;
// the thread used to ping the server to check for startup
protected transient PingThread ping = null;
protected transient IProcess process;
protected transient IDebugEventSetListener processListener;
+
+ protected transient TomcatConfiguration configuration;
/**
* TomcatServer.
@@ -57,47 +53,79 @@
super();
}
- public void initialize(IServerState server2) {
- this.server = server2;
- }
-
- public void dispose() { }
-
public TomcatRuntime getTomcatRuntime() {
- if (server.getRuntime() == null)
+ if (getServer().getRuntime() == null)
return null;
- return (TomcatRuntime) server.getRuntime().getDelegate();
+ return (TomcatRuntime) getServer().getAdapter(TomcatRuntime.class);
}
-
+
public ITomcatVersionHandler getTomcatVersionHandler() {
- if (server.getRuntime() == null)
+ if (getServer().getRuntime() == null)
return null;
- TomcatRuntime runtime = (TomcatRuntime) server.getRuntime().getDelegate();
- return runtime.getVersionHandler();
+ return getTomcatRuntime().getVersionHandler();
}
-
+
+ public ITomcatConfiguration getServerConfiguration() {
+ return getTomcatConfiguration();
+ }
+
public TomcatConfiguration getTomcatConfiguration() {
- IServerConfiguration configuration = server.getServerConfiguration();
- if (configuration == null)
- return null;
-
- return (TomcatConfiguration) configuration.getDelegate();
+ if (configuration == null) {
+ IFolder folder = getServer().getServerConfiguration();
+ /*IPath path = null;
+ if (getServerWC() != null && getServerWC().getRuntime() != null)
+ path = getServerWC().getRuntime().getLocation().append("conf");
+ else if (getServer() != null && getServer().getRuntime() != null)
+ path = getServer().getRuntime().getLocation().append("conf");
+ else
+ return 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);
+ try {
+ configuration.load(folder, null);
+ } catch (CoreException ce) {
+ // ignore
+ }
+ }
+ return configuration;
}
- /**
- * Returns the project publisher that can be used to
- * publish the given project.
- *
- * @param project org.eclipse.core.resources.IProject
- * @return org.eclipse.wst.server.core.model.IProjectPublisher
- */
- public IPublisher getPublisher(List parents, IModule module) {
- if (isTestEnvironment())
- return null;
+ public void importConfiguration(IRuntime runtime, IProgressMonitor monitor) {
+ IPath path = runtime.getLocation().append("conf");
- return new TomcatWebModulePublisher((IWebModule) module, server.getRuntime().getLocation());
+ String id = getServer().getServerType().getId();
+ if (id.indexOf("32") > 0)
+ configuration = new Tomcat32Configuration(null);
+ else if (id.indexOf("40") > 0)
+ configuration = new Tomcat40Configuration(null);
+ else if (id.indexOf("41") > 0)
+ configuration = new Tomcat41Configuration(null);
+ else if (id.indexOf("50") > 0)
+ configuration = new Tomcat50Configuration(null);
+ else if (id.indexOf("55") > 0)
+ configuration = new Tomcat55Configuration(null);
+ try {
+ configuration.load(path, monitor);
+ } catch (CoreException ce) {
+ // ignore
+ }
+ }
+
+ public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
+ TomcatConfiguration config = getTomcatConfiguration();
+ config.save(getServer().getServerConfiguration(), monitor);
}
/**
@@ -110,22 +138,21 @@
if (module == null || !(module instanceof IWebModule))
return null;
- IServerConfiguration serverConfig = server.getServerConfiguration();
+ IFolder serverConfig = getServer().getServerConfiguration();
if (serverConfig == null)
return null;
- TomcatConfiguration config = (TomcatConfiguration) serverConfig.getDelegate();
+ TomcatConfiguration config = getTomcatConfiguration();
if (config == null)
return null;
String url = "http://localhost";
int port = config.getMainPort().getPort();
- port = ServerCore.getServerMonitorManager().getMonitoredPort(server, port, "web");
+ port = ServerCore.getServerMonitorManager().getMonitoredPort(getServer(), port, "web");
if (port != 80)
url += ":" + port;
- IWebModule module2 = (IWebModule) module;
- url += config.getWebModuleURL(module2);
+ url += config.getWebModuleURL(module);
if (!url.endsWith("/"))
url += "/";
@@ -168,7 +195,7 @@
IPath configPath = null;
if (isTestEnvironment())
configPath = getTempDirectory();
- return getTomcatVersionHandler().getRuntimeVMArguments(server.getRuntime().getLocation(), configPath, isSecure());
+ return getTomcatVersionHandler().getRuntimeVMArguments(getServer().getRuntime().getLocation(), configPath, isSecure());
}
/**
@@ -178,7 +205,7 @@
*/
public IPath getTempDirectory() {
if (tempDirectory == null)
- tempDirectory = server.getTempDirectory();
+ tempDirectory = getServer().getTempDirectory();
return tempDirectory;
}
@@ -189,7 +216,7 @@
* @return boolean
*/
public boolean isDebug() {
- return server.getAttribute(PROPERTY_DEBUG, false);
+ return getAttribute(PROPERTY_DEBUG, false);
}
/**
@@ -198,7 +225,7 @@
* @return boolean
*/
public boolean isTestEnvironment() {
- return server.getAttribute(PROPERTY_TEST_ENVIRONMENT, false);
+ return getAttribute(PROPERTY_TEST_ENVIRONMENT, false);
}
/**
@@ -207,7 +234,7 @@
* @return boolean
*/
public boolean isSecure() {
- return server.getAttribute(PROPERTY_SECURE, false);
+ return getAttribute(PROPERTY_SECURE, false);
}
protected static String renderCommandLine(String[] commandLine, String separator) {
@@ -221,183 +248,6 @@
return buf.toString();
}
- public void setProcess(final IProcess newProcess) {
- if (process != null)
- return;
-
- process = newProcess;
- processListener = new IDebugEventSetListener() {
- public void handleDebugEvents(DebugEvent[] events) {
- if (events != null) {
- int size = events.length;
- for (int i = 0; i < size; i++) {
- if (process.equals(events[i].getSource()) && events[i].getKind() == DebugEvent.TERMINATE) {
- DebugPlugin.getDefault().removeDebugEventListener(this);
- stopImpl();
- }
- }
- }
- }
- };
- DebugPlugin.getDefault().addDebugEventListener(processListener);
- }
-
- protected void stopImpl() {
- if (ping != null) {
- ping.stopPinging();
- ping = null;
- }
- if (process != null) {
- process = null;
- DebugPlugin.getDefault().removeDebugEventListener(processListener);
- processListener = null;
- }
- server.setServerState(IServer.SERVER_STOPPED);
- }
-
- /**
- * Methods called to notify that publishing is about to begin.
- * This allows the server to open a connection to the server
- * or get any global information ready.
- *
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- */
- public IStatus publishStart(IProgressMonitor monitor) {
- return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%publishingStarted"), null);
- }
-
- public IStatus publishConfiguration(IProgressMonitor monitor) {
- IPath confDir = null;
- if (isTestEnvironment()) {
- confDir = getTempDirectory();
- File temp = confDir.append("conf").toFile();
- if (!temp.exists())
- temp.mkdirs();
- } else
- confDir = server.getRuntime().getLocation();
- return getTomcatConfiguration().backupAndPublish(confDir, !isTestEnvironment(), monitor);
- }
-
- /**
- * Methods called to notify that publishing has finished.
- * The server can close any open connections to the server
- * and do any cleanup operations.
- *
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- */
- public IStatus publishStop(IProgressMonitor monitor) {
- server.setConfigurationSyncState(IServer.SYNC_STATE_IN_SYNC);
- return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%publishingStopped"), null);
- }
-
- /**
- * Return true if the server should be terminated before the workbench
- * shutdown and false if not. If the server is not terminated when
- * workbench shutdown, then the server should get reconnected
- * in the server load when the workbench startsup.
- *
- * @return boolean
- **/
- public boolean isTerminateOnShutdown() {
- return true;
- }
-
- /**
- * Setup for starting the server.
- *
- * @param launch ILaunch
- * @param launchMode String
- * @param monitor IProgressMonitor
- */
- public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
- if ("true".equals(launch.getLaunchConfiguration().getAttribute(ATTR_STOP, "false")))
- return;
- IStatus status = getTomcatRuntime().validate();
- if (status != null && !status.isOK())
- throw new CoreException(status);
-
- //setRestartNeeded(false);
- TomcatConfiguration configuration = getTomcatConfiguration();
-
- // check that ports are free
- Iterator iterator = configuration.getServerPorts().iterator();
- while (iterator.hasNext()) {
- IServerPort sp = (IServerPort) iterator.next();
- if (SocketUtil.isPortInUse(sp.getPort(), 5))
- throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPortInUse", new String[] {sp.getPort() + "", sp.getName()}), null));
- }
-
- server.setServerState(IServer.SERVER_STARTING);
-
- // ping server to check for startup
- try {
- String url = "http://localhost";
- int port = configuration.getMainPort().getPort();
- if (port != 80)
- url += ":" + port;
- ping = new PingThread(this, server, url, launchMode);
- ping.start();
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
- }
- }
-
- /**
- * Cleanly shuts down and terminates the server.
- */
- public void stop() {
- byte state = server.getServerState();
- if (state == IServer.SERVER_STOPPED)
- return;
- else if (state == IServer.SERVER_STARTING || state == IServer.SERVER_STOPPING) {
- terminate();
- return;
- }
-
- try {
- Trace.trace(Trace.FINER, "Stopping Tomcat");
- if (state != IServer.SERVER_STOPPED)
- server.setServerState(IServer.SERVER_STOPPING);
-
- ILaunchConfiguration launchConfig = server.getLaunchConfiguration(true);
- ILaunchConfigurationWorkingCopy wc = launchConfig.getWorkingCopy();
-
- String args = renderCommandLine(getRuntimeProgramArguments(false), " ");
- wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args);
- wc.setAttribute(ATTR_STOP, "true");
- wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error stopping Tomcat", e);
- }
- }
-
- /**
- * Terminates the server.
- */
- public void terminate() {
- if (server.getServerState() == IServer.SERVER_STOPPED)
- return;
-
- try {
- server.setServerState(IServer.SERVER_STOPPING);
- Trace.trace(Trace.FINER, "Killing the Tomcat process");
- if (process != null && !process.isTerminated()) {
- process.terminate();
- stopImpl();
- }
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error killing the process", e);
- }
- }
-
- public int getStartTimeout() {
- return 45000;
- }
-
- public int getStopTimeout() {
- return 10000;
- }
-
/**
* Return a string representation of this object.
* @return java.lang.String
@@ -411,21 +261,24 @@
* (i.e. publish any changes to the server, and restart if necessary)
* @param config org.eclipse.wst.server.core.model.IServerConfiguration
*/
- public void updateConfiguration() {
+ /*public void updateConfiguration() {
Trace.trace(Trace.FINEST, "Configuration updated " + this);
//setConfigurationSyncState(SYNC_STATE_DIRTY);
//setRestartNeeded(true);
- }
+ }*/
/**
* Respond to updates within the project tree.
*/
- public void updateModule(final IModule module, IModuleResourceDelta delta) { }
+ //public void updateModule(final IModule module, IModuleResourceDelta delta) { }
public void setLaunchDefaults(ILaunchConfigurationWorkingCopy workingCopy) {
ITomcatRuntime runtime = getTomcatRuntime();
- workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, runtime.getVMInstallTypeId());
- workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, runtime.getVMInstall().getName());
+ IVMInstall vmInstall = runtime.getVMInstall();
+ if (vmInstall != null) {
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmInstall.getVMInstallType().getId());
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmInstall.getName());
+ }
String[] args = getRuntimeProgramArguments(true);
String args2 = renderCommandLine(args, " ");
@@ -438,11 +291,12 @@
List cp = runtime.getRuntimeClasspath();
// add tools.jar to the path
- IVMInstall vmInstall = runtime.getVMInstall();
if (vmInstall != null) {
try {
cp.add(JavaRuntime.newRuntimeContainerClasspathEntry(new Path(JavaRuntime.JRE_CONTAINER).append("org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType").append(vmInstall.getName()), IRuntimeClasspathEntry.BOOTSTRAP_CLASSES));
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
IPath jrePath = new Path(vmInstall.getInstallLocation().getAbsolutePath());
if (jrePath != null) {
@@ -475,8 +329,8 @@
* @param project org.eclipse.core.resources.IProject
* @return java.util.List
*/
- public List getChildModules(IModule project) {
- return new ArrayList(0);
+ public IModule[] getChildModules(IModule project) {
+ return new IModule[0];
}
/**
@@ -494,19 +348,16 @@
* @param project org.eclipse.core.resources.IProject
* @return java.util.List
*/
- public List getParentModules(IModule module) throws CoreException {
- if (module instanceof IWebModule) {
- IWebModule webModule = (IWebModule) module;
+ public IModule[] getParentModules(IModule module) throws CoreException {
+ if (module.getAdapter(IWebModule.class) != null) {
IStatus status = canModifyModules(new IModule[] { module }, null);
if (status == null || !status.isOK())
throw new CoreException(status);
- ArrayList l = new ArrayList();
- l.add(webModule);
- return l;
+ return new IModule[] { module };
}
return null;
}
-
+
/**
* Returns the project references for projects that are in
* this configuration.
@@ -525,14 +376,9 @@
String memento = module.getMemento();
if (memento != null) {
- int index = memento.indexOf(":");
- if (index > 0) {
- String factoryId = memento.substring(0, index);
- String mem = memento.substring(index + 1);
- IModule module2 = ServerUtil.getModule(factoryId, mem);
- if (module2 != null)
- list.add(module2);
- }
+ IModule module2 = ServerUtil.getModule(memento);
+ if (module2 != null)
+ list.add(module2);
}
}
}
@@ -544,7 +390,7 @@
}
public byte getModuleState(IModule module) {
- return IServer.MODULE_STATE_STARTED;
+ return IServer.STATE_STARTED;
}
/**
@@ -571,91 +417,89 @@
return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "%canModifyModules", null);
}
+ public IServerPort[] getServerPorts() {
+ if (getServer().getServerConfiguration() == null)
+ return new IServerPort[0];
+
+ List list = getTomcatConfiguration().getServerPorts();
+ IServerPort[] sp = new IServerPort[list.size()];
+ list.toArray(sp);
+ return sp;
+ }
+
+ public void setDefaults() {
+ setTestEnvironment(true);
+ }
+
/**
- * Method called when changes to the modules or module factories
- * within this configuration occur. Return any necessary commands to repair
- * or modify the server configuration in response to these changes.
- *
- * @param org.eclipse.wst.server.core.model.IModuleFactoryEvent[]
- * @param org.eclipse.wst.server.core.model.IModuleEvent[]
- * @return org.eclipse.wst.server.core.model.ITask[]
+ * Sets this process to debug mode. This feature only works
+ * with Tomcat v4.0.
+ *
+ * @param b boolean
*/
- public ITask[] getRepairCommands(IModuleFactoryEvent[] factoryEvent, IModuleEvent[] moduleEvent) {
- List list = new ArrayList();
- // check for Web modules being removed
- if (factoryEvent != null) {
- List modules = getTomcatConfiguration().getWebModules();
- int size = modules.size();
+ 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);
+ }
+
+ /**
+ * Add the given project to this configuration. The project
+ * has already been verified using isSupportedProject() and
+ * does not already exist in the configuration.
+ *
+ * @param ref java.lang.String
+ */
+ 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++) {
- WebModule module = (WebModule) modules.get(i);
-
- String memento = module.getMemento();
- if (memento != null) {
- boolean found = false;
- int index = memento.indexOf(":");
- String factoryId = memento.substring(0, index);
- String mem = memento.substring(index + 1);
-
- int size2 = factoryEvent.length;
- for (int j = 0; !found && j < size2; j++) {
- IModule[] removed = factoryEvent[j].getRemovedModules();
- if (removed != null) {
- int size3 = removed.length;
- for (int k = 0; !found && k < size3; k++) {
- if (removed[k] != null && removed[k].getFactoryId().equals(factoryId) &&
- removed[k].getId().equals(mem)) {
- list.add(new RemoveWebModuleTask(i));
- found = true;
- }
- }
- }
- }
- }
+ IModule module3 = add[i];
+ IWebModule module = (IWebModule) module3.getAdapter(IWebModule.class);
+ String contextRoot = module.getContextRoot();
+ if (contextRoot != null && !contextRoot.startsWith("/"))
+ contextRoot = "/" + contextRoot;
+ WebModule module2 = new WebModule(contextRoot,
+ module.getLocation().toOSString(), module3.getId(), true);
+ config.addWebModule(-1, module2);
}
}
- // check for changing context roots
- if (moduleEvent != null) {
- int size2 = moduleEvent.length;
+ if (remove != null) {
+ int size2 = remove.length;
for (int j = 0; j < size2; j++) {
- if (moduleEvent[j].getModule() instanceof IWebModule && moduleEvent[j].isChanged()) {
- IWebModule webModule = (IWebModule) moduleEvent[j].getModule();
-
- String contextRoot = webModule.getContextRoot();
- if (contextRoot != null && !contextRoot.startsWith("/"))
- contextRoot = "/" + contextRoot;
-
- List modules = getTomcatConfiguration().getWebModules();
- int size = modules.size();
- boolean found = false;
- for (int i = 0; !found && i < size; i++) {
- WebModule module = (WebModule) modules.get(i);
-
- String memento = module.getMemento();
- if (memento != null) {
- int index = memento.indexOf(":");
- String factoryId = memento.substring(0, index);
- String mem = memento.substring(index + 1);
- if (webModule.getFactoryId().equals(factoryId) && webModule.getId().equals(mem)) {
- if (!module.getPath().equals(contextRoot)) {
- list.add(new SetWebModulePathTask(i, contextRoot));
- found = true;
- }
- }
- }
- }
+ 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);
}
}
}
-
- ITask[] commands = new ITask[list.size()];
- list.toArray(commands);
- return commands;
+ config.save(config.getFolder(), monitor);
}
-
- public List getServerPorts() {
- if (server.getServerConfiguration() == null)
- return new ArrayList();
- return getTomcatConfiguration().getServerPorts();
- }
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
new file mode 100644
index 0000000..88aaec5
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
@@ -0,0 +1,365 @@
+/**********************************************************************
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.*;
+import org.eclipse.debug.core.*;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.jst.server.j2ee.IWebModule;
+import org.eclipse.jst.server.tomcat.core.ITomcatRuntime;
+import org.eclipse.jst.server.tomcat.core.ITomcatServerBehaviour;
+
+import org.eclipse.wst.server.core.*;
+import org.eclipse.wst.server.core.model.*;
+import org.eclipse.wst.server.core.util.FileUtil;
+import org.eclipse.wst.server.core.util.PingThread;
+import org.eclipse.wst.server.core.util.SocketUtil;
+/**
+ * Generic Tomcat server.
+ */
+public class TomcatServerBehaviour extends ServerBehaviourDelegate implements ITomcatServerBehaviour {
+ private static final String ATTR_STOP = "stop-server";
+
+ protected transient IPath tempDirectory;
+
+ // the thread used to ping the server to check for startup
+ protected transient PingThread ping = null;
+ protected transient IProcess process;
+ protected transient IDebugEventSetListener processListener;
+
+ /**
+ * TomcatServer.
+ */
+ public TomcatServerBehaviour() {
+ super();
+ }
+
+ public void initialize() {
+ setMode(ILaunchManager.RUN_MODE);
+ }
+
+ public TomcatRuntime getTomcatRuntime() {
+ if (getServer().getRuntime() == null)
+ return null;
+
+ return (TomcatRuntime) getServer().getRuntime().getAdapter(TomcatRuntime.class);
+ }
+
+ public ITomcatVersionHandler getTomcatVersionHandler() {
+ if (getServer().getRuntime() == null)
+ return null;
+
+ return getTomcatRuntime().getVersionHandler();
+ }
+
+ public TomcatConfiguration getTomcatConfiguration() {
+ return getTomcatServer().getTomcatConfiguration();
+ }
+
+ public TomcatServer getTomcatServer() {
+ return (TomcatServer) getServer().getAdapter(TomcatServer.class);
+ }
+
+ /**
+ * Return the runtime class name.
+ *
+ * @return java.lang.String
+ */
+ public String getRuntimeClass() {
+ return getTomcatVersionHandler().getRuntimeClass();
+ }
+
+ /**
+ * Return the program's runtime arguments to start or stop.
+ *
+ * @param boolean starting
+ * @return java.lang.String
+ */
+ protected String[] getRuntimeProgramArguments(boolean starting) {
+ IPath configPath = null;
+ if (getTomcatServer().isTestEnvironment())
+ configPath = getTempDirectory();
+ return getTomcatVersionHandler().getRuntimeProgramArguments(configPath, getTomcatServer().isDebug(), starting);
+ }
+
+ /**
+ * Return the runtime (VM) arguments.
+ *
+ * @return java.lang.String
+ */
+ protected String[] getRuntimeVMArguments() {
+ IPath configPath = null;
+ if (getTomcatServer().isTestEnvironment())
+ configPath = getTempDirectory();
+ return getTomcatVersionHandler().getRuntimeVMArguments(getServer().getRuntime().getLocation(), configPath, getTomcatServer().isSecure());
+ }
+
+ /**
+ * Obtain a temporary directory if this server doesn't
+ * already have one. Otherwise, return the existing one.
+ * @return java.io.File
+ */
+ public IPath getTempDirectory() {
+ if (tempDirectory == null)
+ tempDirectory = getServer().getTempDirectory();
+ return tempDirectory;
+ }
+
+ 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();
+ }
+
+ public void setProcess(final IProcess newProcess) {
+ if (process != null)
+ return;
+
+ process = newProcess;
+ processListener = new IDebugEventSetListener() {
+ public void handleDebugEvents(DebugEvent[] events) {
+ if (events != null) {
+ int size = events.length;
+ for (int i = 0; i < size; i++) {
+ if (process.equals(events[i].getSource()) && events[i].getKind() == DebugEvent.TERMINATE) {
+ DebugPlugin.getDefault().removeDebugEventListener(this);
+ stopImpl();
+ }
+ }
+ }
+ }
+ };
+ DebugPlugin.getDefault().addDebugEventListener(processListener);
+ }
+
+ protected void stopImpl() {
+ if (ping != null) {
+ ping.stopPinging();
+ ping = null;
+ }
+ if (process != null) {
+ process = null;
+ DebugPlugin.getDefault().removeDebugEventListener(processListener);
+ processListener = null;
+ }
+ setServerState(IServer.STATE_STOPPED);
+ }
+
+ public void publishServer(IProgressMonitor monitor) throws CoreException {
+ IPath confDir = null;
+ if (getTomcatServer().isTestEnvironment()) {
+ confDir = getTempDirectory();
+ File temp = confDir.append("conf").toFile();
+ if (!temp.exists())
+ temp.mkdirs();
+ } else
+ confDir = getServer().getRuntime().getLocation();
+ IStatus status = getTomcatConfiguration().backupAndPublish(confDir, !getTomcatServer().isTestEnvironment(), monitor);
+ if (status != null && !status.isOK())
+ throw new CoreException(status);
+
+ setServerPublishState(IServer.PUBLISH_STATE_NONE);
+ }
+
+ /**
+ * Returns the project publisher that can be used to
+ * publish the given project.
+ */
+ public void publishModule(IModule[] parents, IModule module, IProgressMonitor monitor) {
+ if (getTomcatServer().isTestEnvironment())
+ return;
+
+ IWebModule webModule = (IWebModule) module;
+ IPath from = webModule.getLocation();
+ IPath to = getServer().getRuntime().getLocation().append("webapps").append(webModule.getContextRoot());
+ FileUtil.smartCopyDirectory(from.toOSString(), to.toOSString(), monitor);
+
+ setModulePublishState(module, IServer.PUBLISH_STATE_NONE);
+ }
+
+ /**
+ * Setup for starting the server.
+ *
+ * @param launch ILaunch
+ * @param launchMode String
+ * @param monitor IProgressMonitor
+ */
+ public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
+ if ("true".equals(launch.getLaunchConfiguration().getAttribute(ATTR_STOP, "false")))
+ return;
+ IStatus status = getTomcatRuntime().validate();
+ if (status != null && !status.isOK())
+ throw new CoreException(status);
+
+ //setRestartNeeded(false);
+ TomcatConfiguration configuration = getTomcatConfiguration();
+
+ // check that ports are free
+ Iterator iterator = configuration.getServerPorts().iterator();
+ while (iterator.hasNext()) {
+ IServerPort sp = (IServerPort) iterator.next();
+ if (SocketUtil.isPortInUse(sp.getPort(), 5))
+ throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%errorPortInUse", new String[] {sp.getPort() + "", sp.getName()}), null));
+ }
+
+ setServerState(IServer.STATE_STARTING);
+
+ // ping server to check for startup
+ try {
+ String url = "http://localhost";
+ int port = configuration.getMainPort().getPort();
+ if (port != 80)
+ url += ":" + port;
+ ping = new PingThread(getServer(), this, url, 50);
+ } catch (Exception e) {
+ Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
+ }
+ }
+
+ /**
+ * Cleanly shuts down and terminates the server.
+ */
+ public void stop(boolean force) {
+ if (force) {
+ terminate();
+ return;
+ }
+ int state = getServer().getServerState();
+ if (state == IServer.STATE_STOPPED)
+ return;
+ else if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
+ terminate();
+ return;
+ }
+
+ try {
+ Trace.trace(Trace.FINER, "Stopping Tomcat");
+ if (state != IServer.STATE_STOPPED)
+ setServerState(IServer.STATE_STOPPING);
+
+ ILaunchConfiguration launchConfig = getServer().getLaunchConfiguration(true, null);
+ ILaunchConfigurationWorkingCopy wc = launchConfig.getWorkingCopy();
+
+ String args = renderCommandLine(getRuntimeProgramArguments(false), " ");
+ wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args);
+ wc.setAttribute(ATTR_STOP, "true");
+ wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
+ } catch (Exception e) {
+ Trace.trace(Trace.SEVERE, "Error stopping Tomcat", e);
+ }
+ }
+
+ /**
+ * Terminates the server.
+ */
+ protected void terminate() {
+ if (getServer().getServerState() == IServer.STATE_STOPPED)
+ return;
+
+ try {
+ setServerState(IServer.STATE_STOPPING);
+ Trace.trace(Trace.FINER, "Killing the Tomcat process");
+ if (process != null && !process.isTerminated()) {
+ process.terminate();
+ stopImpl();
+ }
+ } catch (Exception e) {
+ Trace.trace(Trace.SEVERE, "Error killing the process", e);
+ }
+ }
+
+ /**
+ * Return a string representation of this object.
+ * @return java.lang.String
+ */
+ public String toString() {
+ return "TomcatServer";
+ }
+
+ /**
+ * Update the given configuration in the server.
+ * (i.e. publish any changes to the server, and restart if necessary)
+ * @param config org.eclipse.wst.server.core.model.IServerConfiguration
+ */
+ /*public void updateConfiguration() {
+ Trace.trace(Trace.FINEST, "Configuration updated " + this);
+ //setConfigurationSyncState(SYNC_STATE_DIRTY);
+ //setRestartNeeded(true);
+ }*/
+
+ /**
+ * Respond to updates within the project tree.
+ */
+ //public void updateModule(final IModule module, IModuleResourceDelta delta) { }
+
+ public void setLaunchDefaults(ILaunchConfigurationWorkingCopy workingCopy) {
+ ITomcatRuntime runtime = getTomcatRuntime();
+ IVMInstall vmInstall = runtime.getVMInstall();
+ if (vmInstall != null) {
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmInstall.getVMInstallType().getId());
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmInstall.getName());
+ }
+
+ String[] args = getRuntimeProgramArguments(true);
+ String args2 = renderCommandLine(args, " ");
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args2);
+
+ args = getRuntimeVMArguments();
+ args2 = renderCommandLine(args, " ");
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, args2);
+
+ List cp = runtime.getRuntimeClasspath();
+
+ // add tools.jar to the path
+ if (vmInstall != null) {
+ try {
+ cp.add(JavaRuntime.newRuntimeContainerClasspathEntry(new Path(JavaRuntime.JRE_CONTAINER).append("org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType").append(vmInstall.getName()), IRuntimeClasspathEntry.BOOTSTRAP_CLASSES));
+ } catch (Exception e) {
+ // ignore
+ }
+
+ IPath jrePath = new Path(vmInstall.getInstallLocation().getAbsolutePath());
+ if (jrePath != null) {
+ IPath toolsPath = jrePath.append("lib").append("tools.jar");
+ if (toolsPath.toFile().exists()) {
+ cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath));
+ }
+ }
+ }
+
+ Iterator cpi = cp.iterator();
+ List list = new ArrayList();
+ while (cpi.hasNext()) {
+ IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) cpi.next();
+ try {
+ list.add(entry.getMemento());
+ } catch (Exception e) {
+ Trace.trace(Trace.SEVERE, "Could not resolve classpath entry: " + entry, e);
+ }
+ }
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, list);
+ workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
+ }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java
index 6f2388f..da7571d 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,36 +8,30 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.model.IRuntimeLocatorListener;
-import org.eclipse.wst.server.core.model.IServerLocatorDelegate;
-import org.eclipse.wst.server.core.model.IServerLocatorListener;
+import org.eclipse.wst.server.core.model.ServerLocatorDelegate;
/**
*
*/
-public class TomcatServerLocator extends TomcatRuntimeLocator implements IServerLocatorDelegate {
- /*protected static final String[] serverTypes = new String[] {
- "org.eclipse.jst.server.tomcat.32",
- "org.eclipse.jst.server.tomcat.40",
- "org.eclipse.jst.server.tomcat.41",
- "org.eclipse.jst.server.tomcat.50"};*/
-
- public void searchForServers(final IServerLocatorListener listener, IProgressMonitor monitor) {
- IRuntimeLocatorListener listener2 = new IRuntimeLocatorListener() {
- public void runtimeFound(IRuntime runtime) {
+public class TomcatServerLocator extends ServerLocatorDelegate {
+ public void searchForServers(String host, final IServerLocator.Listener listener, final IProgressMonitor monitor) {
+ IRuntimeLocator.RuntimeSearchListener listener2 = new IRuntimeLocator.RuntimeSearchListener() {
+ public void runtimeFound(IRuntimeWorkingCopy runtime) {
String runtimeTypeId = runtime.getRuntimeType().getId();
String serverTypeId = runtimeTypeId.substring(0, runtimeTypeId.length() - 8);
- IServerType serverType = ServerCore.getServerType(serverTypeId);
+ IServerType serverType = ServerCore.findServerType(serverTypeId);
try {
- IServer server = serverType.createServer(serverTypeId, null, runtime);
+ IServerWorkingCopy server = serverType.createServer(serverTypeId, null, runtime, monitor);
listener.serverFound(server);
} catch (Exception e) {
Trace.trace(Trace.WARNING, "Could not create Tomcat server", e);
}
}
};
- searchForRuntimes(listener2, monitor);
+ TomcatRuntimeLocator.searchForRuntimes2(null, listener2, monitor);
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java
index 5e0f98b..787ca39 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerWorkingCopy.java
deleted file mode 100644
index 6a2f595..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerWorkingCopy.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.WebModule;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.model.IModule;
-/**
- *
- */
-public class TomcatServerWorkingCopy extends TomcatServer implements ITomcatServerWorkingCopy {
- protected IServerWorkingCopy workingCopy;
-
- public TomcatServerWorkingCopy() {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.server.core.model.IServerWorkingCopyDelegate#initializeWorkingCopy(org.eclipse.wst.server.core.IServerWorkingCopy)
- */
- public void initialize(IServerWorkingCopy workingCopy2) {
- this.workingCopy = workingCopy2;
- }
-
- public void setDefaults() {
- setTestEnvironment(true);
- }
-
- /**
- * Sets this process to debug mode. This feature only works
- * with Tomcat v4.0.
- *
- * @param b boolean
- */
- public void setDebug(boolean b) {
- workingCopy.setAttribute(PROPERTY_DEBUG, b);
- }
-
- /**
- * Sets this process to secure mode.
- * @param b boolean
- */
- public void setSecure(boolean b) {
- workingCopy.setAttribute(PROPERTY_SECURE, b);
- }
-
- /**
- * Sets this server to test environment mode.
- *
- * @param b boolean
- */
- public void setTestEnvironment(boolean b) {
- workingCopy.setAttribute(PROPERTY_TEST_ENVIRONMENT, b);
- }
-
- /**
- * Add the given project to this configuration. The project
- * has already been verified using isSupportedProject() and
- * does not already exist in the configuration.
- *
- * @param ref java.lang.String
- */
- 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);
-
- IServerConfigurationWorkingCopy scwc = server.getServerConfiguration().getWorkingCopy();
- // TODO
- ITomcatConfigurationWorkingCopy wc = (ITomcatConfigurationWorkingCopy) scwc.getWorkingCopyDelegate();
- boolean change = false;
-
- if (add != null) {
- int size = add.length;
- for (int i = 0; i < size; i++) {
- IModule module3 = add[i];
- IWebModule module = (IWebModule) module3;
- String contextRoot = module.getContextRoot();
- if (contextRoot != null && !contextRoot.startsWith("/"))
- contextRoot = "/" + contextRoot;
- WebModule module2 = new WebModule(contextRoot,
- module.getLocation().toOSString(), module.getFactoryId() + ":" + module.getId(), true);
- wc.addWebModule(-1, module2);
- change = true;
- }
- }
-
- if (remove != null) {
- int size2 = remove.length;
- for (int j = 0; j < size2; j++) {
- IModule module3 = remove[j];
- String memento = module3.getFactoryId() + ":" + 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())) {
- wc.removeWebModule(i);
- change = true;
- }
- }
- }
- }
- if (!change)
- scwc.release();
- else
- scwc.save(new NullProgressMonitor());
- server.setConfigurationSyncState(IServer.SYNC_STATE_DIRTY);
- }
-
- public void handleSave(byte id, IProgressMonitor monitor) { }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
index a299b6e..0f4ff3c 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
@@ -1,6 +1,6 @@
/**********************************************************************
* Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -24,10 +24,9 @@
import org.eclipse.jdt.internal.launching.JavaSourceLookupUtil;
import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IProjectModule;
/**
*
*/
@@ -40,21 +39,22 @@
String serverId = configuration.getAttribute(IServer.ATTR_SERVER_ID, (String) null);
- IServer server = ServerCore.getResourceManager().getServer(serverId);
+ IServer server = ServerCore.findServer(serverId);
if (server != null) {
List list = new ArrayList();
List pathList = new ArrayList();
- IModule[] modules = server.getModules();
+ IModule[] modules = server.getModules(monitor);
for (int i = 0; i < modules.length; i++) {
- if (modules[i] instanceof IProjectModule) {
- IProjectModule dp = (IProjectModule) modules[i];
- IProject project = dp.getProject();
+ IProject project = modules[i].getProject();
+ if (project != null) {
try {
if (project.hasNature(JavaCore.NATURE_ID)) {
IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
list.add(javaProject);
}
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
IPath path = server.getRuntime().getLocation().append("work").append("Catalina").append("localhost").append(modules[i].getName());
pathList.add(path);
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatWebModulePublisher.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatWebModulePublisher.java
deleted file mode 100644
index 705f24f..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatWebModulePublisher.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package org.eclipse.jst.server.tomcat.core.internal;
-/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-import java.io.File;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.j2ee.IWebModule;
-
-import org.eclipse.wst.server.core.model.IPublisher;
-import org.eclipse.wst.server.core.resources.IModuleFile;
-import org.eclipse.wst.server.core.resources.IModuleFolder;
-import org.eclipse.wst.server.core.resources.IModuleResource;
-import org.eclipse.wst.server.core.resources.IRemoteResource;
-import org.eclipse.wst.server.core.resources.RemoteFolder;
-import org.eclipse.wst.server.core.resources.RemoteResource;
-import org.eclipse.wst.server.core.util.FileUtil;
-import org.eclipse.wst.server.core.util.ProgressUtil;
-/**
- * The Tomcat publisher for local (out of the workbench) resources.
- */
-public class TomcatWebModulePublisher implements IPublisher {
- protected IWebModule module;
- protected IPath installDir;
-
- protected static final Status publishStatus = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Published successfully", null);
- protected static final Status deleteStatus = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Deleted successfully", null);
-
- /**
- * TomcatWebModulePublisher constructor comment.
- */
- public TomcatWebModulePublisher(IWebModule module, IPath installDir) {
- super();
- this.module = module;
- this.installDir = installDir;
- }
-
- /**
- * Delete the following files from the remote machine.
- *
- * @param file java.lang.String[]
- * @return org.eclipse.core.runtime.IStatus[]
- */
- public IStatus[] delete(IRemoteResource[] resource, IProgressMonitor monitor) {
- if (resource == null)
- return null;
-
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(TomcatPlugin.getResource("%publishTask"), resource.length);
-
- IPath root = getRemoteRoot().append(module.getContextRoot());
-
- int size = resource.length;
- IStatus[] status = new Status[size];
- for (int i = 0; i < size; i++) {
- if (monitor.isCanceled())
- return status;
-
- IPath path = resource[i].getPath();
- IPath realPath = root.append(path);
- File file = new File(realPath.toOSString());
-
- monitor.subTask(TomcatPlugin.getResource("%publisherDeleteTask", new String[] {path.toString()}));
- Trace.trace("Deleting " + realPath);
- boolean b = file.delete();
- if (b)
- status[i] = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Delete " + realPath.toOSString() + " successfully", null);
- else
- status[i] = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, "Could not delete " + realPath.toOSString(), null);
-
- monitor.worked(1);
- }
- monitor.done();
- return status;
- }
-
- /**
- * Returns the mapping of this file on the remote
- * system. Return null if this file should not be
- * copied to the remote server.
- *
- * @param resource org.eclipse.core.resources.IResource
- * @return org.eclipse.core.resources.IPath
- */
- public IPath getMappedLocation(IModuleResource resource) {
- return resource.getPath();
- }
-
- /**
- * Recursively builds a directory tree of the remote resources.
- *
- * @param path org.eclipse.core.runtime.IPath
- * @return java.util.List
- */
- protected IRemoteResource[] getRemoteResources(RemoteFolder parent, File dir) {
- List list = new ArrayList();
-
- if (!dir.exists())
- return null;
-
- if (!dir.isDirectory())
- return null;
-
- File[] files = dir.listFiles();
- if (files == null)
- return null;
-
- int size = files.length;
- for (int i = 0; i < size; i++) {
- File file = files[i];
- if (file.isDirectory()) {
- RemoteFolder folder = new RemoteFolder(parent, file.getName(), file.lastModified());
- if (parent != null)
- parent.addChild(folder);
- getRemoteResources(folder, file);
- list.add(folder);
- } else {
- IRemoteResource remote = new RemoteResource(parent, file.getName(), file.lastModified());
- if (parent != null)
- parent.addChild(remote);
- list.add(remote);
- }
- }
-
- IRemoteResource[] resources = new IRemoteResource[list.size()];
- list.toArray(resources);
- return resources;
- }
-
- /**
- * Returns a list of the remote resources at the root level.
- * These may be folders or resources. This method should not
- * return cached data.
- *
- * @return java.util.List
- */
- public IRemoteResource[] getRemoteResources(IProgressMonitor monitor) {
- File rootFile = getRemoteRoot().append(module.getContextRoot()).toFile();
- if (rootFile.exists()) {
- return getRemoteResources(null, rootFile);
- }
- return new IRemoteResource[0];
- }
-
- /**
- * Returns the root of the remote publishing location.
- *
- * @return org.eclipse.core.runtime.IPath
- */
- protected IPath getRemoteRoot() {
- return installDir.append("webapps");
- }
-
- /**
- * Returns true if there may be any files or folders within
- * this container that should be mapped to the remote system.
- * Returns false if files within this folder are never copied
- * to the remote system.
- *
- * @param container org.eclipse.core.resources.IContainer
- * @return boolean
- */
- public boolean shouldMapMembers(IModuleFolder folder) {
- return true;
- }
-
- /**
- * Publish the given files to the given location on the
- * remote machine.
- *
- * @param file java.lang.String[]
- * @return org.eclipse.core.runtime.IStatus[]
- */
- public IStatus[] publish(IModuleResource[] resource, IProgressMonitor monitor) {
- if (resource == null)
- return null;
-
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(TomcatPlugin.getResource("%publishTask"), resource.length);
-
- IPath root = getRemoteRoot().append(module.getContextRoot());
-
- // create context root directory if necessary
- File temp = root.toFile();
- if (!temp.exists())
- temp.mkdirs();
-
- int size = resource.length;
- IStatus[] status = new Status[size];
- for (int i = 0; i < size; i++) {
- if (monitor.isCanceled())
- return status;
-
- //IPath fromPath = resource[i].getLocation();
- IPath toPath = getMappedLocation(resource[i]);
- IPath realToPath = root.append(toPath);
-
- // copy file
- monitor.subTask(TomcatPlugin.getResource("%publisherPublishTask", new String[] {toPath.toString()}));
- Trace.trace("Publishing " + resource[i] + " -> " + realToPath);
- if (resource[i] instanceof IModuleFolder) {
- File f = new File(realToPath.toOSString());
- if (f.exists() && f.isDirectory()) {
- status[i] = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Directory " + realToPath.toOSString() + " already exists", null);
- } else {
- boolean b = f.mkdir();
-
- if (b)
- status[i] = new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, "Created " + realToPath.toOSString() + " successfully", null);
- else
- status[i] = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, "Could not create directory " + realToPath.toOSString(), null);
- }
- } else if (resource[i] instanceof IModuleFile) {
- IModuleFile file = (IModuleFile) resource[i];
- InputStream in = null;
- try {
- in = file.getContents();
- status[i] = FileUtil.copyFile(in, realToPath.toOSString());
- } catch (Exception e) {
- // FIX-ME
- } finally {
- if (in != null)
- try {
- in.close();
- } catch (Exception e) { }
- }
- }
- monitor.worked(1);
- }
-
- monitor.done();
- return status;
- }
-
- /**
- * Delete the entire module from the remote location.
- *
- * @param monitor org.eclipse.core.runtime.IProgressMonitor
- * @return org.eclipse.core.runtime.IStatus
- */
- public IStatus deleteAll(IProgressMonitor monitor) {
- IPath path = getRemoteRoot().append(module.getContextRoot());
-
- FileUtil.deleteDirectory(path.toFile(), monitor);
- return new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, TomcatPlugin.getResource("%projectCleanupSuccess", module.getContextRoot()), null);
- }
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java
index 338cbf5..3f2d51a 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
/**
* Helper class to route trace output.
*/
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java
index 4b59012..8f51978 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal;
+
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.IOException;
@@ -27,8 +28,6 @@
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
-
-import org.eclipse.wst.server.core.util.ProgressUtil;
/**
* Helper class to access a web.xml file.
*/
@@ -122,16 +121,6 @@
element.removeChild(node);
isWebAppDirty = true;
}
-
- /**
- * Saves the Web app document.
- *
- * @param filename java.lang.String
- */
- /*public void save(String dirPath, boolean forceDirty) throws IOException {
- if (forceDirty || isWebAppDirty)
- XMLUtil.save(dirPath + "web.xml", webAppDocument);
- }*/
/**
* Saves the Web app document.
@@ -158,11 +147,13 @@
else
file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200));
} catch (Exception e) {
+ // ignore
} finally {
try {
in.close();
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
}
-
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java
index 857b4ab..cabf6e6 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.*;
import org.eclipse.jst.server.tomcat.core.internal.*;
/**
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java
index 8ba4c8f..a070d93 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.*;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
/**
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java
index 517c134..fb1854e 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.wst.server.core.util.Task;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java
index 549494d..e255537 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java
index 4915720..6664d07 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,11 +8,13 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import java.util.Iterator;
import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-import org.eclipse.wst.server.core.model.IServerPort;
+import org.eclipse.wst.server.core.IServerPort;
/**
* Command to change the configuration port.
*/
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java
index 4f470f7..d06341d 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java
index 49ac07b..3e561ec 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java
index fca5d86..19156e7 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleTask.java
index 4f70202..ae93c8d 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleTask.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleTask.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,15 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.WebModule;
+import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
+import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.core.ITaskModel;
import org.eclipse.wst.server.core.util.Task;
/**
@@ -40,8 +40,9 @@
* @return boolean
*/
public void execute(IProgressMonitor monitor) throws CoreException {
- IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
- ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
+ IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
+ TomcatServer server = (TomcatServer) wc.getAdapter(TomcatServer.class);
+ TomcatConfiguration configuration = server.getTomcatConfiguration();
module = (WebModule) configuration.getWebModules().get(index);
configuration.removeWebModule(index);
}
@@ -52,8 +53,9 @@
*/
public String getDescription() {
if (module == null) {
- IServerConfiguration config = (IServerConfiguration) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
- ITomcatConfiguration configuration = (ITomcatConfiguration) config.getDelegate();
+ IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
+ TomcatServer server = (TomcatServer) wc.getAdapter(TomcatServer.class);
+ TomcatConfiguration configuration = server.getTomcatConfiguration();
module = (WebModule) configuration.getWebModules().get(index);
}
return TomcatPlugin.getResource("%configurationEditorActionRemoveWebModuleDescription", module.getPath());
@@ -72,9 +74,12 @@
*/
public void undo() {
try {
- IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
- ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
+ IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
+ TomcatServer server = (TomcatServer) wc.getAdapter(TomcatServer.class);
+ TomcatConfiguration configuration = server.getTomcatConfiguration();
configuration.addWebModule(index, module);
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java
index 38eed7b..8bf10e6 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
import org.eclipse.wst.server.core.util.Task;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java
index 944bb0e..35dabc2 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
/**
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java
index 2e381bf..2386ed4 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
/**
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java
index 365effb..faae3a0 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
/**
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java
index ab778f7..b056932 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathTask.java
index 332112d..0ac8c1b 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathTask.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathTask.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.command;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,15 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.command;
+
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.WebModule;
+import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
+import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.core.IServerConfigurationWorkingCopy;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.core.ITaskModel;
import org.eclipse.wst.server.core.util.Task;
/**
@@ -36,14 +36,15 @@
this.index = index;
this.path = contextRoot;
}
-
+
/**
* Execute the command.
* @return boolean
*/
public void execute(IProgressMonitor monitor) throws CoreException {
- IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
- ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
+ IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
+ TomcatServer server = (TomcatServer) wc.getAdapter(TomcatServer.class);
+ TomcatConfiguration configuration = server.getTomcatConfiguration();
oldModule = (WebModule) configuration.getWebModules().get(index);
configuration.removeWebModule(index);
@@ -57,8 +58,9 @@
*/
public String getDescription() {
if (oldModule == null) {
- IServerConfiguration config = (IServerConfiguration) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
- ITomcatConfiguration configuration = (ITomcatConfiguration) config.getDelegate();
+ IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
+ TomcatServer server = (TomcatServer) wc.getAdapter(TomcatServer.class);
+ TomcatConfiguration configuration = server.getTomcatConfiguration();
oldModule = (WebModule) configuration.getWebModules().get(index);
}
@@ -78,10 +80,13 @@
*/
public void undo() {
try {
- IServerConfigurationWorkingCopy wc = (IServerConfigurationWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER_CONFIGURATION);
- ITomcatConfigurationWorkingCopy configuration = (ITomcatConfigurationWorkingCopy) wc.getWorkingCopyDelegate();
+ IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_SERVER);
+ TomcatServer server = (TomcatServer) wc.getAdapter(TomcatServer.class);
+ TomcatConfiguration configuration = server.getTomcatConfiguration();
configuration.removeWebModule(index);
configuration.addWebModule(index, oldModule);
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java
index 9c82af9..b3be98d 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml;
+
import java.io.*;
import org.w3c.dom.*;
@@ -18,15 +19,13 @@
/**
* Factory for reading and writing from XML files.
*/
-public class Factory implements Serializable {
-
-
- private static final long serialVersionUID = 1L;
-
+public class Factory {
protected String packageName;
protected Document document;
- public Factory() { }
+ public Factory() {
+ // do nothing
+ }
protected Attr createAttribute(String s, Element element) {
Attr attr = document.createAttribute(s);
@@ -106,11 +105,13 @@
s = packageName + "." + s;
Class class1 = Class.forName(s);
- XMLElement ibmxmlelement = (XMLElement) class1.newInstance();
- ibmxmlelement.setElement(element);
- ibmxmlelement.setFactory(this);
- return ibmxmlelement;
- } catch (Exception exception) { }
+ XMLElement xmlElement = (XMLElement) class1.newInstance();
+ xmlElement.setElement(element);
+ xmlElement.setFactory(this);
+ return xmlElement;
+ } catch (Exception exception) {
+ // ignore
+ }
return null;
}
@@ -125,4 +126,4 @@
public void setPackageName(String s) {
packageName = s;
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java
index 2e9ee79..76b4821 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,18 +8,19 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import java.io.Serializable;
+package org.eclipse.jst.server.tomcat.core.internal.xml;
+
import org.w3c.dom.*;
/**
* An XML element.
*/
-public class XMLElement implements Serializable {
-
- private static final long serialVersionUID = 1L;
+public class XMLElement {
private Element xmlElement;
protected Factory factory;
- public XMLElement() { }
+ public XMLElement() {
+ // do nothing
+ }
public Attr addAttribute(String s, String s1) {
Attr attr = factory.createAttribute(s, xmlElement);
@@ -36,9 +36,6 @@
return factory.createElement(s, xmlElement);
}
- public void createEmptyBody() {
- }
-
public XMLElement findElement(String s) {
NodeList nodelist = xmlElement.getElementsByTagName(s);
int i = nodelist == null ? 0 : nodelist.getLength();
@@ -208,4 +205,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java
index 421b297..d1b41a1 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml;
+
import java.io.*;
import java.util.*;
@@ -112,7 +113,9 @@
if (out != null)
try {
out.close();
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
}
}
@@ -331,7 +334,9 @@
if (out != null)
try {
out.close();
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
}
}
@@ -367,11 +372,14 @@
print(out, document);
return new String(baos.toByteArray());
} catch (Exception ex) {
+ // ignore
} finally {
if (out != null)
try {
out.close();
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
}
return null;
}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java
index e014b9d..43d980b 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Connector extends XMLElement {
- public Connector() { }
+ public Connector() {
+ // do nothing
+ }
public String getClassName() {
return getAttributeValue("className");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java
index 7157981..a371fa6 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Context extends XMLElement {
- public Context() { }
+ public Context() {
+ // do nothing
+ }
public String getCrossContext() {
return getAttributeValue("crossContext");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java
index 0913c3a..7a910a6 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class ContextManager extends XMLElement {
- public ContextManager() { }
+ public ContextManager() {
+ // do nothing
+ }
public Connector getConnector(int index) {
return (Connector) findElement("Connector", index);
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java
index ca73ec8..56ca74d 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Parameter extends XMLElement {
- public Parameter() { }
+ public Parameter() {
+ // do nothing
+ }
public String getName() {
return getAttributeValue("name");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java
index 2011fa4..1c173ca 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server32;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Server extends XMLElement {
- public Server() { }
+ public Server() {
+ // do nothing
+ }
public ContextManager getContextManager() {
return (ContextManager) findElement("ContextManager");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java
index f89e0f5..8ba1949 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Connector extends XMLElement {
- public Connector() { }
+ public Connector() {
+ // do nothing
+ }
public String getAcceptCount() {
return getAttributeValue("acceptCount");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java
index ffbb584..95abb58 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java
@@ -1,6 +1,5 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Context extends XMLElement {
- public Context() { }
+ public Context() {
+ // do nothing
+ }
public String getDebug() {
return getAttributeValue("debug");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java
index ed7acd6..bd3903d 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Engine extends XMLElement {
- public Engine() { }
+ public Engine() {
+ // do nothing
+ }
public String getAppBase() {
return getAttributeValue("appBase");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java
index b3996df..b993d33 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Host extends XMLElement {
- public Host() { }
+ public Host() {
+ // do nothing
+ }
public String getAppBase() {
return getAttributeValue("appBase");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java
index a8f9061..c2fa008 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Listener extends XMLElement {
- public Listener() { }
+ public Listener() {
+ // do nothing
+ }
public String getClassName() {
return getAttributeValue("className");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java
index cc73793..2573f16 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Server extends XMLElement {
- public Server() { }
+ public Server() {
+ // do nothing
+ }
public String getDebug() {
return getAttributeValue("debug");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java
index 99499ed..728b949 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,12 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.core.internal.xml.server40;
+
import org.eclipse.jst.server.tomcat.core.internal.xml.*;
/**
*
*/
public class Service extends XMLElement {
- public Service() { }
+ public Service() {
+ // do nothing
+ }
public Connector getConnector(int index) {
return (Connector) findElement("Connector", index);
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties b/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties
index 9434b15..ebbd84c 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties
@@ -1,4 +1,5 @@
verify32install=lib/jasper.jar,lib/servlet.jar,bin,conf,webapps
verify40install=bin/bootstrap.jar,conf,webapps
verify41install=bin/bootstrap.jar,conf,webapps
-verify50install=bin/bootstrap.jar,conf,webapps
\ No newline at end of file
+verify50install=bin/bootstrap.jar,conf,webapps
+verify55install=bin/bootstrap.jar,conf,webapps
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_55.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_55.gif
new file mode 100644
index 0000000..0cac53e
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/server_55.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
index 90269da..01fa562 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
@@ -13,27 +13,18 @@
# --------------- Editors ---------------
-editorName=Tomcat Server Editor
-
# General text used in both editors
editorRemove=Remove
editorAdd=Add...
editorEdit=Edit...
-editorBrowse=Browse...
# --- Configuration Editor ---
configurationEditorWebModulesPage=Modules
configurationEditorWebModulesPageTitle=Web Modules
configurationEditorWebModulesSection=Web Modules
configurationEditorWebModulesDescription=Configure the Web Modules on this server.
-configurationEditorMimeMappingsPage=Mappings
-configurationEditorMimeMappingsPageTitle=MIME Mappings
configurationEditorMimeMappingsSection=MIME Mappings
configurationEditorMimeMappingsDescription=Configure MIME type mappings.
-configurationEditorPortsPage=Configuration
-configurationEditorPortsPageTitle=Tomcat Server Configuration
-configurationEditorNameSection=Server Configuration
-configurationEditorNameDescription=Enter settings for the server configuration.
configurationEditorPortsSection=Ports
configurationEditorPortsDescription=Modify the server ports.
@@ -68,8 +59,6 @@
# --- Server Editor ---
-serverEditorGeneralPage=Server
-serverEditorGeneralPageTitle=Tomcat Server
serverEditorGeneralSection=Server
serverEditorGeneralDescription=Enter settings for the server.
@@ -78,14 +67,6 @@
serverEditorDebugMode=Enable Tomcat debug mode (v4.x and above only)
serverEditorTestEnvironment=Run modules directly from the workspace (do not modify the Tomcat installation)
-# Actions (used in undo/redo menus)
-serverEditorActionSetSecure=set security
-serverEditorActionSetSecureDescription=Set the Tomcat security
-serverEditorActionSetDebugMode=set Tomcat debug mode
-serverEditorActionSetDebugModeDescription=Set Tomcat in debug mode
-serverEditorActionSetTestEnvironment=run modules from workspace
-serverEditorActionSetTestEnvironmentDescription=Run modules from the workspace
-
# --------------- General UI ---------------
@@ -99,12 +80,3 @@
# New Tomcat server wizard
wizardTitle=Tomcat Server
wizardDescription=Specify the installation directory
-
-
-# --------------- Errors and Info ---------------
-errorTitle=Tomcat Error
-errorInstallDir=The Tomcat installation directory is not correct. Edit the server and change the installation directory.
-errorJRE=The JRE could not be found. Edit the server and change the JRE location.
-errorDefaultInstallDir=Cannot create a Tomcat server because the installation directory is not known. Enter the installation directory in the Tomcat preferences.
-errorCancelled=Cancelled
-errorNameContainsWhitespace=Name should not begin or end with whitespace.
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
index f5e4dec..9a3565e 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
@@ -3,58 +3,51 @@
<plugin id="org.eclipse.jst.server.tomcat.ui"
name="%pluginName"
- version="3.0.0"
+ version="1.0.0"
provider-name="%providerName"
class="org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin">
<runtime>
<library name="tomcatui.jar">
<export name="*"/>
- <packages prefixes="org.eclipse.jst.server.tomcat.ui"/>
</library>
</runtime>
<requires>
- <import plugin="org.eclipse.core.runtime" />
- <import plugin="org.eclipse.core.resources" />
- <import plugin="org.eclipse.ui" />
- <import plugin="org.eclipse.ui.ide" />
- <import plugin="org.eclipse.ui.editors" />
- <import plugin="org.eclipse.ui.forms" />
- <import plugin="org.eclipse.debug.core" />
- <import plugin="org.eclipse.debug.ui" />
- <import plugin="org.eclipse.jdt.core" />
- <import plugin="org.eclipse.jdt.debug" />
- <import plugin="org.eclipse.jdt.debug.ui" />
- <import plugin="org.eclipse.jdt.launching" />
- <import plugin="org.eclipse.wst.server.core" />
- <import plugin="org.eclipse.wst.server.ui" />
- <import plugin="org.eclipse.jst.server.core" />
- <import plugin="org.eclipse.jst.server.ui" />
- <import plugin="org.eclipse.jst.server.tomcat.core" />
+ <import plugin="org.eclipse.core.runtime"/>
+ <import plugin="org.eclipse.ui"/>
+ <import plugin="org.eclipse.ui.ide"/>
+ <import plugin="org.eclipse.ui.forms"/>
+ <import plugin="org.eclipse.debug.ui"/>
+ <import plugin="org.eclipse.jdt.debug.ui"/>
+ <import plugin="org.eclipse.jdt.launching"/>
+ <import plugin="org.eclipse.wst.server.core"/>
+ <import plugin="org.eclipse.wst.server.ui"/>
+ <import plugin="org.eclipse.jst.server.core"/>
+ <import plugin="org.eclipse.jst.server.tomcat.core"/>
</requires>
<extension point="org.eclipse.wst.server.ui.serverImages">
<image
id="org.eclipse.jst.server.tomcat.32"
icon="icons/obj16/server_32.gif"
- typeIds="org.eclipse.jst.server.tomcat.32.runtime"/>
+ typeIds="org.eclipse.jst.server.tomcat.runtime.32"/>
<image
id="org.eclipse.jst.server.tomcat.40"
icon="icons/obj16/server_40.gif"
- typeIds="org.eclipse.jst.server.tomcat.40.runtime"/>
+ typeIds="org.eclipse.jst.server.tomcat.runtime.40"/>
<image
id="org.eclipse.jst.server.tomcat.41"
icon="icons/obj16/server_41.gif"
- typeIds="org.eclipse.jst.server.tomcat.41.runtime"/>
+ typeIds="org.eclipse.jst.server.tomcat.runtime.41"/>
<image
id="org.eclipse.jst.server.tomcat.50"
icon="icons/obj16/server_50.gif"
- typeIds="org.eclipse.jst.server.tomcat.50.runtime"/>
+ typeIds="org.eclipse.jst.server.tomcat.runtime.50"/>
<image
id="org.eclipse.jst.server.tomcat.55"
icon="icons/obj16/server_55.gif"
- typeIds="org.eclipse.jst.server.tomcat.55.runtime"/>
+ typeIds="org.eclipse.jst.server.tomcat.runtime.55"/>
<image
id="org.eclipse.jst.server.tomcat.32"
@@ -110,24 +103,24 @@
<extension point="org.eclipse.wst.server.ui.wizardFragments">
<fragment
- id="org.eclipse.jst.server.tomcat.32.runtime"
- typeIds="org.eclipse.jst.server.tomcat.32.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.32"
+ typeIds="org.eclipse.jst.server.tomcat.runtime.32"
class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
<fragment
- id="org.eclipse.jst.server.tomcat.40.runtime"
- typeIds="org.eclipse.jst.server.tomcat.40.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.40"
+ typeIds="org.eclipse.jst.server.tomcat.runtime.40"
class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
<fragment
- id="org.eclipse.jst.server.tomcat.41.runtime"
- typeIds="org.eclipse.jst.server.tomcat.41.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.41"
+ typeIds="org.eclipse.jst.server.tomcat.runtime.41"
class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
<fragment
- id="org.eclipse.jst.server.tomcat.50.runtime"
- typeIds="org.eclipse.jst.server.tomcat.50.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.50"
+ typeIds="org.eclipse.jst.server.tomcat.runtime.50"
class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
<fragment
- id="org.eclipse.jst.server.tomcat.55.runtime"
- typeIds="org.eclipse.jst.server.tomcat.55.runtime"
+ id="org.eclipse.jst.server.tomcat.runtime.55"
+ typeIds="org.eclipse.jst.server.tomcat.runtime.55"
class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
</extension>
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java
index 9279b0d..98536bd 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal;
/**
* Constant ids for context help.
*/
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java
index 4de2a3e..38a80a0 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal;
+
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.resource.JFaceResources;
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java
index 6fbb49d..b530b70 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal;
+
import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
import org.eclipse.debug.ui.CommonTab;
import org.eclipse.debug.ui.EnvironmentTab;
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java
index ff02805..5fbc164 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal;
+
import java.util.ArrayList;
import java.util.List;
@@ -24,7 +25,6 @@
import org.eclipse.jface.preference.PreferenceManager;
import org.eclipse.jface.window.Window;
import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeWorkingCopy;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.events.ModifyEvent;
@@ -82,7 +82,7 @@
runtime = null;
} else {
runtimeWC = newRuntime;
- runtime = (TomcatRuntimeWorkingCopy) newRuntime.getWorkingCopyDelegate();
+ runtime = (ITomcatRuntimeWorkingCopy) newRuntime.getAdapter(ITomcatRuntimeWorkingCopy.class);
}
init();
@@ -164,7 +164,7 @@
public void widgetSelected(SelectionEvent e) {
int sel = combo.getSelectionIndex();
IVMInstall vmInstall = (IVMInstall) installedJREs.get(sel);
- runtime.setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
+ runtime.setVMInstall(vmInstall);
validate();
}
@@ -256,8 +256,7 @@
int size = installedJREs.size();
for (int i = 0; i < size; i++) {
IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
- if (vmInstall.getVMInstallType().getId().equals(runtime.getVMInstallTypeId())
- && vmInstall.getId().equals(runtime.getVMInstallId())) {
+ if (vmInstall.equals(runtime.getVMInstall())) {
combo.select(i);
found = true;
}
@@ -272,7 +271,7 @@
return;
}
- IStatus status = runtime.validate();
+ IStatus status = runtimeWC.validate(null);
if (status == null || status.isOK())
wizard.setMessage(null, IMessageProvider.NONE);
else
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java
index eb4fb6b..001db8c 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal;
+
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.tomcat.core.ITomcatRuntimeWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
import org.eclipse.swt.widgets.Composite;
@@ -25,7 +25,9 @@
public class TomcatRuntimeWizardFragment extends WizardFragment {
protected TomcatRuntimeComposite comp;
- public TomcatRuntimeWizardFragment() { }
+ public TomcatRuntimeWizardFragment() {
+ // do nothing
+ }
public boolean hasComposite() {
return true;
@@ -36,7 +38,7 @@
if (runtime == null)
return false;
- IStatus status = runtime.validate();
+ IStatus status = runtime.validate(null);
return (status != null && status.isOK());
}
@@ -58,8 +60,7 @@
public void exit() {
IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(ITaskModel.TASK_RUNTIME);
IPath path = runtime.getLocation();
- ITomcatRuntimeWorkingCopy tr = (ITomcatRuntimeWorkingCopy) runtime.getWorkingCopyDelegate();
- if (tr.validate().isOK())
+ if (runtime.validate(null).isOK())
TomcatPlugin.setPreference("location" + runtime.getRuntimeType().getId(), path.toString());
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java
index 53fe87d..e43a2e6 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal;
+
import java.net.URL;
import java.text.MessageFormat;
import java.util.HashMap;
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java
index b9f1fbe..0fed098 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal;
/**
* Helper class to route trace output.
*/
@@ -68,4 +68,4 @@
public static void trace(String s, Throwable t) {
trace(FINEST, s, t);
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java
index f89622e..aab3835 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
import java.beans.*;
import java.util.HashMap;
import java.util.List;
@@ -23,9 +24,9 @@
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
+import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
import org.eclipse.jst.server.tomcat.core.internal.command.*;
import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
@@ -37,8 +38,8 @@
/**
* Tomcat configuration mime editor section.
*/
-public class ConfigurationMimeEditorSection extends ServerResourceEditorSection {
- protected ITomcatConfigurationWorkingCopy tomcatConfiguration;
+public class ConfigurationMimeEditorSection extends ServerEditorSection {
+ protected TomcatConfiguration tomcatConfiguration;
protected boolean updating;
@@ -78,7 +79,7 @@
}
}
};
- serverConfiguration.addPropertyChangeListener(listener);
+ tomcatConfiguration.addPropertyChangeListener(listener);
}
public void createSection(Composite parent) {
@@ -183,17 +184,16 @@
}
public void dispose() {
- if (serverConfiguration != null)
- serverConfiguration.removePropertyChangeListener(listener);
+ if (tomcatConfiguration != null)
+ tomcatConfiguration.removePropertyChangeListener(listener);
}
public void init(IEditorSite site, IEditorInput input) {
super.init(site, input);
- if (serverConfiguration != null) {
- tomcatConfiguration = (ITomcatConfigurationWorkingCopy) serverConfiguration.getWorkingCopyDelegate();
- addChangeListener();
- }
+ TomcatServer ts = (TomcatServer) server.getAdapter(TomcatServer.class);
+ tomcatConfiguration = ts.getTomcatConfiguration();
+ addChangeListener();
initialize();
}
@@ -259,9 +259,6 @@
}
}
- protected void validate() {
- }
-
/**
* Add a mime mapping.
*
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSectionFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSectionFactory.java
index e5cefe1..f00f4a6 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSectionFactory.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSectionFactory.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,22 +8,25 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
+import org.eclipse.jst.server.tomcat.core.ITomcatServer;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.ui.editor.*;
/**
*
*/
-public class ConfigurationMimeEditorSectionFactory implements IServerEditorPageSectionFactoryDelegate {
+public class ConfigurationMimeEditorSectionFactory extends ServerEditorPageSectionFactoryDelegate {
/*
- * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
+ * @see ServerEditorPartFactoryDelegate#shouldDisplay(IServer)
*/
- public boolean shouldCreateSection(IServer server, IServerConfiguration configuration) {
- return (configuration != null);
+ public boolean shouldCreateSection(IServerWorkingCopy server) {
+ ITomcatServer tomcatServer = (ITomcatServer) server.getAdapter(ITomcatServer.class);
+ return tomcatServer.getServerConfiguration() != null;
}
/*
- * @see IServerEditorPartFactoryDelegate#createPage()
+ * @see ServerEditorPartFactoryDelegate#createPage()
*/
public IServerEditorSection createSection() {
return new ConfigurationMimeEditorSection();
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java
index 88d1e23..39c36ec 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,10 +8,12 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
import java.beans.*;
import java.util.Iterator;
-import org.eclipse.wst.server.core.model.IServerPort;
+import org.eclipse.wst.server.core.IServerPort;
import org.eclipse.wst.server.core.util.ServerPort;
import org.eclipse.wst.server.ui.editor.*;
import org.eclipse.swt.SWT;
@@ -24,8 +25,8 @@
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.jface.viewers.*;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
+import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
import org.eclipse.jst.server.tomcat.core.internal.command.*;
import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
@@ -37,8 +38,8 @@
/**
* Tomcat configuration port editor page.
*/
-public class ConfigurationPortEditorSection extends ServerResourceEditorSection {
- protected ITomcatConfigurationWorkingCopy tomcatConfiguration;
+public class ConfigurationPortEditorSection extends ServerEditorSection {
+ protected TomcatConfiguration tomcatConfiguration;
protected boolean updating;
@@ -67,7 +68,7 @@
}
}
};
- serverConfiguration.addPropertyChangeListener(listener);
+ tomcatConfiguration.addPropertyChangeListener(listener);
}
/**
@@ -167,7 +168,9 @@
IServerPort sp = (IServerPort) item.getData();
int port = Integer.parseInt((String) value);
commandManager.executeCommand(new ModifyPortCommand(tomcatConfiguration, sp.getId(), port));
- } catch (Exception ex) { }
+ } catch (Exception ex) {
+ // ignore
+ }
}
};
viewer.setCellModifier(cellModifier);
@@ -180,38 +183,28 @@
try {
int n = ports.getSelectionIndex();
viewer.editElement(ports.getItem(n).getData(), 1);
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
}
});
}
}
public void dispose() {
- if (serverConfiguration != null)
- serverConfiguration.removePropertyChangeListener(listener);
+ if (tomcatConfiguration != null)
+ tomcatConfiguration.removePropertyChangeListener(listener);
}
/* (non-Javadoc)
* Initializes the editor part with a site and input.
- * <p>
- * Subclasses of <code>EditorPart</code> must implement this method. Within
- * the implementation subclasses should verify that the input type is acceptable
- * and then save the site and input. Here is sample code:
- * </p>
- * <pre>
- * if (!(input instanceof IFileEditorInput))
- * throw new PartInitException("Invalid Input: Must be IFileEditorInput");
- * setSite(site);
- * setInput(editorInput);
- * </pre>
*/
public void init(IEditorSite site, IEditorInput input) {
super.init(site, input);
- if (serverConfiguration != null) {
- tomcatConfiguration = (ITomcatConfigurationWorkingCopy) serverConfiguration.getWorkingCopyDelegate();
- addChangeListener();
- }
+ TomcatServer ts = (TomcatServer) server.getAdapter(TomcatServer.class);
+ tomcatConfiguration = ts.getTomcatConfiguration();
+ addChangeListener();
initialize();
}
@@ -241,6 +234,4 @@
setupPortEditors();
}
}
-
- protected void validate() { }
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSectionFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSectionFactory.java
index d95de26..b21779e 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSectionFactory.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSectionFactory.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,22 +8,25 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
+import org.eclipse.jst.server.tomcat.core.ITomcatServer;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.ui.editor.*;
/**
*
*/
-public class ConfigurationPortEditorSectionFactory implements IServerEditorPageSectionFactoryDelegate {
+public class ConfigurationPortEditorSectionFactory extends ServerEditorPageSectionFactoryDelegate {
/*
- * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
+ * @see ServerEditorPartFactoryDelegate#shouldDisplay(IServer)
*/
- public boolean shouldCreateSection(IServer server, IServerConfiguration configuration) {
- return (configuration != null);
+ public boolean shouldCreateSection(IServerWorkingCopy server) {
+ ITomcatServer tomcatServer = (ITomcatServer) server.getAdapter(ITomcatServer.class);
+ return tomcatServer.getServerConfiguration() != null;
}
/*
- * @see IServerEditorPartFactoryDelegate#createPage()
+ * @see ServerEditorPartFactoryDelegate#createPage()
*/
public IServerEditorSection createSection() {
return new ConfigurationPortEditorSection();
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorFactory.java
index aed4284..1991b66 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorFactory.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorFactory.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,26 +8,29 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
+import org.eclipse.jst.server.tomcat.core.ITomcatServer;
import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
-import org.eclipse.wst.server.ui.editor.IServerEditorPartFactoryDelegate;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.ui.editor.ServerEditorPartFactoryDelegate;
/**
*
*/
-public class ConfigurationWebModuleEditorFactory implements IServerEditorPartFactoryDelegate {
+public class ConfigurationWebModuleEditorFactory extends ServerEditorPartFactoryDelegate {
/*
- * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
+ * @see ServerEditorPartFactoryDelegate#shouldDisplay(IServer)
*/
- public boolean shouldCreatePage(IServer server, IServerConfiguration configuration) {
- return (server != null && configuration != null);
+ public boolean shouldCreatePage(IServerWorkingCopy server) {
+ ITomcatServer tomcatServer = (ITomcatServer) server.getAdapter(ITomcatServer.class);
+ return tomcatServer.getServerConfiguration() != null;
}
/*
- * @see IServerEditorPartFactoryDelegate#createPage()
+ * @see ServerEditorPartFactoryDelegate#createPage()
*/
public IEditorPart createPage() {
return new ConfigurationWebModuleEditorPart();
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java
index c7602ef..289719b 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Iterator;
@@ -19,10 +20,10 @@
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jst.server.j2ee.IWebModule;
-import org.eclipse.jst.server.tomcat.core.ITomcatConfigurationWorkingCopy;
import org.eclipse.jst.server.tomcat.core.ITomcatServerWorkingCopy;
import org.eclipse.jst.server.tomcat.core.WebModule;
import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
+import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
import org.eclipse.jst.server.tomcat.core.internal.command.AddWebModuleCommand;
import org.eclipse.jst.server.tomcat.core.internal.command.ModifyWebModuleCommand;
import org.eclipse.jst.server.tomcat.core.internal.command.RemoveWebModuleCommand;
@@ -47,17 +48,17 @@
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.help.WorkbenchHelp;
+import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
import org.eclipse.wst.server.ui.ServerUICore;
import org.eclipse.wst.server.ui.editor.ICommandManager;
-import org.eclipse.wst.server.ui.editor.ServerResourceEditorPart;
+import org.eclipse.wst.server.ui.editor.ServerEditorPart;
/**
* Tomcat configuration web module editor page.
*/
-public class ConfigurationWebModuleEditorPart extends ServerResourceEditorPart {
+public class ConfigurationWebModuleEditorPart extends ServerEditorPart {
protected ITomcatServerWorkingCopy server2;
- protected ITomcatConfigurationWorkingCopy configuration;
+ protected TomcatConfiguration configuration;
protected Table webAppTable;
protected int selection = -1;
@@ -90,7 +91,7 @@
}
}
};
- serverConfiguration.addPropertyChangeListener(listener);
+ configuration.addPropertyChangeListener(listener);
}
protected ICommandManager getCommandManager() {
@@ -188,7 +189,7 @@
else {
addProject.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
- WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), server2, configuration, true);
+ WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, true);
dialog.open();
if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
getCommandManager().executeCommand(new AddWebModuleCommand(configuration, dialog.getWebModule()));
@@ -202,7 +203,7 @@
addExtProject.setLayoutData(data);
addExtProject.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
- WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), server2, configuration, false);
+ WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, false);
dialog.open();
if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
getCommandManager().executeCommand(new AddWebModuleCommand(configuration, dialog.getWebModule()));
@@ -220,7 +221,7 @@
if (selection < 0)
return;
WebModule module = (WebModule) configuration.getWebModules().get(selection);
- WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), server2, configuration, module);
+ WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, module);
dialog.open();
if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
getCommandManager().executeCommand(new ModifyWebModuleCommand(configuration, selection, dialog.getWebModule()));
@@ -247,50 +248,40 @@
initialize();
}
-
+
protected boolean canAddWebModule() {
- Iterator iterator = ServerUtil.getModules("j2ee.web", "*", false).iterator();
- while (iterator.hasNext()) {
- Object module = iterator.next();
- if (module instanceof IWebModule) {
- IStatus status = server.canModifyModules(new IModule[] { (IWebModule) module }, null);
- if (status != null && status.isOK())
- return true;
+ IModule[] modules = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes());
+ if (modules != null) {
+ int size = modules.length;
+ for (int i = 0; i < size; i++) {
+ IWebModule webModule = (IWebModule) modules[i].getAdapter(IWebModule.class);
+ if (webModule != null) {
+ IStatus status = server.canModifyModules(new IModule[] { modules[i] }, null, null);
+ if (status != null && status.isOK())
+ return true;
+ }
}
}
return false;
}
-
+
public void dispose() {
- if (serverConfiguration != null)
- serverConfiguration.removePropertyChangeListener(listener);
+ if (configuration != null)
+ configuration.removePropertyChangeListener(listener);
}
/* (non-Javadoc)
* Initializes the editor part with a site and input.
- * <p>
- * Subclasses of <code>EditorPart</code> must implement this method. Within
- * the implementation subclasses should verify that the input type is acceptable
- * and then save the site and input. Here is sample code:
- * </p>
- * <pre>
- * if (!(input instanceof IFileEditorInput))
- * throw new PartInitException("Invalid Input: Must be IFileEditorInput");
- * setSite(site);
- * setInput(editorInput);
- * </pre>
*/
public void init(IEditorSite site, IEditorInput input) {
super.init(site, input);
- if (serverConfiguration != null) {
- configuration = (ITomcatConfigurationWorkingCopy) serverConfiguration.getWorkingCopyDelegate();
- addChangeListener();
- }
+ TomcatServer ts = (TomcatServer) server.getAdapter(TomcatServer.class);
+ configuration = ts.getTomcatConfiguration();
- if (server != null) {
- server2 = (ITomcatServerWorkingCopy) server.getWorkingCopyDelegate();
- }
+ if (server != null)
+ server2 = (ITomcatServerWorkingCopy) server.getAdapter(ITomcatServerWorkingCopy.class);
+
initialize();
}
@@ -316,16 +307,10 @@
if (memento != null && memento.length() > 0) {
projectName = TomcatUIPlugin.getResource("%configurationEditorProjectMissing", new String[] {memento});
projectImage = TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PROJECT_MISSING);
- int index = memento.indexOf(":");
- if (index > 0) {
- String factoryId = memento.substring(0, index);
- String mem = memento.substring(index + 1);
- projectName = TomcatUIPlugin.getResource("%configurationEditorProjectMissing", new String[] {mem});
- IModule module2 = ServerUtil.getModule(factoryId, mem);
- if (module != null) {
- projectName = ServerUICore.getLabelProvider().getText(module2);
- projectImage = ServerUICore.getLabelProvider().getImage(module2);
- }
+ IModule module2 = ServerUtil.getModule(memento);
+ if (module != null) {
+ projectName = ServerUICore.getLabelProvider().getText(module2);
+ projectImage = ServerUICore.getLabelProvider().getImage(module2);
}
}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java
index 0725b8b..f986b84 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
@@ -25,7 +26,6 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.help.WorkbenchHelp;
-
/**
* Dialog to add or modify mime mappings.
*/
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java
index 693c52a..eb8865c 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
@@ -37,7 +38,7 @@
/**
* Tomcat server general editor page.
*/
-public class ServerGeneralEditorSection extends ServerResourceEditorSection {
+public class ServerGeneralEditorSection extends ServerEditorSection {
protected ITomcatServerWorkingCopy tomcatServer;
protected Button secure;
@@ -50,7 +51,9 @@
/**
* ServerGeneralEditorPart constructor comment.
*/
- protected ServerGeneralEditorSection() { }
+ protected ServerGeneralEditorSection() {
+ // do nothing
+ }
/**
*
@@ -164,7 +167,7 @@
super.init(site, input);
if (server != null) {
- tomcatServer = (ITomcatServerWorkingCopy) server.getWorkingCopyDelegate();
+ tomcatServer = (ITomcatServerWorkingCopy) server.getAdapter(ITomcatServerWorkingCopy.class);
addChangeListener();
}
initialize();
@@ -194,6 +197,4 @@
updating = false;
}
-
- protected void validate() { }
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSectionFactory.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSectionFactory.java
index fb2c7f4..ab977a0 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSectionFactory.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSectionFactory.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,24 +8,17 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerConfiguration;
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
+
import org.eclipse.wst.server.ui.editor.*;
/**
*
*/
-public class ServerGeneralEditorSectionFactory implements IServerEditorPageSectionFactoryDelegate {
+public class ServerGeneralEditorSectionFactory extends ServerEditorPageSectionFactoryDelegate {
/*
- * @see IServerEditorPartFactoryDelegate#shouldDisplay(IServer, IServerConfiguration)
- */
- public boolean shouldCreateSection(IServer server, IServerConfiguration configuration) {
- return (server != null && server.getServerType().getId().indexOf("tomcat") >= 0);
- }
-
- /*
- * @see IServerEditorPartFactoryDelegate#createPage()
+ * @see ServerEditorPartFactoryDelegate#createPage()
*/
public IServerEditorSection createSection() {
return new ServerGeneralEditorSection();
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java
index 2c03fae..25af3d8 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,7 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import java.util.Iterator;
+package org.eclipse.jst.server.tomcat.ui.internal.editor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.dialogs.Dialog;
@@ -39,8 +38,9 @@
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.help.WorkbenchHelp;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServerAttributes;
import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IModule;
import org.eclipse.wst.server.ui.ServerUICore;
/**
* Dialog to add or modify web modules.
@@ -50,6 +50,7 @@
protected boolean isEdit;
protected boolean isProject;
protected Text docBase;
+ protected IServerAttributes server2;
protected ITomcatServer server;
protected ITomcatConfiguration config;
@@ -59,9 +60,10 @@
* WebModuleDialog constructor comment.
* @param parentShell org.eclipse.swt.widgets.Shell
*/
- protected WebModuleDialog(Shell parentShell, ITomcatServer server, ITomcatConfiguration config, WebModule module) {
+ protected WebModuleDialog(Shell parentShell, IServerAttributes server2, ITomcatServer server, ITomcatConfiguration config, WebModule module) {
super(parentShell);
this.module = module;
+ this.server2 = server2;
this.server = server;
this.config = config;
isEdit = true;
@@ -71,8 +73,8 @@
* WebModuleDialog constructor comment.
* @param parentShell org.eclipse.swt.widgets.Shell
*/
- protected WebModuleDialog(Shell parentShell, ITomcatServer server, ITomcatConfiguration config, boolean isProject) {
- this(parentShell, server, config, new WebModule("/", "", null, true));
+ protected WebModuleDialog(Shell parentShell, IServerAttributes server2, ITomcatServer server, ITomcatConfiguration config, boolean isProject) {
+ this(parentShell, server2, server, config, new WebModule("/", "", null, true));
isEdit = false;
this.isProject = isProject;
}
@@ -128,17 +130,20 @@
WorkbenchHelp.setHelp(projTable, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PROJECT);
// fill table with web module projects
- Iterator iterator = ServerUtil.getModules("j2ee.web", "*", false).iterator();
- while (iterator.hasNext()) {
- Object module3 = iterator.next();
- if (module3 instanceof IWebModule) {
- IWebModule module2 = (IWebModule) module3;
- IStatus status = server.canModifyModules(new IModule[] { module2}, null);
- if (status != null && status.isOK()) {
- TableItem item = new TableItem(projTable, SWT.NONE);
- item.setText(0, ServerUICore.getLabelProvider().getText(module2));
- item.setImage(0, ServerUICore.getLabelProvider().getImage(module2));
- item.setData(module2);
+ IModule[] modules = ServerUtil.getModules(server2.getServerType().getRuntimeType().getModuleTypes());
+ if (modules != null) {
+ int size = modules.length;
+ for (int i = 0; i < size; i++) {
+ IModule module3 = modules[i];
+ IWebModule module2 = (IWebModule) module3.getAdapter(IWebModule.class);
+ if (module2 != null) {
+ IStatus status = server2.canModifyModules(new IModule[] { module3 }, null, null);
+ if (status != null && status.isOK()) {
+ TableItem item = new TableItem(projTable, SWT.NONE);
+ item.setText(0, ServerUICore.getLabelProvider().getText(module2));
+ item.setImage(0, ServerUICore.getLabelProvider().getImage(module2));
+ item.setData(module2);
+ }
}
}
}
@@ -222,9 +227,11 @@
String contextRoot = module2.getContextRoot();
if (contextRoot != null && !contextRoot.startsWith("/"))
contextRoot = "/" + contextRoot;
- module = new WebModule(contextRoot, module2.getLocation().toOSString(), module2.getFactoryId() + ":" + module2.getId(), module.isReloadable());
+ module = new WebModule(contextRoot, module2.getLocation().toOSString(), module.getMemento(), module.isReloadable());
docBase.setText(module2.getLocation().toOSString());
- } catch (Exception e) { }
+ } catch (Exception e) {
+ // ignore
+ }
validate();
}
});
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.properties b/plugins/org.eclipse.jst.server.ui/plugin.properties
index 044ec1c..0421c41 100644
--- a/plugins/org.eclipse.jst.server.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.server.ui/plugin.properties
@@ -13,62 +13,23 @@
# --------------- Java UI ---------------
-javaSystemPropertiesTitle=System Properties
-javaSystemPropertiesDescription=Enter system properties (-D options) to be passed to the server.
-
-javaClasspathTitle=Class Path
-javaClasspathDescription=Change class path entries.
-
-javaPathTitle=Java Library Path
-javaPathDescription=Enter Java Library Path and choose one of the Path Options.
-javaPathValue=Java Library Path
-
-javaVMArgumentsTitle=Java VM Arguments
-javaVMArgumentsDescription=Enter arguments to the Java VM.
-
-javaAdd=Add...
-javaRemove=Remove
-javaEdit=Edit...
-javaDown=Down
-javaUp=Up
javaBrowse=&Browse...
-javaSystemProperties=System Properties:
-javaSystemPropertyNameColumn=Name
-javaSystemPropertyValueColumn=Value
javaSystemPropertyAddDialog=Add System Property
javaSystemPropertyEditDialog=Edit System Property
javaSystemPropertyName=&Name:
javaSystemPropertyValue=&Value:
-javaClasspath=Class Path:
-javaAddExternalJar=Add External JARs...
javaAddExternalJarDialog=Select JAR file
-javaAddExternalFolder=Add External Folder...
-javaAddExternalFolderDialog=Select Folder
-javaAddExternalFolderDialogMessage=Select a folder to add to the class path.
-javaAddFolder=Add Folder...
-javaAddFolderDialogTitle=Select Folder
-javaAddFolderDialogMessage=Select a folder to add to the class path.
-javaAddVariable=Add Variable...
javaAddVariableDialogTitle=Add Class Path Variable
javaAddVariableDialogName=&Variable Name:
javaAddVariableDialogExtension=&Path Extension:
javaAddVariableDialogResolved=Resolved Path:
-javaAddString=Add Path...
javaAddStringDialogTitle=Add Class Path
javaAddStringDialogPath=Path:
javaAddStringDialogInvalidPath=The path must be absolute.
javaEditStringDialogTitle=Edit Class Path
-javaPath=System Path:
-javaPathGroup=Path Option
-javaPathAppend=Append to system path
-javaPathPrepend=Prepend to system path
-javaPathReplace=Replace system path
-
-javaVMArguments=Java VM Arguments:
-
runtimeTypeTitle=Generic J2EE Runtime
runtimeTypeDescription=Define a generic J2EE runtime. Specify a directory containing jar files to compile against.
runtimeTypeName=Na&me:
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.xml b/plugins/org.eclipse.jst.server.ui/plugin.xml
index 6ee0308..8a9540b 100644
--- a/plugins/org.eclipse.jst.server.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.server.ui/plugin.xml
@@ -3,17 +3,13 @@
<plugin id="org.eclipse.jst.server.ui"
name="%pluginName"
- version="3.0.0"
+ version="1.0.0"
provider-name="%providerName"
class="org.eclipse.jst.server.internal.ui.JavaServerUIPlugin">
<requires>
<import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
<import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.ui.views"/>
- <import plugin="org.eclipse.ui.editors"/>
<import plugin="org.eclipse.jdt.core"/>
<import plugin="org.eclipse.jdt.launching"/>
<import plugin="org.eclipse.wst.server.core"/>
@@ -24,7 +20,6 @@
<runtime>
<library name="sjavaui.jar">
<export name="*"/>
- <packages prefixes="org.eclipse.jst.server.ui"/>
</library>
</runtime>
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ContextIds.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ContextIds.java
index 912c27f..8d553ac 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ContextIds.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ContextIds.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.internal.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.internal.ui;
/**
* Context help id constants.
*/
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeComposite.java
index 9b664c6..2402d33 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeComposite.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeComposite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.internal.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.internal.ui;
+
import java.util.ArrayList;
import java.util.List;
@@ -70,7 +71,7 @@
runtime = null;
} else {
runtimeWC = newRuntime;
- runtime = (IGenericRuntimeWorkingCopy) newRuntime.getWorkingCopyDelegate();
+ runtime = (IGenericRuntimeWorkingCopy) newRuntime.getAdapter(IGenericRuntimeWorkingCopy.class);
}
init();
@@ -152,7 +153,7 @@
public void widgetSelected(SelectionEvent e) {
int sel = combo.getSelectionIndex();
IVMInstall vmInstall = (IVMInstall) installedJREs.get(sel);
- runtime.setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
+ runtime.setVMInstall(vmInstall);
validate();
}
@@ -241,8 +242,7 @@
int size = installedJREs.size();
for (int i = 0; i < size; i++) {
IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
- if (vmInstall.getVMInstallType().getId().equals(runtime.getVMInstallTypeId())
- && vmInstall.getId().equals(runtime.getVMInstallId())) {
+ if (vmInstall.equals(runtime.getVMInstall())) {
combo.select(i);
found = true;
}
@@ -257,7 +257,7 @@
return;
}
- IStatus status = runtime.validate();
+ IStatus status = runtimeWC.validate(null);
if (status == null || status.isOK())
wizard.setMessage(null, IMessageProvider.NONE);
else
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeWizardFragment.java
index 0a522ca..17ad1e3 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeWizardFragment.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/GenericRuntimeWizardFragment.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.internal.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.internal.ui;
+
import org.eclipse.wst.server.core.*;
import org.eclipse.wst.server.ui.wizard.IWizardHandle;
import org.eclipse.wst.server.ui.wizard.WizardFragment;
@@ -21,7 +22,9 @@
public class GenericRuntimeWizardFragment extends WizardFragment {
protected GenericRuntimeComposite comp;
- public GenericRuntimeWizardFragment() { }
+ public GenericRuntimeWizardFragment() {
+ // do nothing
+ }
public boolean hasComposite() {
return true;
@@ -37,7 +40,7 @@
if (runtime == null)
return false;
- IStatus status = runtime.validate();
+ IStatus status = runtime.validate(null);
return (status != null && status.isOK());
}
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ImageResource.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ImageResource.java
index 5540d8e..27d23c0 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ImageResource.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/ImageResource.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.internal.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.internal.ui;
+
import java.net.URL;
import java.util.Map;
import java.util.HashMap;
@@ -55,7 +56,9 @@
/**
* Cannot construct an ImageResource. Use static methods only.
*/
- private ImageResource() {}
+ private ImageResource() {
+ // do nothing
+ }
/**
* Dispose of element images that were created.
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/JavaServerUIPlugin.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/JavaServerUIPlugin.java
index 77a8179..4396276 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/JavaServerUIPlugin.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/JavaServerUIPlugin.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.internal.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.internal.ui;
+
import java.text.MessageFormat;
import org.eclipse.core.runtime.*;
import org.eclipse.ui.plugin.AbstractUIPlugin;
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/SWTUtil.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/SWTUtil.java
index 3bac0f8..1b12e86 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/SWTUtil.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/SWTUtil.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.internal.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.internal.ui;
+
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.resource.JFaceResources;
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/Trace.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/Trace.java
index f0f9885..943b459 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/Trace.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/internal/ui/Trace.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.internal.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.internal.ui;
/**
* Helper class to route trace output.
*/
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/AddClasspathVariableDialog.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/AddClasspathVariableDialog.java
index e711b8f..af87634 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/AddClasspathVariableDialog.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/AddClasspathVariableDialog.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
+
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IClasspathEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IClasspathEditor.java
index 2829c13..ba28409 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IClasspathEditor.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IClasspathEditor.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
+
import org.eclipse.jdt.core.IClasspathEntry;
/**
* An generic interface for modifying the classpath of a Java server.
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IPathEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IPathEditor.java
index 64be48d..685bc79 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IPathEditor.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IPathEditor.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
/**
* An generic interface for modifying the path of a Java server. Can be used
* to implement the command pattern between the editor and the server.
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/ISystemPropertyEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/ISystemPropertyEditor.java
index 1e10909..8035af4 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/ISystemPropertyEditor.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/ISystemPropertyEditor.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,7 +8,9 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
-import org.eclipse.jst.server.core.SystemProperty;
+package org.eclipse.jst.server.ui;
+
+import org.eclipse.jst.server.core.internal.SystemProperty;
/**
* An generic interface for modifying the system properties of
* a Java server. Can be used to implement the command
@@ -37,4 +38,4 @@
* @param property org.eclipse.jst.server.ui.SystemProperty
*/
public void removeSystemProperty(SystemProperty property);
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IVMArgumentEditor.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IVMArgumentEditor.java
index 6542dfa..b86a7da 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IVMArgumentEditor.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/IVMArgumentEditor.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,7 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
/**
* An generic interface for modifying the VM arguments of a Java
* server. Can be used to implement the command
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaContextIds.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaContextIds.java
index 1ca57fc..866c88a 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaContextIds.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaContextIds.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,12 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
+
import org.eclipse.jst.server.internal.ui.ContextIds;
/**
* Java Context Ids
*/
public interface JavaContextIds extends ContextIds {
+ // helper interface
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaImages.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaImages.java
index 944eacb..e135094 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaImages.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaImages.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,10 +8,11 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
+
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jst.server.internal.ui.ImageResource;
import org.eclipse.swt.graphics.Image;
-
/**
*
*/
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaResources.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaResources.java
index 38eb5ee..0e5a601 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaResources.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/JavaResources.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
+
import org.eclipse.jst.server.internal.ui.JavaServerUIPlugin;
/**
*
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/StringClasspathDialog.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/StringClasspathDialog.java
index ef8e08f..85723b5 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/StringClasspathDialog.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/StringClasspathDialog.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,6 +8,8 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
+
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.dialogs.Dialog;
@@ -27,7 +28,6 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.help.WorkbenchHelp;
-
/**
* Dialog to add a string classpath.
*/
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/SystemPropertyDialog.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/SystemPropertyDialog.java
index 51d33ac..8174905 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/SystemPropertyDialog.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/SystemPropertyDialog.java
@@ -1,7 +1,6 @@
-package org.eclipse.jst.server.ui;
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,11 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
+package org.eclipse.jst.server.ui;
+
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.core.SystemProperty;
+import org.eclipse.jst.server.core.internal.SystemProperty;
import org.eclipse.jst.server.internal.ui.ContextIds;
import org.eclipse.jst.server.internal.ui.JavaServerUIPlugin;
import org.eclipse.swt.SWT;
@@ -26,7 +27,6 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.help.WorkbenchHelp;
-
/**
* Dialog to add or modify system properties.
*/
@@ -177,4 +177,4 @@
setOkButtonEnabled(result);
}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/plugin.properties b/plugins/org.eclipse.wst.server.core/plugin.properties
index 220b2be..e1690ab 100644
--- a/plugins/org.eclipse.wst.server.core/plugin.properties
+++ b/plugins/org.eclipse.wst.server.core/plugin.properties
@@ -12,114 +12,54 @@
providerName=IBM
extensionPointServerStartup=Server Startup
-extensionPointModuleKinds=Module Types
+extensionPointModuleTypes=Module Types
extensionPointRuntimeTypes=Runtime Types
-extensionPointRuntimeTargetHandler=Runtime Target Handler
-extensionPointRuntimeLocator=Runtime Locator
+extensionPointRuntimeTargetHandlers=Runtime Target Handlers
+extensionPointRuntimeLocators=Runtime Locators
extensionPointServerTypes=Server Types
+extensionPointServerLocators=Server Locators
extensionPointServerConfigurationTypes=Server Configuration Types
-extensionPointServerLocator=Server Locator
-extensionPointPublishManager=Publish Manager
extensionPointModuleFactories=Module Factories
-extensionPointModuleObjectAdapters=Module Object Adapters
+extensionPointModuleObjectAdapters=Module Artifact Adapters
extensionPointLaunchableAdapters=Launchable Adapters
extensionPointClients=Clients
extensionPointServerTasks=Server Tasks
-extensionPointModuleTasks=Module Tasks
extensionPointServerMonitors=Server Monitors
# --------------- Tasks (progress monitors) ---------------
-# Creating default server and server configuration
-createServerProjectTask=Creating server project.
-createDefaultServerTask=Creating server.
-createDefaultServerConfigurationTask=Creating server configuration.
-
-# Modifying and searching for servers
-setServerConfigurationTask=Setting the configuration of {0} to {1}...
-removingServerConfigurationTask=Removing the configuration from {0}...
-getDefaultServerTask=Searching for a default server...
-getProjectServerInstanceTask=Locating a server...
-
-configurationUpdateOk=Server configuration updated successfully.
-serverUpdateOk=Server updated sucessfully.
-
# General tasks
copyingTask=Copying from {0} to {1}
unZippingTask=Unzipping {0}
expandingTask=Expanding {0}
savingTask=Saving {0}
deletingTask=Deleting {0}
-loadingTask=Loading {0}
copyingTask=File copied successfully to {0}
-taskCancelled=Operation cancelled.
taskPerforming=Performing Tasks
-taskPublishing=Publishing: {0}
-taskStarting=Starting {0}
taskModifyModules=Adding and/or removing projects.
publishingTask=Publishing to {0}...
publishingStatus=Publishing status
-publishingStart=Connecting to server
publishingStop=Disconnecting from server
-publishingPublishFolder=Creating folder {0}
-publishingPublishFile=Publishing {0}
-publishingDeleteFolder=Removing folder {0}
-publishingDeleteFile=Deleting {0}
publishingProject=Publishing: {0}
-publishingConfiguration=Publishing configuration: {0}
publishingCancelled=Publishing cancelled
# --------------- Misc UI ---------------
-# Server launch configuration
-serverLaunchConfigurationType=Server
-
-# Server builder
-builderName=Server Builder
-
-# Server project nature
-serverProjectNatureTitle=Server Project
-
# Error Messages
-errorUnconfiguredServer=Unable to run the server because it does not have a valid configuration.
-errorCloseEditor=The action could not be completed because there is an open editor. Close the {0} editor and try again.
-errorNull=Could not perform the action on a null object.
-errorLaunch=Cannot start the server.
-errorInvalidServer=The server is not valid.
-errorServerAlreadyRunning=Cannot start the server because it is already running.
-errorServerStartFailed=The server named {0} did not start correctly. Check the Console for error messages.
errorPublishing=Could not publish to the server.
errorNoConfiguration=The server has no configuration.
-errorPublishFailed=Errors occurred during publishing.
-errorRunOnServer=Running resource on server.
-errorRunOnServerFailed=Unable to run on server.
errorLoading=Error loading from {0}.
errorSaving=Could not save to {0}.
-errorMissingConfiguration=Server configuration is missing - See Task view
-errorMissingConfigurationTask=Server {0} is missing it's configuration.
-errorMissingProject=Project {0} is missing - See Task view
-errorMissingProjectTask=Server configuration {0} refers to a missing project {1}.
errorCopyingFile=Error copying file to {0}: {1}
-errorModifyingConfiguration=Error modifying server configuration: {0}.
-errorModifyingServer=Error modifying server: {0}.
-errorCouldNotCreateServerProject=Could not create server project.
-errorCouldNotCreateServerProjectStatus=Could not create server project: {0}.
-errorNoDefaultServer=A default server could not be automatically created.
-errorNoDefaultServerParent=Could not find anything to deploy to the default server.
-errorDefaultServerInvalid=Could not deploy to the default server.
errorModuleRestartFailed=Could not restart the module.
-
-errorConfigurationUpdate=Could not update the server configuration: {0}
-errorServerUpdate=Could not update the server: {0}
-
-# Info messages
-serverProjectCreated=Server project created successfully.
-infoNoPublishingNecessary=Publishing was not necessary.
-infoPublishSuccess=Published finished successfully.
+errorWorkingCopyTimestamp=Could not save because the file has been modified since the start of editting.
+errorRuntimeName=Enter a name for the runtime.
+errorDuplicateRuntimeName=Name is already in use.
+errorStartFailed=Could not start the server.
# Default server creation names
# {0} will be replaced by a number if the given name is already being used
@@ -134,18 +74,10 @@
defaultServerConfigurationName2={0} ({1})
# Used when a name can't be found
-elementUnknownName=<unknown>
defaultVendor=Basic
defaultVersion=Basic
-defaultCategory=Basic
moduleTypeUnknown=Unknown module
-# Publishers
-publisherFullName=Publish all
-publisherFullDescription=Publishes all resources to the server, regardless of whether they have changed. No resources are deleted from the server.
-publisherSmartName=Smart publish
-publisherSmartDescription=Intelligently publishes only modified resources to the server. Deletes all resources that no longer exist in the workspace.
-
# null launchable
nullLaunchableClient=Do nothing
nullLaunchableClientDescription=Do not launch anything after starting the server.
diff --git a/plugins/org.eclipse.wst.server.core/plugin.xml b/plugins/org.eclipse.wst.server.core/plugin.xml
index 2a8b426..15fb959 100644
--- a/plugins/org.eclipse.wst.server.core/plugin.xml
+++ b/plugins/org.eclipse.wst.server.core/plugin.xml
@@ -3,7 +3,7 @@
<plugin id="org.eclipse.wst.server.core"
name="%pluginName"
- version="3.0.0"
+ version="1.0.0"
provider-name="%providerName"
class="org.eclipse.wst.server.core.internal.ServerPlugin">
@@ -16,80 +16,26 @@
<runtime>
<library name="servercore.jar">
<export name="*"/>
- <packages prefixes="org.eclipse.wst.server.core"/>
</library>
</runtime>
<extension-point id="startup" name="%extensionPointServerStartup" schema="schema/startup.exsd"/>
- <extension-point id="moduleKinds" name="%extensionPointModuleKinds" schema="schema/moduleKinds.exsd"/>
+ <extension-point id="moduleTypes" name="%extensionPointModuleTypes" schema="schema/moduleTypes.exsd"/>
<extension-point id="runtimeTypes" name="%extensionPointRuntimeTypes" schema="schema/runtimeTypes.exsd"/>
<extension-point id="runtimeTargetHandlers" name="%extensionPointRuntimeTargetHandlers" schema="schema/runtimeTargetHandlers.exsd"/>
<extension-point id="runtimeLocators" name="%extensionPointRuntimeLocators" schema="schema/runtimeLocators.exsd"/>
<extension-point id="serverTypes" name="%extensionPointServerTypes" schema="schema/serverTypes.exsd"/>
<extension-point id="serverLocators" name="%extensionPointServerLocators" schema="schema/serverLocators.exsd"/>
- <extension-point id="serverConfigurationTypes" name="%extensionPointServerConfigurationTypes" schema="schema/serverConfigurationTypes.exsd"/>
- <extension-point id="publish" name="%extensionPointPublishManager" schema="schema/publishManager.exsd"/>
<extension-point id="moduleFactories" name="%extensionPointModuleFactories" schema="schema/moduleFactories.exsd"/>
- <extension-point id="moduleObjectAdapters" name="%extensionPointModuleObjectAdapters" schema="schema/moduleObjectAdapters.exsd"/>
+ <extension-point id="moduleArtifactAdapters" name="%extensionPointModuleArtifactAdapters" schema="schema/moduleArtifactAdapters.exsd"/>
<extension-point id="launchableAdapters" name="%extensionPointLaunchableAdapters" schema="schema/launchableAdapters.exsd"/>
<extension-point id="clients" name="%extensionPointClients" schema="schema/clients.exsd"/>
<extension-point id="serverTasks" name="%extensionPointServerTasks" schema="schema/serverTasks.exsd"/>
- <extension-point id="moduleTasks" name="%extensionPointModuleTasks" schema="schema/moduleTasks.exsd"/>
<extension-point id="serverMonitors" name="%extensionPointServerMonitors" schema="schema/serverMonitors.exsd"/>
-
- <extension point="org.eclipse.core.resources.natures"
- id="nature"
- name="%serverProjectNatureTitle">
- <runtime>
- <run class="org.eclipse.wst.server.core.internal.ServerProjectNature">
- </run>
- </runtime>
- </extension>
-
- <extension point="org.eclipse.core.resources.builders"
- id="builder"
- name="%builderName">
- <builder>
- <run class="org.eclipse.wst.server.core.internal.ServerBuilder">
- </run>
- </builder>
- </extension>
-
- <extension point="org.eclipse.wst.server.core.publish">
- <publish
- name="%publisherFullName"
- description="%publisherFullDescription"
- class="org.eclipse.wst.server.core.internal.FullPublisher"
- id="org.eclipse.wst.server.core.publish.full">
- </publish>
- <publish
- name="%publisherSmartName"
- description="%publisherSmartDescription"
- class="org.eclipse.wst.server.core.internal.SmartPublisher"
- id="org.eclipse.wst.server.core.publish.smart">
- </publish>
- </extension>
- <extension point="org.eclipse.wst.server.core.moduleKinds">
- <moduleKind
+ <extension point="org.eclipse.wst.server.core.moduleTypes">
+ <moduleType
id="*"
name="%moduleTypeUnknown"/>
</extension>
-
- <extension point="org.eclipse.wst.server.core.moduleFactories">
- <moduleFactory
- projects="false"
- class="org.eclipse.wst.server.core.util.MissingModuleFactoryDelegate"
- id="org.eclipse.wst.server.core.missingModuleFactory">
- </moduleFactory>
- </extension>
-
- <extension point="org.eclipse.wst.server.core.clients">
- <client
- id="org.eclipse.wst.server.core.client.null"
- name="%nullLaunchableClient"
- description="%nullLaunchableClientDescription"
- class="org.eclipse.wst.server.core.util.NullLaunchableClient">
- </client>
- </extension>
</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/schema/clients.exsd b/plugins/org.eclipse.wst.server.core/schema/clients.exsd
index 71277b1..fd60465 100644
--- a/plugins/org.eclipse.wst.server.core/schema/clients.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/clients.exsd
@@ -58,11 +58,11 @@
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IClientDelegate</samp>.
+ specifies the fully qualified name of the Java class that extend <samp>ClientDelegate</samp>.
Clieint instances of this type will delegate to instances of this class to launch.
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.StartupDelegate"/>
</appInfo>
</annotation>
</attribute>
@@ -109,7 +109,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IClientDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.ClientDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
index 3e3eae3..620bfb0 100644
--- a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
@@ -58,11 +58,11 @@
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>ILaunchableAdapterDelegate</samp>.
+ specifies the fully qualified name of the Java class that extends <samp>LaunchableAdapterDelegate</samp>.
Launchable adapter instances of this type will delegate to instances of this class.
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.StartupDelegate"/>
</appInfo>
</annotation>
</attribute>
@@ -93,7 +93,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.ILaunchableAdapterDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.LaunchableAdapterDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleObjectAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
similarity index 85%
rename from plugins/org.eclipse.wst.server.core/schema/moduleObjectAdapters.exsd
rename to plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
index c866b64..c2cd833 100644
--- a/plugins/org.eclipse.wst.server.core/schema/moduleObjectAdapters.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
@@ -3,17 +3,17 @@
<schema targetNamespace="org.eclipse.wst.server.core">
<annotation>
<appInfo>
- <meta.schema plugin="org.eclipse.wst.server.core" id="moduleObjectAdapters" name="Module Object Adapters"/>
+ <meta.schema plugin="org.eclipse.wst.server.core" id="moduleArtifactAdapters" name="Module Artifact Adapters"/>
</appInfo>
<documentation>
- This extension point provides a way to invoke code during the server core plugin startup. Use sparingly.
+
</documentation>
</annotation>
<element name="extension">
<complexType>
<sequence>
- <element ref="moduleObjectAdapter" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="moduleArtifactAdapter" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
@@ -39,7 +39,7 @@
</complexType>
</element>
- <element name="moduleObjectAdapter">
+ <element name="moduleArtifactAdapter">
<annotation>
<appInfo>
<meta.element labelAttribute="name"/>
@@ -58,11 +58,11 @@
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IModuleObjectAdapterDelegate</samp>.
+ specifies the fully qualified name of the Java class that extends <samp>ModuleArtifactAdapterDelegate</samp>.
Module object adapter instances of this type will delegate to instances of this class.
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.StartupDelegate"/>
</appInfo>
</annotation>
</attribute>
@@ -96,7 +96,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
index d345cff..7b12d06 100644
--- a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
@@ -59,11 +59,11 @@
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IModuleFactoryDelegate</samp>.
+ specifies the fully qualified name of the Java class that extends <samp>ModuleFactoryDelegate</samp>.
Module factory instances of this type will delegate to instances of this class.
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.StartupDelegate"/>
</appInfo>
</annotation>
</attribute>
@@ -74,7 +74,7 @@
</documentation>
</annotation>
</attribute>
- <attribute name="index" type="string">
+ <attribute name="order" type="string">
<annotation>
<documentation>
@@ -123,7 +123,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IModuleFactoryDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.ModuleFactoryDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleTasks.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleTasks.exsd
deleted file mode 100644
index c7686cd..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/moduleTasks.exsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.core" id="moduleTasks" name="Module Tasks"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a task that can/should be run on modules before server publishing, startup, etc.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="moduleTask" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="moduleTask">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- </sequence>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique identifier for this extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <samp>IModuleTaskDelegate</samp>.
-Module task instances of this type will delegate to instances of this class.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string">
- <annotation>
- <documentation>
- a comma separated list of server type ids that this task may apply to. Used for memory & performance reasons
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a module task extension point:
-
-<p>
-<pre>
-
-</pre>
-</p>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IModuleTaskDelegate</b>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2003 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleKinds.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd
similarity index 95%
rename from plugins/org.eclipse.wst.server.core/schema/moduleKinds.exsd
rename to plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd
index c21f43c..e59234c 100644
--- a/plugins/org.eclipse.wst.server.core/schema/moduleKinds.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd
@@ -3,7 +3,7 @@
<schema targetNamespace="org.eclipse.wst.server.core">
<annotation>
<appInfo>
- <meta.schema plugin="org.eclipse.wst.server.core" id="moduleKinds" name="Module Kinds"/>
+ <meta.schema plugin="org.eclipse.wst.server.core" id="moduleTypes" name="Module Types"/>
</appInfo>
<documentation>
This extension point is used to provide a new module type.
@@ -13,7 +13,7 @@
<element name="extension">
<complexType>
<sequence>
- <element ref="moduleKind" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="moduleType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
@@ -39,7 +39,7 @@
</complexType>
</element>
- <element name="moduleKind">
+ <element name="moduleType">
<annotation>
<appInfo>
<meta.element labelAttribute="name"/>
diff --git a/plugins/org.eclipse.wst.server.core/schema/publishManager.exsd b/plugins/org.eclipse.wst.server.core/schema/publishManager.exsd
deleted file mode 100644
index aca4811..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/publishManager.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.core" id="publish" name="Publish"/>
- </appInfo>
- <documentation>
- This extension point is used to provide new publish managers.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="publish" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="publish">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- </sequence>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique identifier for this extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <samp>IPublisher</samp>
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IPublishManagerDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- a translatable name used to identify the publisher
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- a translatable description of the publisher
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a publish extension point:
-
-<p>
-<pre>
-
-</pre>
-</p>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IPublishManagerDelegate</b>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2003 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeLocator.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
similarity index 88%
rename from plugins/org.eclipse.wst.server.core/schema/runtimeLocator.exsd
rename to plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
index aab223a..c8194a2 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeLocator.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
@@ -3,7 +3,7 @@
<schema targetNamespace="org.eclipse.wst.server.core">
<annotation>
<appInfo>
- <meta.schema plugin="org.eclipse.wst.server.core" id="runtimeLocator" name="Runtime Locator"/>
+ <meta.schema plugin="org.eclipse.wst.server.core" id="runtimeLocators" name="Runtime Locators"/>
</appInfo>
<documentation>
This extension point is used to locate new runtimes on the local machine.
@@ -70,11 +70,18 @@
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IRuntimeLocatorDelegate</samp>.
+ specifies the fully qualified name of the Java class that extends <samp>RuntimeLocatorDelegate</samp>.
Runtime locator instances of this type will delegate to instances of this class.
</documentation>
</annotation>
</attribute>
+ <attribute name="typeIds" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
</complexType>
</element>
@@ -104,7 +111,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IRuntimeLocatorDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.RuntimeLocatorDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
index b70a429..edc641b 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
@@ -65,7 +65,7 @@
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IRuntimeTargetHandlerDelegate</samp>.
+ specifies the fully qualified name of the Java class that extends <samp>RuntimeTargetHandlerDelegate</samp>.
Runtime target handler instances of this type will delegate to instances of this class.
</documentation>
<appInfo>
@@ -108,7 +108,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IRuntimeTargetHandlerDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
index 3b13299..9d4ad87 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
@@ -94,16 +94,8 @@
<attribute name="class" type="string">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IRuntimeDelegate</samp>.
-Runtime instances of this type will delegate to instances of this class.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="workingCopyClass" type="string">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <samp>IRuntimeWorkingCopyDelegate</samp>.
-Runtime instances of this type will delegate to instances of this class.
+ specifies the fully qualified name of the Java class that extends <samp>RuntimeDelegate</samp>.
+Runtime instances of this type will delegate to instances of this class. Delegates must also have a public 0-arg constructor.
</documentation>
</annotation>
</attribute>
@@ -152,8 +144,7 @@
description="%runtimeTypeDescription"
vendor="%runtimeTypeVendor"
version="1.0"
- class="com.example.ExampleRuntimeDelegate"
- workingCopyClass="com.example.ExampleRuntimeWorkingCopyDelegate">
+ class="com.example.ExampleRuntimeDelegate">
<moduleType
types="j2ee.web"
versions="1.2, 1.3, 1.4"/>
@@ -169,7 +160,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IRuntimeDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.RuntimeDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/serverConfigurationTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverConfigurationTypes.exsd
deleted file mode 100644
index 5d014fc..0000000
--- a/plugins/org.eclipse.wst.server.core/schema/serverConfigurationTypes.exsd
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.core">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.core" id="serverConfigurationTypes" name="Server Configuration Types"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a new server configuration type.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="serverConfigurationType"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="serverConfigurationType">
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name used to identify this server configuration
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string" use="required">
- <annotation>
- <documentation>
- a translatable description of this server configuration type
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <samp>IServerConfigurationDelegate</samp>.
-Server configuration instances of this type will delegate to instances of this class.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="isFolder" type="string">
- <annotation>
- <documentation>
- true if the configuration requires it's own data in a folder
- </documentation>
- </annotation>
- </attribute>
- <attribute name="workingCopyClass" type="string">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <samp>IServerConfigurationWorkingCopyDelegate</samp>.
-Server configuration instances of this type will delegate to instances of this class.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="order" type="string">
- <annotation>
- <documentation>
- an integer order specifying the relative importance of this server configuration type
- </documentation>
- </annotation>
- </attribute>
- <attribute name="importExtensions" type="string">
- <annotation>
- <documentation>
- a comma separated list of import extensions (e.g. "xml", "cfg") that this server configuration could be imported using
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a server configuration type extension point:
-
-<p>
-<pre>
- <extension point="org.eclipse.wst.server.core.serverConfigurationTypes">
- <serverConfigurationType
- id="com.example.serverConfiguration"
- name="%serverConfigurationTypeName"
- description="%serverConfigurationTypeDescription"
- isFolder="true"
- class="com.example.ExampleServerConfigurationDelegate"
- workingCopyClass="com.example.ExampleServerConfigurationWorkingCopyDelegate">
- </serverConfigurationType>
- </extension>
-</pre>
-</p>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IServerConfigurationDelegate</b>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2003 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/serverLocator.exsd b/plugins/org.eclipse.wst.server.core/schema/serverLocators.exsd
similarity index 91%
rename from plugins/org.eclipse.wst.server.core/schema/serverLocator.exsd
rename to plugins/org.eclipse.wst.server.core/schema/serverLocators.exsd
index c0b0a93..4a0d42d 100644
--- a/plugins/org.eclipse.wst.server.core/schema/serverLocator.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/serverLocators.exsd
@@ -3,7 +3,7 @@
<schema targetNamespace="org.eclipse.wst.server.core">
<annotation>
<appInfo>
- <meta.schema plugin="org.eclipse.wst.server.core" id="serverLocator" name="Server Locator"/>
+ <meta.schema plugin="org.eclipse.wst.server.core" id="serverLocators" name="Server Locators"/>
</appInfo>
<documentation>
This extension point is used to locate new servers on the local or remote machines.
@@ -75,13 +75,20 @@
</documentation>
</annotation>
</attribute>
- <attribute name="hosts" type="string">
+ <attribute name="supportsRemoteHosts" type="string" use="required">
<annotation>
<documentation>
local and/or remote
</documentation>
</annotation>
</attribute>
+ <attribute name="typeIds" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
</complexType>
</element>
@@ -111,7 +118,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IServerLocatorDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.ServerLocatorDelegate</b>.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd b/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
index f766cd5..b6e832a 100644
--- a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd
@@ -75,7 +75,7 @@
specifies the fully qualified name of the Java class that implements <samp>IMonitor</samp>
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.StartupDelegate"/>
</appInfo>
</annotation>
</attribute>
@@ -102,7 +102,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IServerMonitorDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.ServerMonitorDelegate</b>.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/serverTasks.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTasks.exsd
index 3a6009b..b8bf0c6 100644
--- a/plugins/org.eclipse.wst.server.core/schema/serverTasks.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/serverTasks.exsd
@@ -62,11 +62,11 @@
Server task instances of this type will delegate to instances of this class.
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.StartupDelegate"/>
</appInfo>
</annotation>
</attribute>
- <attribute name="typeIds" type="string">
+ <attribute name="typeIds" type="string" use="required">
<annotation>
<documentation>
a comma separated list of server type ids that this task may apply to. Used for memory & performance reasons
@@ -96,7 +96,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IServerTaskDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.ServerTaskDelegate</b>.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
index 057b0c8..812e6b8 100644
--- a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
@@ -50,13 +50,6 @@
</documentation>
</annotation>
</attribute>
- <attribute name="runtimeTypeId" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
@@ -71,26 +64,33 @@
</documentation>
</annotation>
</attribute>
- <attribute name="class" type="string">
+ <attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IServerDelegate</samp>.
-Server instances of this type will delegate to instances of this class.
+ specifies the fully qualified name of the Java class that extends <samp>org.eclipse.wst.server.core.model.ServerDelegate</samp>.
+Server instances of this type will delegate to instances of this class. Delegates must also have a public 0-arg constructor.
</documentation>
</annotation>
</attribute>
- <attribute name="workingCopyClass" type="string">
+ <attribute name="behaviourClass" type="string">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IServerWorkingCopyDelegate</samp>.
-Server instances of this type will delegate to instances of this class.
+ specifies the fully qualified name of the Java class that implements <samp>org.eclipse.wst.server.core.model.ServerBehaviourDelegate</samp>.
+Server instances of this type will delegate to instances of this class. Delegates must also have a public 0-arg constructor.
</documentation>
</annotation>
</attribute>
- <attribute name="configurationTypeId" type="string">
+ <attribute name="hasConfiguration" type="boolean">
<annotation>
<documentation>
- the id of the server configuration type that this server requires
+ true if this server has server configuration files
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="runtimeTypeId" type="string" use="required">
+ <annotation>
+ <documentation>
+
</documentation>
</annotation>
</attribute>
@@ -115,10 +115,10 @@
</documentation>
</annotation>
</attribute>
- <attribute name="hosts" type="string">
+ <attribute name="supportsRemoteHosts" type="string">
<annotation>
<documentation>
- local and/or remote
+ true if this server type can work with remote host names, false if this server type can only work on localhost. if unspecified, false is assumed
</documentation>
</annotation>
</attribute>
@@ -129,13 +129,6 @@
</documentation>
</annotation>
</attribute>
- <attribute name="monitorable" type="boolean">
- <annotation>
- <documentation>
- "true" if the class implements IMonitorableServer, and "false" otherwise
- </documentation>
- </annotation>
- </attribute>
<attribute name="launchModes" type="string">
<annotation>
<documentation>
@@ -143,13 +136,6 @@
</documentation>
</annotation>
</attribute>
- <attribute name="testEnvironment" type="string">
- <annotation>
- <documentation>
- "true" if this server should not be creatable unless there is an existing runtime with the test environment flag set to true, "false" otherwise
- </documentation>
- </annotation>
- </attribute>
<attribute name="initialState" type="string">
<annotation>
<documentation>
@@ -164,6 +150,20 @@
</documentation>
</annotation>
</attribute>
+ <attribute name="startTimeout" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="stopTimeout" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
</complexType>
</element>
@@ -202,7 +202,9 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IServerDelegate</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends the abstract class <b>org.eclipse.wst.server.core.model.ServerDelegate</b> and has a public 0-arg constructor.
+
+Value of the attribute <b>behaviourClass</b> must be a fully qualified name of a Java class that extends the abstract class <b>org.eclipse.wst.server.core.model.ServerBehaviourDelegate</b> and has a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/schema/startup.exsd b/plugins/org.eclipse.wst.server.core/schema/startup.exsd
index 74c6f36..1506bad 100644
--- a/plugins/org.eclipse.wst.server.core/schema/startup.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/startup.exsd
@@ -58,10 +58,10 @@
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
- specifies the fully qualified name of the Java class that implements <samp>IStartup</samp>
+ specifies the fully qualified name of the Java class that extends <samp>StartupDelegate</samp>
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.IStartup"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.StartupDelegate"/>
</appInfo>
</annotation>
</attribute>
@@ -92,7 +92,7 @@
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.wst.server.core.model.IStartup</b>.
+ Value of the attribute <b>class</b> must be a fully qualified name of a Java class that extends <b>org.eclipse.wst.server.core.model.StartupDelegate</b> and contains a public 0-arg constructor.
</documentation>
</annotation>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IClient.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IClient.java
index b4406cd..b45b0de 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IClient.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IClient.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -12,9 +12,6 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.debug.core.ILaunch;
-
-import org.eclipse.wst.server.core.model.IClientDelegate;
-import org.eclipse.wst.server.core.model.ILaunchable;
/**
* A launchable client is a client side application or test
* harness that can be launched (run) against a resource
@@ -24,38 +21,39 @@
*/
public interface IClient {
/**
- * Returns the id of the adapter.
- *
- * @return java.lang.String
+ * Returns the id of this client. Each known client has a distinct id.
+ * Ids are intended to be used internally as keys; they are not
+ * intended to be shown to end users.
+ *
+ * @return the client id
*/
public String getId();
/**
- * Returns the label (name) of this client.
- *
- * @return java.lang.String
+ * Returns the displayable name for this client.
+ * <p>
+ * Note that this name is appropriate for the current locale.
+ * </p>
+ *
+ * @return a displayable name for this client
*/
public String getName();
/**
- * Returns the description of this client.
- *
- * @return java.lang.String
+ * Returns the displayable description for this client.
+ * <p>
+ * Note that this description is appropriate for the current locale.
+ * </p>
+ *
+ * @return a displayable description for this client
*/
public String getDescription();
/**
- * Returns the delegate for this launchable client
- *
- * @return org.eclipse.wst.server.core.model.ILaunchableClientDelegate
- */
- public IClientDelegate getDelegate();
-
- /**
* Returns true if this launchable can be run by this client.
*
- * @param server org.eclipse.wst.server.core.model.IServer
- * @param launchable org.eclipse.wst.server.core.model.ILaunchable
+ * @param server org.eclipse.wst.server.core.IServer
+ * @param launchable org.eclipse.wst.server.core.ILaunchable
* @param launchMode String
* @return boolean
*/
@@ -64,11 +62,11 @@
/**
* Launches the client.
*
- * @param server org.eclipse.wst.server.core.model.IServer
- * @param launchable org.eclipse.wst.server.core.model.ILaunchable
- * @param launchMode String
- * @param launch org.eclipse.debug.core.ILaunch
- * @return org.eclipse.core.runtime.IStatus
+ * @param server
+ * @param launchable
+ * @param launchMode
+ * @param launch
+ * @return
*/
public IStatus launch(IServer server, ILaunchable launchable, String launchMode, ILaunch launch);
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElement.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElement.java
index e43316e..b201748 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElement.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElement.java
@@ -10,9 +10,6 @@
**********************************************************************/
package org.eclipse.wst.server.core;
-import java.util.List;
-import java.util.Map;
-
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
/**
@@ -93,20 +90,6 @@
* @return boolean
*/
public boolean isWorkingCopy();
-
- /**
- * Returns true if there are working copies that have not been saved or released.
- *
- * @return boolean
- */
- public boolean isWorkingCopiesExist();
-
- /**
- * Returns true if there is a working copy that is dirty.
- *
- * @return boolean
- */
- public boolean isAWorkingCopyDirty();
/**
* Returns true if the plugin containing the delegate is loaded.
@@ -122,16 +105,6 @@
*/
public boolean isDelegateLoaded();
- public int getAttribute(String attributeName, int defaultValue);
-
- public boolean getAttribute(String attributeName, boolean defaultValue);
-
- public String getAttribute(String attributeName, String defaultValue);
-
- public List getAttribute(String attributeName, List defaultValue);
-
- public Map getAttribute(String attributeName, Map defaultValue);
-
public IStatus validateEdit(Object context);
public int getTimestamp();
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElementWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElementWorkingCopy.java
index a739f46..96135a1 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElementWorkingCopy.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IElementWorkingCopy.java
@@ -1,6 +1,6 @@
/**********************************************************************
* Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -11,8 +11,6 @@
package org.eclipse.wst.server.core;
import java.beans.PropertyChangeListener;
-import java.util.List;
-import java.util.Map;
/**
* Provides additional methods common to working copies of an element.
* <p>
@@ -22,62 +20,7 @@
* @since 1.0
*/
public interface IElementWorkingCopy extends IElement {
-
- /**
- * Sets the value of the specified integer-valued attribute of this
- * element.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see IElement#getAttribute(String, int)
- */
- public void setAttribute(String id, int value);
-
- /**
- * Sets the value of the specified boolean-valued attribute of this
- * element.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see IElement#getAttribute(String, boolean)
- */
- public void setAttribute(String id, boolean value);
-
- /**
- * Sets the value of the specified string-valued attribute of this
- * element.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see IElement#getAttribute(String, String)
- */
- public void setAttribute(String id, String value);
-
- /**
- * Sets the value of the specified list-valued attribute of this
- * element.
- * <p>
- * [issue: Serialization/deserialization]
- * </p>
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see IElement#getAttribute(String, List)
- */
- public void setAttribute(String id, List value);
-
- /**
- * Sets the value of the specified map-valued attribute of this
- * element.
- * <p>
- * [issue: Serialization/deserialization]
- * </p>
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see IElement#getAttribute(String, Map)
- */
- public void setAttribute(String id, Map value);
+ public static final int TIMESTAMP_ERROR = 5;
/**
* Sets the displayable name for this element.
@@ -127,15 +70,6 @@
* changes, and <code>false</code> otherwise
*/
public boolean isDirty();
-
- /**
- * Releases this working copy.
- * <p>
- * Element implementations retain internal references to
- * extant working copies. Calling this method drop that reference.
- * </p>
- */
- public void release();
/**
* Adds a property change listener to this server.
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchable.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchable.java
similarity index 71%
rename from plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchable.java
rename to plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchable.java
index d5a940d..21cc1e2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ILaunchable.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchable.java
@@ -1,5 +1,5 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
* Contributors:
* IBM Corporation - Initial API and implementation
**********************************************************************/
-package org.eclipse.wst.server.core.model;
+package org.eclipse.wst.server.core;
/**
* A launchable is a "reference" to a module object. The
* module object is the actual resource on the server; the
@@ -17,9 +17,11 @@
*/
public interface ILaunchable {
/**
- * Returns the id of this launchable.
+ * Returns the id of this launchable. Each known launchable has a distinct id.
+ * Ids are intended to be used internally as keys; they are not
+ * intended to be shown to end users.
*
- * @return java.lang.String
+ * @return the launchable id
*/
public String getId();
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchableAdapter.java
index c1a25dd..00d949b 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchableAdapter.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ILaunchableAdapter.java
@@ -1,6 +1,6 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
@@ -11,36 +11,30 @@
package org.eclipse.wst.server.core;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.model.*;
/**
* This interface, typically implemented by the server
- * code, converts from an IModuleObject to an
+ * code, converts from an IModuleArtifact to an
* ILaunchable.
*
* <p>This interface is not intended to be implemented by clients.</p>
*/
public interface ILaunchableAdapter {
/**
- * Returns the id of the adapter.
- *
- * @return java.lang.String
+ * Returns the id of this adapter. Each known adapter has a distinct id.
+ * Ids are intended to be used internally as keys; they are not
+ * intended to be shown to end users.
+ *
+ * @return the adapter id
*/
public String getId();
/**
- * Returns the delegate for this launchable adapter.
- *
- * @return org.eclipse.wst.server.core.model.ILaunchableAdapterDelegate
- */
- public ILaunchableAdapterDelegate getDelegate();
-
- /**
* Returns a launchable object from this module object.
*
- * @param server org.eclipse.wst.server.core.model.IServer
- * @param moduleObject org.eclipse.wst.server.core.model.IModuleObject
- * @param org.eclipse.wst.server.core.model.ILaunchable
- * @exception org.eclipse.core.runtime.CoreException
+ * @param server
+ * @param moduleObject
+ * @return
+ * @exception
*/
- public ILaunchable getLaunchable(IServer server, IModuleObject moduleObject) throws CoreException;
-}
+ public ILaunchable getLaunchable(IServer server, IModuleArtifact moduleObject) throws CoreException;
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java
similarity index 75%
rename from plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModule.java
rename to plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java
index 39824bb..7f9e8ae 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModule.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java
@@ -8,12 +8,13 @@
* Contributors:
* IBM Corporation - Initial API and implementation
**********************************************************************/
-package org.eclipse.wst.server.core.model;
+package org.eclipse.wst.server.core;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.resources.IModuleResource;
+import org.eclipse.wst.server.core.model.IModuleListener;
/**
* A module is a unit of "content" that can be published to a
* server.
@@ -23,8 +24,8 @@
* "kinds") is open-ended.
* </p>
* <p>
- * All modules are created by module factories
- * ({@link org.eclipse.wst.server.core.IModuleFactory}).
+ * All modules are created by module factories using the moduleFactories
+ * extension point.
* </p>
* <p>
* The content of a module is a collection of file and folder
@@ -38,14 +39,6 @@
* with.
* </p>
* <p>
- * [issue: IModule is something that is exposed to normal
- * clients; it should move to org.eclipse.wst.server.core package.]
- * </p>
- * <p>
- * [issue: See issues on IModuleType about why it should not
- * be a superinterface of IModule.]
- * </p>
- * <p>
* [issue: Equality/identify for modules?]
* </p>
* <p>
@@ -60,8 +53,7 @@
*
* @since 1.0
*/
-public interface IModule extends IModuleType {
-
+public interface IModule extends IAdaptable {
/**
* Returns the id of this module.
* Each module has a distinct id, used to distinguish this
@@ -74,10 +66,7 @@
public String getId();
/**
- * Validates the contents of this module.
- * <p>
- * [issue: Need to define what the "contents" of a module means.]
- * </p>
+ * Validates this module.
* <p>
* [issue: Conjecture: Each different type of module prescribes
* legal arrangements of, and the significance of, the files within
@@ -99,15 +88,6 @@
* [issue: All existing implementations of this return null,
* which is illegal.]
* </p>
- *
- * @return a status object with code <code>IStatus.OK</code> if the given
- * module is valid, otherwise a status object indicating what is
- * wrong with it
- */
- public IStatus validate();
-
- /**
- * Determines whether this module can be published.
* <p>
* [issue: Old comment said: "Returns an IStatus that is used to determine if this object can
* be published to the server." Since the same module can
@@ -115,13 +95,6 @@
* ill-defined.]
* </p>
* <p>
- * [issue: How is this predicate different from validate()?]
- * </p>
- * <p>
- * [issue: All existing implementations of this return null,
- * which is illegal.]
- * </p>
- * <p>
* [issue: Old comment said: "Should return an error if there
* is a major problem with the resources, or can be used to
* return warnings on unsaved files, etc." It is usually
@@ -130,10 +103,10 @@
* </p>
*
* @return a status object with code <code>IStatus.OK</code> if the given
- * module can be published, otherwise a status object indicating what is
+ * module is valid, otherwise a status object indicating what is
* wrong with it
*/
- public IStatus canPublish();
+ public IStatus validate(IProgressMonitor monitor);
/**
* Returns the root resources of this module. All members
@@ -150,7 +123,7 @@
* @return the members of this module
* @throws CoreException [missing]
*/
- public IModuleResource[] members() throws CoreException;
+ //public IModuleResource[] members() throws CoreException;
/**
* Returns the displayable name for this module.
@@ -163,23 +136,16 @@
public String getName();
/**
- * Returns the id of the module factory that created this module.
- * <p>
- * [issue: What is the rationale for exposing the module factory
- * at all. Is there a reason a client would want to know this?]
- * </p>
- * <p>
- * [issue: Consider returning the IModuleFactory instead.]
- * </p>
- *
- * @return the module factory id
+ * Returns the type of this module.
+ *
+ * @return
*/
- public String getFactoryId();
+ public IModuleType getModuleType();
/**
* Returns whether this module currently exists.
* <p>
- * [issue: The method touches on the important issue
+ * [issue: The method touches on the important problem
* of when a module ceases to exist. Need to explain
* the full lifecycle of a module.
* Should it be synonymous with the module root
@@ -191,11 +157,20 @@
* @return <code>true</code> this module currently exists, and
* <code>false</code> if it has been deleted or moved
*/
- public boolean exists();
+ //public boolean exists();
+
+ /**
+ * Returns the workbench project that this module is contained in,
+ * or null if the module is outside of the workspace.
+ *
+ * @return org.eclipse.core.resources.IProject
+ */
+ public IProject getProject();
/**
* Add a listener for child module that are added/removed from this
* module.
+ * Has no effect if an identical listener is already registered.
*
* @param listener org.eclipse.wst.server.core.model.IModuleListener
*/
@@ -204,6 +179,7 @@
/**
* Add a listener for child modules that are added/removed from this
* module.
+ * Has no effect if the listener is not registered.
*
* @param listener org.eclipse.wst.server.core.model.IModuleListener
*/
@@ -214,5 +190,5 @@
*
* @return org.eclipse.wst.server.core.model.IModule[]
*/
- public IModule[] getChildModules();
+ public IModule[] getChildModules(IProgressMonitor monitor);
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObject.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java
similarity index 65%
rename from plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObject.java
rename to plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java
index d26f366..babb4f7 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleObject.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java
@@ -1,5 +1,5 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,26 +8,27 @@
* Contributors:
* IBM Corporation - Initial API and implementation
**********************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import org.eclipse.wst.server.core.model.IModule;
+package org.eclipse.wst.server.core;
/**
* A module object is a resource within a module,
* which can be launched on the server. Examples of module
* objects could include servlets, HTML pages, or EJB beans.
*/
-public interface IModuleObject {
+public interface IModuleArtifact {
/**
- * Returns the id of this module object.
+ * Returns the id of this module object. Each known
+ * module object has a distinct id.
+ * Ids are intended to be used internally as keys; they are not
+ * intended to be shown to end users.
*
- * @return java.lang.String
+ * @return the module object id
*/
public String getId();
/**
* Returns the module that this object is a part of.
*
- * @return org.eclipse.wst.server.core.model.IModule
+ * @return org.eclipse.wst.server.core.IModule
*/
public IModule getModule();
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleObjectAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifactAdapter.java
similarity index 61%
rename from plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleObjectAdapter.java
rename to plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifactAdapter.java
index 732623a..d7c41f2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleObjectAdapter.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifactAdapter.java
@@ -1,5 +1,5 @@
/**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,9 +9,6 @@
* IBM Corporation - Initial API and implementation
**********************************************************************/
package org.eclipse.wst.server.core;
-
-import org.eclipse.wst.server.core.model.IModuleObject;
-import org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate;
/**
* A module object adapter converts from some view's model
* object into a module object that is recognized by the
@@ -19,21 +16,23 @@
*
* <p>This interface is not intended to be implemented by clients.</p>
*/
-public interface IModuleObjectAdapter {
+public interface IModuleArtifactAdapter {
/**
- * Returns the id of the adapter.
- *
- * @return java.lang.String
+ * Returns the id of this adapter. Each known adapter has a distinct id.
+ * Ids are intended to be used internally as keys; they are not
+ * intended to be shown to end users.
+ *
+ * @return the adapter id
*/
public String getId();
-
+
/**
* Returns the (super) class name that this adapter can work with.
*
* @return java.lang.String
*/
public String getObjectClassName();
-
+
/**
* Returns true if the plugin that loaded this class has been loaded.
*
@@ -42,17 +41,10 @@
public boolean isPluginActivated();
/**
- * Returns the delegate for this module object adapter.
+ * Converts from a model object to an IModuleArtifact.
*
- * @return org.eclipse.wst.server.core.model.IModuleObjectAdapterDelegate
+ * @param obj
+ * @return
*/
- public IModuleObjectAdapterDelegate getDelegate();
-
- /**
- * Converts from a model object to an IModuleObject.
- *
- * @param obj java.lang.Object
- * @return org.eclipse.wst.server.core.model.IModuleObject
- */
- public IModuleObject getModuleObject(Object obj);
-}
+ public IModuleArtifact getModuleObject(Object obj);
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleFactory.java
deleted file mode 100644
index afc934b..0000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleFactory.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.core;
-
-import java.util.List;
-
-import org.eclipse.wst.server.core.model.IModule;
-import org.eclipse.wst.server.core.model.IModuleFactoryDelegate;
-import org.eclipse.wst.server.core.model.IModuleFactoryListener;
-/**
- * A factory for creating modules.
- * <p>
- * The server core framework supports
- * an open-ended set of module factories, which are contributed via
- * the <code>moduleFactories</code> extension point in the server core
- * plug-in. The global list of module factories is available via
- * {@link ServerCore#getModuleFactories()}.
- * </p>
- * <p>
- * [issue: Module factories have no display name, suggesting that
- * they never need to be shown to users.]
- * </p>
- * <p>
- * [issue: Are module factories SPI-side objects, or do
- * normal clients need access to them?]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * [issue: It is notoriously difficult to place any kind of
- * useful order on objects that are contributed independently by
- * non-collaborating parties. The IOrdered mechanism is weak, and
- * can't really solve the problem. Issues of presentation are usually
- * best left to the UI, which can sort objects based on arbitrary
- * properties.]
- * </p>
- * <p>
- * <it>Caveat: The server core API is still in an early form, and is
- * likely to change significantly before the initial release.</it>
- * </p>
- *
- * @since 1.0
- */
-public interface IModuleFactory extends IOrdered {
-
- /**
- * Returns the id of this module factory.
- * Each known module factory has a distinct id.
- * Ids are intended to be used internally as keys; they are not
- * intended to be shown to end users.
- *
- * @return the module factory id
- */
- public String getId();
-
- /**
- * Returns the types of modules that the factory is capable of
- * producing.
- * <p>
- * [issue: The list returned is precious. You would not want a client
- * to accidentally or malicously whack it. Normal practice is to
- * return an array instead of a List, and to return a new copy each call.
- * This allows the spec to say that the client can do what they want
- * with the result, and that it won't change under foot.
- * Another alternative is to return a UnmodifiableList implementation
- * so that clients cannot modify.]
- * </p>
- *
- * @return a list of module types (element type: {@link IModuleType})
- */
- public List getModuleTypes();
-
- /**
- * Returns whether this module factory produces project modules.
- * <p>
- * [issue: This surfaces the "projects" attribute of the
- * moduleFactory element. What is the significance of this?
- * (There are no senders of this method.)]
- * </p>
- *
- * @return <code>true</code> if it can produce project modules,
- * and <code>false</code> if it cannot
- */
- public boolean isProjectModuleFactory();
-
- /**
- * Returns the delegate for this module factory.
- * The module factory delegate is a module-factory-specific object.
- * <p>
- * [issue: If module factories are SPI-side objects, then
- * exposing the delegate is probably fine. If module factories
- * are available to clients, you'll want to keep the delegate
- * out of the client's hands.]
- * </p>
- *
- * @return the module factory delegate
- */
- public IModuleFactoryDelegate getDelegate();
-
- /**
- * Finds a module create by this factory with the given id.
- * <p>
- * [issue: Does this "create" a module with the given id?
- * That's what you'd expect of a factory. But a module has
- * a module type and module resources, neither of which are
- * in evidence. And since a module factory can create
- * several types of modules, that seems to rule this out
- * as "creating" a module. Is "discovering" a module the
- * correct interpretation?
- * The (abstract) P