diff options
Diffstat (limited to 'plugins')
781 files changed, 0 insertions, 83393 deletions
diff --git a/plugins/org.eclipse.jst.server.core/.classpath b/plugins/org.eclipse.jst.server.core/.classpath deleted file mode 100644 index 8eae54620..000000000 --- a/plugins/org.eclipse.jst.server.core/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="sjavacore/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.jst.server.core/.cvsignore b/plugins/org.eclipse.jst.server.core/.cvsignore deleted file mode 100644 index 1697fa151..000000000 --- a/plugins/org.eclipse.jst.server.core/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -build.xml -org.eclipse.jst.server.core_3.0.0.jar -sjavacore.jar -temp.folder -@dot -src.zip diff --git a/plugins/org.eclipse.jst.server.core/.options b/plugins/org.eclipse.jst.server.core/.options deleted file mode 100644 index 7da2b5442..000000000 --- a/plugins/org.eclipse.jst.server.core/.options +++ /dev/null @@ -1,4 +0,0 @@ -# Debugging options for the org.eclipse.jst.server.core plugin - -# Turn on general debugging -org.eclipse.jst.server.core/debug=true diff --git a/plugins/org.eclipse.jst.server.core/.project b/plugins/org.eclipse.jst.server.core/.project deleted file mode 100644 index 7d5e17d5b..000000000 --- a/plugins/org.eclipse.jst.server.core/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.jst.server.core</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF deleted file mode 100644 index d7b769786..000000000 --- a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,21 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.jst.server.core; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.jst.server.core.internal.JavaServerPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.jst.server.core, - org.eclipse.jst.server.core.internal;x-friends:="org.eclipse.jst.server.ui", - org.eclipse.jst.server.core.internal.cactus;x-friends:="org.eclipse.jst.server.ui" -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.core.expressions, - org.eclipse.debug.core, - org.eclipse.jdt.core, - org.eclipse.jdt.launching, - org.eclipse.wst.server.core, - org.eclipse.wst.common.project.facet.core, - org.eclipse.jst.common.project.facet.core -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.jst.server.core/about.html b/plugins/org.eclipse.jst.server.core/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.jst.server.core/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/build.properties b/plugins/org.eclipse.jst.server.core/build.properties deleted file mode 100644 index 0ba4473b8..000000000 --- a/plugins/org.eclipse.jst.server.core/build.properties +++ /dev/null @@ -1,21 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - plugin.properties,\ - .,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -src.includes = schema/,\ - component.xml -source.. = sjavacore/ diff --git a/plugins/org.eclipse.jst.server.core/component.xml b/plugins/org.eclipse.jst.server.core/component.xml deleted file mode 100644 index e458e3d16..000000000 --- a/plugins/org.eclipse.jst.server.core/component.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jst.server"> -<component-depends unrestricted="true"/> - <plugin id="org.eclipse.jst.server.core" fragment="false"/> -<!-- <package name="org.eclipse.jst.server.core"> - <type name="IConnectorModule"/> - <type name="IEJBModule"/> - <type name="IJ2EEModule"/> - <type name="Servlet"/> - <type name="IWebModule"/> - <type name="IEnterpriseApplication"/> - <type name="JndiObject"/> - <type name="ClasspathRuntimeTargetHandler"/> - <type name="IApplicationClientModule"/> - <type name="EJBBean"/> - <type name="JndiLaunchable"/> - <type name="PublishUtil"/> - <type name="IJavaRuntime"/> - </package>--> - - <plugin id="org.eclipse.jst.server.ui" fragment="false"/> - - <plugin id="org.eclipse.jst.server.generic.core" fragment="false"/> - - <plugin id="org.eclipse.jst.server.generic.serverdefinitions" fragment="false"/> - - <plugin id="org.eclipse.jst.server.generic.ui" fragment="false"/> - - <plugin id="org.eclipse.jst.server.tomcat.core" fragment="false"/> - - <plugin id="org.eclipse.jst.server.tomcat.ui" fragment="false"/> - - <plugin id="org.eclipse.jst.server.websphere.core" fragment="false"/> -</component>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/plugin.properties b/plugins/org.eclipse.jst.server.core/plugin.properties deleted file mode 100644 index 21465ad2b..000000000 --- a/plugins/org.eclipse.jst.server.core/plugin.properties +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=Java Server Support -providerName=Eclipse.org - -extensionPointRuntimeClasspathProviders=Runtime Classpath Providers -extensionPointRuntimeFacetMapping=Runtime Facet Mappings - -runtimeTypeName=J2EE Runtime Library -runtimeTypeDescription=A runtime that represents a set of J2EE runtime libraries. - -moduleTypeJ2EEWebName=J2EE Web module -moduleTypeJ2EEEJBName=J2EE EJB module -moduleTypeJ2EERARName=J2EE Connector module -moduleTypeJ2EEClientName=J2EE Application Client module -moduleTypeJ2EEEARName=J2EE Enterprise application -moduleTypeJ2EEUtilityName=J2EE utility jar - -launchableJndi=JNDI Object -launchableJndiDescription=Silently start an object locatable by JNDI.
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/plugin.xml b/plugins/org.eclipse.jst.server.core/plugin.xml deleted file mode 100644 index 9cc917300..000000000 --- a/plugins/org.eclipse.jst.server.core/plugin.xml +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - <extension-point id="runtimeClasspathProviders" name="%extensionPointRuntimeClasspathProviders" schema="schema/runtimeClasspathProviders.exsd"/> - <extension-point id="runtimeFacetMappings" name="%extensionPointRuntimeFacetMappings" schema="schema/runtimeFacetMappings.exsd"/> - - <extension point="org.eclipse.jdt.core.classpathContainerInitializer"> - <classpathContainerInitializer - id="org.eclipse.jst.server.core.container" - class="org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer"/> - </extension> - - <extension point="org.eclipse.wst.server.core.moduleTypes"> - <moduleType - id="jst.web" - name="%moduleTypeJ2EEWebName"/> - <moduleType - id="jst.ejb" - name="%moduleTypeJ2EEEJBName"/> - <moduleType - id="jst.appclient" - name="%moduleTypeJ2EEClientName"/> - <moduleType - id="jst.connector" - name="%moduleTypeJ2EERARName"/> - <moduleType - id="jst.ear" - name="%moduleTypeJ2EEEARName"/> - <moduleType - id="jst.utility" - name="%moduleTypeJ2EEUtilityName"/> - </extension> - - <extension point="org.eclipse.wst.server.core.runtimeTypes"> - <runtimeType - id="org.eclipse.jst.server.core.runtimeType" - name="%runtimeTypeName" - description="%runtimeTypeDescription" - class="org.eclipse.jst.server.core.internal.GenericRuntime"> - <moduleType - types="jst.*" - versions="*"/> - </runtimeType> - </extension> - - <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders"> - <runtimeClasspathProvider - id="org.eclipse.jst.server.core.runtimeTarget" - runtimeTypeIds="org.eclipse.jst.server.core.runtimeType" - class="org.eclipse.jst.server.core.internal.GenericRuntimeClasspathProvider"/> - </extension> - - <extension point="org.eclipse.core.expressions.propertyTesters"> - <propertyTester - namespace="org.eclipse.jst.cactus.expressions" - type="org.eclipse.core.runtime.IAdaptable" - class="org.eclipse.jst.server.core.internal.cactus.ServletTestCasePropertyTester" - properties="isServletTestCase" - id="org.eclipse.jst.server.cactus.expression"/> - </extension> - - <extension point="org.eclipse.wst.server.core.moduleArtifactAdapters"> - <moduleArtifactAdapter - id="org.eclipse.jst.server.cactus.moduleArtifactAdapter" - class="org.eclipse.jst.server.core.internal.cactus.CactusModuleArtifactAdapterDelegate" - priority="10"> - <enablement> - <or> - <instanceof value="org.eclipse.jdt.core.IMethod"/> - <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/> - <instanceof value="org.eclipse.jdt.core.IType"/> - </or> - </enablement> - </moduleArtifactAdapter> - </extension> - - <extension point="org.eclipse.wst.server.core.launchableAdapters"> - <launchableAdapter - id="org.eclipse.jst.server.cactus.launchableAdapter" - class="org.eclipse.jst.server.core.internal.cactus.CactusLaunchableAdapterDelegate"/> - </extension> - - <extension point="org.eclipse.wst.server.core.clients"> - <client - id="org.eclipse.jst.server.jndi" - name="%launchableJndi" - description="%launchableJndiDescription" - priority="-100" - launchable="org.eclipse.jst.server.core.JndiLaunchable" - class="org.eclipse.jst.server.core.internal.J2EELaunchableClient"/> - </extension> - - <extension point="org.eclipse.wst.common.project.facet.core.runtimes"> - <runtime-component-type id="standard.jre"/> - - <runtime-component-version - type="standard.jre" - version="1.3"/> - <runtime-component-version - type="standard.jre" - version="1.4"/> - <runtime-component-version - type="standard.jre" - version="5.0"/> - - <adapter> - <runtime-component id="standard.jre"/> - <factory class="org.eclipse.jst.server.core.internal.StandardJreClasspathProvider$Factory"/> - <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/> - </adapter> - - <supported> - <facet id="jst.java" version="1.3"/> - <runtime-component id="standard.jre" version=">=1.3"/> - </supported> - - <supported> - <facet id="jst.java" version="1.4"/> - <runtime-component id="standard.jre" version=">=1.4"/> - </supported> - - <supported> - <facet id="jst.java" version="5.0"/> - <runtime-component id="standard.jre" version=">=5.0"/> - </supported> - </extension> - - <extension point="org.eclipse.wst.common.project.facet.core.runtimeBridges"> - <bridge - id="org.eclipse.jst.server.core.default" - class="org.eclipse.jst.server.core.internal.RuntimeBridge"/> - </extension> - - <extension point="org.eclipse.wst.common.project.facet.core.runtimes"> - <runtime-component-type - id="org.eclipse.jst.server.core.runtimeType"/> - - <runtime-component-version - type="org.eclipse.jst.server.core.runtimeType" - version="1.0"/> - - <adapter> - <runtime-component - id="org.eclipse.jst.server.core.runtimeType"/> - <factory - class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/> - <type - class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/> - </adapter> - - <supported> - <runtime-component - id="org.eclipse.jst.server.core.runtimeType" - version="1.0"/> - <facet - id="jst.web" - version="2.2,2.3,2.4"/> - <facet - id="jst.ejb" - version="1.1,2.0,2.1"/> - <facet - id="jst.ear" - version="1.2,1.3,1.4"/> - <facet - id="jst.connector" - version="1.0,1.5"/> - <facet - id="jst.appclient" - version="1.2,1.3,1.4"/> - <facet - id="jst.utility" - version="1.0"/> - </supported> - </extension> - - <extension point="org.eclipse.jst.server.core.runtimeFacetMappings"> - <runtimeFacetMapping - runtimeTypeId="org.eclipse.jst.server.core.runtimeType" - runtime-component="org.eclipse.jst.server.core.runtimeType" - version="1.0"/> - </extension> - -</plugin>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/schema/runtimeClasspathProviders.exsd b/plugins/org.eclipse.jst.server.core/schema/runtimeClasspathProviders.exsd deleted file mode 100644 index 33ae4d421..000000000 --- a/plugins/org.eclipse.jst.server.core/schema/runtimeClasspathProviders.exsd +++ /dev/null @@ -1,137 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.jst.server.core"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.jst.server.core" id="runtimeClasspathProviders" name="Runtime Classpath Providers"/> - </appInfo> - <documentation> - This extension point is used to provide a new runtime classpath provider. Runtime classpath providers provide the classpath for Java server runtimes. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="runtimeClasspathProvider" 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="runtimeClasspathProvider"> - <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="runtimeTypeIds" type="string" use="required"> - <annotation> - <documentation> - a comma separated list of runtime type ids that this provider may support. Used for memory & performance reasons - </documentation> - </annotation> - </attribute> - <attribute name="class" type="string" use="required"> - <annotation> - <documentation> - specifies the fully qualified name of the Java class that extends <samp>RuntimeClasspathProviderDelegate</samp>. -Runtime classpath provider instances of this type will delegate to instances of this class. - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn="org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - 1.0 - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a runtime classpath provider extension point: - -<pre> - <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders"> - <runtimeClasspathProvider - id="com.example.runtimeClasspathProvider" - runtimeTypeIds="com.example.runtime, com.example2.*" - class="com.example.ExampleRuntimeClasspathProvider"/> - </extension> -</pre> - </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 extends <b>org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate</b> and contains a public 0-arg constructor. - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2000, 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.jst.server.core/schema/runtimeFacetMappings.exsd b/plugins/org.eclipse.jst.server.core/schema/runtimeFacetMappings.exsd deleted file mode 100644 index 0367663af..000000000 --- a/plugins/org.eclipse.jst.server.core/schema/runtimeFacetMappings.exsd +++ /dev/null @@ -1,141 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.jst.server.core"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.jst.server.core" id="runtimeFacetMappings" name="Runtime Facet Mappings"/> - </appInfo> - <documentation> - This extension point is used to map between a facet runtime component and a server runtime type. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="runtimeFacetMapping" 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="runtimeFacetMapping"> - <annotation> - <appInfo> - <meta.element labelAttribute="name"/> - </appInfo> - </annotation> - <complexType> - <sequence> - </sequence> - <attribute name="id" type="string"> - <annotation> - <documentation> - specifies a unique identifier for this extension point - </documentation> - </annotation> - </attribute> - <attribute name="runtimeTypeId" type="string" use="required"> - <annotation> - <documentation> - a runtime type id - </documentation> - </annotation> - </attribute> - <attribute name="runtime-component" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="version" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - 1.0 - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a runtime facet mapping extension point: - -<pre> - <extension point="org.eclipse.jst.server.core.runtimeFacetMappings"> - <runtimeFacetMapping - id="com.example.runtimeClasspathProvider" - runtimeTypeId="com.example.runtime.32" - runtime-component="com.example.ExampleRuntimeClasspathProvider" - version="3.2"/> - </extension> -</pre> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2000, 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> 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 deleted file mode 100644 index 11a4da216..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import java.io.File; -import java.util.List; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.*; -import org.eclipse.jdt.core.*; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate; -/** - * A runtime target handler that supports changing the classpath of the - * project by adding one or more classpath containers. Runtime providers - * can extend this class and implement the abstract methods to provide - * the correct build path for their runtime type. - * - * @deprecated Should use org.eclipse.jst.server.core.runtimeClasspathProviders - * extension point instead - */ -public abstract class ClasspathRuntimeTargetHandler extends RuntimeTargetHandlerDelegate { - /** (non-Javadoc) - * @see RuntimeTargetHandlerDelegate#setRuntimeTarget(IProject, IRuntime, IProgressMonitor) - */ - public void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** (non-Javadoc) - * @see RuntimeTargetHandlerDelegate#removeRuntimeTarget(IProject, IRuntime, IProgressMonitor) - */ - public void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Add library entries to the given list for every jar file found in the - * given directory. Optionally search subdirectories as well. - * - * @param list a list - * @param dir a directory - * @param includeSubdirectories <code>true</code> to include subdirectories, and - * <code>false</code> otherwise - */ - protected static void addLibraryEntries(List list, File dir, boolean includeSubdirectories) { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Returns the classpath entries that correspond to the given runtime. - * - * @param runtime a runtime - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return an array of classpath entries - */ - public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Returns the classpath entry ids for this runtime target handler. These - * ids will be added to the classpath container id to create a new fully - * qualified classpath container id. - * <p> - * By default, there is a single classpath entry for the runtime, with no - * extra id (<code>new String[1]</code>). To create multiple ids, just - * return a string array containing the ids. For instance, to have two - * classpath containers with ids "id1" and "id2", use - * <code>new String[] { "id1", "id2" }</code> - * </p> - * - * @return an array of classpath entry ids - */ - public String[] getClasspathEntryIds() { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Request that the classpath container for the given runtime and id be updated - * with the given classpath container entries. - * - * @param runtime a runtime - * @param id an id - * @param entries an array of classpath entries - */ - public void requestClasspathContainerUpdate(IRuntime runtime, String id, IClasspathEntry[] entries) { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Returns the classpath container label for the given runtime and the given - * classpath container id (returned from getClasspathEntryIds()). This method - * must not return null. - * - * @param runtime the runtime to resolve the container label for - * @param id the classpath entry id - * @return a classpath container label - */ - public abstract String getClasspathContainerLabel(IRuntime runtime, String id); - - /** - * Resolve the classpath container. - * - * @param runtime a runtime - * @param id a container id - * @return a possibly empty array of classpath entries - */ - public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime, String id) { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Resolves (creates the classpath entries for) the classpath container with - * the given runtime and the given classpath container id (returned from - * getClasspathEntryIds()). If the classpath container cannot be resolved - * (for instance, if the runtime does not exist), return null. - * - * @param runtime the runtime to resolve the container for - * @param id the classpath entry id - * @return an array of classpath entries for the container, or null if the - * container could not be resolved - */ - public abstract IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java deleted file mode 100644 index 6694961f6..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/EJBBean.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleArtifact; -/** - * An EJB bean. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public class EJBBean implements IModuleArtifact { - private IModule module; - private String jndiName; - private boolean local; - private boolean remote; - - /** - * Create a new EJBBean. - * - * @param module the module that the EJB is contained in - * @param jndiName the JNDI name of the EJB - * @param remote <code>true</code> if the EJB has a remote interface, and - * <code>false</code> otherwise - * @param local <code>true</code> if the EJB has a local interface, and - * <code>false</code> otherwise - */ - public EJBBean(IModule module, String jndiName, boolean remote, boolean local) { - this.module = module; - this.jndiName = jndiName; - this.remote = remote; - this.local = local; - } - - /** - * @see IModuleArtifact#getModule() - */ - public IModule getModule() { - return module; - } - - /** - * Returns the JNDI name of the EJB. - * - * @return the JNDI name of the EJB - */ - public String getJndiName() { - return jndiName; - } - - /** - * Returns whether the EJB has a remote interface. - * - * @return <code>true</code> if the EJB has a remote interface, and - * <code>false</code> otherwise - */ - public boolean hasRemoteInterface() { - return remote; - } - - /** - * Returns whether the EJB has a local interface. - * - * @return <code>true</code> if the EJB has a local interface, and - * <code>false</code> otherwise - */ - 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/core/FacetUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/FacetUtil.java deleted file mode 100644 index 71350a75a..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/FacetUtil.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import java.util.Iterator; -import java.util.Set; - -import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.ServerCore; -/** - * Utility class for converting between facet runtimes and server runtimes. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - */ -public class FacetUtil { - /** - * Returns the server runtime that corresponds to a facet runtime, or null - * if none could be found. - * - * @param runtime a facet runtime - * @return the server runtime that corresponds to the facet runtime, or - * <code>null</code> if none could be found. - */ - public static IRuntime getRuntime(org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime) { - if (runtime == null) - throw new IllegalArgumentException(); - - String id = runtime.getProperty("id"); - - IRuntime[] runtimes = ServerCore.getRuntimes(); - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (id.equals(runtimes[i].getId())) - return runtimes[i]; - } - - return null; - } - - /** - * Returns the facet runtime that corresponds to a server runtime, or null - * if none could be found. - * - * @param runtime a server runtime - * @return the facet runtime that corresponds to the server runtime, or - * <code>null</code> if none could be found. - */ - public static org.eclipse.wst.common.project.facet.core.runtime.IRuntime getRuntime(IRuntime runtime) { - if (runtime == null) - throw new IllegalArgumentException(); - - String id = runtime.getId(); - - Set runtimes = RuntimeManager.getRuntimes(); - Iterator iterator = runtimes.iterator(); - while (iterator.hasNext()) { - org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = (org.eclipse.wst.common.project.facet.core.runtime.IRuntime) iterator.next(); - if (id.equals(runtime2.getProperty("id"))) - return runtime2; - } - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java deleted file mode 100644 index c4d10e191..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IApplicationClientModule.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; -/** - * A J2EE application client module. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public interface IApplicationClientModule extends IJ2EEModule { - // intentionally empty -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java deleted file mode 100644 index 9cb3c9ad0..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IConnectorModule.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.core.runtime.IPath; -/** - * A J2EE connector module. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public interface IConnectorModule extends IJ2EEModule { - /** - * Returns the classpath as an array of absolute IPaths. - * - * @return an array of classpath entries - */ - public IPath[] getClasspath(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java deleted file mode 100644 index 83dcac70e..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEJBModule.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; -/** - * A representation of a J2EE EJB module. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public interface IEJBModule extends IJ2EEModule { - // intentionally empty -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java deleted file mode 100644 index d22376d26..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IEnterpriseApplication.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.wst.server.core.IModule; -/** - * A representation of a J2EE enterprise application (EAR file). - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public interface IEnterpriseApplication { - /** - * Returns the modules contained within this EAR. The returned modules will - * either be J2EE modules (which will be adaptable to IJ2EEModule) or - * utility jars contained in the EAR. - * - * @return a possibly empty array of modules contained within this application - */ - public IModule[] getModules(); - - /** - * Returns the URI of the given module within this enterprise application. - * - * @param module a module within this application - * @return the URI of the given module, or <code>null</code> if the URI could - * not be found - */ - public String getURI(IModule module); - - /** - * Returns the root folders for the resources in this module. - * - * @return a possibly-empty array of resource folders - */ - public IContainer[] getResourceFolders(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java deleted file mode 100644 index f116a8772..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.core.resources.IContainer; -/** - * A J2EE module that can be deployed to a server. - * - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public interface IJ2EEModule { - /** - * Returns the root folders for the resources in this module. - * - * @return a possibly-empty array of resource folders - */ - public IContainer[] getResourceFolders(); - - /** - * Returns the root folders containing Java output in this module. - * - * @return a possibly-empty array of Java output folders - */ - public IContainer[] getJavaOutputFolders(); - - /** - * Returns true if this is a binary (zipped) module, and - * false if it is expanded. - * - * <p>If true, members() should return only a single element - - * the binary (jar or zip file) that contains the contents of - * this module. (a single IModuleResource, e.g. - * myejb.jar) Also, getLocation() should return the full path - * up to and including the binary itself. (e.g. - * c:\temp\myejb.jar)</p> - * - * <p>If false, members() should return the entire contents - * of the module, starting at the root. There should be no - * preceeding directory structure. (an array of - * IModuleResources, e.g. index.html, WEB-INF/web.xml, - * ...) In this case, getLocation() should return the path to - * the root folder containing these resources.</p> - * - * @return boolean - */ - public boolean isBinary(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java deleted file mode 100644 index 9081821cf..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.jdt.launching.IVMInstall; -/** - * An interface for a server that contains a Java runtime. - * <p> - * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @since 1.5 - */ -public interface IJavaRuntime { - /** - * Return the VM install (installed JRE) that this runtime is using. - * - * @return the current VM install - */ - public IVMInstall getVMInstall(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IUtilityModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IUtilityModule.java deleted file mode 100644 index 7242fd8d4..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IUtilityModule.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.core.resources.IContainer; -/** - * A J2EE utility module that can be deployed to a server. - * - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public interface IUtilityModule { - /** - * Returns the root folders for the resources in this module. - * - * @return a possibly-empty array of resource folders - */ - public IContainer[] getResourceFolders(); - - /** - * Returns the root folders containing Java output in this module. - * - * @return a possibly-empty array of Java output folders - */ - public IContainer[] getJavaOutputFolders(); - - /** - * Returns true if this is a binary (zipped) module, and - * false if it is expanded. - * - * <p>If true, members() should return only a single element - - * the binary (jar or zip file) that contains the contents of - * this module. (a single IModuleResource, e.g. - * myejb.jar) Also, getLocation() should return the full path - * up to and including the binary itself. (e.g. - * c:\temp\myejb.jar)</p> - * - * <p>If false, members() should return the entire contents - * of the module, starting at the root. There should be no - * preceeding directory structure. (an array of - * IModuleResources, e.g. index.html, WEB-INF/web.xml, - * ...) In this case, getLocation() should return the path to - * the root folder containing these resources.</p> - * - * @return boolean - */ - public boolean isBinary(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java deleted file mode 100644 index 0bc0b17fd..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IWebModule.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.wst.server.core.IModule; -/** - * A J2EE web module. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public interface IWebModule extends IJ2EEModule { - /** - * Returns the context root of the module. - * - * @return java.lang.String - */ - public String getContextRoot(); - - /** - * Returns the utility modules contained within this WAR. - * - * @return a possibly empty array of modules contained within this application - */ - public IModule[] getModules(); - - /** - * Returns the URI of the given contained module. - * - * @param module a module - * @return the URI of the given module, or <code>null</code> if the URI could - * not be found - */ - public String getURI(IModule module); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java deleted file mode 100644 index 542efbd2a..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiLaunchable.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import java.util.Properties; -/** - * A representation of an object in JNDI that can be tested on a server. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public class JndiLaunchable { - private Properties props; - private String jndiName; - - /** - * Create a reference to an object that is launchable via JNDI. - * - * @param props the JNDI properties required to connect to the object - * @param jndiName the JNDI name of the object - */ - public JndiLaunchable(Properties props, String jndiName) { - this.jndiName = jndiName; - this.props = props; - } - - /** - * Returns the JNDI properties required to connect to the object. - * - * @return the JNDI properties required to connect to the object - */ - public Properties getProperties() { - return props; - } - - /** - * Returns the JNDI name of the object. - * - * @return the JNDI name of the object - */ - 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/core/JndiObject.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiObject.java deleted file mode 100644 index bae4411d0..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/JndiObject.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleArtifact; -/** - * A representation of an object in JNDI that can be tested on a server. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public class JndiObject implements IModuleArtifact { - private IModule module; - private String jndiName; - - /** - * Create a reference to an object in JNDI. - * - * @param module the module that the object is contained in - * @param jndiName the JNDI name of the object - */ - public JndiObject(IModule module, String jndiName) { - this.module = module; - this.jndiName = jndiName; - } - - /** - * @see IModuleArtifact#getModule() - */ - public IModule getModule() { - return module; - } - - /** - * Return the JNDI name of the object. - * - * @return the JNDI name of the object - */ - 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/core/PublishUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java deleted file mode 100644 index abba52a41..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java +++ /dev/null @@ -1,467 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import java.io.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.*; -import org.eclipse.jst.server.core.internal.JavaServerPlugin; -import org.eclipse.jst.server.core.internal.Messages; -import org.eclipse.jst.server.core.internal.ProgressUtil; -import org.eclipse.jst.server.core.internal.Trace; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.model.IModuleFile; -import org.eclipse.wst.server.core.model.IModuleFolder; -import org.eclipse.wst.server.core.model.IModuleResource; -import org.eclipse.wst.server.core.model.IModuleResourceDelta; -/** - * Utility class with an assortment of useful file methods. - * - * <p> - * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public class PublishUtil { - // size of the buffer - private static final int BUFFER = 10240; - - // the buffer - private static byte[] buf = new byte[BUFFER]; - - /** - * FileUtil cannot be created. Use static methods. - */ - private PublishUtil() { - super(); - } - - /** - * Copy a file from a to b. Closes the input stream after use. - * - * @param in java.io.InputStream - * @param to java.lang.String - * @return a status - */ - public static IStatus copyFile(InputStream in, String to) { - OutputStream out = null; - - try { - out = new FileOutputStream(to); - - int avail = in.read(buf); - while (avail > 0) { - out.write(buf, 0, avail); - avail = in.read(buf); - } - return Status.OK_STATUS; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error copying file", e); - return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e); - } finally { - try { - if (in != null) - in.close(); - } catch (Exception ex) { - // ignore - } - try { - if (out != null) - out.close(); - } catch (Exception ex) { - // ignore - } - } - } - - /** - * Copy a file from a to b. Closes the input stream after use. - * - * @param in an input stream - * @param to a path to copy to. the directory must already exist - * @param ts timestamp - * @throws CoreException if anything goes wrong - */ - private static void copyFile(InputStream in, IPath to, long ts) throws CoreException { - OutputStream out = null; - - File tempFile = null; - try { - File file = to.toFile(); - File tempDir = JavaServerPlugin.getInstance().getStateLocation().toFile(); - tempFile = File.createTempFile("tmp", "." + to.getFileExtension(), tempDir); - - out = new FileOutputStream(tempFile); - - int avail = in.read(buf); - while (avail > 0) { - out.write(buf, 0, avail); - avail = in.read(buf); - } - - out.close(); - out = null; - - if (file.exists()) { - if (!file.delete()) { - tempFile.delete(); - throw new Exception(NLS.bind(Messages.errorDelete, file.toString())); - } - } - if (!tempFile.renameTo(file)) - throw new Exception(NLS.bind(Messages.errorRename, tempFile.toString(), file.toString())); - - if (ts != IResource.NULL_STAMP && ts != 0) - file.setLastModified(ts); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error copying file", e); - throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, to.toOSString(), e.getLocalizedMessage()), e)); - } finally { - if (tempFile != null && tempFile.exists()) - tempFile.deleteOnExit(); - try { - if (in != null) - in.close(); - } catch (Exception ex) { - // ignore - } - try { - if (out != null) - out.close(); - } catch (Exception ex) { - // ignore - } - } - } - - private static void copyFile(IModuleFile mf, IPath path) throws CoreException { - IFile file = (IFile) mf.getAdapter(IFile.class); - if (file != null) { - copyFile(file.getContents(), path, file.getLocalTimeStamp()); - } else { - File file2 = (File) mf.getAdapter(File.class); - InputStream in = null; - try { - in = new FileInputStream(file2); - } catch (IOException e) { - throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorReading, file2.getAbsolutePath()), e)); - } - copyFile(in, path, file2.lastModified()); - } - } - - /** - * Recursively deletes a directory. - * - * @param dir java.io.File - * @param monitor a progress monitor, or <code>null</code> - */ - public static void deleteDirectory(File dir, IProgressMonitor monitor) { - try { - if (!dir.exists() || !dir.isDirectory()) - return; - - File[] files = dir.listFiles(); - int size = files.length; - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(NLS.bind(Messages.deletingTask, new String[] { dir.getAbsolutePath() }), size * 10); - - // cycle through files - for (int i = 0; i < size; i++) { - File current = files[i]; - if (current.isFile()) { - current.delete(); - monitor.worked(10); - } else if (current.isDirectory()) { - monitor.subTask(NLS.bind(Messages.deletingTask, new String[] {current.getAbsolutePath()})); - deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10)); - } - } - dir.delete(); - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error deleting directory " + dir.getAbsolutePath(), e); - } - } - - public static void smartCopy(IModuleResource[] resources, IPath path, IProgressMonitor monitor) throws CoreException { - if (resources == null) - return; - - File toDir = path.toFile(); - File[] toFiles = toDir.listFiles(); - int fromSize = resources.length; - - if (toDir.exists() && toDir.isDirectory()) { - int toSize = toFiles.length; - // check if this exact file exists in the new directory - for (int i = 0; i < toSize; i++) { - String name = toFiles[i].getName(); - boolean isDir = toFiles[i].isDirectory(); - boolean found = false; - for (int j = 0; j < fromSize; j++) { - if (name.equals(resources[j].getName()) && isDir == resources[j] instanceof IModuleFolder) - found = true; - } - - // delete file if it can't be found or isn't the correct type - if (!found) { - if (isDir) - deleteDirectory(toFiles[i], null); - else - toFiles[i].delete(); - } - if (monitor.isCanceled()) - return; - } - } else { - if (toDir.isFile()) - toDir.delete(); - toDir.mkdir(); - } - - monitor.worked(50); - - // cycle through files and only copy when it doesn't exist - // or is newer - toFiles = toDir.listFiles(); - int toSize = toFiles.length; - int dw = 0; - if (toSize > 0) - dw = 500 / toSize; - - for (int i = 0; i < fromSize; i++) { - IModuleResource current = resources[i]; - - // check if this is a new or newer file - boolean copy = true; - boolean currentIsDir = current instanceof IModuleFolder; - if (!currentIsDir) { - //String name = current.getName(); - //IModuleFile mf = (IModuleFile) current; - - //long mod = mf.getModificationStamp(); - // TODO - /*for (int j = 0; j < toSize; j++) { - if (name.equals(toFiles[j].getName()) && mod <= toFiles[j].lastModified()) - copy = false; - }*/ - } - - if (copy) { - //String fromFile = current.getAbsolutePath(); - IPath toPath = path.append(current.getName()); - if (!currentIsDir) { - IModuleFile mf = (IModuleFile) current; - copyFile(mf, toPath); - monitor.worked(dw); - } else { //if (currentIsDir) { - IModuleFolder folder = (IModuleFolder) current; - IModuleResource[] children = folder.members(); - monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {resources[i].getName(), current.getName()})); - smartCopy(children, toPath, ProgressUtil.getSubMonitorFor(monitor, dw)); - } - } - if (monitor.isCanceled()) - return; - } - monitor.worked(500 - dw * toSize); - monitor.done(); - } - - public static void handleDelta(int kind, IPath path, IModuleResourceDelta delta) throws CoreException { - IModuleResource resource = delta.getModuleResource(); - int kind2 = delta.getKind(); - - if (resource instanceof IModuleFile) { - IModuleFile file = (IModuleFile) resource; - if (kind2 == IModuleResourceDelta.REMOVED) - deleteFile(path, file); - else - copyFile(path, file); - return; - } - - if (kind2 == IModuleResourceDelta.ADDED) { - IPath path2 = path.append(resource.getModuleRelativePath()).append(resource.getName()); - path2.toFile().mkdirs(); - } else if (kind == IModuleResourceDelta.REMOVED) { - IPath path2 = path.append(resource.getModuleRelativePath()).append(resource.getName()); - path2.toFile().delete(); - } - IModuleResourceDelta[] childDeltas = delta.getAffectedChildren(); - int size = childDeltas.length; - for (int i = 0; i < size; i++) { - handleDelta(kind, path, childDeltas[i]); - } - } - - protected static void deleteFile(IPath path, IModuleFile file) { - IPath path2 = path.append(file.getModuleRelativePath()).append(file.getName()); - path2.toFile().delete(); - } - - private static void copyFile(IPath path, IModuleFile mf) throws CoreException { - IPath path3 = path.append(mf.getModuleRelativePath()).append(mf.getName()); - File f = path3.toFile().getParentFile(); - if (!f.exists()) - f.mkdirs(); - - IFile file = (IFile) mf.getAdapter(IFile.class); - if (file != null) - copyFile(file.getContents(), path3, file.getLocalTimeStamp()); - else { - File file2 = (File) mf.getAdapter(File.class); - InputStream in = null; - try { - in = new FileInputStream(file2); - } catch (IOException e) { - throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorReading, file2.getAbsolutePath()), e)); - } - copyFile(in, path, file2.lastModified()); - } - } - - public static void copy(IModuleResource[] resources, IPath path) throws CoreException { - if (resources == null) - return; - - int size = resources.length; - for (int i = 0; i < size; i++) { - copy(resources[i], path); - } - } - - private static void copy(IModuleResource resource, IPath path) throws CoreException { - if (resource instanceof IModuleFolder) { - IModuleFolder folder = (IModuleFolder) resource; - copy(folder.members(), path); - } else { - IModuleFile mf = (IModuleFile) resource; - IPath path3 = path.append(mf.getModuleRelativePath()).append(mf.getName()); - File f = path3.toFile().getParentFile(); - if (!f.exists()) - f.mkdirs(); - IFile file = (IFile) mf.getAdapter(IFile.class); - if (file != null) - copyFile(file.getContents(), path3, file.getLocalTimeStamp()); - else { - File file2 = (File) mf.getAdapter(File.class); - InputStream in = null; - try { - in = new FileInputStream(file2); - } catch (IOException e) { - throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorReading, file2.getAbsolutePath()), e)); - } - copyFile(in, path, file2.lastModified()); - } - } - } - - /** - * Creates a new zip file containing the given module resources. Deletes the existing file - * (and doesn't create a new one) if resources is null or empty. - * - * @param resources - * @param zipPath - * @throws CoreException - */ - public static void createZipFile(IModuleResource[] resources, IPath zipPath) throws CoreException { - if (resources == null || resources.length == 0) { - // should also check if resources consists of all empty directories - File file = zipPath.toFile(); - if (file.exists()) - file.delete(); - return; - } - - File tempFile = null; - try { - File file = zipPath.toFile(); - File tempDir = JavaServerPlugin.getInstance().getStateLocation().toFile(); - tempFile = File.createTempFile("tmp", "." + zipPath.getFileExtension(), tempDir); - - BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(tempFile)); - ZipOutputStream zout = new ZipOutputStream(bout); - addZipEntries(zout, resources); - zout.close(); - - if (file.exists()) { - if (!file.delete()) { - tempFile.delete(); - throw new Exception(NLS.bind(Messages.errorDelete, file.toString())); - } - } - if (!tempFile.renameTo(file)) - throw new Exception(NLS.bind(Messages.errorRename, tempFile.toString(), file.toString())); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error zipping", e); - throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCreatingZipFile, zipPath.lastSegment(), e.getLocalizedMessage()), e)); - } finally { - if (tempFile != null && tempFile.exists()) - tempFile.deleteOnExit(); - } - } - - private static void addZipEntries(ZipOutputStream zout, IModuleResource[] resources) throws Exception { - int size = resources.length; - for (int i = 0; i < size; i++) { - if (resources[i] instanceof IModuleFolder) { - IModuleFolder mf = (IModuleFolder) resources[i]; - IModuleResource[] res = mf.members(); - addZipEntries(zout, res); - continue; - } - - IModuleFile mf = (IModuleFile) resources[i]; - IPath path = mf.getModuleRelativePath().append(mf.getName()); - - ZipEntry ze = new ZipEntry(path.toPortableString()); - - InputStream in = null; - long ts = 0; - IFile file = (IFile) mf.getAdapter(IFile.class); - if (file != null) { - ts = file.getLocalTimeStamp(); - in = file.getContents(); - } else { - File file2 = (File) mf.getAdapter(File.class); - ts = file2.lastModified(); - in = new FileInputStream(file2); - } - - if (ts != IResource.NULL_STAMP && ts != 0) - ze.setTime(ts); - - zout.putNextEntry(ze); - - try { - int n = 0; - while (n > -1) { - n = in.read(buf); - if (n > 0) - zout.write(buf, 0, n); - } - } finally { - in.close(); - } - - zout.closeEntry(); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java deleted file mode 100644 index ac5c473fa..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java +++ /dev/null @@ -1,281 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import java.io.File; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IAccessRule; -import org.eclipse.jdt.core.IClasspathAttribute; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jst.server.core.internal.IMemento; -import org.eclipse.jst.server.core.internal.JavaServerPlugin; -import org.eclipse.jst.server.core.internal.Trace; -import org.eclipse.jst.server.core.internal.XMLMemento; -import org.eclipse.wst.server.core.IRuntime; -/** - * A runtime classpath provider provides the classpath for a Java server runtime. - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>runtimeClasspathProviders</code> extension point. - * </p> - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * - * @plannedfor 1.5 - */ -public abstract class RuntimeClasspathProviderDelegate { - private class SourceAttachmentUpdate { - String runtimeId; - String id; - IPath entry; - IPath sourceAttachmentPath; - IPath sourceAttachmentRootPath; - IClasspathAttribute[] attributes; - } - - private List sourceAttachments; - - private String extensionId; - - /** - * Initializes this classpath provider with its life-long id. - * <p> - * This method is called by the framework. - * Clients should never call this method. - * </p> - * @param id the extension id - */ - public final void initialize(String id) { - extensionId = id; - } - - /** - * Returns the classpath container label for the given runtime and the given - * classpath container id (returned from getClasspathEntryIds()). This method - * must not return null. - * - * @param runtime the runtime to resolve the container label for - * @param id the classpath entry id - * @return a classpath container label - */ - public abstract String getClasspathContainerLabel(IRuntime runtime, String id); - - /** - * Resolves (creates the classpath entries for) the classpath container with - * the given runtime and the given classpath container id (returned from - * getClasspathEntryIds()). If the classpath container cannot be resolved - * (for instance, if the runtime does not exist), return null. - * - * @param runtime the runtime to resolve the container for - * @param id the classpath entry id - * @return an array of classpath entries for the container, or null if the - * container could not be resolved - */ - public abstract IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id); - - private void load() { - sourceAttachments = new ArrayList(); - - String id = extensionId; - String filename = JavaServerPlugin.getInstance().getStateLocation().append(id + ".xml").toOSString(); - - try { - IMemento memento = XMLMemento.loadMemento(filename); - - IMemento[] children = memento.getChildren("source-attachment"); - int size = children.length; - - for (int i = 0; i < size; i++) { - try { - SourceAttachmentUpdate sau = new SourceAttachmentUpdate(); - sau.runtimeId = children[i].getString("runtime-id"); - sau.id = children[i].getString("id"); - String temp = children[i].getString("entry"); - if (temp != null) - sau.entry = new Path(temp); - temp = children[i].getString("source-attachment-path"); - if (temp != null) - sau.sourceAttachmentPath = new Path(temp); - temp = children[i].getString("source-attachment-root-path"); - if (temp != null) - sau.sourceAttachmentRootPath = new Path(temp); - IMemento[] attrChildren = children[i].getChildren("attribute"); - if (attrChildren != null) { - int size2 = attrChildren.length; - sau.attributes = new IClasspathAttribute[size2]; - for (int j = 0; j < size2; j++) { - String name = attrChildren[j].getString("name"); - String value = attrChildren[j].getString("value"); - sau.attributes[j] = JavaCore.newClasspathAttribute(name, value); - } - } - sourceAttachments.add(sau); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load monitor: " + e); - } - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load source path info: " + e.getMessage()); - } - } - - /** - * Resolve the classpath container. - * - * @param runtime a runtime - * @param id a container id - * @return a possibly empty array of classpath entries - */ - public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime, String id) { - IClasspathEntry[] entries = resolveClasspathContainer(runtime, id); - - if (entries == null) - entries = new IClasspathEntry[0]; - - if (sourceAttachments == null) - load(); - - int size = entries.length; - int size2 = sourceAttachments.size(); - for (int i = 0; i < size; i++) { - for (int j = 0; j < size2; j++) { - SourceAttachmentUpdate sau = (SourceAttachmentUpdate) sourceAttachments.get(j); - if ((id != null && sau.id.equals(id)) || (id == null && sau.id == null)) { - if (sau.runtimeId.equals(runtime.getId()) && sau.entry.equals(entries[i].getPath())) { - entries[i] = JavaCore.newLibraryEntry(entries[i].getPath(), sau.sourceAttachmentPath, sau.sourceAttachmentRootPath, new IAccessRule[0], sau.attributes, false); - } - } - } - } - - return entries; - } - - private static void addJarFiles(File dir, List list, boolean includeSubdirectories) { - int depth = 0; - if (includeSubdirectories) - depth = 2; - addJarFiles(dir, list, depth); - } - - private static void addJarFiles(File dir, List list, int depth) { - if (dir == null) - throw new IllegalArgumentException(); - - File[] files = dir.listFiles(); - if (files != null) { - int size = files.length; - for (int i = 0; i < size; i++) { - if (files[i].isDirectory() && depth > 0) { - addJarFiles(files[i], list, depth - 1); - } else if (files[i].getAbsolutePath().endsWith(".jar") || files[i].getAbsolutePath().endsWith(".zip")) { - IPath path = new Path(files[i].getAbsolutePath()); - list.add(JavaCore.newLibraryEntry(path, null, null)); - } - } - } - } - - /** - * Add library entries to the given list for every jar file found in the - * given directory. Optionally search subdirectories as well. - * - * @param list a list - * @param dir a directory - * @param includeSubdirectories <code>true</code> to include subdirectories, and - * <code>false</code> otherwise - */ - protected static void addLibraryEntries(List list, File dir, boolean includeSubdirectories) { - if (dir == null) - throw new IllegalArgumentException(); - addJarFiles(dir, list, includeSubdirectories); - } - - /** - * Request that the classpath container for the given runtime and id be updated - * with the given classpath container entries. - * - * @param runtime a runtime - * @param id an id - * @param entries an array of classpath entries - */ - public void requestClasspathContainerUpdate(IRuntime runtime, String id, IClasspathEntry[] entries) { - // default behaviour is to save the source path entries - if (runtime == null || entries == null) - return; - - // find the source attachments - sourceAttachments = new ArrayList(); - - int size = entries.length; - for (int i = 0; i < size; i++) { - if (entries[i].getSourceAttachmentPath() != null || entries[i].getExtraAttributes() != null) { - SourceAttachmentUpdate sau = new SourceAttachmentUpdate(); - sau.runtimeId = runtime.getId(); - sau.id = id; - sau.entry = entries[i].getPath(); - sau.sourceAttachmentPath = entries[i].getSourceAttachmentPath(); - sau.sourceAttachmentRootPath = entries[i].getSourceAttachmentRootPath(); - sau.attributes = entries[i].getExtraAttributes(); - sourceAttachments.add(sau); - } - } - save(); - } - - private void save() { - if (sourceAttachments == null) - return; - String id = extensionId; - String filename = JavaServerPlugin.getInstance().getStateLocation().append(id + ".xml").toOSString(); - try { - XMLMemento memento = XMLMemento.createWriteRoot("classpath"); - - Iterator iterator = sourceAttachments.iterator(); - while (iterator.hasNext()) { - SourceAttachmentUpdate sau = (SourceAttachmentUpdate) iterator.next(); - IMemento child = memento.createChild("source-attachment"); - child.putString("runtime-id", sau.runtimeId); - if (sau.id != null) - child.putString("id", sau.id); - if (sau.entry != null) - child.putString("entry", sau.entry.toPortableString()); - if (sau.sourceAttachmentPath != null) - child.putString("source-attachment-path", sau.sourceAttachmentPath.toPortableString()); - if (sau.sourceAttachmentRootPath != null) - child.putString("source-attachment-root-path", sau.sourceAttachmentRootPath.toPortableString()); - if (sau.attributes != null) { - int size = sau.attributes.length; - for (int i = 0; i < size; i++) { - IClasspathAttribute attr = sau.attributes[i]; - IMemento attrChild = child.createChild("attribute"); - attrChild.putString("name", attr.getName()); - attrChild.putString("value", attr.getValue()); - } - } - } - - memento.saveToFile(filename); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error saving source path info", e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java deleted file mode 100644 index 7f7c5aa40..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/Servlet.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleArtifact; -/** - * A J2EE Servlet. - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * @plannedfor 1.5 - */ -public class Servlet implements IModuleArtifact { - private IModule module; - private String className; - private String alias; - - /** - * Create a reference to a servlet. - * - * @param module the module that the servlet is contained in - * @param className the class name of the servlet - * @param alias the servlet's alias - */ - public Servlet(IModule module, String className, String alias) { - this.module = module; - this.className = className; - this.alias = alias; - } - - /** - * @see IModuleArtifact#getModule() - */ - public IModule getModule() { - return module; - } - - /** - * Return the class name of the servlet. - * - * @return the class name of the servlet - */ - public String getServletClassName() { - return className; - } - - /** - * Return the servlet's alias. - * - * @return the servlet's alias - */ - public String getAlias() { - return alias; - } - - /** - * @see Object#toString() - */ - 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/core/internal/GenericRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java deleted file mode 100644 index 3a365ffa1..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.core.runtime.*; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMInstallType; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.model.RuntimeDelegate; -/** - * - */ -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"; - - /** - * Create a new generic runtime. - */ - public GenericRuntime() { - // do nothing - } - - protected String getVMInstallTypeId() { - return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null); - } - - protected String getVMInstallId() { - return getAttribute(PROP_VM_INSTALL_ID, (String)null); - } - - /** - * Returns <code>true</code> if the runtime is using the default JRE. - * - * @return <code>true</code> if the runtime is using the default JRE, - * and <code>false</code> otherwise - */ - public boolean isUsingDefaultJRE() { - return getVMInstallTypeId() == null; - } - - /** - * @see IGenericRuntime#getVMInstall() - */ - public IVMInstall getVMInstall() { - if (getVMInstallTypeId() == null) - return JavaRuntime.getDefaultVMInstall(); - try { - IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId()); - IVMInstall[] vmInstalls = vmInstallType.getVMInstalls(); - int size = vmInstalls.length; - String id = getVMInstallId(); - for (int i = 0; i < size; i++) { - if (id.equals(vmInstalls[i].getId())) - return vmInstalls[i]; - } - } catch (Exception e) { - // ignore - } - return null; - } - - /** - * @see RuntimeDelegate#validate() - */ - public IStatus validate() { - IStatus status = super.validate(); - if (!status.isOK()) - return status; - - IRuntime runtime = getRuntime(); - - IPath path = runtime.getLocation(); - if (!path.toFile().exists()) - return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorLocation, null); - else if (getVMInstall() == null) - return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorJRE, null); - else - return Status.OK_STATUS; - } - - /** - * @see RuntimeDelegate#setDefaults(IProgressMonitor) - */ - public void setDefaults(IProgressMonitor monitor) { - IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall(); - setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId()); - } - - /** - * @see IGenericRuntimeWorkingCopy#setVMInstall(IVMInstall) - */ - 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/GenericRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java deleted file mode 100644 index 6310eca99..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate; - -import org.eclipse.wst.server.core.IRuntime; -/** - * - */ -public class GenericRuntimeClasspathProvider extends RuntimeClasspathProviderDelegate { - /** - * @see RuntimeClasspathProviderDelegate#getClasspathContainerLabel(IRuntime, String) - */ - public String getClasspathContainerLabel(IRuntime runtime, String id) { - return runtime.getRuntimeType().getName(); - } - - /** (non-Javadoc) - * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IRuntime, String) - */ - public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) { - IPath installPath = runtime.getLocation(); - - if (installPath == null) - return new IClasspathEntry[0]; - - List list = new ArrayList(); - addLibraryEntries(list, installPath.toFile(), false); - return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java deleted file mode 100644 index 82dc4882e..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.wst.server.core.IRuntime; -/** - * Utility methods for the generic J2EE runtime. - */ -public class GenericRuntimeUtil { - protected static final String RUNTIME_TYPE_ID = "org.eclipse.jst.server.core.runtimeType"; - - /** - * Cannot create GenericRuntimeUtil - use static methods. - */ - private GenericRuntimeUtil() { - // can't create - } - - /** - * 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) { - 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/internal/IGenericRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java deleted file mode 100644 index 1c509c414..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntime.java +++ /dev/null @@ -1,19 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.jst.server.core.IJavaRuntime; -/** - * - */ -public interface IGenericRuntime extends IJavaRuntime { - // no additional methods -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java deleted file mode 100644 index 0133c5c51..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.jdt.launching.IVMInstall; -/** - * - */ -public interface IGenericRuntimeWorkingCopy extends IGenericRuntime { - /** - * Set the VM install (installed JRE) that this runtime is using. - * Use <code>null</code> to use the Eclipse default JRE. - * - * @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/IMemento.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IMemento.java deleted file mode 100644 index 398c72cde..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/IMemento.java +++ /dev/null @@ -1,194 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.List; -/** - * Interface to a memento used for saving the important state of an object - * in a form that can be persisted in the file system. - * <p> - * Mementos were designed with the following requirements in mind: - * <ol> - * <li>Certain objects need to be saved and restored across platform sessions. - * </li> - * <li>When an object is restored, an appropriate class for an object might not - * be available. It must be possible to skip an object in this case.</li> - * <li>When an object is restored, the appropriate class for the object may be - * different from the one when the object was originally saved. If so, the - * new class should still be able to read the old form of the data.</li> - * </ol> - * </p> - * <p> - * Mementos meet these requirements by providing support for storing a - * mapping of arbitrary string keys to primitive values, and by allowing - * mementos to have other mementos as children (arranged into a tree). - * A robust external storage format based on XML is used. - * </p><p> - * The key for an attribute may be any alpha numeric value. However, the - * value of <code>TAG_ID</code> is reserved for internal use. - * </p><p> - * This interface is not intended to be implemented by clients. - * </p> - */ -public interface IMemento { - /** - * Special reserved key used to store the memento id - * (value <code>"org.eclipse.ui.id"</code>). - * - * @see #getId - */ - public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$ - - /** - * Creates a new child of this memento with the given type. - * <p> - * The <code>getChild</code> and <code>getChildren</code> methods - * are used to retrieve children of a given type. - * </p> - * - * @param type the type - * @return a new child memento - * @see #getChild - * @see #getChildren - */ - public IMemento createChild(String type); - - /** - * Creates a new child of this memento with the given type and id. - * The id is stored in the child memento (using a special reserved - * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>. - * <p> - * The <code>getChild</code> and <code>getChildren</code> methods - * are used to retrieve children of a given type. - * </p> - * - * @param type the type - * @param id the child id - * @return a new child memento with the given type and id - * @see #getId - */ - public IMemento createChild(String type, String id); - - /** - * Returns the first child with the given type id. - * - * @param type the type id - * @return the first child with the given type - */ - public IMemento getChild(String type); - - /** - * Returns all children with the given type id. - * - * @param type the type id - * @return the list of children with the given type - */ - public IMemento[] getChildren(String type); - - /** - * Returns the floating point value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not a floating point number - */ - public Float getFloat(String key); - - /** - * Returns the id for this memento. - * - * @return the memento id, or <code>null</code> if none - * @see #createChild(java.lang.String,java.lang.String) - */ - public String getId(); - - /** - * Returns the name for this memento. - * - * @return the memento name, or <code>null</code> if none - * @see #createChild(java.lang.String,java.lang.String) - */ - public String getName(); - - /** - * Returns the integer value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not an integer - */ - public Integer getInteger(String key); - - /** - * Returns the string value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not an integer - */ - public String getString(String key); - - /** - * Returns the boolean value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not a boolean - */ - public Boolean getBoolean(String key); - - /** - * Return the list of names. - * - * @return a possibly empty list of names - */ - public List getNames(); - - /** - * Sets the value of the given key to the given floating point number. - * - * @param key the key - * @param value the value - */ - public void putFloat(String key, float value); - - /** - * Sets the value of the given key to the given integer. - * - * @param key the key - * @param value the value - */ - public void putInteger(String key, int value); - - /** - * Sets the value of the given key to the given boolean value. - * - * @param key the key - * @param value the value - */ - public void putBoolean(String key, boolean value); - - /** - * Copy the attributes and children from <code>memento</code> - * to the receiver. - * - * @param memento the IMemento to be copied. - */ - public void putMemento(IMemento memento); - - /** - * Sets the value of the given key to the given string. - * - * @param key the key - * @param value the value - */ - public void putString(String key, String value); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java deleted file mode 100644 index 4f1829295..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.jst.server.core.JndiLaunchable; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.ClientDelegate; -/** - * - */ -public class J2EELaunchableClient extends ClientDelegate { - /* - * @see ClientDelegate#supports(ILaunchable) - */ - public boolean supports(IServer server, Object launchable, String launchMode) { - return (launchable instanceof JndiLaunchable); - } - - /* - * @see ClientDelegate#launch(ILaunchable) - */ - public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch) { - Trace.trace(Trace.FINEST, "JNDI client launched"); - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java deleted file mode 100644 index 25d7de0f5..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/J2EEUtil.java +++ /dev/null @@ -1,130 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jst.server.core.IEnterpriseApplication; -import org.eclipse.jst.server.core.IJ2EEModule; -import org.eclipse.jst.server.core.IWebModule; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.ServerUtil; -/** - * Utility class for dealing with J2EE modules. - */ -public class J2EEUtil { - private static final String EAR_MODULE = "jst.ear"; - private static final String WEB_MODULE = "jst.web"; - - /** - * Returns the enterprise applications that the module is contained within. - * - * @param module a J2EE module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a possibly empty array of enterprise applications - */ - public static IModule[] getEnterpriseApplications(IJ2EEModule module, IProgressMonitor monitor) { - List list = new ArrayList(); - IModule[] modules = ServerUtil.getModules(EAR_MODULE); - if (modules != null) { - int size = modules.length; - for (int i = 0; i < size; i++) { - IModule module2 = modules[i]; - IEnterpriseApplication ear = (IEnterpriseApplication) module2.loadAdapter(IEnterpriseApplication.class, monitor); - if (ear != null) { - IModule[] modules2 = ear.getModules(); - if (modules2 != null) { - int size2 = modules2.length; - for (int j = 0; j < size2; j++) { - if (module.equals(modules2[j].loadAdapter(IJ2EEModule.class, monitor))) - list.add(module2); - } - } - } - } - } - - IModule[] ears = new IModule[list.size()]; - list.toArray(ears); - return ears; - } - - /** - * Returns the enterprise applications that the module is contained within. - * - * @param module a J2EE module or utility module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a possibly empty array of enterprise applications - */ - public static IModule[] getEnterpriseApplications(IModule module, IProgressMonitor monitor) { - List list = new ArrayList(); - IModule[] modules = ServerUtil.getModules(EAR_MODULE); - if (modules != null) { - int size = modules.length; - for (int i = 0; i < size; i++) { - IModule module2 = modules[i]; - IEnterpriseApplication ear = (IEnterpriseApplication) module2.loadAdapter(IEnterpriseApplication.class, monitor); - if (ear != null) { - IModule[] modules2 = ear.getModules(); - if (modules2 != null) { - int size2 = modules2.length; - for (int j = 0; j < size2; j++) { - if (module.equals(modules2[j])) - list.add(module2); - } - } - } - } - } - - IModule[] ears = new IModule[list.size()]; - list.toArray(ears); - return ears; - } - - /** - * Returns the web modules that the utility module is contained within. - * - * @param module a utility module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a possibly empty array of web modules - */ - public static IModule[] getWebModules(IModule module, IProgressMonitor monitor) { - List list = new ArrayList(); - IModule[] modules = ServerUtil.getModules(WEB_MODULE); - if (modules != null) { - int size = modules.length; - for (int i = 0; i < size; i++) { - IModule module2 = modules[i]; - IWebModule web = (IWebModule) module2.loadAdapter(IWebModule.class, monitor); - if (web != null) { - IModule[] modules2 = web.getModules(); - if (modules2 != null) { - int size2 = modules2.length; - for (int j = 0; j < size2; j++) { - if (module.equals(modules2[j])) - list.add(module2); - } - } - } - } - } - - IModule[] webs = new IModule[list.size()]; - list.toArray(webs); - return webs; - } -}
\ No newline at end of file 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 deleted file mode 100644 index 6b2287a80..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java +++ /dev/null @@ -1,211 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.*; -import org.eclipse.wst.server.core.IRuntimeType; -/** - * The main server tooling plugin class. - */ -public class JavaServerPlugin extends Plugin { - /** - * Java server plugin id - */ - public static final String PLUGIN_ID = "org.eclipse.jst.server.core"; - - // singleton instance of this class - private static JavaServerPlugin singleton; - - // cached copy of all runtime classpath providers - private static List runtimeClasspathProviders; - - // cached copy of all runtime facet mappings - private static List runtimeFacetMappings; - - /** - * Create the JavaServerPlugin. - */ - public JavaServerPlugin() { - super(); - singleton = this; - } - - /** - * Returns the singleton instance of this plugin. - * - * @return a singleton instance - */ - public static JavaServerPlugin getInstance() { - return singleton; - } - - /** - * Convenience method for logging. - * - * @param status a status - */ - public static void log(IStatus status) { - getInstance().getLog().log(status); - } - - /** - * Convenience method for logging. - * - * @param t a throwable - */ - public static void log(Throwable t) { - log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "Internal error", t)); //$NON-NLS-1$ - } - - /** - * Returns an array of all known runtime classpath provider instances. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of runtime classpath provider instances - * {@link RuntimeClasspathProviderWrapper} - */ - public static RuntimeClasspathProviderWrapper[] getRuntimeClasspathProviders() { - if (runtimeClasspathProviders == null) - loadRuntimeClasspathProviders(); - - RuntimeClasspathProviderWrapper[] rth = new RuntimeClasspathProviderWrapper[runtimeClasspathProviders.size()]; - runtimeClasspathProviders.toArray(rth); - return rth; - } - - /** - * Returns the runtime classpath provider that supports the given runtime type, or <code>null</code> - * if none. This convenience method searches the list of known runtime - * classpath providers ({@link #getRuntimeClasspathProviders()}) for the one with - * a matching runtime type. - * The runtimeType may not be null. - * - * @param runtimeType a runtime type - * @return the runtime classpath provider instance, or <code>null</code> if - * there is no runtime classpath provider with the given id - */ - public static RuntimeClasspathProviderWrapper findRuntimeClasspathProvider(IRuntimeType runtimeType) { - if (runtimeType == null) - throw new IllegalArgumentException(); - - if (runtimeClasspathProviders == null) - loadRuntimeClasspathProviders(); - - Iterator iterator = runtimeClasspathProviders.iterator(); - while (iterator.hasNext()) { - RuntimeClasspathProviderWrapper runtimeClasspathProvider = (RuntimeClasspathProviderWrapper) iterator.next(); - if (runtimeClasspathProvider.supportsRuntimeType(runtimeType)) - return runtimeClasspathProvider; - } - return null; - } - - /** - * Returns the runtime classpath provider with the given id, or <code>null</code> - * if none. This convenience method searches the list of known runtime - * classpath providers ({@link #getRuntimeClasspathProviders()}) for the one with - * a matching runtime classpath provider id ({@link RuntimeClasspathProviderWrapper#getId()}). - * The id may not be null. - * - * @param id the runtime classpath provider id - * @return the runtime classpath provider instance, or <code>null</code> if - * there is no runtime classpath provider with the given id - */ - public static RuntimeClasspathProviderWrapper findRuntimeClasspathProvider(String id) { - if (id == null) - throw new IllegalArgumentException(); - - if (runtimeClasspathProviders == null) - loadRuntimeClasspathProviders(); - - Iterator iterator = runtimeClasspathProviders.iterator(); - while (iterator.hasNext()) { - RuntimeClasspathProviderWrapper runtimeClasspathProvider = (RuntimeClasspathProviderWrapper) iterator.next(); - if (id.equals(runtimeClasspathProvider.getId())) - return runtimeClasspathProvider; - } - return null; - } - - /** - * Load the runtime classpath providers. - */ - private static synchronized void loadRuntimeClasspathProviders() { - if (runtimeClasspathProviders != null) - return; - Trace.trace(Trace.CONFIG, "->- Loading .runtimeClasspathProviders extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(JavaServerPlugin.PLUGIN_ID, "runtimeClasspathProviders"); - - int size = cf.length; - runtimeClasspathProviders = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - RuntimeClasspathProviderWrapper runtimeClasspathProvider = new RuntimeClasspathProviderWrapper(cf[i]); - runtimeClasspathProviders.add(runtimeClasspathProvider); - Trace.trace(Trace.CONFIG, " Loaded runtimeClasspathProviders: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load runtimeClasspathProviders: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.CONFIG, "-<- Done loading .runtimeClasspathProviders extension point -<-"); - } - - /** - * Returns an array of all known runtime classpath provider instances. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of runtime classpath provider instances - * {@link RuntimeClasspathProviderWrapper} - */ - public static RuntimeFacetMapping[] getRuntimeFacetMapping() { - if (runtimeFacetMappings == null) - loadRuntimeFacetMapping(); - - RuntimeFacetMapping[] rfm = new RuntimeFacetMapping[runtimeFacetMappings.size()]; - runtimeFacetMappings.toArray(rfm); - return rfm; - } - - /** - * Load the runtime facet mappings. - */ - private static synchronized void loadRuntimeFacetMapping() { - if (runtimeFacetMappings != null) - return; - Trace.trace(Trace.CONFIG, "->- Loading .runtimeFacetMapping extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(JavaServerPlugin.PLUGIN_ID, "runtimeFacetMappings"); - - int size = cf.length; - runtimeFacetMappings = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - RuntimeFacetMapping rfm = new RuntimeFacetMapping(cf[i]); - runtimeFacetMappings.add(rfm); - Trace.trace(Trace.CONFIG, " Loaded runtimeFacetMapping: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load runtimeFacetMapping: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.CONFIG, "-<- Done loading .runtimeFacetMapping extension point -<-"); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java deleted file mode 100644 index 6b94bbef2..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; -/** - * - */ -public class LaunchConfigurationUtil { - /** - * Gets the classpath from the launch configuration of the given server. - * If create is false, it will return null if there is no launch configuration - * (i.e. the server has not been run before) If create is true, it will create - * a launch configuration if one does not exist. - * - * @param server - * @param create - * @param monitor a progress monitor - * @return an array containing runtime classpath entries - * @throws CoreException - */ - /*public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create, IProgressMonitor monitor) throws CoreException { - ILaunchConfiguration config = server.getLaunchConfiguration(create, monitor); - if (config == null) - return null; - - return JavaRuntime.computeUnresolvedRuntimeClasspath(config); - }*/ - - /** - * Sets the classpath on the given server's launch configuration. - * - * @param server - * @param classpath - * @throws CoreException - */ - /*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); - - List mementos = new ArrayList(classpath.length); - for (int i = 0; i < classpath.length; i++) { - IRuntimeClasspathEntry entry = classpath[i]; - mementos.add(entry.getMemento()); - } - wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, mementos); - wc.doSave(); - }*/ -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java deleted file mode 100644 index 7c067c975..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String errorLocation; - public static String errorJRE; - public static String classpathContainerDescription; - - public static String copyingTask; - public static String deletingTask; - public static String errorCopyingFile; - public static String errorCreatingZipFile; - public static String errorDelete; - public static String errorRename; - public static String errorReading; - - static { - NLS.initializeMessages(JavaServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties deleted file mode 100644 index cc27635b7..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -classpathContainerDescription=Server Classpath Container - -errorLocation=Invalid location. -errorJRE=Invalid JRE. - -copyingTask=Copying from {0} to {1} -deletingTask=Deleting {0} -errorCopyingFile=Error copying file to {0}: {1} -errorCreatingZipFile=Error creating zip file {0}: {1} -errorDelete=Error deleting {0} -errorRename=Error renaming {0} to {1} -errorReading=Error reading file {0}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/ProgressUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/ProgressUtil.java deleted file mode 100644 index 55bbe1c03..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/ProgressUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.core.runtime.*; -/** - * Progress Monitor utility. - */ -public class ProgressUtil { - /** - * ProgressUtil constructor comment. - */ - private ProgressUtil() { - super(); - } - - /** - * Return a valid progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) { - if (monitor == null) - return new NullProgressMonitor(); - return monitor; - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @param ticks int - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks); - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @param ticks a number of ticks - * @param style a style - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks, style); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java deleted file mode 100644 index c292eb4b1..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java +++ /dev/null @@ -1,184 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2005 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Konstantin Komissarchik - initial API and implementation - * IBM Corporation - Support for all server types - ******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMInstall2; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.jst.server.core.IJavaRuntime; -import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeBridge; -import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion; -import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.internal.Runtime; -/** - * - */ -public class RuntimeBridge implements IRuntimeBridge { - protected static final String CLASSPATH = "classpath"; - - protected static Map mappings = new HashMap(); - - static { - initialize(); - } - - private static void addMapping(String id, String id2, String version) { - try { - mappings.put(id, RuntimeManager.getRuntimeComponentType(id2).getVersion(version)); - } catch (Exception e) { - // ignore - } - } - - private static void initialize() { - RuntimeFacetMapping[] rfms = JavaServerPlugin.getRuntimeFacetMapping(); - int size = rfms.length; - for (int i = 0; i < size; i++) - addMapping(rfms[i].getRuntimeTypeId(), rfms[i].getRuntimeComponent(), rfms[i].getVersion()); - - // generic runtimes - addMapping("org.eclipse.jst.server.generic.runtime.weblogic81", "org.eclipse.jst.server.generic.runtime.weblogic", "8.1"); - - addMapping("org.eclipse.jst.server.generic.runtime.weblogic90", "org.eclipse.jst.server.generic.runtime.weblogic", "9.0"); - - addMapping("org.eclipse.jst.server.generic.runtime.jboss323", "org.eclipse.jst.server.generic.runtime.jboss", "3.2.3"); - - addMapping("org.eclipse.jst.server.generic.runtime.jonas4", "org.eclipse.jst.server.generic.runtime.jonas", "4.0"); - - addMapping("org.eclipse.jst.server.generic.runtime.oracle1013", "org.eclipse.jst.server.generic.runtime.oracle", "10.1.3"); - - addMapping("org.eclipse.jst.server.generic.runtime.websphere.6", "org.eclipse.jst.server.generic.runtime.websphere", "6.0"); - } - - public Set getExportedRuntimeNames() throws CoreException { - IRuntime[] runtimes = ServerCore.getRuntimes(); - Set result = new HashSet(runtimes.length); - - for (int i = 0; i < runtimes.length; i++) { - IRuntime runtime = runtimes[i]; - IRuntimeType runtimeType = runtime.getRuntimeType(); - if (runtimeType != null && mappings.containsKey(runtimeType.getId())) { - result.add(runtime.getName()); - } - } - - return result; - } - - public IStub bridge(String name) throws CoreException { - if (name == null) - throw new IllegalArgumentException(); - - IRuntime[] runtimes = ServerCore.getRuntimes(); - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (runtimes[i].getName().equals(name)) - return new Stub(runtimes[i]); - } - return null; - } - - private static class Stub implements IStub { - private IRuntime runtime; - protected int timestamp = -1; - protected IVMInstall vmInstall; - protected String jvmver; - - public Stub(IRuntime runtime) { - this.runtime = runtime; - } - - public List getRuntimeComponents() { - List components = new ArrayList(2); - if (runtime == null) - return components; - - // define server runtime component - String typeId = runtime.getRuntimeType().getId(); - IRuntimeComponentVersion mapped = (IRuntimeComponentVersion) mappings.get(typeId); - - Map properties = new HashMap(); - if (runtime.getLocation() != null) - properties.put("location", runtime.getLocation().toPortableString()); - else - properties.put("location", ""); - properties.put("name", runtime.getName()); - properties.put("type", runtime.getRuntimeType().getName()); - properties.put("id", runtime.getId()); - - RuntimeClasspathProviderWrapper rcpw = JavaServerPlugin.findRuntimeClasspathProvider(runtime.getRuntimeType()); - if (rcpw != null) { - IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER); - path = path.append(rcpw.getId()).append(runtime.getId()); - properties.put(CLASSPATH, path.toPortableString()); - } - - components.add(RuntimeManager.createRuntimeComponent(mapped, properties)); - - // define JRE component - IJavaRuntime javaRuntime = (IJavaRuntime) runtime.loadAdapter(IJavaRuntime.class, null); - if (javaRuntime != null) { - if (timestamp != ((Runtime) runtime).getTimestamp()) { - vmInstall = null; - jvmver = null; - timestamp = ((Runtime) runtime).getTimestamp(); - } - if (vmInstall == null) - vmInstall = javaRuntime.getVMInstall(); - if (jvmver == null) { - IVMInstall2 vmInstall2 = (IVMInstall2) vmInstall; - if (vmInstall2 != null) - jvmver = vmInstall2.getJavaVersion(); - } - IRuntimeComponentVersion rcv; - - if (jvmver == null || jvmver.startsWith("1.4")) - rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.4"); - else if (jvmver.startsWith("1.3")) - rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.3"); - else if (jvmver.startsWith("1.5")) - rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("5.0"); - else - throw new IllegalStateException(); - - properties = new HashMap(); - properties.put("name", vmInstall.getName()); - IPath path = new Path(JavaRuntime.JRE_CONTAINER); - path = path.append(vmInstall.getVMInstallType().getId()).append(vmInstall.getName()); - properties.put(CLASSPATH, path.toPortableString()); - components.add(RuntimeManager.createRuntimeComponent(rcv, properties)); - } - - return components; - } - - public Map getProperties() { - if (runtime == null) - return new HashMap(0); - return Collections.singletonMap("id", runtime.getId()); - } - } -}
\ No newline at end of file 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 deleted file mode 100644 index 80007c65b..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; - -import org.eclipse.wst.server.core.IRuntime; -/** - * - */ -public class RuntimeClasspathContainer implements IClasspathContainer { - /** - * The server container id. - */ - public static final String SERVER_CONTAINER = JavaServerPlugin.PLUGIN_ID + ".container"; - - private IPath path; - private RuntimeClasspathProviderWrapper delegate; - private IRuntime runtime; - - private String id; - - /** - * Create a new runtime classpath container. - * - * @param path - * @param delegate - * @param runtime - * @param id - */ - public RuntimeClasspathContainer(IPath path, RuntimeClasspathProviderWrapper delegate, IRuntime runtime, String id) { - this.path = path; - this.delegate = delegate; - this.runtime = runtime; - this.id = id; - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.IClasspathContainer#getClasspathEntries() - */ - public IClasspathEntry[] getClasspathEntries() { - IClasspathEntry[] entries = null; - if (delegate != null && runtime != null) - entries = delegate.resolveClasspathContainerImpl(runtime, id); - - if (entries == null) - return new IClasspathEntry[0]; - - return entries; - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.IClasspathContainer#getDescription() - */ - public String getDescription() { - if (runtime != null && delegate != null) { - String s = delegate.getClasspathContainerLabel(runtime, id); - if (s != null) - return s; - } - - return Messages.classpathContainerDescription; - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.IClasspathContainer#getKind() - */ - public int getKind() { - return IClasspathContainer.K_APPLICATION; - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.IClasspathContainer#getPath() - */ - public IPath getPath() { - return path; - } -}
\ No newline at end of file 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 deleted file mode 100644 index 12a6883c9..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java +++ /dev/null @@ -1,91 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.*; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.ServerCore; -/** - * - */ -public class RuntimeClasspathContainerInitializer extends ClasspathContainerInitializer { - /** (non-Javadoc) - * @see org.eclipse.jdt.core.ClasspathContainerInitializer#initialize(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject) - */ - public void initialize(IPath containerPath, IJavaProject project) throws CoreException { - if (containerPath.segmentCount() > 0) { - if (containerPath.segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER)) { - RuntimeClasspathProviderWrapper delegate = null; - IRuntime runtime = null; - String id = ""; - if (containerPath.segmentCount() > 2) { - delegate = JavaServerPlugin.findRuntimeClasspathProvider(containerPath.segment(1)); - - String runtimeId = containerPath.segment(2); - if (runtimeId != null) - runtime = ServerCore.findRuntime(runtimeId); - if (containerPath.segmentCount() > 3) - id = containerPath.segment(3); - } - RuntimeClasspathContainer container = new RuntimeClasspathContainer(containerPath, delegate, runtime, id); - JavaCore.setClasspathContainer(containerPath, new IJavaProject[] {project}, new IClasspathContainer[] {container}, null); - } - } - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getDescription(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject) - */ - public String getDescription(IPath containerPath, IJavaProject project) { - return Messages.classpathContainerDescription; - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.ClasspathContainerInitializer#canUpdateClasspathContainer(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject) - */ - public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) { - return true; - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.ClasspathContainerInitializer#requestClasspathContainerUpdate(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IClasspathContainer) - */ - public void requestClasspathContainerUpdate(IPath containerPath, IJavaProject project, IClasspathContainer containerSuggestion) throws CoreException { - if (containerPath.segmentCount() > 0) { - if (containerPath.segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER)) { - RuntimeClasspathProviderWrapper delegate = null; - IRuntime runtime = null; - String id = ""; - if (containerPath.segmentCount() > 2) { - delegate = JavaServerPlugin.findRuntimeClasspathProvider(containerPath.segment(1)); - String runtimeId = containerPath.segment(2); - if (runtimeId != null) - runtime = ServerCore.findRuntime(runtimeId); - if (containerPath.segmentCount() > 3) - id = containerPath.segment(3); - delegate.requestClasspathContainerUpdate(runtime, id, containerSuggestion.getClasspathEntries()); - } - } - } - } - - /** (non-Javadoc) - * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getComparisonID(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject) - */ - public Object getComparisonID(IPath containerPath, IJavaProject project) { - if (containerPath == null) - return null; - - return containerPath.toPortableString(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java deleted file mode 100644 index bae44c638..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java +++ /dev/null @@ -1,70 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2005 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Konstantin Komissarchik - initial API and implementation - * IBM Corporation - Support for all server types - ******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.Collections; -import java.util.List; - -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jst.common.project.facet.core.IClasspathProvider; -import org.eclipse.wst.common.project.facet.core.IProjectFacet; -import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; -import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager; -import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent; -/** - * - */ -public final class RuntimeClasspathProvider implements IClasspathProvider { - private static final IProjectFacet WEB_FACET = ProjectFacetsManager.getProjectFacet("jst.web"); - private static final IProjectFacet EJB_FACET = ProjectFacetsManager.getProjectFacet("jst.ejb"); - private static final IProjectFacet EAR_FACET = ProjectFacetsManager.getProjectFacet("jst.ear"); - private static final IProjectFacet UTILITY_FACET = ProjectFacetsManager.getProjectFacet("jst.utility"); - private static final IProjectFacet CONNECTOR_FACET = ProjectFacetsManager.getProjectFacet("jst.connector"); - private static final IProjectFacet APP_CLIENT_FACET = ProjectFacetsManager.getProjectFacet("jst.appclient"); - - private final IRuntimeComponent rc; - - public RuntimeClasspathProvider(final IRuntimeComponent rc) { - this.rc = rc; - } - - public List getClasspathEntries(final IProjectFacetVersion fv) { - IProjectFacet pf = fv.getProjectFacet(); - if (WEB_FACET.equals(pf) || EJB_FACET.equals(pf) || EAR_FACET.equals(pf) || - UTILITY_FACET.equals(pf) || CONNECTOR_FACET.equals(pf) || APP_CLIENT_FACET.equals(pf)) { - String s = rc.getProperty(RuntimeBridge.CLASSPATH); - if (s == null || s.length() == 0) - return null; - - IClasspathEntry cpentry = JavaCore.newContainerEntry(new Path(s)); - return Collections.singletonList(cpentry); - } - - return null; - } - - public static final class Factory implements IAdapterFactory { - private static final Class[] ADAPTER_TYPES = { IClasspathProvider.class }; - - public Object getAdapter(final Object adaptable, final Class adapterType) { - IRuntimeComponent rc = (IRuntimeComponent) adaptable; - return new RuntimeClasspathProvider(rc); - } - - public Class[] getAdapterList() { - return ADAPTER_TYPES; - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java deleted file mode 100644 index 04f75103c..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java +++ /dev/null @@ -1,171 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate; -import org.eclipse.wst.server.core.*; -/** - * - */ -public class RuntimeClasspathProviderWrapper { - private IConfigurationElement element; - private RuntimeClasspathProviderDelegate delegate; - - /** - * Create a new runtime target handler. - * - * @param element a configuration element - */ - public RuntimeClasspathProviderWrapper(IConfigurationElement element) { - super(); - this.element = element; - } - - protected IConfigurationElement getElement() { - return element; - } - - /** - * - * @return the id - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the order. - * - * @return the order - */ - public int getOrder() { - try { - String o = element.getAttribute("order"); - return Integer.parseInt(o); - } catch (NumberFormatException e) { - return -1; - } - } - - public String[] getRuntimeTypeIds() { - try { - List list = new ArrayList(); - StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ","); - while (st.hasMoreTokens()) { - String str = st.nextToken(); - if (str != null && str.length() > 0) - list.add(str.trim()); - } - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not parse runtime type ids: " + element); - return null; - } - } - - /** - * Returns true if the given server resource type (given by the - * id) can be opened with this editor. This result is based on - * the result of the getServerResources() method. - * - * @param runtimeType a runtime type - * @return boolean - */ - public boolean supportsRuntimeType(IRuntimeType runtimeType) { - if (runtimeType == null) - return false; - String id = runtimeType.getId(); - if (id == null || id.length() == 0) - return false; - - String[] s = getRuntimeTypeIds(); - if (s == null) - return false; - - int size = s.length; - for (int i = 0; i < size; i++) { - if (s[i].endsWith("*")) { - if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1))) - return true; - } else if (id.equals(s[i])) - return true; - } - return false; - } - - /* - * @see - */ - public RuntimeClasspathProviderDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (RuntimeClasspathProviderDelegate) element.createExecutableExtension("class"); - delegate.initialize(getId()); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage()); - } - } - return delegate; - } - - /* - * @see RuntimeClasspathProviderDelegate#resolveClasspathContainerImpl(IRuntime, String) - */ - public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime, String id) { - if (runtime == null) - return null; - try { - return getDelegate().resolveClasspathContainerImpl(runtime, id); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - return null; - } - - /* - * @see RuntimeClasspathProviderDelegate#getClasspathContainerLabel(IRuntime, String) - */ - public String getClasspathContainerLabel(IRuntime runtime, String id) { - if (runtime == null) - return "n/a"; - try { - return getDelegate().getClasspathContainerLabel(runtime, id); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - return "n/a"; - } - - /* - * @see RuntimeClasspathProviderDelegate#requestClasspathContainerUpdate(IRuntime, String, IClasspathEntry[]) - */ - public void requestClasspathContainerUpdate(IRuntime runtime, String id, IClasspathEntry[] entries) { - if (runtime == null) - return; - try { - getDelegate().requestClasspathContainerUpdate(runtime, id, entries); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - } - - public String toString() { - return "RuntimeClasspathProviderWrapper[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java deleted file mode 100644 index ea829a8a7..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import org.eclipse.core.runtime.IConfigurationElement; -/** - * - */ -public class RuntimeFacetMapping { - private IConfigurationElement element; - - /** - * Create a new runtime facet mapping. - * - * @param element a configuration element - */ - public RuntimeFacetMapping(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * - * @return the id - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * - * @return the id - */ - public String getRuntimeTypeId() { - return element.getAttribute("runtimeTypeId"); - } - - /** - * - * @return the id - */ - public String getVersion() { - return element.getAttribute("version"); - } - - /** - * - * @return the id - */ - public String getRuntimeComponent() { - return element.getAttribute("runtime-component"); - } - - public String toString() { - return "RuntimeFacetMapping[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java deleted file mode 100644 index 943fe1b48..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java +++ /dev/null @@ -1,59 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2005 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Konstantin Komissarchik - initial API and implementation - * IBM Corporation - Cleanup - ******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.util.Collections; -import java.util.List; - -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jst.common.project.facet.core.IClasspathProvider; -import org.eclipse.wst.common.project.facet.core.IProjectFacet; -import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; -import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager; -import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent; -/** - * - */ -public final class StandardJreClasspathProvider implements IClasspathProvider { - private static final IProjectFacet JAVA_FACET = ProjectFacetsManager.getProjectFacet("jst.java"); - - private IRuntimeComponent rc; - - public StandardJreClasspathProvider(final IRuntimeComponent rc) { - this.rc = rc; - } - - public List getClasspathEntries(final IProjectFacetVersion fv) { - if (fv.getProjectFacet() == JAVA_FACET) { - IClasspathEntry cpentry = JavaCore.newContainerEntry(new Path(rc.getProperty(RuntimeBridge.CLASSPATH))); - return Collections.singletonList(cpentry); - } - - return null; - } - - public static final class Factory implements IAdapterFactory { - private static final Class[] ADAPTER_TYPES = { IClasspathProvider.class }; - - public Object getAdapter(final Object adaptable, final Class adapterType) { - IRuntimeComponent rc = (IRuntimeComponent) adaptable; - return new StandardJreClasspathProvider(rc); - } - - public Class[] getAdapterList() { - return ADAPTER_TYPES; - } - } -}
\ No newline at end of file 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 deleted file mode 100644 index ff7db57dd..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Trace.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; -/** - * Helper class to route trace output. - */ -public class Trace { - /** - * Config tracing - */ - public static byte CONFIG = 0; - /** - * Warning tracing - */ - public static byte WARNING = 1; - /** - * Severe tracing - */ - public static byte SEVERE = 2; - /** - * Finest tracing - */ - public static byte FINEST = 3; - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level trace level - * @param s String - */ - public static void trace(byte level, String s) { - Trace.trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level trace level - * @param s String - * @param t Throwable - */ - public static void trace(byte level, String s, Throwable t) { - if (!JavaServerPlugin.getInstance().isDebugging()) - return; - - System.out.println(JavaServerPlugin.PLUGIN_ID + " " +s); - if (t != null) - t.printStackTrace(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java deleted file mode 100644 index 01b81c9d7..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/XMLMemento.java +++ /dev/null @@ -1,388 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal; - -import java.io.*; -import java.util.*; -import org.w3c.dom.*; -import org.xml.sax.*; - -import javax.xml.parsers.*; -import javax.xml.transform.*; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -/** - * A Memento is a class independent container for persistence - * info. It is a reflection of 3 storage requirements. - * - * 1) We need the ability to persist an object and restore it. - * 2) The class for an object may be absent. If so we would - * like to skip the object and keep reading. - * 3) The class for an object may change. If so the new class - * should be able to read the old persistence info. - * - * We could ask the objects to serialize themselves into an - * ObjectOutputStream, DataOutputStream, or Hashtable. However - * all of these approaches fail to meet the second requirement. - * - * Memento supports binary persistance with a version ID. - */ -public final class XMLMemento implements IMemento { - private Document factory; - private Element element; - - /** - * Answer a memento for the document and element. For simplicity - * you should use createReadRoot and createWriteRoot to create the initial - * mementos on a document. - */ - private XMLMemento(Document doc, Element el) { - factory = doc; - element = el; - } - - /** - * @see IMemento#createChild(String) - */ - public IMemento createChild(String type) { - Element child = factory.createElement(type); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /** - * @see IMemento#createChild(String, String) - */ - public IMemento createChild(String type, String id) { - Element child = factory.createElement(type); - child.setAttribute(TAG_ID, id); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /** - * Create a Document from a Reader and answer a root memento for reading - * a document. - */ - protected static XMLMemento createReadRoot(InputStream in) { - Document document = null; - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder parser = factory.newDocumentBuilder(); - document = parser.parse(new InputSource(in)); - Node node = document.getFirstChild(); - if (node instanceof Element) - return new XMLMemento(document, (Element) node); - } catch (Exception e) { - // ignore - } finally { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - return null; - } - - /** - * Answer a root memento for writing a document. - * - * @param type a type - * @return a memento - */ - public static XMLMemento createWriteRoot(String type) { - Document document; - try { - document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); - Element element = document.createElement(type); - document.appendChild(element); - return new XMLMemento(document, element); - } catch (ParserConfigurationException e) { - throw new Error(e); - } - } - - /* - * @see IMemento - */ - public IMemento getChild(String type) { - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return null; - - // Find the first node which is a child of this node. - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - return new XMLMemento(factory, element2); - } - } - - // A child was not found. - return null; - } - - /* - * @see IMemento - */ - public IMemento [] getChildren(String type) { - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return new IMemento[0]; - - // Extract each node with given type. - ArrayList list = new ArrayList(size); - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - list.add(element2); - } - } - - // Create a memento for each node. - size = list.size(); - IMemento [] results = new IMemento[size]; - for (int x = 0; x < size; x ++) { - results[x] = new XMLMemento(factory, (Element)list.get(x)); - } - return results; - } - - /** - * Return the contents of this memento as a byte array. - * - * @return byte[] - * @throws IOException if anything goes wrong - */ - public byte[] getContents() throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - save(out); - return out.toByteArray(); - } - - /** - * Returns an input stream for writing to the disk with a local locale. - * - * @return java.io.InputStream - * @throws IOException if anything goes wrong - */ - public InputStream getInputStream() throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - save(out); - return new ByteArrayInputStream(out.toByteArray()); - } - - /* - * @see IMemento - */ - public Float getFloat(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Float(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /* - * @see IMemento - */ - public String getId() { - return element.getAttribute(TAG_ID); - } - - /* - * @see IMemento - */ - public String getName() { - return element.getNodeName(); - } - - /* - * @see IMemento - */ - public Integer getInteger(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Integer(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /* - * @see IMemento - */ - public String getString(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - return attr.getValue(); - } - - public List getNames() { - NamedNodeMap map = element.getAttributes(); - int size = map.getLength(); - List list = new ArrayList(); - for (int i = 0; i < size; i++) { - Node node = map.item(i); - String name = node.getNodeName(); - list.add(name); - } - return list; - } - - /** - * Loads a memento from the given filename. - * - * @param filename java.lang.String - * @return org.eclipse.ui.IMemento - * @exception java.io.IOException - */ - public static IMemento loadMemento(String filename) throws IOException { - return XMLMemento.createReadRoot(new FileInputStream(filename)); - } - - /* - * @see IMemento - */ - private void putElement(Element element2) { - NamedNodeMap nodeMap = element2.getAttributes(); - int size = nodeMap.getLength(); - for (int i = 0; i < size; i++){ - Attr attr = (Attr)nodeMap.item(i); - putString(attr.getName(),attr.getValue()); - } - - NodeList nodes = element2.getChildNodes(); - size = nodes.getLength(); - for (int i = 0; i < size; i ++) { - Node node = nodes.item(i); - if (node instanceof Element) { - XMLMemento child = (XMLMemento)createChild(node.getNodeName()); - child.putElement((Element)node); - } - } - } - - /* - * @see IMemento - */ - public void putFloat(String key, float f) { - element.setAttribute(key, String.valueOf(f)); - } - - /* - * @see IMemento - */ - public void putInteger(String key, int n) { - element.setAttribute(key, String.valueOf(n)); - } - - /* - * @see IMemento - */ - public void putMemento(IMemento memento) { - XMLMemento xmlMemento = (XMLMemento) memento; - putElement(xmlMemento.element); - } - - /* - * @see IMemento - */ - public void putString(String key, String value) { - if (value == null) - return; - element.setAttribute(key, value); - } - - /** - * Save this Memento to a Writer. - * - * @param os an output stream - * @throws IOException if anything goes wrong - */ - public void save(OutputStream os) throws IOException { - Result result = new StreamResult(os); - Source source = new DOMSource(factory); - try { - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); - transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2"); - transformer.transform(source, result); - } catch (Exception e) { - throw (IOException) (new IOException().initCause(e)); - } - } - - /** - * Saves the memento to the given file. - * - * @param filename java.lang.String - * @exception java.io.IOException - */ - public void saveToFile(String filename) throws IOException { - FileOutputStream w = null; - try { - w = new FileOutputStream(filename); - save(w); - } catch (IOException e) { - throw e; - } catch (Exception e) { - throw new IOException(e.getLocalizedMessage()); - } finally { - if (w != null) { - try { - w.close(); - } catch (Exception e) { - // ignore - } - } - } - } - - /* - * @see IMemento#getBoolean(String) - */ - public Boolean getBoolean(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - if ("true".equalsIgnoreCase(strValue)) - return new Boolean(true); - return new Boolean(false); - } - - /* - * @see IMemento#putBoolean(String, boolean) - */ - public void putBoolean(String key, boolean value) { - element.setAttribute(key, value ? "true" : "false"); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java deleted file mode 100644 index de2f44725..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Daniel R. Somerfield - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal.cactus; - -import java.net.URL; -/** - * - */ -public class CactusLaunchable { - private String fProjectname; - private String fClassName; - private String fTestName; - private URL fCactusURL; - - public CactusLaunchable(String projectName, String className, String testName, URL cactusURL) { - fProjectname = projectName; - fClassName = className; - fTestName = testName; - fCactusURL = cactusURL; - } - - public String getTestClassName() { - return fClassName; - } - - public String getTestName() { - return fTestName; - } - - public String getProjectName() { - return fProjectname; - } - - public URL getCactusURL() { - return fCactusURL; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java deleted file mode 100644 index 0b3414958..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Daniel R. Somerfield - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal.cactus; - -import java.net.MalformedURLException; -import java.net.URL; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jst.server.core.internal.JavaServerPlugin; -import org.eclipse.wst.server.core.IModuleArtifact; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.IURLProvider; -import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate; -/** - * - */ -public class CactusLaunchableAdapterDelegate extends LaunchableAdapterDelegate { - public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException { - if (moduleArtifact instanceof WebTestableResource) { - WebTestableResource resource = (WebTestableResource) moduleArtifact; - URL url = ((IURLProvider) server.getAdapter(IURLProvider.class)) - .getModuleRootURL(resource.getModule()); - - String urlString = url.toString(); - if (urlString.endsWith("/")) { - try { - url = new URL(urlString.substring(0, urlString.length() - 1)); - } catch (MalformedURLException e) { - JavaServerPlugin.log(e); - return null; - } - } - return new CactusLaunchable(resource.getProjectName(), - resource.getClassName(), resource.getTestName(), url); - } - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java deleted file mode 100644 index bbb513d70..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Daniel R. Somerfield - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal.cactus; - -import java.util.Arrays; -import java.util.Iterator; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jdt.core.IJavaElement; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IMethod; -import org.eclipse.jdt.core.IType; -import org.eclipse.jdt.core.ITypeHierarchy; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleArtifact; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate; -/** - * - */ -public class CactusModuleArtifactAdapterDelegate extends ModuleArtifactAdapterDelegate { - private static final String SERVLET_TEST_CASE_TYPE = "org.apache.cactus.ServletTestCase"; - - public IModuleArtifact getModuleArtifact(Object obj) { - String methodName = ""; - if (obj instanceof IMethod) { - IMethod method = (IMethod) obj; - methodName = method.getElementName(); - obj = method.getCompilationUnit(); - } - if (obj instanceof IAdaptable) { - IResource resource = (IResource) ((IAdaptable) obj).getAdapter(IResource.class); - String testClassName = getClassNameForType(resource, - SERVLET_TEST_CASE_TYPE); - String projectName = resource.getProject().getName(); - if (testClassName != null) { - return new WebTestableResource(getModule(resource.getProject()), - false, projectName, testClassName, methodName); - } - } - return null; - } - - public static String getClassNameForType(IResource resource, String superType) { - if (resource == null) - return null; - try { - IProject project = resource.getProject(); - IPath path = resource.getFullPath(); - if (!project.hasNature(JavaCore.NATURE_ID) || path == null) - return null; - - IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID); - if (!javaProject.isOpen()) - javaProject.open(new NullProgressMonitor()); - - // output location may not be on classpath - IPath outputPath = javaProject.getOutputLocation(); - if (outputPath != null - && "class".equals(path.getFileExtension()) && outputPath.isPrefixOf(path)) { //$NON-NLS-1$ - int count = outputPath.segmentCount(); - path = path.removeFirstSegments(count); - } - - // remove initial part of classpath - IClasspathEntry[] classPathEntry = javaProject.getResolvedClasspath(true); - if (classPathEntry != null) { - int size = classPathEntry.length; - for (int i = 0; i < size; i++) { - IPath classPath = classPathEntry[i].getPath(); - if (classPath.isPrefixOf(path)) { - int count = classPath.segmentCount(); - path = path.removeFirstSegments(count); - i += size; - } - } - } - - // get java element - IJavaElement javaElement = javaProject.findElement(path); - IType[] types = getTypes(javaElement); - if (types != null) { - int size2 = types.length; - for (int i = 0; i < size2; i++) { - if (hasSuperclass(types[i], superType)) - return types[i].getFullyQualifiedName(); - } - } - return null; - } catch (Exception e) { - return null; - } - } - - private static IType[] getTypes(IJavaElement element) { - try { - if (element.getElementType() != IJavaElement.COMPILATION_UNIT) - return null; - return ((ICompilationUnit) element).getAllTypes(); - } catch (Exception e) { - return null; - } - } - - public static boolean hasSuperclass(IType type, String superClassName) { - try { - ITypeHierarchy hierarchy = type.newSupertypeHierarchy(null); - IType[] superClasses = hierarchy.getAllSuperclasses(type); - int size = superClasses.length; - for (int i = 0; i < size; i++) { - if (superClassName.equals(superClasses[i].getFullyQualifiedName())) //$NON-NLS-1$ - return true; - } - return false; - } catch (Exception e) { - return false; - } - } - - protected static IModule getModule(IProject project) { - IModule deployable = null; - Iterator iterator = Arrays.asList(ServerUtil.getModules("jst.web")).iterator(); - while (iterator.hasNext()) { - Object next = iterator.next(); - if (next instanceof IModule) { - deployable = (IModule) next; - if (deployable.getProject().equals(project)) - return deployable; - } - } - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java deleted file mode 100644 index e3b6c521c..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Daniel R. Somerfield - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.core.internal.cactus; - -import org.eclipse.core.expressions.PropertyTester; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jdt.core.IClassFile; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jdt.core.IJavaElement; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IMember; -import org.eclipse.jdt.core.IPackageFragment; -import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.eclipse.jdt.core.IType; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.core.Signature; -import org.eclipse.jst.server.core.internal.JavaServerPlugin; -/** - * - */ -public class ServletTestCasePropertyTester extends PropertyTester { - public static final String PROPERTY_IS_SERVLET_TEST_CASE = "isServletTestCase"; - private static final String TEST_SUPERCLASS_NAME = "org.apache.cactus.ServletTestCase"; - - public boolean test(Object receiver, String method, Object[] args, Object expectedValue) { - IJavaElement javaElement = null; - if (receiver instanceof IAdaptable) { - javaElement = (IJavaElement) ((IAdaptable) receiver).getAdapter(IJavaElement.class); - } - if (javaElement != null) { - if (!javaElement.exists()) { - return false; - } - } - if (javaElement instanceof IJavaProject - || javaElement instanceof IPackageFragmentRoot - || javaElement instanceof IPackageFragment) { - return true; - } - if (javaElement != null) { - if (PROPERTY_IS_SERVLET_TEST_CASE.equals(method)) { //$NON-NLS-1$ - return isServletTestCase(javaElement); - } - } - return false; - } - - private boolean isServletTestCase(IJavaElement element) { - IType testType = null; - - try { - if (element instanceof ICompilationUnit) { - ICompilationUnit cu = (ICompilationUnit) element; - testType = cu.getType(Signature.getQualifier(cu.getElementName())); - } else if (element instanceof IClassFile) { - testType = ((IClassFile) element).getType(); - } else if (element instanceof IType) { - testType = (IType) element; - } else if (element instanceof IMember) { - testType = ((IMember) element).getDeclaringType(); - } - - if (testType != null && testType.exists() && isTestOrSuite(testType)) { - return true; - } - } catch (JavaModelException e) { - // TODO: what do we do here? - JavaServerPlugin.log(e); - } - return false; - } - - /** - * - * @param testType - * @return true if the type is a test, false otherwise - */ - private boolean isTestOrSuite(IType testType) throws JavaModelException { - IType[] types = testType.newSupertypeHierarchy(null).getAllSuperclasses(testType); - for (int i = 0; i < types.length; i++) { - if (types[i].getFullyQualifiedName().equals(TEST_SUPERCLASS_NAME)) { - return true; - } - } - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java deleted file mode 100644 index c760ce84a..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Daniel R. Somerfield - initial API and implementation - *******************************************************************************/ - -package org.eclipse.jst.server.core.internal.cactus; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleArtifact; - -public class WebTestableResource implements IModuleArtifact { - private IModule fModule; - private boolean fServletIsConfigured; - private String fClassName; - private String fTestName; - private String fProjectName; - - public WebTestableResource(IModule module, boolean servletIsConfigured, - String projectName, String className, String testName) { - fModule = module; - fServletIsConfigured = servletIsConfigured; - fClassName = className; - fTestName = testName; - fProjectName = projectName; - } - - public String getProjectName() { - return fProjectName; - } - - public boolean isServletConfigured() { - return fServletIsConfigured; - } - - public IModule getModule() { - return fModule; - } - - public String getClassName() { - return fClassName; - } - - public String getTestName() { - return fTestName; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html deleted file mode 100644 index 0dfa3c3ae..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.html +++ /dev/null @@ -1,66 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<table width="500"> -<tr> -<td> -<p>Support for Java and J2EE server types.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>The ClasspathRuntimeTargetHandler class provides a common subclass -for runtime target handlers that need to modify a project's classpath -when a project is targetted to a particular runtime.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>IGenericRuntime and its working copy provide type-specific access -to the generic runtime type. When using a generic runtime, clients can -access the type specific information by adapting to these types using -<pre>IGenericRuntime gr = (IGenericRuntime) runtime.getAdapter(IGenericRuntime.class)</pre>. -GenericRuntimeUtil contains some utility methods for handling the -generic runtime type.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>IEnterpriseApplication, IEJBModule, IWebModule, IApplicationClientModule, -and IConnectorModule are J2EE module interfaces meant to be implemented -by module delegates that provide J2EE module support.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>ILooseArchive and ILooseArchiveSupport are module interfaces for modules -that take advantage of loose archive support - allowing JARs contained within -the module to be available in a separate Java project instead of directly -within the module.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>The remainder of the classes in this package are module artifact and -launchable types to provide access to J2EE resource types for the server tool -framework.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.xml b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.xml deleted file mode 100644 index b4c05295a..000000000 --- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/package.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - -<p>Support for Java and J2EE server types.</p> - -<p>The ClasspathRuntimeTargetHandler class provides a common subclass -for runtime target handlers that need to modify a project's classpath -when a project is targetted to a particular runtime.</p> - -<p>IGenericRuntime and its working copy provide type-specific access -to the generic runtime type. When using a generic runtime, clients can -access the type specific information by adapting to these types using -<pre>IGenericRuntime gr = (IGenericRuntime) runtime.getAdapter(IGenericRuntime.class)</pre>. -GenericRuntimeUtil contains some utility methods for handling the -generic runtime type.</p> - -<p>IEnterpriseApplication, IEJBModule, IWebModule, IApplicationClientModule, -and IConnectorModule are J2EE module interfaces meant to be implemented -by module delegates that provide J2EE module support.</p> - -<p>ILooseArchive and ILooseArchiveSupport are module interfaces for modules -that take advantage of loose archive support - allowing JARs contained within -the module to be available in a separate Java project instead of directly -within the module.</p> - -<p>The remainder of the classes in this package are module artifact and -launchable types to provide access to J2EE resource types for the server tool -framework.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore b/plugins/org.eclipse.jst.server.generic.modules/.cvsignore deleted file mode 100644 index 42654c1d7..000000000 --- a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -bin -build.xml -commonmodules.jar -org.eclipse.jst.server.generic.modules_1.0.0.jar -temp.folder diff --git a/plugins/org.eclipse.jst.server.generic.modules/.project b/plugins/org.eclipse.jst.server.generic.modules/.project deleted file mode 100644 index af14ba877..000000000 --- a/plugins/org.eclipse.jst.server.generic.modules/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.jst.server.generic.ui</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.jst.server.generic.ui/.classpath b/plugins/org.eclipse.jst.server.generic.ui/.classpath deleted file mode 100644 index 751c8f2e5..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore b/plugins/org.eclipse.jst.server.generic.ui/.cvsignore deleted file mode 100644 index a81ce1b72..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -build.xml -genericui.jar -org.eclipse.jst.server.generic.ui_1.0.0.jar -temp.folder -genericuisrc.zip -@dot diff --git a/plugins/org.eclipse.jst.server.generic.ui/.project b/plugins/org.eclipse.jst.server.generic.ui/.project deleted file mode 100644 index af14ba877..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.jst.server.generic.ui</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF deleted file mode 100644 index 5e9db2ca3..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,18 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.jst.server.generic.ui; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.jst.server.generic.ui.internal.GenericUiPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.jst.server.generic.ui.internal -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.wst.server.ui, - org.eclipse.debug.ui, - org.eclipse.jdt.debug.ui, - org.eclipse.jst.server.core, - org.eclipse.jst.server.generic.core, - org.eclipse.wst.server.core -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.jst.server.generic.ui/about.html b/plugins/org.eclipse.jst.server.generic.ui/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.generic.ui/build.properties b/plugins/org.eclipse.jst.server.generic.ui/build.properties deleted file mode 100644 index eb9ec43d8..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/build.properties +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################################## -# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the -# accompanying materials are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: Gorkem Ercan - initial API and implementation -# -################################################################################################### -source.. = src/ -output.. = bin/ -bin.includes = plugin.xml,\ - .,\ - icons/,\ - plugin.properties,\ - META-INF/,\ - about.html -src.includes = build.properties diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif Binary files differdeleted file mode 100644 index b51ae39b8..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif Binary files differdeleted file mode 100644 index 30de91f23..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties b/plugins/org.eclipse.jst.server.generic.ui/plugin.properties deleted file mode 100644 index a105be15e..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################################## -# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the -# accompanying materials are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: Gorkem Ercan - initial API and implementation -# -################################################################################################### -pluginName=Generic Server Plugin UI -providerName=Eclipse.org -pluginDescription=UI Components for the generic server plugin. - diff --git a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml b/plugins/org.eclipse.jst.server.generic.ui/plugin.xml deleted file mode 100644 index ba8f5f93c..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> -<plugin> - <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages"> - <launchConfigurationTypeImage - id="org.eclipse.jst.server.generic.image.ui.launchConfigurationTypeImage" - configTypeID="org.eclipse.jst.server.generic.core.launchConfigurationType" - icon="icons/obj16/server.gif"> - </launchConfigurationTypeImage> - <launchConfigurationTypeImage - id="org.eclipse.jst.server.generic.image.ui.ExternalLaunchConfigurationTypeImage" - configTypeID="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType" - icon="icons/obj16/server.gif"> - </launchConfigurationTypeImage> - </extension> - - <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"> - <launchConfigurationTabGroup - id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup" - type="org.eclipse.jst.server.generic.core.launchConfigurationType" - class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup"> - </launchConfigurationTabGroup> - <launchConfigurationTabGroup - id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup" - type="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType" - class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup"> - </launchConfigurationTabGroup> - </extension> - -</plugin> diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java deleted file mode 100644 index 5ec5c5514..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java +++ /dev/null @@ -1,74 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.util.ArrayList; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtension; -import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; -import org.eclipse.debug.ui.CommonTab; -import org.eclipse.debug.ui.EnvironmentTab; -import org.eclipse.debug.ui.ILaunchConfigurationDialog; -import org.eclipse.debug.ui.ILaunchConfigurationTab; -import org.eclipse.debug.ui.sourcelookup.SourceLookupTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab; -import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab; - - -public class GenericLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup{ - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String) - */ - public void createTabs(ILaunchConfigurationDialog dialog, String mode) { - ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[7]; - tabs[0] = new ServerLaunchConfigurationTab(getTypeIds()); - tabs[0].setLaunchConfigurationDialog(dialog); - tabs[1] = new JavaArgumentsTab(); - tabs[1].setLaunchConfigurationDialog(dialog); - tabs[2] = new JavaClasspathTab(); - tabs[2].setLaunchConfigurationDialog(dialog); - tabs[3] = new SourceLookupTab(); - tabs[3].setLaunchConfigurationDialog(dialog); - tabs[4] = new EnvironmentTab(); - tabs[4].setLaunchConfigurationDialog(dialog); - tabs[5] = new JavaJRETab(); - tabs[5].setLaunchConfigurationDialog(dialog); - tabs[6] = new CommonTab(); - tabs[6].setLaunchConfigurationDialog(dialog); - setTabs(tabs); - } - - private String[] getTypeIds() { - ArrayList list = new ArrayList(); - IExtension[] extensions= ExtensionPointUtil.getGenericServerDefinitionExtensions(); - for (int i = 0; extensions!=null && i < extensions.length; i++) { - IExtension extension = extensions[i]; - IConfigurationElement[] elements = ExtensionPointUtil.getConfigurationElements(extension); - for (int j = 0; j < elements.length; j++) { - IConfigurationElement element = elements[j]; - String genericRuntimeID = element.getAttribute("id"); - IServerType[] serverTypes = ServerCore.getServerTypes(); - for (int k = 0; k < serverTypes.length; k++) { - if(serverTypes[k].hasRuntime() && serverTypes[k].getRuntimeType().getId().equals(genericRuntimeID)) - list.add(serverTypes[k].getId()); - } - } - } - return (String[])list.toArray(new String[list.size()]); - } - - -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java deleted file mode 100644 index 699369bd6..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java +++ /dev/null @@ -1,34 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; - -public class GenericServerComposite extends Composite { - - private GenericServerCompositeDecorator[] fDecorators; - public GenericServerComposite(Composite parent, GenericServerCompositeDecorator[] decorators) { - super(parent, SWT.NONE); - fDecorators = decorators; - GridLayout layout =new GridLayout(3,false); - setLayout(layout); - setLayoutData(new GridData(GridData.FILL_BOTH)); - createControl(); - } - - private void createControl(){ - for (int i = 0; fDecorators!= null && i < fDecorators.length; i++) { - fDecorators[i].decorate(this); - } - } -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java deleted file mode 100644 index 232f356d5..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java +++ /dev/null @@ -1,31 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - - -/** - * - * @author Gorkem Ercan - */ -public interface GenericServerCompositeDecorator -{ - /** - * - * @param composite - */ - public abstract void decorate(GenericServerComposite composite); - /** - * Called if all the fields are valid. This gives subclasses opportunity to - * validate and take necessary actions. - * - * @return - */ - public abstract boolean validate(); -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java deleted file mode 100644 index d9c9f4fed..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java +++ /dev/null @@ -1,166 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.util.Map; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime; -import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.server.core.IRuntime; -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.TaskModel; -import org.eclipse.wst.server.core.internal.IInstallableRuntime; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.core.model.RuntimeDelegate; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; - -/** - * A serverDefinitionType aware wizard for defining runtimes. - * - * @author Gorkem Ercan - */ -public class GenericServerRuntimeWizardFragment extends ServerDefinitionTypeAwareWizardFragment { - - private GenericServerCompositeDecorator[] fDecorators; - - - /** - * Constructor - */ - public GenericServerRuntimeWizardFragment() { - super(); - } - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#isComplete() - */ - public boolean isComplete() { - RuntimeDelegate runtime = getRuntimeDelegate(); - if (runtime == null) - return false; - IStatus status = runtime.validate(); - return (status != null && status.isOK()); - } - - public void createContent(Composite parent, IWizardHandle handle) { - Map properties= null; - ServerRuntime definition=null; - if(getRuntimeDelegate()!=null){ - properties = getRuntimeDelegate().getServerInstanceProperties(); - definition = getServerTypeDefinition(getServerDefinitionId(),properties); - } - IInstallableRuntime ir = ServerPlugin.findInstallableRuntime(getRuntimeDelegate().getRuntime().getRuntimeType().getId()); - if (ir!= null){ - fDecorators= new GenericServerCompositeDecorator[3]; - fDecorators[0]= new JRESelectDecorator(getRuntimeDelegate()); - fDecorators[1]= new ServerTypeDefinitionRuntimeDecorator(definition,properties,getWizard(),getRuntimeDelegate()); - fDecorators[2]= new InstallableRuntimeDecorator(getRuntimeDelegate()); - } - else{ - fDecorators= new GenericServerCompositeDecorator[2]; - fDecorators[0]= new JRESelectDecorator(getRuntimeDelegate()); - fDecorators[1]= new ServerTypeDefinitionRuntimeDecorator(definition,properties,getWizard(),getRuntimeDelegate()); - } - - new GenericServerComposite(parent,fDecorators); - } - - - private String getServerDefinitionId(){ - String currentDefinition= null; - if(getRuntimeDelegate()!=null) - currentDefinition = getRuntimeDelegate().getRuntime().getRuntimeType().getId(); - if(currentDefinition!= null && currentDefinition.length()>0) - { - return currentDefinition; - } - return null; - } - - - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#enter() - */ - public void enter() { - if(getRuntimeDelegate()!=null) - getRuntimeDelegate().getRuntimeWorkingCopy().setName(createName()); - - for (int i = 0; i < fDecorators.length; i++) { - if(fDecorators[i].validate()) - return; - } - } - - public void exit() { - //validate to save latest values - for (int i = 0; i < fDecorators.length; i++) { - if(fDecorators[i].validate()) - return; - } - } - - - private String createName() - { - RuntimeDelegate dl = getRuntimeDelegate(); - IRuntimeType runtimeType = dl.getRuntime().getRuntimeType(); - String name = GenericServerUIMessages.bind(GenericServerUIMessages.runtimeName,runtimeType.getName()); - IRuntime[] list = ServerCore.getRuntimes(); - int suffix = 1; - String suffixName=name; - for(int i=0;i<list.length;i++) - { - if((list[i].getName().equals(name)|| list[i].getName().equals(suffixName))&& !list[i].equals(dl.getRuntime())) - suffix++; - suffixName= name+" "+suffix; - } - - if(suffix>1) - return suffixName; - return name; - } - - private GenericServerRuntime getRuntimeDelegate(){ - IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - if (wc == null) - return null; - return (GenericServerRuntime) wc.loadAdapter(GenericServerRuntime.class, new NullProgressMonitor()); - } - /* (non-Javadoc) - * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description() - */ - public String description() { - String rName = getRuntimeName(); - if(rName == null || rName.length()<1) - rName="Generic"; - return GenericServerUIMessages.bind(GenericServerUIMessages.runtimeWizardDescription,rName); - } - /* (non-Javadoc) - * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title() - */ - public String title() { - String rName = getRuntimeName(); - if(rName == null || rName.length()<1) - rName="Generic"; - return GenericServerUIMessages.bind(GenericServerUIMessages.runtimeWizardTitle,rName); - } - - private String getRuntimeName() - { - if(getRuntimeDelegate()!=null && getRuntimeDelegate().getRuntime()!=null) - return getRuntimeDelegate().getRuntime().getName(); - return null; - } - -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java deleted file mode 100644 index d2cc0bd4f..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import org.eclipse.osgi.util.NLS; - -/** - * Helper class to get messages - * - * @author Gorkem Ercan - */ -public class GenericServerUIMessages extends NLS{ - - private static final String RESOURCE_BUNDLE= "org.eclipse.jst.server.generic.ui.internal.GenericServerUIMessages";//$NON-NLS-1$ - public static String serverTypeGroup_label_browse; - public static String runtimeName; - public static String runtimeWizardDescription; - public static String runtimeWizardTitle; - public static String serverName; - public static String serverWizardDescription; - public static String serverWizardTitle; - public static String installed_jre_link; - public static String jre_select_label; - public static String defaultJRE; - public static String invalidPath; - - static{ - NLS.initializeMessages(RESOURCE_BUNDLE, GenericServerUIMessages.class); - } - -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties deleted file mode 100644 index 65ef6dad9..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################################## -# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the -# accompanying materials are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: Gorkem Ercan - initial API and implementation -# -################################################################################################### -serverWizardTitle=New {0} Server -serverWizardDescription=Create a new {0} server -runtimeWizardTitle=New {0} Runtime -runtimeWizardDescription=Define a new {0} runtime -serverTypeGroup_label_browse=Browse... -serverName = {0} -runtimeName= {0} -installed_jre_link = You can use <a>Installed JRE preferences</a> to create a new JRE -jre_select_label= &JRE: -defaultJRE = Default JRE -invalidPath = {0} is not valid
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java deleted file mode 100644 index 91003b2dd..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java +++ /dev/null @@ -1,148 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jst.server.generic.core.internal.GenericServer; -import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime; -import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * - * - * @author Gorkem Ercan - */ -public class GenericServerWizardFragment extends ServerDefinitionTypeAwareWizardFragment -{ - private GenericServerCompositeDecorator[] fDecorators; - - /** - * - */ - public boolean isComplete() { - - ServerRuntime serverRuntime = getServerTypeDefinitionFor(getServer()); - if(serverRuntime==null) - return false; - - IServerWorkingCopy server = getServer(); - GenericServer dl= (GenericServer)server.loadAdapter(GenericServer.class,null); - - IStatus status = dl.validate(); - return (status != null && status.isOK()); - - } - - public void createContent(Composite parent, IWizardHandle handle){ - IServerWorkingCopy server = getServer(); - GenericServer dl= (GenericServer)server.loadAdapter(GenericServer.class,null); - ServerRuntime definition = getServerTypeDefinitionFor(server); - fDecorators = new GenericServerCompositeDecorator[1]; - fDecorators[0]=new ServerTypeDefinitionServerDecorator(definition,null,getWizard(),dl); - new GenericServerComposite(parent,fDecorators); - - } - /** - * @param server - * @return - */ - private ServerRuntime getServerTypeDefinitionFor(IServerWorkingCopy server) { - GenericServerRuntime runtime = (GenericServerRuntime)server.getRuntime().getAdapter(GenericServerRuntime.class); - if(runtime==null){ - IRuntime wc = (IRuntime)getTaskModel().getObject(TaskModel.TASK_RUNTIME); - runtime= (GenericServerRuntime)wc.getAdapter(GenericServerRuntime.class); - if(runtime==null) - runtime= (GenericServerRuntime)wc.loadAdapter(GenericServerRuntime.class,new NullProgressMonitor()); - } - String id = runtime.getRuntime().getRuntimeType().getId(); - if(id==null){ - return null; - } - Map runtimeProperties = runtime.getServerInstanceProperties(); - ServerRuntime definition = getServerTypeDefinition(id,runtimeProperties); - return definition; - } - - /** - * @return - */ - private IServerWorkingCopy getServer() { - IServerWorkingCopy server = (IServerWorkingCopy)getTaskModel().getObject(TaskModel.TASK_SERVER); - return server; - } - - private boolean isNameInUse(String name){ - IServer[] servers =ServerCore.getServers(); - for (int i = 0; i < servers.length; i++) { - if(!servers[i].equals(getServer().getOriginal()) && (servers[i].getName().equals(name) )) - return true; - } - return false; - } - - private String createName(){ - String name = GenericServerUIMessages.bind(GenericServerUIMessages.serverName,getServerTypeDefinitionFor(getServer()).getName()); - int suffix=1; - String suffixName =name; - while(isNameInUse(suffixName)){ - suffixName = name+" "+suffix; - suffix++; - } - return suffixName; - } - public void enter() { - getServer().setName(createName()); - for (int i = 0; i < fDecorators.length; i++) { - if(fDecorators[i].validate()) - return; - } - } - public void exit() { - //validate needed to save the latest values. - for (int i = 0; i < fDecorators.length; i++) { - if(fDecorators[i].validate()) - return; - } - } - /* (non-Javadoc) - * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description() - */ - public String description() { - String sName = getServerName(); - if(sName==null || sName.length()<1) - sName="Generic"; - return GenericServerUIMessages.bind(GenericServerUIMessages.serverWizardDescription,sName); - } - - private String getServerName() - { - if(getServer()!=null && getServer().getRuntime()!=null) - return getServer().getRuntime().getRuntimeType().getName(); - return null; - } - /* (non-Javadoc) - * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title() - */ - public String title() { - String sName= getServerName(); - if(sName==null || sName.length()<1) - sName="Generic"; - return GenericServerUIMessages.bind(GenericServerUIMessages.serverWizardTitle,sName); - } -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java deleted file mode 100644 index fff5a81ce..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java +++ /dev/null @@ -1,93 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.ui.plugin.*; -import org.osgi.framework.BundleContext; -import java.util.*; - -/** - * The main plugin class to be used in the desktop. - * - * @author Gorkem Ercan - */ -public class GenericUiPlugin extends AbstractUIPlugin { - - public static final String WIZBAN_IMAGE = "genericlogo"; - //The shared instance. - private static GenericUiPlugin plugin; - //Resource bundle. - private ResourceBundle resourceBundle; - - /** - * The constructor. - */ - public GenericUiPlugin() { - super(); - plugin = this; - try { - resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.generic.ui.GenericUiPluginResources"); - } catch (MissingResourceException x) { - resourceBundle = null; - } - } - - /** - * This method is called upon plug-in activation - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /** - * This method is called when the plug-in is stopped - */ - public void stop(BundleContext context) throws Exception { - super.stop(context); - } - - /** - * Returns the shared instance. - */ - public static GenericUiPlugin getDefault() { - return plugin; - } - - /** - * Returns the string from the plugin's resource bundle, - * or 'key' if not found. - */ - public static String getResourceString(String key) { - ResourceBundle bundle = GenericUiPlugin.getDefault().getResourceBundle(); - try { - return (bundle != null) ? bundle.getString(key) : key; - } catch (MissingResourceException e) { - return key; - } - } - - protected ImageRegistry createImageRegistry() { - ImageRegistry registry = new ImageRegistry(); - ImageDescriptor desc = ImageDescriptor.createFromURL(getDefault().getBundle().getEntry("/icons/wizban/new_server_wiz.gif")); - registry.put(WIZBAN_IMAGE,desc); - return registry; - } - public ImageDescriptor imageDescriptor(String key){ - return getImageRegistry().getDescriptor(key); - } - /** - * Returns the plugin's resource bundle, - */ - public ResourceBundle getResourceBundle() { - return resourceBundle; - } -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/InstallableRuntimeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/InstallableRuntimeDecorator.java deleted file mode 100644 index 2a4b01fd3..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/InstallableRuntimeDecorator.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.eclipse.jst.server.generic.ui.internal; - -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime; -import org.eclipse.jst.server.generic.core.internal.Trace; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.wst.server.core.internal.IInstallableRuntime; -import org.eclipse.wst.server.core.internal.ServerPlugin; - -public class InstallableRuntimeDecorator implements - GenericServerCompositeDecorator { - - private GenericServerRuntime fRuntime; - - public InstallableRuntimeDecorator(GenericServerRuntime runtime) { - fRuntime = runtime; - } - - public void decorate(final GenericServerComposite composite) { - final IInstallableRuntime ir = ServerPlugin - .findInstallableRuntime(fRuntime.getRuntime().getRuntimeType() - .getId()); - - Button install = SWTUtil.createButton(composite, "Install Server"); - install.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - DirectoryDialog dialog = new DirectoryDialog(composite - .getShell()); - dialog.setMessage("Select installation directory"); - String selectedDirectory = dialog.open(); - if (selectedDirectory != null) { - try { - ir.install(new Path(selectedDirectory), - new NullProgressMonitor()); - } catch (Exception e) { - Trace - .trace(Trace.SEVERE, - "Error installing runtime", e); - } - - } - } - }); - } - - public boolean validate() { - return false; - } - -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java deleted file mode 100644 index e54bbf1d7..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java +++ /dev/null @@ -1,140 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMInstallType; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.jface.preference.IPreferenceNode; -import org.eclipse.jface.preference.PreferenceDialog; -import org.eclipse.jface.preference.PreferenceManager; -import org.eclipse.jface.window.Window; -import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Link; -import org.eclipse.ui.PlatformUI; - - -public class JRESelectDecorator implements GenericServerCompositeDecorator { - private List installedJREs; - private String[] jreNames; - private GenericServerRuntime fRuntime; - public JRESelectDecorator(GenericServerRuntime runtime){ - super(); - fRuntime = runtime; - } - - public void decorate(final GenericServerComposite composite) { - updateJREs(); - Link link = new Link(composite,SWT.NONE); - link.setLayoutData(new GridData(SWT.FILL,SWT.NONE,true,false,3,1)); - link.setText(GenericServerUIMessages.installed_jre_link); - - Label label = new Label(composite, SWT.NONE); - label.setText(GenericServerUIMessages.jre_select_label); - - final Combo combo = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY); - combo.setItems(jreNames); - GridData data = new GridData(SWT.FILL,SWT.NONE,false,false,2,1); - - combo.setLayoutData(data); - - combo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - int sel = combo.getSelectionIndex(); - IVMInstall vmInstall = null; - if (sel > 0) - vmInstall = (IVMInstall) installedJREs.get(sel - 1); - - fRuntime.setVMInstall(vmInstall); - validate(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - - link.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - String currentVM = combo.getText(); - if (showPreferencePage(composite)) { - updateJREs(); - combo.setItems(jreNames); - combo.setText(currentVM); - if (combo.getSelectionIndex() == -1) - combo.select(0); - } - } - }); - - if (fRuntime!=null){ - if(fRuntime.isUsingDefaultJRE()){ - combo.select(0); - }else{ - combo.setText(fRuntime.getVMInstall().getName()); - } - } - } - - - protected boolean showPreferencePage(GenericServerComposite composite) { - PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager(); - IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode("org.eclipse.jdt.debug.ui.preferences.VMPreferencePage"); - PreferenceManager manager2 = new PreferenceManager(); - manager2.addToRoot(node); - final PreferenceDialog dialog = new PreferenceDialog(composite.getShell(), manager2); - final boolean[] result = new boolean[] { false }; - BusyIndicator.showWhile(composite.getDisplay(), new Runnable() { - public void run() { - dialog.create(); - if (dialog.open() == Window.OK) - result[0] = true; - } - }); - return result[0]; - } - - protected void updateJREs() { - installedJREs = new ArrayList(); - IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes(); - int size = vmInstallTypes.length; - for (int i = 0; i < size; i++) { - IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls(); - int size2 = vmInstalls.length; - for (int j = 0; j < size2; j++) { - installedJREs.add(vmInstalls[j]); - } - } - - size = installedJREs.size(); - jreNames = new String[size+1]; - jreNames[0] = GenericServerUIMessages.defaultJRE; - for (int i = 0; i < size; i++) { - IVMInstall vmInstall = (IVMInstall) installedJREs.get(i); - jreNames[i+1] = vmInstall.getName(); - } - } - - - - public boolean validate() { - return false; - } -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java deleted file mode 100644 index 4964138d1..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java +++ /dev/null @@ -1,88 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.FontMetrics; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -/** - * SWT Utility class. - * Copied from org.eclipse.wst.server.ui.internal. - */ -public class SWTUtil { - private static FontMetrics fontMetrics; - - protected static void initializeDialogUnits(Control testControl) { - // Compute and store a font metric - GC gc = new GC(testControl); - gc.setFont(JFaceResources.getDialogFont()); - fontMetrics = gc.getFontMetrics(); - gc.dispose(); - } - - /** - * Returns a width hint for a button control. - */ - protected static int getButtonWidthHint(Button button) { - int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); - return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); - } - - /** - * Create a new button with the standard size. - * - * @param comp the component to add the button to - * @param label the button label - * @return a button - */ - public static Button createButton(Composite comp, String label) { - Button b = new Button(comp, SWT.PUSH); - b.setText(label); - if (fontMetrics == null) - initializeDialogUnits(comp); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.widthHint = getButtonWidthHint(b); - b.setLayoutData(data); - return b; - } - - /** - * Convert DLUs to pixels. - * - * @param comp a component - * @param x pixels - * @return dlus - */ - public static int convertHorizontalDLUsToPixels(Composite comp, int x) { - if (fontMetrics == null) - initializeDialogUnits(comp); - return Dialog.convertHorizontalDLUsToPixels(fontMetrics, x); - } - - /** - * Convert DLUs to pixels. - * - * @param comp a component - * @param y pixels - * @return dlus - */ - public static int convertVerticalDLUsToPixels(Composite comp, int y) { - if (fontMetrics == null) - initializeDialogUnits(comp); - return Dialog.convertVerticalDLUsToPixels(fontMetrics, y); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java deleted file mode 100644 index 1a910d17c..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java +++ /dev/null @@ -1,80 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.util.Map; - -import org.eclipse.jst.server.generic.core.internal.CorePlugin; -import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.wst.server.ui.wizard.WizardFragment; - -/** - * A wizard fragment that provides support for serverdef files. - * - * @author Gorkem Ercan - */ -public abstract class ServerDefinitionTypeAwareWizardFragment extends WizardFragment { - - private IWizardHandle fWizard; - - public boolean hasComposite() { - return true; - } - - public Composite createComposite(Composite parent, IWizardHandle handle) { - - this.fWizard = handle; - Composite container = new Composite(parent, SWT.NONE); - GridLayout grid = new GridLayout(1,false); - grid.marginWidth=0; - container.setLayout(grid); - container.setLayoutData(new GridData(GridData.FILL_BOTH)); - handle.setImageDescriptor(GenericUiPlugin.getDefault().imageDescriptor(GenericUiPlugin.WIZBAN_IMAGE)); - handle.setTitle(title()); - handle.setDescription(description()); - createContent(container,handle); - return container; - } - public IWizardHandle getWizard(){ - return fWizard; - } - /** - * Returns the description to be displayed on the wizard head. - * @return - */ - public abstract String description(); - /** - * Returns the title of the wizard. - * @return - */ - public abstract String title(); - /** - * Create the real content - * @param parent - * @param handle - */ - public abstract void createContent(Composite parent, IWizardHandle handle); - - /** - * Retuns the ServerRuntime. - * @param definitionID - * @param properties - * @return - */ - protected ServerRuntime getServerTypeDefinition(String definitionID, Map properties) - { - return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(definitionID,properties); - } -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java deleted file mode 100644 index 02865cfcf..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java +++ /dev/null @@ -1,303 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jst.server.generic.servertype.definition.Property; -import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.swt.widgets.FileDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.jst.server.generic.ui.internal.SWTUtil; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * Provides the UI objects for gathering user information - * for server properties. - * - * @author Gorkem Ercan - */ -public abstract class ServerTypeDefinitionDecorator implements GenericServerCompositeDecorator { - - protected static final String CONTEXT_RUNTIME = Property.CONTEXT_RUNTIME; - protected static final String CONTEXT_SERVER = Property.CONTEXT_SERVER; - private ServerRuntime fDefinition; - private Map fProperties; - private String fContext; - private String fLastMessage = null; - protected IWizardHandle fWizard; - private List fPropertyControls= new ArrayList(); - - private final class PathModifyListener implements ModifyListener { - public void modifyText(ModifyEvent e) { - String path = ((Text) e.widget).getText(); - if(!pathExist(path)){ - fLastMessage = GenericServerUIMessages.bind(GenericServerUIMessages.invalidPath,path); - fWizard.setMessage(fLastMessage,IMessageProvider.ERROR); - }else{ - if(fLastMessage!=null && fLastMessage.equals(fWizard.getMessage())){ - fLastMessage=null; - fWizard.setMessage(null,IMessageProvider.NONE); - } - validate(); - } - } - private boolean pathExist(String path){ - File f = new File(path); - return f.exists(); - } - } - - - public ServerTypeDefinitionDecorator(ServerRuntime definition, Map initialProperties, String context, IWizardHandle handle) { - super(); - fDefinition = definition; - fProperties = initialProperties; - fContext = context; - fWizard = handle; - } - - public void decorate(GenericServerComposite composite) { - - List properties =null; - if(fDefinition==null){ - properties= new ArrayList(0); - } - else{ - properties= fDefinition.getProperty(); - } - for (int i = 0; i < properties.size(); i++) { - Property property = (Property) properties.get(i); - if (this.fContext.equals(property.getContext())) - createPropertyControl(composite, property); - } - Dialog.applyDialogFont(composite); - } - - - private void createPropertyControl(Composite parent, Property property){ - if( Property.TYPE_DIRECTORY.equals(property.getType())) { - Text path = createLabeledPath(property.getLabel(),getPropertyValue(property),parent); - path.setData(property); - registerControl(path); - } else if( Property.TYPE_FILE.equals(property.getType())) { - Text file = createLabeledFile(property.getLabel(),getPropertyValue(property),parent); - file.setData(property); - registerControl(file); - } else if( Property.TYPE_TEXT.equals(property.getType())) { - Text str = createLabeledText(property.getLabel(),getPropertyValue(property),parent); - str.setData(property); - registerControl(str); - } else if( Property.TYPE_BOOLEAN.equals(property.getType())) { - Button bool =createLabeledCheck(property.getLabel(),("true".equals( getPropertyValue(property))), parent); - bool.setData(property); - registerControl(bool); - }else if(Property.TYPE_SELECT.equals(property.getType())) { - Combo combo = createLabeledCombo(parent, property); - combo.setData(property); - registerControl(combo); - } - else { - Text defaultText= createLabeledText(property.getLabel(),getPropertyValue(property),parent); - defaultText.setData(property); - registerControl(defaultText); - } - } - - private Combo createLabeledCombo(Composite defPanel, Property property) { - - GridData gridData; - Label label = new Label(defPanel, SWT.WRAP); - gridData = new GridData(); - label.setLayoutData(gridData); - label.setText(property.getLabel()); - - Combo combo = new Combo(defPanel,SWT.READ_ONLY); - gridData = new GridData(GridData.FILL_HORIZONTAL - | GridData.GRAB_HORIZONTAL); - gridData.horizontalSpan = 2; - combo.setLayoutData(gridData); - - StringTokenizer tokenizer = new StringTokenizer(property.getDefault(),","); - while(tokenizer.hasMoreTokens()){ - combo.add(tokenizer.nextToken()); - } - if(combo.getItemCount()>0) - combo.select(0); - return combo; - } - private void registerControl(Control control) - { - fPropertyControls.add(control); - } - private Button createLabeledCheck(String title, boolean value, Composite defPanel) { - GridData gridData; - Label label = new Label(defPanel, SWT.WRAP); - gridData = new GridData(); - label.setLayoutData(gridData); - label.setText(title); - - Button fButton = new Button(defPanel, SWT.CHECK); - - gridData = new GridData(GridData.FILL_HORIZONTAL - | GridData.GRAB_HORIZONTAL); - gridData.horizontalSpan = 2; - fButton.setLayoutData(gridData); - fButton.setSelection(value); - fButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - - } - - public void widgetDefaultSelected(SelectionEvent e) { - - } - }); - - return fButton; - } - private Text createLabeledFile(String title, String value,final Composite defPanel) { - GridData gridData; - Label label = new Label(defPanel, SWT.WRAP); - gridData = new GridData(); - label.setLayoutData(gridData); - label.setText(title); - - final Text text = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER); - gridData = new GridData(GridData.FILL_HORIZONTAL - | GridData.GRAB_HORIZONTAL); - gridData.horizontalSpan = 1; - text.setLayoutData(gridData); - text.setText(value); - text.addModifyListener(new PathModifyListener()); - Button fButton = SWTUtil.createButton(defPanel,GenericServerUIMessages.serverTypeGroup_label_browse); - - fButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - FileDialog dlg = new FileDialog(defPanel.getShell()); - dlg.setFileName(text.getText().replace('\\','/')); - String res = dlg.open(); - if (res != null) { - text.setText(res.replace('\\','/')); - - } - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - - }); - - return text; - } - - private Text createLabeledPath(String title, String value, - final Composite parent) { - GridData gridData; - Label label = new Label(parent, SWT.WRAP); - gridData = new GridData(); - label.setLayoutData(gridData); - label.setText(title); - - final Text text = new Text(parent, SWT.SHADOW_IN | SWT.BORDER); - gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.horizontalSpan = 1; - text.setLayoutData(gridData); - text.setText(value); - text.addModifyListener(new PathModifyListener()); - Button fButton = SWTUtil.createButton(parent,GenericServerUIMessages.serverTypeGroup_label_browse); - fButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - DirectoryDialog dlg = new DirectoryDialog(parent.getShell()); - dlg.setFilterPath(text.getText().replace('\\','/')); - String res = dlg.open(); - if (res != null) { - text.setText(res.replace('\\','/')); - - } - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - - }); - return text; - } - private Text createLabeledText(String title, String value, - Composite defPanel) { - GridData gridData; - Label label = new Label(defPanel, SWT.WRAP); - gridData = new GridData(); - label.setLayoutData(gridData); - label.setText(title); - - Text text = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER); - gridData = new GridData(GridData.FILL_HORIZONTAL - | GridData.GRAB_HORIZONTAL); - gridData.horizontalSpan = 2; - text.setLayoutData(gridData); - text.setText(value); - - return text; - } - private String getPropertyValue(Property property) - { - String value = property.getDefault(); - if(fProperties!=null && fProperties.isEmpty()==false) - value=(String)fProperties.get(property.getId()); - return value; - } - - - - /** - * Returns the property name/value pairs. - * @return - */ - public Map getValues(){ - Map propertyMap = new HashMap(); - for(int i=0; i<fPropertyControls.size();i++){ - Property prop = (Property)((Control)fPropertyControls.get(i)).getData(); - if(fPropertyControls.get(i)instanceof Button){ - Button button = (Button)fPropertyControls.get(i); - propertyMap.put(prop.getId(),Boolean.toString(button.getSelection())); - } - else if(fPropertyControls.get(i) instanceof Combo){ - Combo combo = (Combo)fPropertyControls.get(i); - int index = combo.getSelectionIndex(); - propertyMap.put(prop.getId(),combo.getItem(index)); - }else{ - Text text = (Text)fPropertyControls.get(i); - propertyMap.put(prop.getId(),text.getText()); - } - } - return propertyMap; - } -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java deleted file mode 100644 index 50cedca0e..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java +++ /dev/null @@ -1,53 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime; -import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; - -public class ServerTypeDefinitionRuntimeDecorator extends ServerTypeDefinitionDecorator { - - private GenericServerRuntime fRuntime; - public ServerTypeDefinitionRuntimeDecorator(ServerRuntime definition, Map initialProperties, IWizardHandle wizard, GenericServerRuntime runtime) { - super(definition, initialProperties,CONTEXT_RUNTIME,wizard); - fRuntime=runtime; - } - - public boolean validate(){ - - if(fRuntime==null) - return false; - fRuntime.setServerDefinitionId(fRuntime.getRuntime().getRuntimeType().getId()); - fRuntime.setServerInstanceProperties(getValues()); - - IStatus status = fRuntime.validate(); - - if (status == null || status.isOK()){ - - fWizard.setMessage(null, IMessageProvider.NONE); - fWizard.update(); - String wDir = fRuntime.getServerTypeDefinition().getResolver().resolveProperties(fRuntime.getServerTypeDefinition().getStart().getWorkingDirectory()); - fRuntime.getRuntimeWorkingCopy().setLocation(new Path(wDir)); - - return false; - }else - { - fWizard.setMessage(status.getMessage(), IMessageProvider.ERROR); - fWizard.update(); - return true; - } - } -} diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java deleted file mode 100644 index 727c258ed..000000000 --- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java +++ /dev/null @@ -1,50 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.ui.internal; - -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jst.server.generic.core.internal.GenericServer; -import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * Server properties decorator. - * @author Gorkem Ercan - */ -public class ServerTypeDefinitionServerDecorator extends - ServerTypeDefinitionDecorator { - - private GenericServer fServer; - public ServerTypeDefinitionServerDecorator(ServerRuntime definition, Map initialProperties,IWizardHandle wizard,GenericServer server) { - super(definition, initialProperties,CONTEXT_SERVER, wizard); - fServer=server; - } - - public boolean validate() { - if(fServer!=null) - fServer.setServerInstanceProperties(getValues()); - IStatus status = fServer.validate(); - if(status==null || status.isOK()) - { - fWizard.setMessage(null, IMessageProvider.NONE); - fWizard.update(); - } - else - { - fWizard.setMessage(status.getMessage(), IMessageProvider.ERROR); - fWizard.update(); - return true; - } - return false; - } - -} diff --git a/plugins/org.eclipse.jst.server.pde/.classpath b/plugins/org.eclipse.jst.server.pde/.classpath deleted file mode 100644 index 751c8f2e5..000000000 --- a/plugins/org.eclipse.jst.server.pde/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.jst.server.pde/.cvsignore b/plugins/org.eclipse.jst.server.pde/.cvsignore deleted file mode 100644 index ddb0a2d48..000000000 --- a/plugins/org.eclipse.jst.server.pde/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -bin -.settings diff --git a/plugins/org.eclipse.jst.server.pde/.project b/plugins/org.eclipse.jst.server.pde/.project deleted file mode 100644 index 7a788ccad..000000000 --- a/plugins/org.eclipse.jst.server.pde/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.jst.server.pde</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF deleted file mode 100644 index 26945f97a..000000000 --- a/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF +++ /dev/null @@ -1,13 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Generic server PDE Template -Bundle-SymbolicName: org.eclipse.jst.server.generic.pde; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.jst.server.generic.pde.ServerPdePlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.pde.ui, - org.eclipse.pde.core -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.jst.server.pde/about.html b/plugins/org.eclipse.jst.server.pde/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.jst.server.pde/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.pde/build.properties b/plugins/org.eclipse.jst.server.pde/build.properties deleted file mode 100644 index 1393183bf..000000000 --- a/plugins/org.eclipse.jst.server.pde/build.properties +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################################## -# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the -# accompanying materials are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: Gorkem Ercan - initial API and implementation -# -################################################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - templates_3.0/,\ - icons/,\ - plugin.properties,\ - about.html -src.includes = src/ diff --git a/plugins/org.eclipse.jst.server.pde/build.xml b/plugins/org.eclipse.jst.server.pde/build.xml deleted file mode 100644 index c17f101b1..000000000 --- a/plugins/org.eclipse.jst.server.pde/build.xml +++ /dev/null @@ -1,266 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project name="org.eclipse.jst.server.generic.pde" default="build.jars" basedir="."> - - <property name="basews" value="${ws}"/> - <property name="baseos" value="${os}"/> - <property name="basearch" value="${arch}"/> - <property name="basenl" value="${nl}"/> - - <!-- Compiler settings. --> - <property name="javacFailOnError" value="false"/> - <property name="javacDebugInfo" value="on"/> - <property name="javacVerbose" value="true"/> - <property name="javacSource" value="1.3"/> - <property name="javacTarget" value="1.2"/> - <property name="compilerArg" value=""/> - <path id="path_bootclasspath"> - <fileset dir="${java.home}/lib"> - <include name="*.jar"/> - </fileset> - </path> - <property name="bootclasspath" refid="path_bootclasspath"/> - - <target name="init" depends="properties"> - <condition property="pluginTemp" value="${buildTempFolder}/plugins"> - <isset property="buildTempFolder"/> - </condition> - <property name="pluginTemp" value="${basedir}"/> - <condition property="build.result.folder" value="${pluginTemp}/org.eclipse.jst.server.generic.pde"> - <isset property="buildTempFolder"/> - </condition> - <property name="build.result.folder" value="${basedir}"/> - <property name="temp.folder" value="${basedir}/temp.folder"/> - <property name="plugin.destination" value="${basedir}"/> - </target> - - <target name="properties" if="eclipse.running"> - <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> - - </target> - - <target name="build.update.jar" depends="init" description="Build the plug-in: org.eclipse.jst.server.generic.pde for an update site."> - <delete dir="${temp.folder}"/> - <mkdir dir="${temp.folder}"/> - <antcall target="build.jars"/> - <antcall target="gather.bin.parts"> - <param name="destination.temp.folder" value="${temp.folder}/"/> - </antcall> - <zip destfile="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.jar" basedir="${temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" filesonly="false" whenempty="skip" update="false"/> - <delete dir="${temp.folder}"/> - </target> - - <target name="@dot" depends="init" unless="@dot" description="Create jar: org.eclipse.jst.server.generic.pde @dot."> - <delete dir="${temp.folder}/@dot.bin"/> - <mkdir dir="${temp.folder}/@dot.bin"/> - <!-- compile the source code --> - <javac destdir="${temp.folder}/@dot.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}" > - <compilerarg line="${compilerArg}"/> - <classpath> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.runtime_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.osgi_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.swt_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.swt.win32.win32.x86_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jface_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.commands_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.workbench_3.1.0.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/compatibility.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/@dot"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.expressions_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources.compatibility_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources.win32_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.runtime.compatibility_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.configurator_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ant.core_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.variables_3.1.0.jar"/> - <pathelement path="../org.eclipse.pde.ui/eclipse3/target-0.7/eclipse/plugins/org.eclipse.pde.ui_3.1.0.jar"/> - <pathelement path="../org.eclipse.pde.ui/org.eclipse.pde.ui_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.ide_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.win32_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.views_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.core_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.core.win32_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.ui_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.forms_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jface.text_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.text_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.workbench.texteditor_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.editors_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.filebuffers_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.debug.core_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.debug.ui_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.console_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.core_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.team.core_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.debug.ui_3.1.0.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/jdi.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/jdimodel.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/tools.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.launching_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.ui_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.search_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.compare_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ltk.core.refactoring_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ltk.ui.refactoring_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.pde_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.pde.core_3.1.0.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.pde.build_3.1.0/pdebuild.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-antlr.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-bcel.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-bsf.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-log4j.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-oro.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-regexp.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-resolver.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-commons-logging.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-commons-net.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-icontract.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jai.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-javamail.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jdepend.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jmf.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jsch.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-junit.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-launcher.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-netrexx.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-nodeps.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-starteam.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-stylebook.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-swing.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-trax.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-vaj.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-weblogic.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-xalan1.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-xslp.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-antlr.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-bcel.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-bsf.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-log4j.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-oro.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-regexp.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-resolver.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-commons-logging.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-commons-net.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-icontract.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jai.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-javamail.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jdepend.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jmf.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jsch.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-junit.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-launcher.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-netrexx.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-nodeps.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-starteam.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-stylebook.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-swing.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-trax.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-vaj.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-weblogic.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-xalan1.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-xslp.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/@dot"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.junit_3.8.1/junit.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ant.ui_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.externaltools_3.1.0.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.junit_3.1.0/junitsupport.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.junit.runtime_3.1.0/junitruntime.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.intro_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.cheatsheets_3.1.0.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help.base_3.1.0.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.lucene_1.4.3/lucene-1.4.3.jar"/> - <pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.lucene_1.4.3/parser.jar"/> - <pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help.appserver_3.1.0.jar"/> - </classpath> - <src path="src/" /> - </javac> - <!-- Copy necessary resources --> - <copy todir="${temp.folder}/@dot.bin" failonerror="true" overwrite="false"> - <fileset dir="src/" excludes="**/*.java, **/package.htm*,null" /> - </copy> - <mkdir dir="${build.result.folder}"/> - <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false"> - <fileset dir="${temp.folder}/@dot.bin" /> - </copy> - <delete dir="${temp.folder}/@dot.bin"/> - </target> - - <target name="src.zip" depends="init" unless="src.zip"> - <mkdir dir="${build.result.folder}"/> - <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false"> - <fileset dir="src/" includes="**/*.java" /> - </zip> - </target> - - <target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.eclipse.jst.server.generic.pde."> - <available property="@dot" file="${build.result.folder}/@dot"/> - <antcall target="@dot"/> - </target> - - <target name="build.sources" depends="init"> - <available property="src.zip" file="${build.result.folder}/src.zip"/> - <antcall target="src.zip"/> - </target> - - <target name="gather.bin.parts" depends="init" if="destination.temp.folder"> - <mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/> - <copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="true" overwrite="false"> - <fileset dir="${build.result.folder}/@dot" includes="**" /> - </copy> - <copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="true" overwrite="false"> - <fileset dir="${basedir}" includes="META-INF/,null,plugin.xml,templates_3.0/,icons/,plugin.properties,build.properties" /> - </copy> - </target> - - <target name="build.zips" depends="init"> - </target> - - <target name="gather.sources" depends="init" if="destination.temp.folder"> - <mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/> - <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false"/> - <copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false"> - <fileset dir="${basedir}" includes="src/" /> - </copy> - </target> - - <target name="gather.logs" depends="init" if="destination.temp.folder"> - <mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/> - <copy file="${temp.folder}/@dot.bin.log" todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false"/> - </target> - - <target name="clean" depends="init" description="Clean the plug-in: org.eclipse.jst.server.generic.pde of all the zips, jars and logs created."> - <delete dir="${build.result.folder}/@dot"/> - <delete file="${build.result.folder}/src.zip"/> - <delete file="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.jar"/> - <delete file="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.zip"/> - <delete dir="${temp.folder}"/> - </target> - - <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder."> - <eclipse.convertPath fileSystemPath="D:/_bge/workspaces/workspace/org.eclipse.jst.server.generic.pde" property="resourcePath"/> - <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/> - </target> - - <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: org.eclipse.jst.server.generic.pde."> - <delete dir="${temp.folder}"/> - <mkdir dir="${temp.folder}"/> - <antcall target="build.jars"/> - <antcall target="build.sources"/> - <antcall target="gather.bin.parts"> - <param name="destination.temp.folder" value="${temp.folder}/"/> - </antcall> - <antcall target="gather.sources"> - <param name="destination.temp.folder" value="${temp.folder}/"/> - </antcall> - <delete> - <fileset dir="${temp.folder}" includes="**/*.bin.log" /> - </delete> - <zip destfile="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/> - <delete dir="${temp.folder}"/> - </target> - -</project> diff --git a/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif b/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif Binary files differdeleted file mode 100644 index 1cfd11a1d..000000000 --- a/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.pde/plugin.properties b/plugins/org.eclipse.jst.server.pde/plugin.properties deleted file mode 100644 index 4959a5659..000000000 --- a/plugins/org.eclipse.jst.server.pde/plugin.properties +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################################## -# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the -# accompanying materials are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: Gorkem Ercan - initial API and implementation -# -################################################################################################### -pluginName= Generic server PDE Template -providerName=Eclipse.org -template.genericServer.name=Generic Server Plugin Wizard -template.genericServer.description=\ -<p>This wizard creates a simple generic server plug-in. \ -The .serverdef file and the build.xml file for ANT based publishing are created. \ -Created files are the same files used for JBoss 3.2.3 in Generic Examples. \ -</p>\ -<p><b>Extension Used</b></p>\ -<li>org.eclipse.jst.server.generic.core.serverdefinition</li> \ -<li>org.eclipse.wst.server.core.runtimeTargetHandlers</li> \ -<li>org.eclipse.wst.server.ui.serverImages</li> \ -<li>org.eclipse.wst.server.ui.wizardFragments</li> \ -<li>org.eclipse.wst.server.core.serverTypes</li> \ -<li>org.eclipse.wst.server.core.runtimeTypes</li>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.pde/plugin.xml b/plugins/org.eclipse.jst.server.pde/plugin.xml deleted file mode 100644 index bd18a483d..000000000 --- a/plugins/org.eclipse.jst.server.pde/plugin.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> -<plugin> - <extension - point="org.eclipse.pde.ui.pluginContent"> - <wizard - category="WTP" - class="org.eclipse.jst.server.generic.pde.internal.GenericServerPluginNewWizard" - icon="icons/obj16/wiz_new_server_plugin.gif" - id="org.eclipse.jst.server.generic.pde.genericServer" - java="true" - name="%template.genericServer.name" - rcp="false" - ui-content="true"> - <description> - %template.genericServer.description - </description> - - </wizard> - </extension> - -</plugin> diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java deleted file mode 100644 index c1d8770c5..000000000 --- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java +++ /dev/null @@ -1,63 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.pde; - -import org.eclipse.ui.plugin.*; -import org.eclipse.jface.resource.ImageDescriptor; -import org.osgi.framework.BundleContext; - -/** - * The main plugin class to be used in the desktop. - */ -public class ServerPdePlugin extends AbstractUIPlugin { - - //The shared instance. - private static ServerPdePlugin plugin; - - /** - * The constructor. - */ - public ServerPdePlugin() { - plugin = this; - } - - /** - * This method is called upon plug-in activation - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /** - * This method is called when the plug-in is stopped - */ - public void stop(BundleContext context) throws Exception { - super.stop(context); - plugin = null; - } - - /** - * Returns the shared instance. - */ - public static ServerPdePlugin getDefault() { - return plugin; - } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path. - * - * @param path the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.jst.server.generic.pde", path); - } -} diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java deleted file mode 100644 index 0cda4ac06..000000000 --- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java +++ /dev/null @@ -1,31 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.pde.internal; - - -import org.eclipse.pde.ui.IFieldData; -import org.eclipse.pde.ui.templates.ITemplateSection; -import org.eclipse.pde.ui.templates.NewPluginTemplateWizard; -/** - * New Generic server plug-in wizard. - * @author Gorkem Ercan - * - */ -public class GenericServerPluginNewWizard extends NewPluginTemplateWizard { - - public ITemplateSection[] createTemplateSections(){ - return new ITemplateSection[] {new GenericServerTemplate()}; - } - - public void init(IFieldData data) { - super.init(data); - setWindowTitle(Messages.windowTitleWizard); - } -} diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java deleted file mode 100644 index 922ac38ec..000000000 --- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java +++ /dev/null @@ -1,285 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.pde.internal; - -import java.net.URL; -import java.util.ResourceBundle; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.jst.server.generic.pde.ServerPdePlugin; -import org.eclipse.pde.core.plugin.IPluginBase; -import org.eclipse.pde.core.plugin.IPluginElement; -import org.eclipse.pde.core.plugin.IPluginExtension; -import org.eclipse.pde.core.plugin.IPluginModelFactory; -import org.eclipse.pde.core.plugin.IPluginReference; -import org.eclipse.pde.internal.ui.wizards.templates.PluginReference; -import org.eclipse.pde.ui.templates.OptionTemplateSection; -import org.eclipse.pde.ui.templates.TemplateOption; -/** - * Simple generic server plug-in template - * - * @author Gorkem Ercan - * - */ -public class GenericServerTemplate extends OptionTemplateSection { - - private static final String KEY_SERVER_VERSION = "server_version"; //$NON-NLS-1$ - private static final String KEY_SERVER_START_BEFORE_PUBLISH = "server_start_before_publish"; //$NON-NLS-1$ - private static final String KEY_SERVER_LAUNCHTYPE = "server_launchtype"; //$NON-NLS-1$ - private static final String KEY_SERVER_VENDOR = "server_vendor"; //$NON-NLS-1$ - private static final String KEY_SERVER_DESCRIPTION = "server_description"; //$NON-NLS-1$ - private static final String KEY_SERVER_NAME = "server_name"; //$NON-NLS-1$ - private static final String[][] launchOpts = {{"java",Messages.labelJavaLaunchConfiguration},{"external",Messages.labelExternalLaunchConfiguration}}; //$NON-NLS-1$ //$NON-NLS-3$ - - private TemplateOption fServerNameOption; - private TemplateOption fServerDescriptionOption; - private TemplateOption fServerVendorOption; - private TemplateOption fServerVersionOption; - private TemplateOption fLaunchTypeOption; - private TemplateOption fStartBeforPublishOption; - - public GenericServerTemplate() { - setPageCount(1); - createOptions(); - } - - - private void createOptions(){ - - fServerNameOption= addOption(KEY_SERVER_NAME,Messages.labelServerName,"your server's name",0); //$NON-NLS-2$ - fServerDescriptionOption = addOption(KEY_SERVER_DESCRIPTION,"Description","User description of your server",0); //$NON-NLS-1$ //$NON-NLS-2$ - fServerVendorOption= addOption(KEY_SERVER_VENDOR,Messages.labelServerVendor,"Server vendor' s name",0); //$NON-NLS-2$ - fServerVersionOption= addOption(KEY_SERVER_VERSION,Messages.labelServerVesion,"0",0); //$NON-NLS-2$ - fLaunchTypeOption= addOption(KEY_SERVER_LAUNCHTYPE,Messages.labelLaunchType,launchOpts,"java",0); //$NON-NLS-2$ - fStartBeforPublishOption= addOption(KEY_SERVER_START_BEFORE_PUBLISH,Messages.labelStartBeforePublish,false,0); - - fServerNameOption.setRequired(true); - fServerDescriptionOption.setRequired(true); - fServerVendorOption.setRequired(true); - fServerVersionOption.setRequired(true); - } - - public String getSectionId() { - return "genericserver"; //$NON-NLS-1$ - } - - protected void updateModel(IProgressMonitor monitor) throws CoreException{ - IPluginBase plugin = model.getPluginBase(); - IPluginModelFactory factory = model.getPluginFactory(); - addRuntimeType(plugin, factory); - addServerType(plugin, factory); - addWizardFragment(plugin, factory); - addServerImage(plugin, factory); - addRuntimeTargetHandler(plugin, factory); - addServerDefinition(plugin, factory); - } - - private void addServerDefinition(IPluginBase plugin, IPluginModelFactory factory) throws CoreException { - IPluginExtension definitionExtension = createExtension("org.eclipse.jst.server.generic.core.serverdefinition",true); //$NON-NLS-1$ - IPluginElement serverDef = factory.createElement(definitionExtension); - serverDef.setName("serverdefinition"); //$NON-NLS-1$ - serverDef.setAttribute("id",getRuntimeId()); //$NON-NLS-1$ - serverDef.setAttribute("definitionfile","/servers/"+getStringOption(KEY_SERVER_NAME)+".serverdef"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - definitionExtension.add(serverDef); - if(!definitionExtension.isInTheModel()) - plugin.add(definitionExtension); - } - - - private void addRuntimeTargetHandler(IPluginBase plugin, IPluginModelFactory factory) throws CoreException { - IPluginExtension handlerExtension = createExtension("org.eclipse.wst.server.core.runtimeTargetHandlers",true); //$NON-NLS-1$ - IPluginElement handler= factory.createElement(handlerExtension); - handler.setName("runtimeTargetHandler"); //$NON-NLS-1$ - handler.setAttribute("id",getNamespace()+".runtimeTarget"); //$NON-NLS-1$ //$NON-NLS-2$ - handler.setAttribute("runtimeTypeIds",getRuntimeId()); //$NON-NLS-1$ - handler.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"); //$NON-NLS-1$ //$NON-NLS-2$ - handlerExtension.add(handler); - if(!handlerExtension.isInTheModel()) - plugin.add(handlerExtension); - } - - - private void addServerImage(IPluginBase plugin, IPluginModelFactory factory) throws CoreException { - IPluginExtension imageExtension = createExtension("org.eclipse.wst.server.ui.serverImages",true); //$NON-NLS-1$ - IPluginElement serverImage = factory.createElement(imageExtension); - serverImage.setName("image"); //$NON-NLS-1$ - serverImage.setAttribute("id",getNamespace()+".serverImage"); //$NON-NLS-1$ //$NON-NLS-2$ - serverImage.setAttribute("icon","icons/server.gif"); //$NON-NLS-1$ //$NON-NLS-2$ - serverImage.setAttribute("typeIds",getServerId()); //$NON-NLS-1$ - imageExtension.add(serverImage); - - IPluginElement runtimeImage = factory.createElement(imageExtension); - runtimeImage.setName("image"); //$NON-NLS-1$ - runtimeImage.setAttribute("id",getNamespace()+".runtimeImage"); //$NON-NLS-1$ //$NON-NLS-2$ - runtimeImage.setAttribute("icon","icons/server.gif"); //$NON-NLS-1$ //$NON-NLS-2$ - runtimeImage.setAttribute("typeIds",getRuntimeId()); //$NON-NLS-1$ - imageExtension.add(runtimeImage); - if(!imageExtension.isInTheModel()) - plugin.add(imageExtension); - } - - - private void addWizardFragment(IPluginBase plugin, IPluginModelFactory factory) throws CoreException { - IPluginExtension wizardExtension = createExtension("org.eclipse.wst.server.ui.wizardFragments",true); //$NON-NLS-1$ - IPluginElement runtimeWiz = factory.createElement(wizardExtension); - runtimeWiz.setName("fragment"); //$NON-NLS-1$ - runtimeWiz.setAttribute("id",getNamespace()+".runtimeWizard"); //$NON-NLS-1$ //$NON-NLS-2$ - runtimeWiz.setAttribute("class","org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"); //$NON-NLS-1$ //$NON-NLS-2$ - runtimeWiz.setAttribute("typeIds",getRuntimeId()); //$NON-NLS-1$ - wizardExtension.add(runtimeWiz); - if(!wizardExtension.isInTheModel()) - plugin.add(wizardExtension); - - IPluginElement serverWiz = factory.createElement(wizardExtension); - serverWiz.setName("fragment"); //$NON-NLS-1$ - serverWiz.setAttribute("id",getNamespace()+".serverWizard"); //$NON-NLS-1$ //$NON-NLS-2$ - serverWiz.setAttribute("class","org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"); //$NON-NLS-1$ //$NON-NLS-2$ - serverWiz.setAttribute("typeIds",getServerId()); //$NON-NLS-1$ - wizardExtension.add(serverWiz); - } - - - private void addServerType(IPluginBase plugin, IPluginModelFactory factory) throws CoreException { - IPluginExtension serverExtension =createExtension("org.eclipse.wst.server.core.serverTypes",true); //$NON-NLS-1$ - IPluginElement serverType = factory.createElement(serverExtension); - serverType.setName("serverType"); //$NON-NLS-1$ - serverType.setAttribute("runtime","true"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServer"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("id",getServerId()); //$NON-NLS-1$ - serverType.setAttribute("initialState","stopped"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("supportsRemoteHosts","false"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("runtimeTypeId",getRuntimeId()); //$NON-NLS-1$ - serverType.setAttribute("description",getStringOption(KEY_SERVER_DESCRIPTION)); //$NON-NLS-1$ - serverType.setAttribute("launchConfigId",getSelectedConfigType()); //$NON-NLS-1$ - serverType.setAttribute("behaviourClass",getSelectedBehaviourClass()); //$NON-NLS-1$ - serverType.setAttribute("name",getStringOption(KEY_SERVER_NAME)); //$NON-NLS-1$ - serverType.setAttribute("startTimeout","75000"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("stopTimeout","30000"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("hasConfiguration","false"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("launchModes","run,debug"); //$NON-NLS-1$ //$NON-NLS-2$ - serverType.setAttribute("startBeforePublish", Boolean.toString(getBooleanOption(KEY_SERVER_START_BEFORE_PUBLISH))); //$NON-NLS-1$ - serverExtension.add(serverType); - if(!serverExtension.isInTheModel()) - plugin.add(serverExtension); - } - - - private void addRuntimeType(IPluginBase plugin, IPluginModelFactory factory) throws CoreException { - IPluginExtension extension =createExtension("org.eclipse.wst.server.core.runtimeTypes",true); //$NON-NLS-1$ - IPluginElement runtimeType = factory.createElement(extension); - runtimeType.setName("runtimeType"); //$NON-NLS-1$ - runtimeType.setAttribute("id",getRuntimeId()); //$NON-NLS-1$ - runtimeType.setAttribute("name",getStringOption(KEY_SERVER_NAME)); //$NON-NLS-1$ - runtimeType.setAttribute("description",getStringOption(KEY_SERVER_DESCRIPTION)); //$NON-NLS-1$ - runtimeType.setAttribute("vendor",getStringOption(KEY_SERVER_VENDOR)); //$NON-NLS-1$ - runtimeType.setAttribute("version",getStringOption(KEY_SERVER_VERSION)); //$NON-NLS-1$ - runtimeType.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServerRuntime"); //$NON-NLS-1$ //$NON-NLS-2$ - - IPluginElement moduleType = factory.createElement(runtimeType); - moduleType.setName("moduleType"); //$NON-NLS-1$ - moduleType.setAttribute("types","jst.web"); //$NON-NLS-1$ //$NON-NLS-2$ - moduleType.setAttribute("versions","1.2, 1.3"); //$NON-NLS-1$ //$NON-NLS-2$ - runtimeType.add(moduleType); - - extension.add(runtimeType); - if(!extension.isInTheModel()) - plugin.add(extension); - } - - private String getRuntimeId(){ - return getNamespace()+".runtime"; //$NON-NLS-1$ - } - - private String getServerId(){ - return getNamespace()+".server"; //$NON-NLS-1$ - } - private String getNamespace() - { - return model.getPluginBase().getId(); - } - private String getSelectedBehaviourClass() { - if(isExternalSelected()) - return "org.eclipse.jst.server.generic.core.internal.ExternalServerBehaviour"; //$NON-NLS-1$ - return "org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"; //$NON-NLS-1$ - } - - private boolean isExternalSelected(){ - String selectedType = getStringOption(KEY_SERVER_LAUNCHTYPE); - return "external".equals(selectedType); //$NON-NLS-1$ - } - - private String getSelectedConfigType(){ - if(isExternalSelected()) - return "org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"; //$NON-NLS-1$ - return "org.eclipse.jst.server.generic.core.launchConfigurationType"; //$NON-NLS-1$ - } - - protected ResourceBundle getPluginResourceBundle(){ - return null; - } - - public String[] getNewFiles(){ - return new String[]{"icons/", "server/","buildfiles/"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - - public String getUsedExtensionPoint(){ - return null; - } - - public void validateOptions(TemplateOption changed){ - if(changed.isRequired() && changed.isEmpty()){ - flagMissingRequiredOption(changed); - return; - } - TemplateOption[] options = getOptions(0); - for (int i = 0; i < options.length; i++) { - if(options[i].isRequired() && options[i].isEmpty()){ - flagMissingRequiredOption(options[i]); - return; - } - } - resetPageState(); - } - - - - public void addPages(Wizard wizard) { - WizardPage page = createPage(0); - page.setTitle(Messages.pageTitle); - page.setDescription(Messages.pageDescription); - wizard.addPage(page); - markPagesAdded(); - } - - - - protected URL getInstallURL() { - return ServerPdePlugin.getDefault().getBundle().getEntry("/"); //$NON-NLS-1$ - } - /* (non-Javadoc) - * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String) - */ - public IPluginReference[] getDependencies(String schemaVersion) { - IPluginReference[] dep = new IPluginReference[4]; - dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$ - dep[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$ - dep[2] = new PluginReference("org.eclipse.jst.server.generic.core", null, 0); //$NON-NLS-1$ - dep[3] = new PluginReference("org.eclipse.jst.server.generic.ui", null, 0); //$NON-NLS-1$ - return dep; - } - - public Object getValue(String variable) { - return super.getValue(variable); - } - -} diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java deleted file mode 100644 index 2f357ead8..000000000 --- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java +++ /dev/null @@ -1,44 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the - * accompanying materials are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Gorkem Ercan - initial API and implementation - * - **************************************************************************************************/ -package org.eclipse.jst.server.generic.pde.internal; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.jst.server.generic.pde.internal.messages"; //$NON-NLS-1$ - - private Messages() { - } - - static { - // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - public static String labelJavaLaunchConfiguration; - - public static String labelExternalLaunchConfiguration; - - public static String labelServerName; - - public static String labelServerVendor; - - public static String labelServerVesion; - - public static String labelLaunchType; - - public static String labelStartBeforePublish; - - public static String pageTitle; - - public static String pageDescription; - - public static String windowTitleWizard; -} diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties deleted file mode 100644 index 5890ce9d0..000000000 --- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################################## -# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the -# accompanying materials are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: Gorkem Ercan - initial API and implementation -# -################################################################################################### -labelJavaLaunchConfiguration=Java launch cofiguration -labelExternalLaunchConfiguration=External launch configuration -labelServerName=Server Name -labelServerVendor=Server Vendor -labelServerVesion=Server Version -labelLaunchType=Launch type -labelStartBeforePublish=Start Before publish -pageTitle=Generic Server Plug-in -pageDescription=Create a new Generic server plug-in -windowTitleWizard=New Generic Server plug-in diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml deleted file mode 100644 index f720ca42d..000000000 --- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml +++ /dev/null @@ -1,41 +0,0 @@ -<project name="deployextension" default="deploy.j2ee.web" basedir="."> - <target name="deploy.j2ee.web"> - <jar destfile="${project.working.dir}/${module.name}.war"> - <zipfileset dir="${module.dir}"> - <include name="**/*.*"/> - <exclude name="**/*.war"/> - </zipfileset> - </jar> - <move file="${project.working.dir}/${module.name}.war" todir="${server.publish.dir}"/> - </target> - - <target name="deploy.j2ee.ejb"> - <jar destfile="${project.working.dir}/${module.name}.jar"> - <zipfileset dir="${module.dir}"> - <include name="**/*.*"/> - <exclude name="**/*.java"/> - </zipfileset> - </jar> - <move file="${project.working.dir}/${module.name}.jar" todir="${server.publish.dir}"/> - </target> - <target name="deploy.j2ee.ear"> - <jar destfile="${project.working.dir}/${module.name}.ear"> - <zipfileset dir="${module.dir}"> - <include name="**/*.*"/> - <exclude name="**/*.java"/> - </zipfileset> - </jar> - <move file="${project.working.dir}/${module.name}.ear" todir="${server.publish.dir}"/> - </target> - - <target name="undeploy.j2ee.web"> - <delete file="${server.publish.dir}/${module.name}.war"> </delete> - </target> - <target name="undeploy.j2ee.ejb"> - <delete file="${server.publish.dir}/${module.name}.jar"> </delete> - </target> - <target name="undeploy.j2ee.ear"> - <delete file="${server.publish.dir}/${module.name}.ear"> </delete> - </target> - -</project>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif Binary files differdeleted file mode 100644 index b51ae39b8..000000000 --- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef deleted file mode 100644 index c22872a0b..000000000 --- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<tns:ServerRuntime - xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd " - name="JBOSS 3.2.3" version="v3.2.3"> -<property id="serverRootDirectory" - label="%ApplicationServerDirectory" - type="directory" - context="runtime" - default="/your_server_root/appservers/jboss-3.2.3" /> -<property id="serverAddress" - label="%serverAddress" - type="string" - context="server" - default="127.0.0.1" /> -<property id="port" - label="%serverPort" - type="string" - context="server" - default="8080" /> -<property id="serverConfig" - label="%jboss323serverConfig" - type="string" - context="server" - default="default" /> -<property id="classPath" - label="%serverclassPath" - type="directory" - context="runtime" - default="/your_server_root/appservers/jboss-3.2.3" /> - - <port> - <no>$${port}</no> - <name>Http</name> - <protocol>http</protocol> - </port> - - <module> - <type>j2ee.web</type> - <publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir> - <publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference> - </module> - <module> - <type>j2ee.ejb</type> - <publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir> - <publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference> - </module> - <module> - <type>j2ee.ear</type> - <publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir> - <publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference> - </module> - - <project> - <classpathReference>jboss.project</classpathReference> - </project> - - <start> - <mainClass>org.jboss.Main</mainClass> - <workingDirectory>$${serverRootDirectory}/bin</workingDirectory> - <programArguments>-c $${serverConfig}</programArguments> - <vmParameters></vmParameters> - <classpathReference>jboss</classpathReference> - </start> - - <stop> - <mainClass>org.jboss.Shutdown</mainClass> - <workingDirectory>$${serverRootDirectory}/bin</workingDirectory> - <programArguments>-S</programArguments> - <vmParameters></vmParameters> - <classpathReference>jboss</classpathReference> - </stop> - <publisher id="org.eclipse.jst.server.generic.antpublisher"> - <publisherdata> - <dataname>build.file</dataname> - <datavalue>/buildfiles/jboss323.xml</datavalue> - </publisherdata> - <publisherdata> - <dataname>target.publish.j2ee.web</dataname> - <datavalue>deploy.j2ee.web</datavalue> - </publisherdata> - <publisherdata> - <dataname>target.publish.j2ee.ejb</dataname> - <datavalue>deploy.j2ee.ejb</datavalue> - </publisherdata> - <publisherdata> - <dataname>target.unpublish.j2ee.web</dataname> - <datavalue>undeploy.j2ee.web</datavalue> - </publisherdata> - <publisherdata> - <dataname>target.unpublish.j2ee.ejb</dataname> - <datavalue>undeploy.j2ee.ejb</datavalue> - </publisherdata> - <publisherdata> - <dataname>target.publish.j2ee.ear</dataname> - <datavalue>deploy.j2ee.ear</datavalue> - </publisherdata> - <publisherdata> - <dataname>target.unpublish.j2ee.ear</dataname> - <datavalue>undeploy.j2ee.ear</datavalue> - </publisherdata> - </publisher> - - <classpath id="jboss" > - <archive path="$${classPath}/bin/run.jar" /> - <archive path="$${classPath}/bin/shutdown.jar" /> - <archive path="$${classPath}/client/jboss-j2ee.jar" /> - <archive path="$${classPath}/server/$${serverConfig}/lib/javax.servlet.jar" /> - <archive path="$${classPath}/lib/jboss-boot.jar" /> - <archive path="$${classPath}/lib/jboss-system.jar" /> - <archive path="$${classPath}/lib/jboss-jmx.jar" /> - <archive path="$${classPath}/lib/jboss-common.jar" /> - <archive path="$${classPath}/lib/concurrent.jar" /> - <archive path="$${classPath}/server/$${serverConfig}/lib/jboss.jar" /> - <archive path="$${classPath}/server/$${serverConfig}/lib/jnpserver.jar" /> - <archive path="$${classPath}/server/$${serverConfig}/lib/jpl-pattern.jar" /> - <archive path="$${classPath}/server/$${serverConfig}/lib/jpl-util.jar" /> - <archive path="$${classPath}/server/$${serverConfig}/lib/jboss-transaction.jar" /> - <archive path="$${classPath}/server/$${serverConfig}/lib/bcel.jar" /> - <archive path="$${classPath}/lib/jdom.jar" /> - <archive path="$${classPath}/lib/xercesImpl.jar" /> - <archive path="$${classPath}/lib/xml-apis.jar" /> - <archive path="$${classPath}/lib/gnu-regexp.jar" /> - <archive path="$${classPath}/lib/getopt.jar" /> - </classpath> - - <classpath id="jboss.project" > - <archive path="$${classPath}/client/jboss-j2ee.jar" /> - <archive path="$${classPath}/server/default/lib/javax.servlet.jar" /> - <archive path="$${classPath}/server/default/lib/activation.jar" /> - <archive path="$${classPath}/server/default/lib/mail.jar" /> - </classpath> - <jndiConnection> - <providerUrl>jnp://$${serverAddress}:1099</providerUrl> - <initialContextFactory>org.jnp.interfaces.NamingContextFactory</initialContextFactory> - <jndiProperty> - <name></name> - <value></value> - </jndiProperty> - </jndiConnection> -</tns:ServerRuntime>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.classpath b/plugins/org.eclipse.jst.server.tomcat.core/.classpath deleted file mode 100644 index 216cb81f1..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="tomcatcore/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.cvsignore b/plugins/org.eclipse.jst.server.tomcat.core/.cvsignore deleted file mode 100644 index 523869887..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -build.xml -org.eclipse.jst.server.tomcat.core_3.0.0.jar -tomcatcore.jar -temp.folder -@dot -src.zip diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.options b/plugins/org.eclipse.jst.server.tomcat.core/.options deleted file mode 100644 index ceeae589d..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/.options +++ /dev/null @@ -1,4 +0,0 @@ -# Debugging options for the org.eclipse.jst.server.tomcat.core plugin - -# Turn on general debugging -org.eclipse.jst.server.tomcat.core/debug=true diff --git a/plugins/org.eclipse.jst.server.tomcat.core/.project b/plugins/org.eclipse.jst.server.tomcat.core/.project deleted file mode 100644 index 31bbe421a..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.jst.server.tomcat.core</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF deleted file mode 100644 index 86d3f120c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.jst.server.tomcat.core; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.jst.server.tomcat.core.internal;x-friends:="org.eclipse.jst.server.tomcat.ui", - org.eclipse.jst.server.tomcat.core.internal.command;x-friends:="org.eclipse.jst.server.tomcat.ui", - org.eclipse.jst.server.tomcat.core.internal.xml;x-friends:="org.eclipse.jst.server.tomcat.ui", - org.eclipse.jst.server.tomcat.core.internal.xml.server32;x-friends:="org.eclipse.jst.server.tomcat.ui", - org.eclipse.jst.server.tomcat.core.internal.xml.server40;x-friends:="org.eclipse.jst.server.tomcat.ui" -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.core.commands, - org.eclipse.debug.core, - org.eclipse.jdt.core, - org.eclipse.jdt.launching, - org.eclipse.wst.server.core, - org.eclipse.jst.server.core -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.jst.server.tomcat.core/about.html b/plugins/org.eclipse.jst.server.tomcat.core/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/build.properties b/plugins/org.eclipse.jst.server.tomcat.core/build.properties deleted file mode 100644 index 13f193b97..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/build.properties +++ /dev/null @@ -1,22 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - plugin.properties,\ - verifyInstall.properties,\ - .options,\ - .,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -src.includes = schema/ -source.. = tomcatcore/ diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties deleted file mode 100644 index 2232a5afd..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=Apache Tomcat Support -providerName=Eclipse.org - -# --------------- Runtime Types --------------- -apache=Apache -runtimeTypeTomcat32Label=Apache Tomcat v3.2 -runtimeTypeTomcat32Description=Apache Tomcat v3.2 supports J2EE 1.2 Web modules. -runtimeTypeTomcat40Label=Apache Tomcat v4.0 -runtimeTypeTomcat40Description=Apache Tomcat v4.0 supports J2EE 1.2 and 1.3 Web modules. -runtimeTypeTomcat41Label=Apache Tomcat v4.1 -runtimeTypeTomcat41Description=Apache Tomcat v4.1 supports J2EE 1.2 and 1.3 Web modules. -runtimeTypeTomcat50Label=Apache Tomcat v5.0 -runtimeTypeTomcat50Description=Apache Tomcat v5.0 supports J2EE 1.2, 1.3, and 1.4 Web modules. -runtimeTypeTomcat55Label=Apache Tomcat v5.5 -runtimeTypeTomcat55Description=Apache Tomcat v5.5 supports J2EE 1.2, 1.3, and 1.4 Web modules. - -# runtime target -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 --------------- -tomcat32ServerType=Tomcat v3.2 Server -tomcat32ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server. - -tomcat40ServerType=Tomcat v4.0 Server -tomcat40ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server. - -tomcat41ServerType=Tomcat v4.1 Server -tomcat41ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server. - -tomcat50ServerType=Tomcat v5.0 Server -tomcat50ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server. - -tomcat55ServerType=Tomcat v5.5 Server -tomcat55ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server. - -tomcatLaunchConfigurationType=Apache Tomcat - -# --------------- General --------------- -canAddModule=Web module can be added to the server. -canModifyModules=Web modules can be modified. diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml deleted file mode 100644 index 2d8abddb2..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml +++ /dev/null @@ -1,331 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - <extension point="org.eclipse.wst.server.core.runtimeTypes"> - <runtimeType - id="org.eclipse.jst.server.tomcat.runtime.32" - name="%runtimeTypeTomcat32Label" - description="%runtimeTypeTomcat32Description" - vendor="%apache" - version="3.2" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"> - <moduleType - types="jst.web" - versions="2.2"/> - <moduleType - types="jst.utility" - versions="1.0"/> - </runtimeType> - - <runtimeType - id="org.eclipse.jst.server.tomcat.runtime.40" - name="%runtimeTypeTomcat40Label" - description="%runtimeTypeTomcat40Description" - vendor="%apache" - version="4.0" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"> - <moduleType - types="jst.web" - versions="2.2, 2.3"/> - <moduleType - types="jst.utility" - versions="1.0"/> - </runtimeType> - - <runtimeType - id="org.eclipse.jst.server.tomcat.runtime.41" - name="%runtimeTypeTomcat41Label" - description="%runtimeTypeTomcat41Description" - vendor="%apache" - version="4.1" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"> - <moduleType - types="jst.web" - versions="2.2, 2.3"/> - <moduleType - types="jst.utility" - versions="1.0"/> - </runtimeType> - - <runtimeType - id="org.eclipse.jst.server.tomcat.runtime.50" - name="%runtimeTypeTomcat50Label" - description="%runtimeTypeTomcat50Description" - vendor="%apache" - version="5.0" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"> - <moduleType - types="jst.web" - versions="2.2, 2.3, 2.4"/> - <moduleType - types="jst.utility" - versions="1.0"/> - </runtimeType> - - <runtimeType - id="org.eclipse.jst.server.tomcat.runtime.55" - name="%runtimeTypeTomcat55Label" - description="%runtimeTypeTomcat55Description" - vendor="%apache" - version="5.5" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime"> - <moduleType - types="jst.web" - versions="2.2, 2.3, 2.4"/> - <moduleType - types="jst.utility" - versions="1.0"/> - </runtimeType> - </extension> - - <extension point="org.eclipse.wst.server.core.runtimeLocators"> - <runtimeLocator - id="org.eclipse.jst.server.tomcat.runtime.locator" - typeIds="org.eclipse.jst.server.tomcat.runtime.*" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeLocator"/> - </extension> - - <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders"> - <runtimeClasspathProvider - id="org.eclipse.jst.server.tomcat.runtimeTarget" - runtimeTypeIds="org.eclipse.jst.server.tomcat.runtime.*" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntimeClasspathProvider"/> - </extension> - - <extension point="org.eclipse.wst.server.core.serverTypes"> - <serverType - id="org.eclipse.jst.server.tomcat.32" - name="%tomcat32ServerType" - description="%tomcat32ServerDescription" - supportsRemoteHosts="false" - runtime="true" - startTimeout="45000" - stopTimeout="15000" - initialState="stopped" - hasConfiguration="true" - launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.32" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer" - behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour"> - </serverType> - <serverType - id="org.eclipse.jst.server.tomcat.40" - name="%tomcat40ServerType" - description="%tomcat40ServerDescription" - supportsRemoteHosts="false" - runtime="true" - startTimeout="45000" - stopTimeout="15000" - initialState="stopped" - hasConfiguration="true" - launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.40" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer" - behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour"> - </serverType> - <serverType - id="org.eclipse.jst.server.tomcat.41" - name="%tomcat41ServerType" - description="%tomcat41ServerDescription" - supportsRemoteHosts="false" - runtime="true" - startTimeout="45000" - stopTimeout="15000" - initialState="stopped" - hasConfiguration="true" - launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.41" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer" - behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour"> - </serverType> - <serverType - id="org.eclipse.jst.server.tomcat.50" - name="%tomcat50ServerType" - description="%tomcat50ServerDescription" - supportsRemoteHosts="false" - runtime="true" - startTimeout="45000" - stopTimeout="15000" - initialState="stopped" - hasConfiguration="true" - launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.50" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer" - behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour"> - </serverType> - <serverType - id="org.eclipse.jst.server.tomcat.55" - name="%tomcat55ServerType" - description="%tomcat55ServerDescription" - supportsRemoteHosts="false" - runtime="true" - startTimeout="45000" - stopTimeout="15000" - initialState="stopped" - hasConfiguration="true" - launchConfigId="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.55" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatServer" - behaviourClass="org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour"> - </serverType> - </extension> - - <extension point="org.eclipse.wst.server.core.serverLocators"> - <serverLocator - id="org.eclipse.jst.server.tomcat.server.locator" - 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.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"> - <sourcePathComputer - id="org.eclipse.jst.server.tomcat.core.sourcePathComputer" - class="org.eclipse.jst.server.tomcat.core.internal.TomcatSourcePathComputerDelegate"/> - </extension> - - <extension point="org.eclipse.debug.core.launchConfigurationTypes"> - <launchConfigurationType - id="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - name="%tomcatLaunchConfigurationType" - delegate="org.eclipse.jst.server.tomcat.core.internal.TomcatLaunchConfigurationDelegate" - modes="run, debug" - sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" - sourcePathComputerId="org.eclipse.jst.server.tomcat.core.sourcePathComputer"/> - </extension> - - <extension point="org.eclipse.wst.server.core.publishTasks"> - <publishTask - id="org.eclipse.jst.server.tomcat.core.contextTask" - typeIds="org.eclipse.jst.server.tomcat.*" - class="org.eclipse.jst.server.tomcat.core.internal.ContextPublishTaskDelegate"/> - <publishTask - id="org.eclipse.jst.server.tomcat.core.publishTask" - typeIds="org.eclipse.jst.server.tomcat.*" - class="org.eclipse.jst.server.tomcat.core.internal.PublishTask"/> - </extension> - - <extension point="org.eclipse.wst.common.project.facet.core.runtimes"> - <runtime-component-type - id="org.eclipse.jst.server.tomcat"/> - - <runtime-component-version - type="org.eclipse.jst.server.tomcat" - version="3.2"/> - - <runtime-component-version - type="org.eclipse.jst.server.tomcat" - version="4.0"/> - - <runtime-component-version - type="org.eclipse.jst.server.tomcat" - version="4.1"/> - - <runtime-component-version - type="org.eclipse.jst.server.tomcat" - version="5.0"/> - - <runtime-component-version - type="org.eclipse.jst.server.tomcat" - version="5.5"/> - - <adapter> - <runtime-component - id="org.eclipse.jst.server.tomcat"/> - <factory - class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/> - <type - class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/> - </adapter> - - <supported> - <runtime-component - id="org.eclipse.jst.server.tomcat" - version="3.2"/> - <facet - id="jst.web" - version="2.2"/> - <facet - id="jst.utility" - version="1.0"/> - </supported> - - <supported> - <runtime-component - id="org.eclipse.jst.server.tomcat" - version="4.0"/> - <facet - id="jst.web" - version="2.2,2.3"/> - <facet - id="jst.utility" - version="1.0"/> - </supported> - - <supported> - <runtime-component - id="org.eclipse.jst.server.tomcat" - version="4.1"/> - <facet - id="jst.web" - version="2.2,2.3"/> - <facet - id="jst.utility" - version="1.0"/> - </supported> - - <supported> - <runtime-component - id="org.eclipse.jst.server.tomcat" - version="5.0"/> - <facet - id="jst.web" - version="2.2,2.3,2.4"/> - <facet - id="jst.utility" - version="1.0"/> - </supported> - - <supported> - <runtime-component - id="org.eclipse.jst.server.tomcat" - version="5.5"/> - <facet - id="jst.web" - version="2.2,2.3,2.4"/> - <facet - id="jst.utility" - version="1.0"/> - </supported> - </extension> - - <extension point="org.eclipse.jst.server.core.runtimeFacetMappings"> - <runtimeFacetMapping - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.32" - runtime-component="org.eclipse.jst.server.tomcat" - version="3.2"/> - <runtimeFacetMapping - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.40" - runtime-component="org.eclipse.jst.server.tomcat" - version="4.0"/> - <runtimeFacetMapping - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.41" - runtime-component="org.eclipse.jst.server.tomcat" - version="4.1"/> - <runtimeFacetMapping - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.50" - runtime-component="org.eclipse.jst.server.tomcat" - version="5.0"/> - <runtimeFacetMapping - runtimeTypeId="org.eclipse.jst.server.tomcat.runtime.55" - runtime-component="org.eclipse.jst.server.tomcat" - version="5.5"/> - </extension> -</plugin>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ClassDetector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ClassDetector.java deleted file mode 100644 index 2ff873714..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ClassDetector.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; -/** - * Utility class to check for the existence of a class given as an - * argument. - */ -public class ClassDetector { - public static void main(String[] args) { - if (args == null || args.length != 1) { - System.out.println("Usage: ClassDetector [className]"); - return; - } - - try { - Class.forName(args[0]); - System.out.println("true"); - } catch (Exception e) { - System.out.println("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/ContextPublishTaskDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ContextPublishTaskDelegate.java deleted file mode 100644 index 673a2dc39..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ContextPublishTaskDelegate.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.jst.server.core.IWebModule; -import org.eclipse.jst.server.tomcat.core.internal.command.FixModuleContextRootTask; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.PublishOperation; -import org.eclipse.wst.server.core.model.PublishTaskDelegate; - -public class ContextPublishTaskDelegate extends PublishTaskDelegate { - public PublishOperation[] getTasks(IServer server, List modules) { - if (modules == null) - return null; - - TomcatServer tomcatServer = (TomcatServer) server.loadAdapter(TomcatServer.class, null); - TomcatConfiguration configuration = null; - try { - configuration = tomcatServer.getTomcatConfiguration(); - } catch (Exception e) { - return null; - } - - List tasks = new ArrayList(); - int size = modules.size(); - for (int i = 0; i < size; i++) { - IModule[] module = (IModule[]) modules.get(i); - IModule m = module[module.length - 1]; - IWebModule webModule = (IWebModule) m.loadAdapter(IWebModule.class, null); - WebModule webModule2 = configuration.getWebModule(m); - if (webModule != null && webModule2 != null) { - String contextRoot = webModule.getContextRoot(); - if (contextRoot != null && !contextRoot.startsWith("/") && contextRoot.length() > 0) - contextRoot = "/" + contextRoot; - int kind = PublishOperation.OPTIONAL; - if (!contextRoot.equals(webModule2.getPath())) - kind = PublishOperation.PREFERRED; - - int index = configuration.getWebModules().indexOf(webModule2); - FixModuleContextRootTask task = new FixModuleContextRootTask(m, index, webModule.getContextRoot(), kind); - tasks.add(task); - } - } - - return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java deleted file mode 100644 index c1e063bae..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java +++ /dev/null @@ -1,248 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.*; -import java.net.URL; - -import org.eclipse.core.runtime.*; -import org.eclipse.jst.server.core.PublishUtil; -import org.eclipse.osgi.util.NLS; -/** - * Utility class with an assortment of useful file methods. - */ -public class FileUtil { - // size of the buffer - private static final int BUFFER = 10240; - - // the buffer - private static byte[] buf = new byte[BUFFER]; - - /** - * FileUtil cannot be created. Use static methods. - */ - private FileUtil() { - super(); - } - - /** - * Copys a directory from a to b. - * - * @param from java.lang.String - * @param to java.lang.String - * @param monitor a progress monitor, or <code>null</code> - */ - public static void copyDirectory(String from, String to, IProgressMonitor monitor) { - try { - File fromDir = new File(from); - File toDir = new File(to); - - File[] files = fromDir.listFiles(); - - toDir.mkdir(); - - // cycle through files - int size = files.length; - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(NLS.bind(Messages.copyingTask, new String[] {from, to}), size * 50); - - for (int i = 0; i < size; i++) { - File current = files[i]; - String fromFile = current.getAbsolutePath(); - String toFile = to; - if (!toFile.endsWith(File.separator)) - toFile += File.separator; - toFile += current.getName(); - if (current.isFile()) { - copyFile(fromFile, toFile); - monitor.worked(50); - } else if (current.isDirectory()) { - monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {fromFile, toFile})); - copyDirectory(fromFile, toFile, ProgressUtil.getSubMonitorFor(monitor, 50)); - } - if (monitor.isCanceled()) - return; - } - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error copying directory", e); - } - } - - /** - * Copy a file from a to b. Closes the input stream after use. - * - * @param in java.io.InputStream - * @param to java.lang.String - * @return a status - */ - public static IStatus copyFile(InputStream in, String to) { - OutputStream out = null; - - try { - out = new FileOutputStream(to); - - int avail = in.read(buf); - while (avail > 0) { - out.write(buf, 0, avail); - avail = in.read(buf); - } - return Status.OK_STATUS; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error copying file", e); - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e); - } finally { - try { - if (in != null) - in.close(); - } catch (Exception ex) { - // ignore - } - try { - if (out != null) - out.close(); - } catch (Exception ex) { - // ignore - } - } - } - - /** - * Copy a file from a to b. - * - * @param from java.lang.String - * @param to java.lang.String - * @return a status - */ - public static IStatus copyFile(String from, String to) { - try { - return copyFile(new FileInputStream(from), to); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error copying file", e); - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e); - } - } - - /** - * Copy a file from a to b. - * - * @param from java.net.URL - * @param to java.lang.String - * @return a status - */ - public static IStatus copyFile(URL from, String to) { - try { - return copyFile(from.openStream(), to); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error copying file", e); - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e); - } - } - - /** - * Copys a directory from a to b, only modifying as needed - * and deleting old files and directories. - * - * @param from a directory - * @param to a directory - * @param monitor a progress monitor - */ - public static void smartCopyDirectory(String from, String to, IProgressMonitor monitor) { - try { - File fromDir = new File(from); - File toDir = new File(to); - - File[] fromFiles = fromDir.listFiles(); - int fromSize = fromFiles.length; - - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(NLS.bind(Messages.copyingTask, new String[] {from, to}), 550); - - File[] toFiles = null; - - // delete old files and directories from this directory - if (toDir.exists() && toDir.isDirectory()) { - toFiles = toDir.listFiles(); - int toSize = toFiles.length; - - // check if this exact file exists in the new directory - for (int i = 0; i < toSize; i++) { - String name = toFiles[i].getName(); - boolean isDir = toFiles[i].isDirectory(); - boolean found = false; - for (int j = 0; j < fromSize; j++) { - if (name.equals(fromFiles[j].getName()) && isDir == fromFiles[j].isDirectory()) - found = true; - } - - // delete file if it can't be found or isn't the correct type - if (!found) { - if (isDir) - PublishUtil.deleteDirectory(toFiles[i], null); - else - toFiles[i].delete(); - } - if (monitor.isCanceled()) - return; - } - } else { - if (toDir.isFile()) - toDir.delete(); - toDir.mkdir(); - } - monitor.worked(50); - - // cycle through files and only copy when it doesn't exist - // or is newer - toFiles = toDir.listFiles(); - int toSize = toFiles.length; - int dw = 0; - if (toSize > 0) - dw = 500 / toSize; - - for (int i = 0; i < fromSize; i++) { - File current = fromFiles[i]; - - // check if this is a new or newer file - boolean copy = true; - if (!current.isDirectory()) { - String name = current.getName(); - long mod = current.lastModified(); - for (int j = 0; j < toSize; j++) { - if (name.equals(toFiles[j].getName()) && mod <= toFiles[j].lastModified()) - copy = false; - } - } - - if (copy) { - String fromFile = current.getAbsolutePath(); - String toFile = to; - if (!toFile.endsWith(File.separator)) - toFile += File.separator; - toFile += current.getName(); - if (current.isFile()) { - copyFile(fromFile, toFile); - monitor.worked(dw); - } else if (current.isDirectory()) { - monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {fromFile, toFile})); - smartCopyDirectory(fromFile, toFile, ProgressUtil.getSubMonitorFor(monitor, dw)); - } - } - if (monitor.isCanceled()) - return; - } - monitor.worked(500 - dw * toSize); - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error smart copying directory " + from + " - " + to, 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/IMimeMapping.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/IMimeMapping.java deleted file mode 100644 index ee5946f17..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/IMimeMapping.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; -/** - * - */ -public interface IMimeMapping { - /** - * Returns the extension. - * - * @return the extension - */ - public String getExtension(); - - /** - * Returns the mime type. - * - * @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/internal/ITomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfiguration.java deleted file mode 100644 index b9bada112..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfiguration.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.List; -/** - * - */ -public interface ITomcatConfiguration { - /** - * Returns a list of mime mappings. - * - * @return mime mappings - */ - public List getMimeMappings(); - - /** - * Returns a list of ServerPorts that this configuration uses. - * - * @return the server ports - */ - public List getServerPorts(); - - /** - * Return a list of the web modules in this server. - * - * @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/internal/ITomcatConfigurationWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfigurationWorkingCopy.java deleted file mode 100644 index 510d77e99..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatConfigurationWorkingCopy.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -public interface ITomcatConfigurationWorkingCopy extends ITomcatConfiguration { - /** - * Add a web module. - * - * @param index int - * @param module org.eclipse.jst.server.tomcat.WebModule - */ - public void addWebModule(int index, ITomcatWebModule module); - - /** - * 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); - - /** - * Remove a web module. - * - * @param index int - */ - public void removeWebModule(int index); - - /** - * Adds a mime mapping. - * - * @param index int - * @param map MimeMapping - */ - public void addMimeMapping(int index, IMimeMapping map); - - /** - * Change a mime mapping. - * - * @param index int - * @param map MimeMapping - */ - public void modifyMimeMapping(int index, IMimeMapping map); - - /** - * Modify the port with the given id. - * - * @param id java.lang.String - * @param port int - */ - public void modifyServerPort(String id, int port); - - /** - * 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/internal/ITomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java deleted file mode 100644 index 865dad3b9..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntime.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.List; - -import org.eclipse.jst.server.core.IJavaRuntime; -/** - * - */ -public interface ITomcatRuntime extends IJavaRuntime { - /** - * Returns <code>true</code> if this server is using the default JRE, and - * <code>false</code> otherwise. - * - * @return <code>true</code> if this server is using the default JRE, and - * <code>false</code> otherwise - */ - public boolean isUsingDefaultJRE(); - - /** - * 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/internal/ITomcatRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java deleted file mode 100644 index faac3d271..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatRuntimeWorkingCopy.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.jdt.launching.IVMInstall; -/** - * - */ -public interface ITomcatRuntimeWorkingCopy extends ITomcatRuntime { - /** - * Set the VM install (installed JRE) that this runtime is using. - * Use <code>null</code> to use the Eclipse default JRE. - * - * @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/internal/ITomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServer.java deleted file mode 100644 index 7d380ed87..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServer.java +++ /dev/null @@ -1,26 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.wst.server.core.model.IURLProvider; -/** - * - */ -public interface ITomcatServer extends IURLProvider { - public static final String PROPERTY_TEST_ENVIRONMENT = "testEnvironment"; - /** - * Returns true if this is a test (publish and run code out of the - * workbench) environment server. - * - * @return boolean - */ - public boolean isTestEnvironment(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerBehaviour.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerBehaviour.java deleted file mode 100644 index 63f96ed0b..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerBehaviour.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import 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 the main runtime class - */ - 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 - * @throws CoreException if anything goes wrong - */ - 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/internal/ITomcatServerWorkingCopy.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerWorkingCopy.java deleted file mode 100644 index 73253741a..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatServerWorkingCopy.java +++ /dev/null @@ -1,22 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; -/** - * - */ -public interface ITomcatServerWorkingCopy extends ITomcatServer { - /** - * Sets this server to test environment mode. - * - * @param b boolean - */ - public void setTestEnvironment(boolean b); -}
\ No newline at end of file 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 deleted file mode 100644 index 897a28470..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatVersionHandler.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.wst.server.core.IModule; -/** - * - */ -public interface ITomcatVersionHandler { - public boolean verifyInstallPath(IPath installPath); - - public String getRuntimeClass(); - - public List getRuntimeClasspath(IPath installPath); - - /** - * Return the program's runtime arguments. - * - * @param configPath a config path - * @param debug <code>true</code> if debug mode is on - * @param starting <code>true</code> if the server is starting - * @return a string array of program arguments - */ - public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting); - - public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv); - - public String getRuntimePolicyFile(IPath configPath); - - /** - * Returns true if the given project is supported by this - * server, and false otherwise. - * - * @param module a web module - * @return the status - */ - public IStatus canAddModule(IModule module); - - /** - * Returns the runtime base path for relative paths in the server - * configuration. - * - * @param serverBehaviour TomcatServerBehaviour instance from - * which to determine the base path - * @return the base path - */ - public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatWebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatWebModule.java deleted file mode 100644 index 7cb88b803..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ITomcatWebModule.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; -/** - * A Web module deployed on Tomcat. - */ -public interface ITomcatWebModule { - /** - * Get the document base. - * - * @return java.lang.String - */ - public String getDocumentBase(); - - /** - * Return the path. (context root) - * - * @return java.lang.String - */ - public String getPath(); - - /** - * Return the memento. - * - * @return java.lang.String - */ - public String getMemento(); - - /** - * Return true if the web module is auto-reloadable. - * - * @return java.lang.String - */ - public boolean isReloadable(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java deleted file mode 100644 index d2b73cba1..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java +++ /dev/null @@ -1,94 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String copyingTask; - public static String errorCopyingFile; - public static String deletingTask; - public static String errorInstallDir; - public static String errorInstallDirTrailingSlash; - public static String errorJRE; - public static String warningJRE; - public static String target32runtime; - public static String target40runtime; - public static String target41runtime; - public static String target50runtime; - public static String target55runtime; - public static String portUnknown; - public static String loadingTask; - public static String errorCouldNotLoadConfiguration; - public static String savingTask; - public static String errorCouldNotSaveConfiguration; - public static String updatingConfigurationTask; - public static String canAddModule; - public static String errorSpec32; - public static String errorSpec40; - public static String errorSpec41; - public static String errorSpec50; - public static String errorSpec55; - public static String portServer; - public static String runtimeDirPrepared; - public static String publishConfigurationTask; - public static String publishContextConfigTask; - public static String savingContextConfigTask; - public static String checkingContextTask; - public static String serverPostProcessingComplete; - public static String errorPublishConfiguration; - public static String cleanupServerTask; - public static String detectingRemovedProjects; - public static String deletingContextFilesTask; - public static String deletingContextFile; - public static String deletedContextFile; - public static String errorCouldNotDeleteContextFile; - public static String errorCleanupServer; - public static String publisherPublishTask; - public static String errorNoConfiguration; - public static String errorWebModulesOnly; - public static String publishServerTask; - public static String errorPortInvalid; - public static String errorPortInUse; - public static String errorPortsInUse; - public static String errorDuplicateContextRoot; - public static String errorCouldNotLoadContextXml; - public static String configurationEditorActionModifyPortDescription; - public static String configurationEditorActionModifyPort; - public static String configurationEditorActionModifyMimeMappingDescription; - public static String configurationEditorActionModifyMimeMapping; - public static String configurationEditorActionAddMimeMappingDescription; - public static String configurationEditorActionAddMimeMapping; - public static String configurationEditorActionAddWebModuleDescription; - public static String configurationEditorActionAddWebModule; - public static String configurationEditorActionModifyWebModuleDescription; - public static String configurationEditorActionModifyWebModule; - public static String configurationEditorActionRemoveMimeMappingDescription; - public static String configurationEditorActionRemoveMimeMapping; - public static String configurationEditorActionRemoveWebModuleDescription; - public static String configurationEditorActionRemoveWebModule; - public static String serverEditorActionSetDebugModeDescription; - public static String serverEditorActionSetDebugMode; - public static String serverEditorActionSetSecureDescription; - public static String serverEditorActionSetSecure; - public static String serverEditorActionSetTestEnvironmentDescription; - public static String serverEditorActionSetTestEnvironment; - public static String configurationEditorActionEditWebModuleDescription; - public static String configurationEditorActionEditWebModulePath; - public static String fixModuleContextRootDescription; - public static String fixModuleContextRoot; - - static { - NLS.initializeMessages(TomcatPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties deleted file mode 100644 index ad1d1a550..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties +++ /dev/null @@ -1,101 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# runtime target -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 - -# --------------- Tasks (progress monitors) --------------- -savingTask=Saving... -loadingTask=Loading... -updatingConfigurationTask=Updating run-time configuration... -publishServerTask=Publishing to server... -publishConfigurationTask=Publishing the configuration... -publisherPublishTask=Publishing {0}... -fixModuleContextRoot=Update context root for Web module {0} -fixModuleContextRootDescription=Update the context root of the Web module to match the current settings - -publishContextConfigTask=Publishing META-INF/context.xml configurations... -checkingContextTask=Checking Context {0} for context.xml... -savingContextConfigTask=Saving context configuration updates... -serverPostProcessingComplete=Context configurations added. - -cleanupServerTask=Removing obsolete files from server... -detectingRemovedProjects=Preparing list of removed projects... -deletingContextFilesTask=Deleting obsolete context files from server... -deletingContextFile=Deleting obsolete context file {0}... -deletedContextFile=Context file {0} removed -runtimeDirPrepared=Runtime directory prepared -copyingTask=Copying from {0} to {1} -deletingTask=Deleting {0} -errorCopyingFile=Error copying file to {0}: {1} - -# Editor commands (used in undo/redo menus) -configurationEditorActionAddMimeMapping=add MIME mapping -configurationEditorActionAddMimeMappingDescription=Add a MIME mapping -configurationEditorActionModifyMimeMapping=modify MIME mapping -configurationEditorActionModifyMimeMappingDescription=Modify the MIME mapping -configurationEditorActionRemoveMimeMapping=remove MIME mapping -configurationEditorActionRemoveMimeMappingDescription=Remove a MIME mapping -configurationEditorActionAddWebModule=add Web module -configurationEditorActionAddWebModuleDescription=Add a Web module -configurationEditorActionModifyWebModule=modify Web module -configurationEditorActionModifyWebModuleDescription=Modify the Web module -configurationEditorActionRemoveWebModule=remove Web module -configurationEditorActionRemoveWebModuleDescription=Remove Web module {0} -configurationEditorActionModifyPort=set port number -configurationEditorActionModifyPortDescription=Set the port number -configurationEditorActionEditWebModulePath=edit Web module path -configurationEditorActionEditWebModuleDescription=Change Web module path from {0} to {1} - -# --------------- General --------------- -canAddModule=Web module can be added to the server. -portServer=Tomcat admin port -portUnknown=unknown port - -# --------------- Errors and Info --------------- -errorInstallDir=The Tomcat installation directory is not correct. It does not point to a valid Tomcat installation. -errorInstallDirTrailingSlash=The Tomcat installation directory should not have a trailing slash. -errorJRE=The JRE could not be found. Edit the server and change the JRE location. -errorPortInvalid=The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports. -errorPortInUse=Port {0} required by {1} is already in use. The server may already be running in another process, or a system process may be using the port. \ - To start this server you will need to stop the other process or change the port number(s). -errorPortsInUse=Several ports ({0}) required by {1} are already in use. The server may already be running in another process, or a system process may be using the port. \ - To start this server you will need to stop the other process or change the port number(s). -# the {0} in the following two lines will be replaced with a location (path) of the missing or corrupt server configuration -errorNoConfiguration=The Tomcat server configuration at {0} is missing. Check the server for errors. -errorCouldNotLoadConfiguration=Could not load the Tomcat server configuration at {0}. The configuration may be corrupt or incomplete. -errorCouldNotSaveConfiguration=Could not save the Tomcat server configuration: {0}. -errorPublishConfiguration=Could not publish server configuration: {0}. -errorCouldNotDeleteContextFile=Could not delete obsolete context file: {0} -errorCleanupServer=Could not clean server of obsolete files: {0} -errorWebModulesOnly=Tomcat only supports running J2EE Web modules. -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, 1.3, and 1.4 Web modules -errorSpec55=Tomcat version 5.5 only supports J2EE 1.2, 1.3, and 1.4 Web modules -errorDuplicateContextRoot=Two or more Web modules defined in the configuration have the same context root ({0}). \ - To start this server you will need to remove the duplicate(s). -errorCouldNotLoadContextXml=Could not load the context configuration for the {0} context due to a syntax error or other exception. - -warningJRE=Tomcat requires a Java SDK in order to compile JSP files. Ensure that the JRE preference settings point to an SDK install location. - -# 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/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 deleted file mode 100644 index bd3fb2e69..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/MimeMapping.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -/** - * A mime mapping. - */ -public class MimeMapping implements IMimeMapping { - private String extension; - private String mimeType; - - /** - * MimeMapping constructor comment. - * - * @param extension an extension - * @param mimeType a mime type - */ - public MimeMapping(String extension, String mimeType) { - super(); - this.extension = extension; - this.mimeType = mimeType; - } - - /** - * Returns the extension. - * @return java.lang.String - */ - public String getExtension() { - return extension; - } - - /** - * Returns the mime type. - * @return java.lang.String - */ - public String getMimeType() { - return mimeType; - } -}
\ No newline at end of file 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 ffb95a235..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.FileNotFoundException; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLConnection; - -import org.eclipse.wst.server.core.IServer; -/** - * Thread used to ping server to test when it is started. - */ -public class PingThread { - // 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 int maxPings = 56; // total: 16 seconds + connection time - - private boolean stop = false; - private String url; - private IServer server; - private TomcatServerBehaviour behaviour; - - /** - * Create a new PingThread. - * - * @param server - * @param url - * @param maxPings - * @param behaviour - */ - public PingThread(IServer server, String url, int maxPings, TomcatServerBehaviour behaviour) { - super(); - this.server = server; - this.url = url; - this.maxPings = maxPings; - this.behaviour = behaviour; - Thread t = new Thread("Tomcat Ping Thread") { - public void run() { - ping(); - } - }; - t.setDaemon(true); - t.start(); - } - - /** - * Ping the server until it is started. Then set the server - * state to STATE_STARTED. - */ - protected void ping() { - int count = 0; - try { - Thread.sleep(PING_DELAY); - } catch (Exception e) { - // ignore - } - while (!stop) { - try { - if (count == maxPings) { - try { - server.stop(false); - } catch (Exception e) { - Trace.trace(Trace.FINEST, "Ping: could not stop server"); - } - stop = true; - break; - } - count++; - - Trace.trace(Trace.FINEST, "Ping: pinging"); - URL pingUrl = new URL(url); - URLConnection conn = pingUrl.openConnection(); - ((HttpURLConnection)conn).getResponseCode(); - - // ping worked - server is up - if (!stop) { - Trace.trace(Trace.FINEST, "Ping: success"); - Thread.sleep(200); - behaviour.setServerStarted(); - } - stop = true; - } catch (FileNotFoundException fe) { - try { - Thread.sleep(200); - } catch (Exception e) { - // ignore - } - behaviour.setServerStarted(); - stop = true; - } catch (Exception e) { - Trace.trace(Trace.FINEST, "Ping: failed"); - // pinging failed - if (!stop) { - try { - Thread.sleep(PING_INTERVAL); - } catch (InterruptedException e2) { - // ignore - } - } - } - } - } - - /** - * Tell the pinging to stop. - */ - public void stop() { - Trace.trace(Trace.FINEST, "Ping: stopping"); - stop = true; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java deleted file mode 100644 index aedadd57c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ProgressUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.core.runtime.*; -/** - * Progress Monitor utility. - */ -public class ProgressUtil { - /** - * ProgressUtil constructor comment. - */ - private ProgressUtil() { - super(); - } - - /** - * Return a valid progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) { - if (monitor == null) - return new NullProgressMonitor(); - return monitor; - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @param ticks int - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks); - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @param ticks a number of ticks - * @param style a style - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks, style); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java deleted file mode 100644 index 16f1aed0c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jst.server.core.PublishUtil; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.IModuleResource; -import org.eclipse.wst.server.core.model.IModuleResourceDelta; -import org.eclipse.wst.server.core.model.PublishOperation; -import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; -import org.eclipse.wst.server.core.util.ProjectModule; - -public class PublishOperation2 extends PublishOperation { - protected TomcatServerBehaviour server; - protected IModule[] module; - protected int kind; - protected int deltaKind; - - public PublishOperation2(TomcatServerBehaviour server, int kind, IModule[] module, int deltaKind) { - super("Publish to server", "Publish Web module to Tomcat server"); - this.server = server; - this.module = module; - this.kind = kind; - this.deltaKind = deltaKind; - } - - public int getOrder() { - return 0; - } - - public int getKind() { - return REQUIRED; - } - - public void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException { - if (module.length == 1) { // web module - publishDir(module[0], monitor); - } else { // utility module - publishJar(monitor); - } - server.setModulePublishState2(module, IServer.PUBLISH_STATE_NONE); - } - - private void publishDir(IModule module2, IProgressMonitor monitor) throws CoreException { - IPath path = server.getTempDirectory().append("webapps"); - path = path.append(module2.getName()); - - if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) { // clean and republish from scratch - PublishUtil.deleteDirectory(path.toFile(), monitor); - - if (deltaKind == ServerBehaviourDelegate.REMOVED) - return; - } - - if (kind == IServer.PUBLISH_CLEAN || kind == IServer.PUBLISH_FULL) { - ProjectModule pm = (ProjectModule) module2.loadAdapter(ProjectModule.class, monitor); - IModuleResource[] mr = pm.members(); - PublishUtil.copy(mr, path); - return; - } - - IModuleResourceDelta[] delta = server.getPublishedResourceDelta(module); - - int size = delta.length; - for (int i = 0; i < size; i++) { - PublishUtil.handleDelta(kind, path, delta[i]); - } - } - - private void publishJar(IProgressMonitor monitor) throws CoreException { - IPath path = server.getTempDirectory().append("webapps"); - path = path.append(module[0].getName()).append("WEB-INF").append("lib"); - IPath jarPath = path.append(module[1].getName() + ".jar"); - - if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) { // clean and republish from scratch - if (jarPath.toFile().exists()) - jarPath.toFile().delete(); - - if (deltaKind == ServerBehaviourDelegate.REMOVED) - return; - } - if (kind != IServer.PUBLISH_CLEAN && kind != IServer.PUBLISH_FULL) { - // avoid changes if no changes to module since last publish - IModuleResourceDelta[] delta = server.getPublishedResourceDelta(module); - if (delta == null || delta.length == 0) - return; - } - - // make directory if it doesn't exist - - if (!path.toFile().exists()) - path.toFile().mkdirs(); - - ProjectModule pm = (ProjectModule) module[1].loadAdapter(ProjectModule.class, monitor); - IModuleResource[] mr = pm.members(); - PublishUtil.createZipFile(mr, jarPath); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishTask.java deleted file mode 100644 index 4b3d55686..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishTask.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.PublishOperation; -import org.eclipse.wst.server.core.model.PublishTaskDelegate; - -public class PublishTask extends PublishTaskDelegate { - public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) { - if (modules == null) - return null; - - TomcatServerBehaviour tomcatServer = (TomcatServerBehaviour) server.loadAdapter(TomcatServerBehaviour.class, null); - if (!tomcatServer.getTomcatServer().isTestEnvironment()) - return null; - - List tasks = new ArrayList(); - int size = modules.size(); - for (int i = 0; i < size; i++) { - IModule[] module = (IModule[]) modules.get(i); - Integer in = (Integer) kindList.get(i); - tasks.add(new PublishOperation2(tomcatServer, kind, module, in.intValue())); - } - - return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]); - } -}
\ No newline at end of file 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 deleted file mode 100644 index 66b28f90f..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Configuration.java +++ /dev/null @@ -1,575 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.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.*; -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.server32.*; -import org.eclipse.osgi.util.NLS; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; - -import org.eclipse.wst.server.core.ServerPort; -/** - * Tomcat v3.2 server configuration. - */ -public class Tomcat32Configuration extends TomcatConfiguration { - public static final String ID = "org.eclipse.tomcat.configuration.32"; - - protected static final String HTTP_HANDLER = "org.apache.tomcat.service.http.HttpConnectionHandler"; - protected static final String APACHE_HANDLER = "org.apache.tomcat.service.connector.Ajp12ConnectionHandler"; - protected static final String SSL_SOCKET_FACTORY = "org.apache.tomcat.net.SSLSocketFactory"; - - protected Server server; - protected Factory serverFactory; - protected boolean isServerDirty; - - protected WebAppDocument webAppDocument; - - protected Document tomcatUsersDocument; - - protected String policyFile; - - /** - * Tomcat32Configuration constructor. - * - * @param path a path - */ - public Tomcat32Configuration(IFolder path) { - super(path); - } - - /** - * Returns the main server port. - * @return TomcatServerPort - */ - public ServerPort getMainPort() { - Iterator iterator = getServerPorts().iterator(); - while (iterator.hasNext()) { - ServerPort port = (ServerPort) iterator.next(); - if (port.getName().equals("HTTP Connector")) - return port; - } - return null; - } - - /** - * Returns the prefix that is used in front of the - * web module path property. (e.g. "webapps") - * - * @return java.lang.String - */ - public String getDocBasePrefix() { - return "webapps/"; - } - - /** - * Returns the mime mappings. - * @return java.util.List - */ - public List getMimeMappings() { - if (webAppDocument == null) - return new ArrayList(0); - - return webAppDocument.getMimeMappings(); - } - - /** - * Returns the server object (root of server.xml). - * @return org.eclipse.jst.server.tomcat.internal.xml.server32.Server - */ - public Server getServer() { - return server; - } - - /** - * Returns a list of ServerPorts that this configuration uses. - * - * @return java.util.List - */ - public List getServerPorts() { - List ports = new ArrayList(); - - try { - int count = server.getContextManager().getConnectorCount(); - for (int i = 0; i < count; i++) { - Connector connector = server.getContextManager().getConnector(i); - int paramCount = connector.getParameterCount(); - String handler = null; - String name = Messages.portUnknown; - String socketFactory = null; - String protocol = "TCPIP"; - boolean advanced = true; - String[] contentTypes = null; - int port = -1; - for (int j = 0; j < paramCount; j++) { - Parameter p = connector.getParameter(j); - if ("port".equals(p.getName())) { - try { - port = Integer.parseInt(p.getValue()); - } catch (Exception e) { - // ignore - } - } else if ("handler".equals(p.getName())) - handler = p.getValue(); - else if ("socketFactory".equals(p.getName())) - socketFactory = p.getValue(); - } - if (HTTP_HANDLER.equals(handler)) { - protocol = "HTTP"; - contentTypes = new String[] { "web", "webservices" }; - if (SSL_SOCKET_FACTORY.equals(socketFactory)) { - protocol = "SSL"; - name = "SSL Connector"; - } else { - name = "HTTP Connector"; - advanced = false; - } - } else if (APACHE_HANDLER.equals(handler)) - name = "Apache Connector"; - if (handler != null) - ports.add(new ServerPort(i + "", name, port, protocol, contentTypes, advanced)); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting server ports", e); - } - - return ports; - } - - /** - * Returns the tomcat-users.xml document. - * - * @return org.w3c.dom.Document - */ - public Document getTomcatUsersDocument() { - return tomcatUsersDocument; - } - - /** - * Return a list of the web modules in this server. - * @return java.util.List - */ - public List getWebModules() { - List list = new ArrayList(); - - try { - ContextManager contextManager = server.getContextManager(); - - int size = contextManager.getContextCount(); - for (int i = 0; i < size; i++) { - Context context = contextManager.getContext(i); - String reload = context.getReloadable(); - if (reload == null) - reload = "false"; - WebModule module = new WebModule(context.getPath(), - context.getDocBase(), context.getSource(), - reload.equalsIgnoreCase("true") ? true : false); - list.add(module); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting project refs", e); - } - - return list; - } - - /** - * @see TomcatConfiguration#load(IPath, IProgressMonitor) - */ - public void load(IPath path, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 5); - - // check for tomcat.policy to verify that this is a v3.2 config - InputStream in = new FileInputStream(path.append("tomcat.policy").toFile()); - in.read(); - in.close(); - monitor.worked(1); - - // create server.xml - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server32"); - server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile())); - monitor.worked(1); - - webAppDocument = new WebAppDocument(path.append("web.xml")); - monitor.worked(1); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile()))); - monitor.worked(1); - - // load policy file - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("tomcat.policy").toFile()))); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - br.close(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(1); - - if (monitor.isCanceled()) - return; - - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load Tomcat v3.2 configuration from " + path.toOSString() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e)); - } - } - - /** - * @see TomcatConfiguration#load(IFolder, IProgressMonitor) - */ - public void load(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 800); - - // check for tomcat.policy to verify that this is a v3.2 config - IFile file = folder.getFile("tomcat.policy"); - if (!file.exists()) - throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null)); - - // load server.xml - file = folder.getFile("server.xml"); - InputStream in = file.getContents(); - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server32"); - server = (Server) serverFactory.loadDocument(in); - monitor.worked(200); - - // load web.xml - file = folder.getFile("web.xml"); - webAppDocument = new WebAppDocument(file); - monitor.worked(200); - - // load tomcat-users.xml - file = folder.getFile("tomcat-users.xml"); - in = file.getContents(); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in)); - monitor.worked(200); - - // load tomcat.policy - file = folder.getFile("tomcat.policy"); - in = file.getContents(); - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(in)); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - br.close(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(200); - - if (monitor.isCanceled()) - throw new Exception("Cancelled"); - - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load Tomcat v3.2 configuration from: " + folder.getFullPath() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e)); - } - } - - /** - * Save the information held by this object to the given directory. - * - * @param path a path - * @param forceDirty if true, the files will be saved, regardless - * of whether they have been modified - * @param monitor a progress monitor - * @throws CoreException - */ - protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 5); - - // make sure directory exists - if (!path.toFile().exists()) { - forceDirty = true; - path.toFile().mkdir(); - } - monitor.worked(1); - - // save files - if (forceDirty || isServerDirty) - serverFactory.save(path.append("server.xml").toOSString()); - monitor.worked(1); - - webAppDocument.save(path.append("web.xml").toOSString(), forceDirty); - monitor.worked(1); - - if (forceDirty) - XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument); - monitor.worked(1); - - if (forceDirty) { - BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("tomcat.policy").toFile())); - bw.write(policyFile); - bw.close(); - } - monitor.worked(1); - isServerDirty = false; - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v3.2 configuration to " + path, e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - public void save(IPath path, IProgressMonitor monitor) throws CoreException { - save(path, true, monitor); - } - - /** - * Save the information held by this object to the given directory. - * - * @param folder a folder - * @param monitor a progress monitor - * @throws CoreException - */ - public void save(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 900); - - if (!folder.exists()) - folder.create(true, true, ProgressUtil.getSubMonitorFor(monitor, 100)); - else - monitor.worked(100); - - // save server.xml - byte[] data = serverFactory.getContents(); - InputStream in = new ByteArrayInputStream(data); - IFile file = folder.getFile("server.xml"); - if (file.exists()) { - if (isServerDirty) - file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - monitor.worked(200); - } else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save web.xml - file = folder.getFile("web.xml"); - webAppDocument.save(file, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save tomcat-users.xml - data = XMLUtil.getContents(tomcatUsersDocument); - in = new ByteArrayInputStream(data); - file = folder.getFile("tomcat-users.xml"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save tomcat.policy - in = new ByteArrayInputStream(policyFile.getBytes()); - file = folder.getFile("tomcat.policy"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v3.2 configuration to " + folder.getFullPath(), e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - - /** - * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping) - */ - public void addMimeMapping(int index, IMimeMapping map) { - webAppDocument.addMimeMapping(index, map); - firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map); - } - - /** - * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule) - */ - 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(Trace.SEVERE, "Error adding web module", e); - } - } - - /** - * Localize the web projects in this configuration. - * - * @param path a path - * @param server2 a server type - * @param monitor a progress monitor - */ - public void localizeConfiguration(IPath path, TomcatServer server2, IProgressMonitor monitor) { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.updatingConfigurationTask, 100); - - Tomcat32Configuration config = new Tomcat32Configuration(null); - config.load(path, ProgressUtil.getSubMonitorFor(monitor, 30)); - - if (monitor.isCanceled()) - return; - - if (server2.isTestEnvironment()) { - IPath tomcatPath = path.removeLastSegments(1); - config.server.getContextManager().setHome(tomcatPath.toOSString()); - config.isServerDirty = true; - } - 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(Trace.SEVERE, "Error localizing configuration", e); - } - } - - /** - * Change the extension of a mime mapping. - * - * @param index - * @param map - */ - 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(Trace.SEVERE, "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(Trace.SEVERE, "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(Trace.SEVERE, "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/Tomcat32Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java deleted file mode 100644 index 13d93684d..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat32Handler.java +++ /dev/null @@ -1,109 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.wst.server.core.IModule; -/** - * Tomcat 32 handler. - */ -public class Tomcat32Handler implements ITomcatVersionHandler { - /** - * @see ITomcatVersionHandler#verifyInstallPath(IPath) - */ - public boolean verifyInstallPath(IPath installPath) { - return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_32); - } - - /** - * @see ITomcatVersionHandler#getRuntimeClass() - */ - public String getRuntimeClass() { - return "org.apache.tomcat.startup.Tomcat"; - } - - /** - * @see ITomcatVersionHandler#getRuntimeClasspath(IPath) - */ - public List getRuntimeClasspath(IPath installPath) { - List cp = new ArrayList(); - // add all jars from the Tomcat lib directory - File libDir = installPath.append("lib").toFile(); - if (libDir.exists()) { - String[] libs = libDir.list(); - for (int i = 0; i < libs.length; i++) { - if (libs[i].endsWith("jar")) { - IPath path = installPath.append("lib").append(libs[i]); - cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path)); - } - } - } - - return cp; - } - - /** - * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean) - */ - public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) { - List list = new ArrayList(); - if (configPath != null) { - list.add("-f \"" + configPath.append("conf").append("server.xml").toOSString() + "\""); - } - - if (!starting) - list.add("-stop"); - - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } - - /** - * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean) - */ - public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv) { - List list = new ArrayList(); - list.add("-Dtomcat.home=\"" + installPath.toOSString() + "\""); - - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } - - public String getRuntimePolicyFile(IPath configPath) { - return configPath.append("conf").append("tomcat.policy").toOSString(); - } - - /** - * @see ITomcatVersionHandler#canAddModule(IModule) - */ - public IStatus canAddModule(IModule module) { - if ("2.2".equals(module.getModuleType().getVersion())) - return Status.OK_STATUS; - - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec32, null); - } - - /** - * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour) - */ - public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) { - return serverBehaviour.getServer().getRuntime().getLocation(); - } -}
\ No newline at end of file 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 deleted file mode 100644 index c1fb11033..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Configuration.java +++ /dev/null @@ -1,593 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.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.*; -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.*; -import org.eclipse.osgi.util.NLS; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.xml.sax.InputSource; - -import org.eclipse.wst.server.core.ServerPort; -/** - * Tomcat v4.0 server configuration. - */ -public class Tomcat40Configuration extends TomcatConfiguration { - protected static final String DEFAULT_SERVICE = "Tomcat-Standalone"; - protected static final String HTTP_CONNECTOR = "org.apache.catalina.connector.http.HttpConnector"; - protected static final String SSL_SOCKET_FACTORY = "org.apache.catalina.net.SSLServerSocketFactory"; - protected static final String TEST_CONNECTOR = "org.apache.catalina.connector.test.HttpConnector"; - protected static final String APACHE_CONNECTOR = "org.apache.catalina.connector.warp.WarpConnector"; - - protected Server server; - protected Factory serverFactory; - protected boolean isServerDirty; - - protected WebAppDocument webAppDocument; - - protected Document tomcatUsersDocument; - - protected String policyFile; - protected boolean isPolicyDirty; - - /** - * Tomcat40Configuration constructor. - * - * @param path a path - */ - public Tomcat40Configuration(IFolder path) { - super(path); - } - - /** - * Return the port number. - * @return int - */ - public ServerPort getMainPort() { - Iterator iterator = getServerPorts().iterator(); - while (iterator.hasNext()) { - ServerPort port = (ServerPort) iterator.next(); - if (port.getName().equals("HTTP Connector")) - return port; - } - return null; - } - - /** - * Returns the mime mappings. - * @return java.util.List - */ - public List getMimeMappings() { - return webAppDocument.getMimeMappings(); - } - - /** - * Returns a list of ServerPorts that this configuration uses. - * - * @return java.util.List - */ - public List getServerPorts() { - List ports = new ArrayList(); - - // first add server port - try { - int port = Integer.parseInt(server.getPort()); - ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP")); - } catch (Exception e) { - // ignore - } - - // add connectors - try { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - int size2 = service.getConnectorCount(); - for (int j = 0; j < size2; j++) { - Connector connector = service.getConnector(j); - String className = connector.getClassName(); - String name = Messages.portUnknown; - String protocol = "TCPIP"; - boolean advanced = true; - String[] contentTypes = null; - int port = -1; - try { - port = Integer.parseInt(connector.getPort()); - } catch (Exception e) { - // ignore - } - if (HTTP_CONNECTOR.equals(className)) { - name = "HTTP Connector"; - protocol = "HTTP"; - contentTypes = new String[] { "web", "webservices" }; - // check for SSL connector - try { - Element element = connector.getSubElement("Factory"); - if (SSL_SOCKET_FACTORY.equals(element.getAttribute("className"))) { - name = "SSL Connector"; - protocol = "SSL"; - } - } catch (Exception e) { - // ignore - } - if ("HTTP".equals(protocol)) - advanced = false; - } else if (APACHE_CONNECTOR.equals(className)) - name = "Apache Connector"; - if (className != null && className.length() > 0) - ports.add(new ServerPort(i + "/" + j, name, port, protocol, contentTypes, advanced)); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting server ports", e); - } - return ports; - } - - /** - * Return a list of the web modules in this server. - * @return java.util.List - */ - public List getWebModules() { - List list = new ArrayList(); - - 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(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - String reload = context.getReloadable(); - if (reload == null) - reload = "false"; - WebModule module = new WebModule(context.getPath(), - context.getDocBase(), context.getSource(), - reload.equalsIgnoreCase("true") ? true : false); - list.add(module); - } - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting modules", e); - } - return list; - } - - public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException { - load(path, monitor); - - // for test environment, remove existing contexts since a separate - // catalina.base will be used - if (isTestEnv) { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Host host = service.getEngine().getHost(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - host.removeElement("Context", 0); - } - } - } - } - } - - /** - * @see TomcatConfiguration#load(IPath, IProgressMonitor) - */ - public void load(IPath path, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 5); - - // check for catalina.policy to verify that this is a v4.0 config - InputStream in = new FileInputStream(path.append("catalina.policy").toFile()); - in.read(); - in.close(); - monitor.worked(1); - - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile())); - monitor.worked(1); - - webAppDocument = new WebAppDocument(path.append("web.xml")); - monitor.worked(1); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile()))); - monitor.worked(1); - - // load policy file - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile()))); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(1); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load Tomcat v4.0 configuration from " + path.toOSString() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e)); - } - } - - /** - * @see TomcatConfiguration#load(IFolder, IProgressMonitor) - */ - public void load(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 800); - - // check for catalina.policy to verify that this is a v4.0 config - IFile file = folder.getFile("catalina.policy"); - if (!file.exists()) - throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null)); - - // load server.xml - file = folder.getFile("server.xml"); - InputStream in = file.getContents(); - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(in); - monitor.worked(200); - - // load web.xml - file = folder.getFile("web.xml"); - webAppDocument = new WebAppDocument(file); - monitor.worked(200); - - // load tomcat-users.xml - file = folder.getFile("tomcat-users.xml"); - in = file.getContents(); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in)); - monitor.worked(200); - - // load catalina.policy - file = folder.getFile("catalina.policy"); - in = file.getContents(); - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(in)); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(200); - - if (monitor.isCanceled()) - throw new Exception("Cancelled"); - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not reload Tomcat v4.0 configuration from: " + folder.getFullPath() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e)); - } - } - - /** - * Save to the given directory. - * - * @param path a path - * @param forceDirty boolean - * @param monitor a progress monitor - * @exception CoreException - */ - protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 3); - - // make sure directory exists - if (!path.toFile().exists()) { - forceDirty = true; - path.toFile().mkdir(); - } - monitor.worked(1); - - // save files - if (forceDirty || isServerDirty) - serverFactory.save(path.append("server.xml").toOSString()); - monitor.worked(1); - - //if (forceDirty || isWebAppDirty) - // webAppFactory.save(dirPath + "web.xml"); - //webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty); - webAppDocument.save(path.append("web.xml").toOSString(), forceDirty); - monitor.worked(1); - - if (forceDirty) - XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument); - monitor.worked(1); - - if (forceDirty || isPolicyDirty) { - BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile())); - bw.write(policyFile); - bw.close(); - } - monitor.worked(1); - isServerDirty = false; - isPolicyDirty = false; - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.0 configuration to " + path, e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - public void save(IPath path, IProgressMonitor monitor) throws CoreException { - save(path, true, monitor); - } - - /** - * Save the information held by this object to the given directory. - * - * @param folder a folder - * @param monitor a progress monitor - * @throws CoreException - */ - public void save(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 900); - - // save server.xml - byte[] data = serverFactory.getContents(); - InputStream in = new ByteArrayInputStream(data); - IFile file = folder.getFile("server.xml"); - if (file.exists()) { - if (isServerDirty) - file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - monitor.worked(200); - } else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save web.xml - webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save tomcat-users.xml - data = XMLUtil.getContents(tomcatUsersDocument); - in = new ByteArrayInputStream(data); - file = folder.getFile("tomcat-users.xml"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save catalina.policy - in = new ByteArrayInputStream(policyFile.getBytes()); - file = folder.getFile("catalina.policy"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.0 configuration to " + folder.toString(), e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - /** - * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping) - */ - public void addMimeMapping(int index, IMimeMapping map) { - webAppDocument.addMimeMapping(index, map); - firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map); - } - - /** - * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule) - */ - 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(Trace.SEVERE, "Error adding web module " + module.getPath(), e); - } - } - - /** - * Change the extension of a mime mapping. - * - * @param index - * @param map - */ - 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(Trace.SEVERE, "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(Trace.SEVERE, "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(Trace.SEVERE, "Error removing module ref " + index, e); - } - } - - protected IStatus prepareRuntimeDirectory(IPath confDir) { - Trace.trace(Trace.FINER, "Preparing runtime directory"); - // Prepare a catalina.base directory structure - File temp = confDir.append("conf").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("logs").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("temp").toFile(); - if (!temp.exists()) - temp.mkdirs(); - IPath tempPath = confDir.append("webapps/ROOT/WEB-INF"); - temp = tempPath.toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = tempPath.append("web.xml").toFile(); - if (!temp.exists()) { - FileWriter fw; - try { - fw = new FileWriter(temp); - fw.write(DEFAULT_WEBXML_SERVLET23); - fw.close(); - } catch (IOException e) { - Trace.trace(Trace.WARNING, "Unable to create web.xml for ROOT context.", e); - } - } - temp = confDir.append("work").toFile(); - if (!temp.exists()) - temp.mkdirs(); - - return Status.OK_STATUS; - } -}
\ No newline at end of file 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 deleted file mode 100644 index db4cccb61..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat40Handler.java +++ /dev/null @@ -1,121 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.wst.server.core.IModule; -/** - * Tomcat 40 handler. - */ -public class Tomcat40Handler implements ITomcatVersionHandler { - /** - * @see ITomcatVersionHandler#verifyInstallPath(IPath) - */ - public boolean verifyInstallPath(IPath installPath) { - if (installPath == null) - return false; - - if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_40)) - return false; - return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_40); - } - - /** - * @see ITomcatVersionHandler#getRuntimeClass() - */ - public String getRuntimeClass() { - return "org.apache.catalina.startup.Bootstrap"; - } - - /** - * @see ITomcatVersionHandler#getRuntimeClasspath(IPath) - */ - public List getRuntimeClasspath(IPath installPath) { - List cp = new ArrayList(); - - // 4.0 - add bootstrap.jar from the Tomcat bin directory - IPath binPath = installPath.append("bin"); - if (binPath.toFile().exists()) { - IPath path = binPath.append("bootstrap.jar"); - cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path)); - } - - return cp; - } - - /** - * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean) - */ - public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) { - List list = new ArrayList(); - - if (debug) - list.add("-debug"); - - if (starting) - list.add("start"); - else - list.add("stop"); - - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } - - /** - * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean) - */ - public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv) { - List list = new ArrayList(); - if (isTestEnv) - list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\""); - else - list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\""); - list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\""); - String endorsed = installPath.append("bin").toOSString() + - installPath.append("common").append("lib").toOSString(); - list.add("-Djava.endorsed.dirs=\"" + endorsed + "\""); - - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } - - public String getRuntimePolicyFile(IPath configPath) { - return configPath.append("conf").append("catalina.policy").toOSString(); - } - - /** - * @see ITomcatVersionHandler#canAddModule(IModule) - */ - public IStatus canAddModule(IModule module) { - String version = module.getModuleType().getVersion(); - if ("2.2".equals(version) || "2.3".equals(version)) - return Status.OK_STATUS; - - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec40, null); - } - - /** - * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour) - */ - public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) { - if (serverBehaviour.getTomcatServer().isTestEnvironment()) - return serverBehaviour.getTempDirectory(); - return serverBehaviour.getServer().getRuntime().getLocation(); - } -}
\ No newline at end of file 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 deleted file mode 100644 index df02e9da8..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Configuration.java +++ /dev/null @@ -1,747 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.*; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.*; -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.*; -import org.eclipse.osgi.util.NLS; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import org.eclipse.wst.server.core.ServerPort; -/** - * Tomcat v4.1 server configuration. - */ -public class Tomcat41Configuration extends TomcatConfiguration { - protected static final String DEFAULT_SERVICE = "Tomcat-Standalone"; - protected static final String HTTP_CONNECTOR = "org.apache.coyote.tomcat4.CoyoteConnector"; - protected static final String JK_PROTOCOL_HANDLER = "org.apache.jk.server.JkCoyoteHandler"; - protected static final String SSL_SOCKET_FACTORY = "org.apache.coyote.tomcat4.CoyoteServerSocketFactory"; - //protected static final String TEST_CONNECTOR = "org.apache.catalina.connector.test.HttpConnector"; - //org.apache.ajp.tomcat4.Ajp13Connector - protected static final String APACHE_CONNECTOR = "org.apache.catalina.connector.warp.WarpConnector"; - - protected Server server; - protected Factory serverFactory; - protected boolean isServerDirty; - - protected WebAppDocument webAppDocument; - - protected Document tomcatUsersDocument; - - protected String policyFile; - protected boolean isPolicyDirty; - - /** - * Tomcat41Configuration constructor. - * - * @param path a path - */ - public Tomcat41Configuration(IFolder path) { - super(path); - } - - /** - * Return the port number. - * @return int - */ - public ServerPort getMainPort() { - Iterator iterator = getServerPorts().iterator(); - while (iterator.hasNext()) { - ServerPort port = (ServerPort) iterator.next(); - if (port.getName().equals("HTTP Connector")) - return port; - } - return null; - } - - /** - * Returns the mime mappings. - * @return java.util.List - */ - public List getMimeMappings() { - return webAppDocument.getMimeMappings(); - } - - /** - * Returns a list of ServerPorts that this configuration uses. - * - * @return java.util.List - */ - public List getServerPorts() { - List ports = new ArrayList(); - - // first add server port - try { - int port = Integer.parseInt(server.getPort()); - ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP")); - } catch (Exception e) { - // ignore - } - - // add connectors - try { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - int size2 = service.getConnectorCount(); - for (int j = 0; j < size2; j++) { - Connector connector = service.getConnector(j); - String className = connector.getClassName(); - String name = className; - String protocol = "TCPIP"; - boolean advanced = true; - String[] contentTypes = null; - int port = -1; - try { - port = Integer.parseInt(connector.getPort()); - } catch (Exception e) { - // ignore - } - if (HTTP_CONNECTOR.equals(className)) { - name = "HTTP Connector"; - protocol = "HTTP"; - contentTypes = new String[] { "web", "webservices" }; - // check for AJP/1.3 Coyote connector - String protocolHandler = connector.getProtocolHandlerClassName(); - if (JK_PROTOCOL_HANDLER.equals(protocolHandler)) { - name = "AJP/1.3 Connector"; - protocol = "AJP/1.3"; - } else { - // assume HTTP, check for HTTP SSL connector - try { - Element element = connector.getSubElement("Factory"); - if (SSL_SOCKET_FACTORY.equals(element.getAttribute("className"))) { - name = "SSL Connector"; - protocol = "SSL"; - } - } catch (Exception e) { - // ignore - } - } - if ("HTTP".equals(protocol)) - advanced = false; - } else if (APACHE_CONNECTOR.equals(className)) - name = "Apache Connector"; - if (className != null && className.length() > 0) - ports.add(new ServerPort(i + "/" + j, name, port, protocol, contentTypes, advanced)); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting server ports", e); - } - return ports; - } - - /** - * Return a list of the web modules in this server. - * @return java.util.List - */ - public List getWebModules() { - List list = new ArrayList(); - - 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(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - String reload = context.getReloadable(); - if (reload == null) - reload = "false"; - WebModule module = new WebModule(context.getPath(), - context.getDocBase(), context.getSource(), - reload.equalsIgnoreCase("true") ? true : false); - list.add(module); - } - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting project refs", e); - } - return list; - } - - public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException { - load(path, monitor); - - // for test environment, remove existing contexts since a separate - // catalina.base will be used - if (isTestEnv) { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Host host = service.getEngine().getHost(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - host.removeElement("Context", 0); - } - } - } - } - } - - /** - * @see TomcatConfiguration#load(IPath, IProgressMonitor) - */ - public void load(IPath path, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 5); - - // check for catalina.policy to verify that this is a v4.0 config - InputStream in = new FileInputStream(path.append("catalina.policy").toFile()); - in.read(); - in.close(); - monitor.worked(1); - - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile())); - monitor.worked(1); - - webAppDocument = new WebAppDocument(path.append("web.xml")); - monitor.worked(1); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile()))); - monitor.worked(1); - - // load policy file - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile()))); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(1); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load Tomcat v4.0 configuration from " + path.toOSString() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e)); - } - } - - /** - * @see TomcatConfiguration#load(IFolder, IProgressMonitor) - */ - public void load(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 800); - - // check for catalina.policy to verify that this is a v4.0 config - IFile file = folder.getFile("catalina.policy"); - if (!file.exists()) - throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null)); - - // load server.xml - file = folder.getFile("server.xml"); - InputStream in = file.getContents(); - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(in); - monitor.worked(200); - - // load web.xml - file = folder.getFile("web.xml"); - webAppDocument = new WebAppDocument(file); - monitor.worked(200); - - // load tomcat-users.xml - file = folder.getFile("tomcat-users.xml"); - in = file.getContents(); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in)); - monitor.worked(200); - - // load catalina.policy - file = folder.getFile("catalina.policy"); - in = file.getContents(); - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(in)); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(200); - - if (monitor.isCanceled()) - throw new Exception("Cancelled"); - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not reload Tomcat v4.1 configuration from: " + folder.getFullPath() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e)); - } - } - - /** - * Save to the given directory. - * - * @param path a path - * @param forceDirty boolean - * @param monitor a progress monitor - * @exception CoreException - */ - protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 3); - - // make sure directory exists - if (!path.toFile().exists()) { - forceDirty = true; - path.toFile().mkdir(); - } - monitor.worked(1); - - // save files - if (forceDirty || isServerDirty) - serverFactory.save(path.append("server.xml").toOSString()); - monitor.worked(1); - - //if (forceDirty || isWebAppDirty) - // webAppFactory.save(dirPath + "web.xml"); - //webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty); - webAppDocument.save(path.append("web.xml").toOSString(), forceDirty); - monitor.worked(1); - - if (forceDirty) - XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument); - monitor.worked(1); - - if (forceDirty || isPolicyDirty) { - BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile())); - bw.write(policyFile); - bw.close(); - } - monitor.worked(1); - isServerDirty = false; - isPolicyDirty = false; - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.1 configuration to " + path, e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - public void save(IPath path, IProgressMonitor monitor) throws CoreException { - save(path, true, monitor); - } - - /** - * Save the information held by this object to the given directory. - * - * @param folder a folder - * @param monitor a progress monitor - * @throws CoreException - */ - public void save(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 900); - - // save server.xml - byte[] data = serverFactory.getContents(); - InputStream in = new ByteArrayInputStream(data); - IFile file = folder.getFile("server.xml"); - if (file.exists()) { - if (isServerDirty) - file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - monitor.worked(200); - } else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save web.xml - webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save tomcat-users.xml - data = XMLUtil.getContents(tomcatUsersDocument); - in = new ByteArrayInputStream(data); - file = folder.getFile("tomcat-users.xml"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save catalina.policy - in = new ByteArrayInputStream(policyFile.getBytes()); - file = folder.getFile("catalina.policy"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v4.1 configuration to " + folder.toString(), e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - protected static boolean hasMDBListener(Server server) { - if (server == null) - return false; - - int count = server.getListenerCount(); - if (count == 0) - return false; - - for (int i = 0; i < count; i++) { - Listener listener = server.getListener(i); - if (listener != null && listener.getClassName() != null && listener.getClassName().indexOf("mbean") >= 0) - return true; - } - return false; - } - - /** - * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping) - */ - public void addMimeMapping(int index, IMimeMapping map) { - webAppDocument.addMimeMapping(index, map); - firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map); - } - - /** - * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule) - */ - 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(Trace.SEVERE, "Error adding web module " + module.getPath(), e); - } - } - - /** - * Change the extension of a mime mapping. - * - * @param index - * @param map - */ - 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(Trace.SEVERE, "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(Trace.SEVERE, "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(Trace.SEVERE, "Error removing module ref " + index, e); - } - } - - protected IStatus publishContextConfig(IPath baseDir, IProgressMonitor monitor) { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.publishConfigurationTask, 300); - - Trace.trace(Trace.FINER, "Apply context configurations"); - IPath confDir = baseDir.append("conf"); - IPath webappsDir = baseDir.append("webapps"); - try { - monitor.subTask(Messages.publishContextConfigTask); - Factory factory = new Factory(); - factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - Server publishedServer = (Server) factory.loadDocument(new FileInputStream(confDir.append("server.xml").toFile())); - monitor.worked(100); - - boolean modified = false; - - MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishContextConfigTask, null); - int size = publishedServer.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = publishedServer.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Engine engine = service.getEngine(); - Host host = engine.getHost(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - monitor.subTask(NLS.bind(Messages.checkingContextTask, - new String[] {context.getPath()})); - if (addContextConfig(webappsDir, context, ms)) { - modified = true; - } - } - } - } - monitor.worked(100); - if (modified) { - monitor.subTask(Messages.savingContextConfigTask); - factory.save(confDir.append("server.xml").toOSString()); - } - monitor.done(); - - // If problem(s) occurred adding context configurations, return error status - if (ms.getChildren().length > 0) { - return ms; - } - Trace.trace(Trace.FINER, "Server.xml updated with context.xml configurations"); - return Status.OK_STATUS; - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not apply context configurations to published Tomcat v5.0 configuration from " + confDir.toOSString() + ": " + e.getMessage()); - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e); - } - } - - /** - * If the specified Context is linked to a project, try to - * update it with any configuration from a META-INF/context.xml found - * relative to the specified web applications directory and context docBase. - * @param webappsDir Path to server's web applications directory. - * @param context Context object to receive context.xml contents. - * @param ms MultiStatus object to receive error status. - * @return Returns true if context is modified. - */ - protected boolean addContextConfig(IPath webappsDir, Context context, MultiStatus ms) { - boolean modified = false; - String source = context.getSource(); - if (source != null && source.length() > 0 ) - { - String docBase = context.getDocBase(); - try { - Context contextConfig = loadContextConfig(webappsDir.append(docBase)); - if (null != contextConfig) { - if (context.hasChildNodes()) - context.removeChildren(); - contextConfig.copyChildrenTo(context); - Map attrs = contextConfig.getAttributes(); - Iterator iter = attrs.keySet().iterator(); - while (iter.hasNext()) { - String name = (String) iter.next(); - if (!name.equalsIgnoreCase("path") - && !name.equalsIgnoreCase("docBase") - && !name.equalsIgnoreCase("source")) { - String value = (String)attrs.get(name); - context.setAttributeValue(name, value); - } - } - modified = true; - } - } catch (Exception e) { - String contextPath = context.getPath(); - if (contextPath.startsWith("/")) { - contextPath = contextPath.substring(1); - } - Trace.trace(Trace.SEVERE, "Error reading context.xml file for " + contextPath, e); - IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, - NLS.bind(Messages.errorCouldNotLoadContextXml, contextPath), e); - ms.add(s); - } - } - return modified; - } - - /** - * Tries to read a META-INF/context.xml file relative to the - * specified web application path. If found, it creates a Context object - * containing the contexts of that file. - * @param webappDir Path to the web application - * @return Context element created from context.xml, or null if not found. - * @throws SAXException If there is a error parsing the XML. - * @throws IOException If there is an error reading the file. - */ - protected Context loadContextConfig(IPath webappDir) throws IOException, SAXException { - File contextXML = new File(webappDir.toOSString()+ File.separator + "META-INF" + File.separator + "context.xml"); - if (contextXML.exists()) { - try { - InputStream is = new FileInputStream(contextXML); - Factory ctxFactory = new Factory(); - ctxFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - Context ctx = (Context)ctxFactory.loadDocument(is); - is.close(); - return ctx; - } catch (FileNotFoundException e) { - // Ignore, should never occur - } - } - return null; - } - - protected IStatus prepareRuntimeDirectory(IPath confDir) { - Trace.trace(Trace.FINER, "Preparing runtime directory"); - // Prepare a catalina.base directory structure - File temp = confDir.append("conf").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("logs").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("temp").toFile(); - if (!temp.exists()) - temp.mkdirs(); - IPath tempPath = confDir.append("webapps/ROOT/WEB-INF"); - temp = tempPath.toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = tempPath.append("web.xml").toFile(); - if (!temp.exists()) { - FileWriter fw; - try { - fw = new FileWriter(temp); - fw.write(DEFAULT_WEBXML_SERVLET23); - fw.close(); - } catch (IOException e) { - Trace.trace(Trace.WARNING, "Unable to create web.xml for ROOT context.", e); - } - } - temp = confDir.append("work").toFile(); - if (!temp.exists()) - temp.mkdirs(); - - return Status.OK_STATUS; - } -}
\ No newline at end of file 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 deleted file mode 100644 index 206ef229c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat41Handler.java +++ /dev/null @@ -1,119 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.wst.server.core.IModule; -/** - * Tomcat 41 handler. - */ -public class Tomcat41Handler implements ITomcatVersionHandler { - /** - * @see ITomcatVersionHandler#verifyInstallPath(IPath) - */ - public boolean verifyInstallPath(IPath installPath) { - if (installPath == null) - return false; - - if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_41)) - return false; - return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_41); - } - - /** - * @see ITomcatVersionHandler#getRuntimeClass() - */ - public String getRuntimeClass() { - return "org.apache.catalina.startup.Bootstrap"; - } - - /** - * @see ITomcatVersionHandler#getRuntimeClasspath(IPath) - */ - public List getRuntimeClasspath(IPath installPath) { - List cp = new ArrayList(); - - // 4.1 - add bootstrap.jar from the Tomcat bin directory - IPath binPath = installPath.append("bin"); - if (binPath.toFile().exists()) { - IPath path = binPath.append("bootstrap.jar"); - cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path)); - } - - return cp; - } - - /** - * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean) - */ - public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) { - List list = new ArrayList(); - - if (debug) - list.add("-debug"); - - if (starting) - list.add("start"); - else - list.add("stop"); - - String[] temp = new String[list.size()]; - list.toArray(temp); - return temp; - } - - /** - * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean) - */ - public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv) { - List list = new ArrayList(); - if (isTestEnv) - list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\""); - else - list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\""); - list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\""); - list.add("-Djava.endorsed.dirs=\"" + installPath.append("common").append("endorsed").toOSString() + "\""); - - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } - - public String getRuntimePolicyFile(IPath configPath) { - return configPath.append("conf").append("catalina.policy").toOSString(); - } - - /** - * @see ITomcatVersionHandler#canAddModule(IModule) - */ - public IStatus canAddModule(IModule module) { - String version = module.getModuleType().getVersion(); - if ("2.2".equals(version) || "2.3".equals(version)) - return Status.OK_STATUS; - - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec41, null); - } - - /** - * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour) - */ - public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) { - if (serverBehaviour.getTomcatServer().isTestEnvironment()) - return serverBehaviour.getTempDirectory(); - return serverBehaviour.getServer().getRuntime().getLocation(); - } -}
\ 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 deleted file mode 100644 index c79674431..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Configuration.java +++ /dev/null @@ -1,823 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.*; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.*; -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.*; -import org.eclipse.osgi.util.NLS; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import org.eclipse.wst.server.core.ServerPort; -/** - * Tomcat v5.0 server configuration. - */ -public class Tomcat50Configuration extends TomcatConfiguration { - protected static final String DEFAULT_SERVICE = "Catalina"; - protected Server server; - protected Factory serverFactory; - protected boolean isServerDirty; - - protected WebAppDocument webAppDocument; - - protected Document tomcatUsersDocument; - - protected String policyFile; - protected boolean isPolicyDirty; - - /** - * Tomcat50Configuration constructor. - * - * @param path a path - */ - public Tomcat50Configuration(IFolder path) { - super(path); - } - - /** - * Return the port number. - * @return int - */ - public ServerPort getMainPort() { - Iterator iterator = getServerPorts().iterator(); - while (iterator.hasNext()) { - ServerPort port = (ServerPort) iterator.next(); - if (port.getName().equals("HTTP")) - return port; - } - return null; - } - - /** - * Returns the mime mappings. - * @return java.util.List - */ - public List getMimeMappings() { - return webAppDocument.getMimeMappings(); - } - - /** - * Returns a list of ServerPorts that this configuration uses. - * - * @return java.util.List - */ - public List getServerPorts() { - List ports = new ArrayList(); - - // first add server port - try { - int port = Integer.parseInt(server.getPort()); - ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP")); - } catch (Exception e) { - // ignore - } - - // add connectors - try { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - int size2 = service.getConnectorCount(); - for (int j = 0; j < size2; j++) { - Connector connector = service.getConnector(j); - String name = "HTTP"; - String protocol2 = "HTTP"; - boolean advanced = true; - String[] contentTypes = null; - int port = -1; - try { - port = Integer.parseInt(connector.getPort()); - } catch (Exception e) { - // ignore - } - String protocol = connector.getProtocol(); - if (protocol != null && protocol.length() > 0) { - name = protocol; - protocol2 = protocol; - } - if ("HTTP".equals(protocol)) - contentTypes = new String[] { "web", "webservices" }; - String secure = connector.getSecure(); - if (secure != null && secure.length() > 0) { - name = "SSL"; - protocol2 = "SSL"; - } else - advanced = false; - ports.add(new ServerPort(i +"/" + j, name, port, protocol2, contentTypes, advanced)); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting server ports", e); - } - return ports; - } - - /** - * Return a list of the web modules in this server. - * @return java.util.List - */ - public List getWebModules() { - List list = new ArrayList(); - - 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(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - String reload = context.getReloadable(); - if (reload == null) - reload = "false"; - WebModule module = new WebModule(context.getPath(), - context.getDocBase(), context.getSource(), - reload.equalsIgnoreCase("true") ? true : false); - list.add(module); - } - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting project refs", e); - } - return list; - } - - /** - * @see TomcatConfiguration#load(IPath, IProgressMonitor) - */ - public void load(IPath path, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 5); - - // check for catalina.policy to verify that this is a v5.0 config - InputStream in = new FileInputStream(path.append("catalina.policy").toFile()); - in.read(); - in.close(); - monitor.worked(1); - - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile())); - monitor.worked(1); - - webAppDocument = new WebAppDocument(path.append("web.xml")); - monitor.worked(1); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile()))); - monitor.worked(1); - - // load policy file - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile()))); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(1); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load Tomcat v5.0 configuration from " + path.toOSString() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e)); - } - } - - public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException { - load(path, monitor); - - // for test environment, remove existing contexts since a separate - // catalina.base will be used - if (isTestEnv) { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Host host = service.getEngine().getHost(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - host.removeElement("Context", 0); - } - } - } - } - } - - /** - * @see TomcatConfiguration#load(IFolder, IProgressMonitor) - */ - public void load(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 800); - - // check for catalina.policy to verify that this is a v4.0 config - IFile file = folder.getFile("catalina.policy"); - if (!file.exists()) - throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null)); - - // load server.xml - file = folder.getFile("server.xml"); - InputStream in = file.getContents(); - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(in); - monitor.worked(200); - - // load web.xml - file = folder.getFile("web.xml"); - webAppDocument = new WebAppDocument(file); - monitor.worked(200); - - // load tomcat-users.xml - file = folder.getFile("tomcat-users.xml"); - in = file.getContents(); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in)); - monitor.worked(200); - - // load catalina.policy - file = folder.getFile("catalina.policy"); - in = file.getContents(); - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(in)); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(200); - - if (monitor.isCanceled()) - throw new Exception("Cancelled"); - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not reload Tomcat v5.0 configuration from: " + folder.getFullPath() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e)); - } - } - - /** - * Save to the given directory. - * @param path a path - * @param forceDirty boolean - * @param monitor a progress monitor - * @exception CoreException - */ - protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 3); - - // make sure directory exists - if (!path.toFile().exists()) { - forceDirty = true; - path.toFile().mkdir(); - } - monitor.worked(1); - - // save files - if (forceDirty || isServerDirty) - serverFactory.save(path.append("server.xml").toOSString()); - monitor.worked(1); - - //if (forceDirty || isWebAppDirty) - // webAppFactory.save(dirPath + "web.xml"); - //webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty); - webAppDocument.save(path.append("web.xml").toOSString(), forceDirty); - monitor.worked(1); - - if (forceDirty) - XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument); - monitor.worked(1); - - if (forceDirty || isPolicyDirty) { - BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile())); - bw.write(policyFile); - bw.close(); - } - monitor.worked(1); - isServerDirty = false; - isPolicyDirty = false; - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.0 configuration to " + path, e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - public void save(IPath path, IProgressMonitor monitor) throws CoreException { - save(path, true, monitor); - } - - /** - * Save the information held by this object to the given directory. - * - * @param folder a folder - * @param monitor a progress monitor - * @throws CoreException - */ - public void save(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 900); - - // save server.xml - byte[] data = serverFactory.getContents(); - InputStream in = new ByteArrayInputStream(data); - IFile file = folder.getFile("server.xml"); - if (file.exists()) { - if (isServerDirty) - file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - monitor.worked(200); - } else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save web.xml - webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save tomcat-users.xml - data = XMLUtil.getContents(tomcatUsersDocument); - in = new ByteArrayInputStream(data); - file = folder.getFile("tomcat-users.xml"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save catalina.policy - in = new ByteArrayInputStream(policyFile.getBytes()); - file = folder.getFile("catalina.policy"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.0 configuration to " + folder.toString(), e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - protected static boolean hasMDBListener(Server server) { - if (server == null) - return false; - - int count = server.getListenerCount(); - if (count == 0) - return false; - - for (int i = 0; i < count; i++) { - Listener listener = server.getListener(i); - if (listener != null && listener.getClassName() != null && listener.getClassName().indexOf("mbean") >= 0) - return true; - } - return false; - } - - /** - * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping) - */ - public void addMimeMapping(int index, IMimeMapping map) { - webAppDocument.addMimeMapping(index, map); - firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map); - } - - /** - * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule) - */ - 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(Trace.SEVERE, "Error adding web module " + module.getPath(), e); - } - } - - /** - * Change the extension of a mime mapping. - * - * @param index - * @param map - */ - 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(Trace.SEVERE, "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(Trace.SEVERE, "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(Trace.SEVERE, "Error removing module ref " + index, e); - } - } - - protected IStatus publishContextConfig(IPath baseDir, IProgressMonitor monitor) { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.publishConfigurationTask, 300); - - Trace.trace(Trace.FINER, "Apply context configurations"); - IPath confDir = baseDir.append("conf"); - IPath webappsDir = baseDir.append("webapps"); - try { - monitor.subTask(Messages.publishContextConfigTask); - Factory factory = new Factory(); - factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - Server publishedServer = (Server) factory.loadDocument(new FileInputStream(confDir.append("server.xml").toFile())); - monitor.worked(100); - - boolean modified = false; - - MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishContextConfigTask, null); - int size = publishedServer.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = publishedServer.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Engine engine = service.getEngine(); - Host host = engine.getHost(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - monitor.subTask(NLS.bind(Messages.checkingContextTask, - new String[] {context.getPath()})); - if (addContextConfig(webappsDir, context, ms)) { - modified = true; - } - } - } - } - monitor.worked(100); - if (modified) { - monitor.subTask(Messages.savingContextConfigTask); - factory.save(confDir.append("server.xml").toOSString()); - } - monitor.done(); - - // If problem(s) occurred adding context configurations, return error status - if (ms.getChildren().length > 0) { - return ms; - } - Trace.trace(Trace.FINER, "Server.xml updated with context.xml configurations"); - return Status.OK_STATUS; - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not apply context configurations to published Tomcat v5.0 configuration from " + confDir.toOSString() + ": " + e.getMessage()); - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e); - } - } - - /** - * If the specified Context is linked to a project, try to - * update it with any configuration from a META-INF/context.xml found - * relative to the specified web applications directory and context docBase. - * @param webappsDir Path to server's web applications directory. - * @param context Context object to receive context.xml contents. - * @param ms MultiStatus object to receive error status. - * @return Returns true if context is modified. - */ - protected boolean addContextConfig(IPath webappsDir, Context context, MultiStatus ms) { - boolean modified = false; - String source = context.getSource(); - if (source != null && source.length() > 0 ) - { - String docBase = context.getDocBase(); - try { - Context contextConfig = loadContextConfig(webappsDir.append(docBase)); - if (null != contextConfig) { - if (context.hasChildNodes()) - context.removeChildren(); - contextConfig.copyChildrenTo(context); - Map attrs = contextConfig.getAttributes(); - Iterator iter = attrs.keySet().iterator(); - while (iter.hasNext()) { - String name = (String) iter.next(); - if (!name.equalsIgnoreCase("path") - && !name.equalsIgnoreCase("docBase") - && !name.equalsIgnoreCase("source")) { - String value = (String)attrs.get(name); - context.setAttributeValue(name, value); - } - } - modified = true; - } - } catch (Exception e) { - String contextPath = context.getPath(); - if (contextPath.startsWith("/")) { - contextPath = contextPath.substring(1); - } - Trace.trace(Trace.SEVERE, "Error reading context.xml file for " + contextPath, e); - IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, - NLS.bind(Messages.errorCouldNotLoadContextXml, contextPath), e); - ms.add(s); - } - } - return modified; - } - - /** - * Tries to read a META-INF/context.xml file relative to the - * specified web application path. If found, it creates a Context object - * containing the contexts of that file. - * @param webappDir Path to the web application - * @return Context element created from context.xml, or null if not found. - * @throws SAXException If there is a error parsing the XML. - * @throws IOException If there is an error reading the file. - */ - protected Context loadContextConfig(IPath webappDir) throws IOException, SAXException { - File contextXML = new File(webappDir.toOSString()+ File.separator + "META-INF" + File.separator + "context.xml"); - if (contextXML.exists()) { - try { - InputStream is = new FileInputStream(contextXML); - Factory ctxFactory = new Factory(); - ctxFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - Context ctx = (Context)ctxFactory.loadDocument(is); - is.close(); - return ctx; - } catch (FileNotFoundException e) { - // Ignore, should never occur - } - } - return null; - } - - protected IStatus cleanupServer(IPath confDir, IPath installDir, IProgressMonitor monitor) { - MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.cleanupServerTask, null); - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.cleanupServerTask, 200); - - try { - monitor.subTask(Messages.detectingRemovedProjects); - - // Try to read old server configuration - Factory factory = new Factory(); - factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - File serverFile = confDir.append("conf").append("server.xml").toFile(); - if (serverFile.exists()) { - Server oldServer = (Server) factory.loadDocument(new FileInputStream(serverFile)); - - // Begin building path to context directory - IPath contextDir = confDir.append("conf"); - - // Collect paths of old web modules managed by WTP - Set oldPaths = new HashSet(); - int size = oldServer.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = oldServer.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Engine engine = service.getEngine(); - Host host = engine.getHost(); - // Finish path to context directory - contextDir = contextDir.append(engine.getName()).append(host.getName()); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - String source = context.getSource(); - if (source != null && source.length() > 0 ) { - oldPaths.add(context.getPath()); - } - } - } - } - - // Remove paths for web modules that are staying around - List modules = getWebModules(); - size = modules.size(); - for (int i = 0; i < size; i++) { - WebModule module = (WebModule) modules.get(i); - oldPaths.remove(module.getPath()); - } - monitor.worked(100); - - // Delete context files for managed web modules that have gone away - if (oldPaths.size() > 0 ) { - IProgressMonitor subMonitor = ProgressUtil.getSubMonitorFor(monitor, 100); - subMonitor.beginTask(Messages.deletingContextFilesTask, oldPaths.size() * 100); - - Iterator iter = oldPaths.iterator(); - while (iter.hasNext()) { - // Derive the context file name from the path + ".xml", minus the leading '/' - String fileName = (String)iter.next(); - if (fileName.length() > 0) - fileName = fileName.substring(1) + ".xml"; - else - fileName = "ROOT.xml"; - IPath contextPath = contextDir.append(fileName); - File contextFile = contextPath.toFile(); - if (contextFile.exists()) { - subMonitor.subTask(NLS.bind(Messages.deletingContextFile, fileName)); - if (contextFile.delete()) { - Trace.trace(Trace.FINER, "Leftover context file " + fileName + " deleted."); - ms.add(new Status(IStatus.OK, TomcatPlugin.PLUGIN_ID, 0, - NLS.bind(Messages.deletedContextFile, fileName), null)); - } else { - Trace.trace(Trace.SEVERE, "Could not delete obsolete context file " + contextPath.toOSString()); - ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, - NLS.bind(Messages.errorCouldNotDeleteContextFile, contextPath.toOSString()), null)); - } - subMonitor.worked(100); - } - } - subMonitor.done(); - } else { - monitor.worked(100); - } - } - // Else no server.xml. Assume first publish to new temp directory - else { - monitor.worked(200); - } - Trace.trace(Trace.FINER, "Server cleaned"); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not cleanup server at " + confDir.toOSString() + ": " + e.getMessage()); - ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, - NLS.bind(Messages.errorCleanupServer, new String[] {e.getLocalizedMessage()}), e)); - } - - monitor.done(); - return ms; - } - - protected IStatus prepareRuntimeDirectory(IPath confDir) { - Trace.trace(Trace.FINER, "Preparing runtime directory"); - // Prepare a catalina.base directory structure - File temp = confDir.append("conf").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("logs").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("temp").toFile(); - if (!temp.exists()) - temp.mkdirs(); - IPath tempPath = confDir.append("webapps/ROOT/WEB-INF"); - temp = tempPath.toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = tempPath.append("web.xml").toFile(); - if (!temp.exists()) { - FileWriter fw; - try { - fw = new FileWriter(temp); - fw.write(DEFAULT_WEBXML_SERVLET24); - fw.close(); - } catch (IOException e) { - Trace.trace(Trace.WARNING, "Unable to create web.xml for ROOT context.", e); - } - } - temp = confDir.append("work").toFile(); - if (!temp.exists()) - temp.mkdirs(); - - return Status.OK_STATUS; - } -}
\ No newline at end of file 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 deleted file mode 100644 index b0ef35e81..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat50Handler.java +++ /dev/null @@ -1,119 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.wst.server.core.IModule; -/** - * Tomcat 50 handler. - */ -public class Tomcat50Handler implements ITomcatVersionHandler { - /** - * @see ITomcatVersionHandler#verifyInstallPath(IPath) - */ - public boolean verifyInstallPath(IPath installPath) { - if (installPath == null) - return false; - -if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_50)) - return false; - return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_50); - } - - /** - * @see ITomcatVersionHandler#getRuntimeClass() - */ - public String getRuntimeClass() { - return "org.apache.catalina.startup.Bootstrap"; - } - - /** - * @see ITomcatVersionHandler#getRuntimeClasspath(IPath) - */ - public List getRuntimeClasspath(IPath installPath) { - List cp = new ArrayList(); - - // 5.0 - add bootstrap.jar from the Tomcat bin directory - IPath binPath = installPath.append("bin"); - if (binPath.toFile().exists()) { - IPath path = binPath.append("bootstrap.jar"); - cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path)); - } - - return cp; - } - - /** - * @see ITomcatVersionHandler#getRuntimeProgramArguments(IPath, boolean, boolean) - */ - public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting) { - List list = new ArrayList(); - - if (debug) - list.add("-debug"); - - if (starting) - list.add("start"); - else - list.add("stop"); - - String[] temp = new String[list.size()]; - list.toArray(temp); - return temp; - } - - /** - * @see ITomcatVersionHandler#getRuntimeVMArguments(IPath, IPath, boolean) - */ - public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, boolean isTestEnv) { - List list = new ArrayList(); - if (isTestEnv) - list.add("-Dcatalina.base=\"" + configPath.toOSString() + "\""); - else - list.add("-Dcatalina.base=\"" + installPath.toOSString() + "\""); - list.add("-Dcatalina.home=\"" + installPath.toOSString() + "\""); - list.add("-Djava.endorsed.dirs=\"" + installPath.append("common").append("endorsed").toOSString() + "\""); - - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } - - public String getRuntimePolicyFile(IPath configPath) { - return configPath.append("conf").append("catalina.policy").toOSString(); - } - - /** - * @see ITomcatVersionHandler#canAddModule(IModule) - */ - public IStatus canAddModule(IModule module) { - String version = module.getModuleType().getVersion(); - if ("2.2".equals(version) || "2.3".equals(version) || "2.4".equals(version)) - return Status.OK_STATUS; - - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorSpec50, null); - } - - /** - * @see ITomcatVersionHandler#getRuntimeBaseDirectory(TomcatServerBehaviour) - */ - public IPath getRuntimeBaseDirectory(TomcatServerBehaviour serverBehaviour) { - if (serverBehaviour.getTomcatServer().isTestEnvironment()) - return serverBehaviour.getTempDirectory(); - return serverBehaviour.getServer().getRuntime().getLocation(); - } -}
\ No newline at end of file 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 deleted file mode 100644 index 77ab8c717..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Configuration.java +++ /dev/null @@ -1,724 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.*; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.*; -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.*; -import org.eclipse.osgi.util.NLS; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import org.eclipse.wst.server.core.ServerPort; -/** - * Tomcat v5.5 server configuration. - */ -public class Tomcat55Configuration extends TomcatConfiguration { - protected static final String DEFAULT_SERVICE = "Catalina"; - protected Server server; - protected Factory serverFactory; - protected boolean isServerDirty; - - protected WebAppDocument webAppDocument; - - protected Document tomcatUsersDocument; - - protected String policyFile; - protected boolean isPolicyDirty; - - /** - * Tomcat55Configuration constructor. - * - * @param path a path - */ - public Tomcat55Configuration(IFolder path) { - super(path); - } - - /** - * Return the port number. - * @return int - */ - public ServerPort getMainPort() { - Iterator iterator = getServerPorts().iterator(); - while (iterator.hasNext()) { - ServerPort port = (ServerPort) iterator.next(); - if (port.getName().equals("HTTP")) - return port; - } - return null; - } - - /** - * Returns the mime mappings. - * @return java.util.List - */ - public List getMimeMappings() { - return webAppDocument.getMimeMappings(); - } - - /** - * Returns a list of ServerPorts that this configuration uses. - * - * @return java.util.List - */ - public List getServerPorts() { - List ports = new ArrayList(); - - // first add server port - try { - int port = Integer.parseInt(server.getPort()); - ports.add(new ServerPort("server", Messages.portServer, port, "TCPIP")); - } catch (Exception e) { - // ignore - } - - // add connectors - try { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - int size2 = service.getConnectorCount(); - for (int j = 0; j < size2; j++) { - Connector connector = service.getConnector(j); - String name = "HTTP"; - String protocol2 = "TCPIP"; - boolean advanced = true; - String[] contentTypes = null; - int port = -1; - try { - port = Integer.parseInt(connector.getPort()); - } catch (Exception e) { - // ignore - } - String protocol = connector.getProtocol(); - if (protocol != null && protocol.length() > 0) { - name = protocol; - protocol2 = protocol; - } - if ("HTTP".equals(protocol)) - contentTypes = new String[] { "web", "webservices" }; - String secure = connector.getSecure(); - if (secure != null && secure.length() > 0) { - name = "SSL"; - protocol2 = "SSL"; - } else - advanced = false; - ports.add(new ServerPort(i +"/" + j, name, port, protocol2, contentTypes, advanced)); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting server ports", e); - } - return ports; - } - - /** - * Return a list of the web modules in this server. - * @return java.util.List - */ - public List getWebModules() { - List list = new ArrayList(); - - 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(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - String reload = context.getReloadable(); - if (reload == null) - reload = "false"; - WebModule module = new WebModule(context.getPath(), - context.getDocBase(), context.getSource(), - reload.equalsIgnoreCase("true") ? true : false); - list.add(module); - } - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting project refs", e); - } - return list; - } - - /** - * @see TomcatConfiguration#load(IPath, IProgressMonitor) - */ - public void load(IPath path, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 5); - - // check for catalina.policy to verify that this is a v5.5 config - InputStream in = new FileInputStream(path.append("catalina.policy").toFile()); - in.read(); - in.close(); - monitor.worked(1); - - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(new FileInputStream(path.append("server.xml").toFile())); - monitor.worked(1); - - webAppDocument = new WebAppDocument(path.append("web.xml")); - monitor.worked(1); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.append("tomcat-users.xml").toFile()))); - monitor.worked(1); - - // load policy file - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(new FileInputStream(path.append("catalina.policy").toFile()))); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(1); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load Tomcat v5.5 configuration from " + path.toOSString() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, path.toOSString()), e)); - } - } - - public void importFromPath(IPath path, boolean isTestEnv, IProgressMonitor monitor) throws CoreException { - load(path, monitor); - - // for test environment, remove existing contexts since a separate - // catalina.base will be used - if (isTestEnv) { - int size = server.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = server.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Host host = service.getEngine().getHost(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - host.removeElement("Context", 0); - } - } - } - } - } - - /** - * @see TomcatConfiguration#load(IFolder, IProgressMonitor) - */ - public void load(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.loadingTask, 800); - - // check for catalina.policy to verify that this is a v4.0 config - IFile file = folder.getFile("catalina.policy"); - if (!file.exists()) - throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), null)); - - // load server.xml - file = folder.getFile("server.xml"); - InputStream in = file.getContents(); - serverFactory = new Factory(); - serverFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - server = (Server) serverFactory.loadDocument(in); - monitor.worked(200); - - // load web.xml - file = folder.getFile("web.xml"); - webAppDocument = new WebAppDocument(file); - monitor.worked(200); - - // load tomcat-users.xml - file = folder.getFile("tomcat-users.xml"); - in = file.getContents(); - - tomcatUsersDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(in)); - monitor.worked(200); - - // load catalina.policy - file = folder.getFile("catalina.policy"); - in = file.getContents(); - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(in)); - String temp = br.readLine(); - policyFile = ""; - while (temp != null) { - policyFile += temp + "\n"; - temp = br.readLine(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load policy file", e); - } finally { - if (br != null) - br.close(); - } - monitor.worked(200); - - if (monitor.isCanceled()) - throw new Exception("Cancelled"); - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not reload Tomcat v5.5 configuration from: " + folder.getFullPath() + ": " + e.getMessage()); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotLoadConfiguration, folder.getFullPath().toOSString()), e)); - } - } - - /** - * Save to the given directory. - * @param path a path - * @param forceDirty boolean - * @param monitor a progress monitor - * @exception CoreException - */ - protected void save(IPath path, boolean forceDirty, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 3); - - // make sure directory exists - if (!path.toFile().exists()) { - forceDirty = true; - path.toFile().mkdir(); - } - monitor.worked(1); - - // save files - if (forceDirty || isServerDirty) - serverFactory.save(path.append("server.xml").toOSString()); - monitor.worked(1); - - //if (forceDirty || isWebAppDirty) - // webAppFactory.save(dirPath + "web.xml"); - //webAppDocument.save(path.toOSString(), forceDirty || isPolicyDirty); - webAppDocument.save(path.append("web.xml").toOSString(), forceDirty); - monitor.worked(1); - - if (forceDirty) - XMLUtil.save(path.append("tomcat-users.xml").toOSString(), tomcatUsersDocument); - monitor.worked(1); - - if (forceDirty || isPolicyDirty) { - BufferedWriter bw = new BufferedWriter(new FileWriter(path.append("catalina.policy").toFile())); - bw.write(policyFile); - bw.close(); - } - monitor.worked(1); - isServerDirty = false; - isPolicyDirty = false; - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.5 configuration to " + path, e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - public void save(IPath path, IProgressMonitor monitor) throws CoreException { - save(path, true, monitor); - } - - /** - * Save the information held by this object to the given directory. - * - * @param folder a folder - * @param monitor a progress monitor - * @throws CoreException - */ - public void save(IFolder folder, IProgressMonitor monitor) throws CoreException { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.savingTask, 900); - - // save server.xml - byte[] data = serverFactory.getContents(); - InputStream in = new ByteArrayInputStream(data); - IFile file = folder.getFile("server.xml"); - if (file.exists()) { - if (isServerDirty) - file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - monitor.worked(200); - } else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save web.xml - webAppDocument.save(folder.getFile("web.xml"), ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save tomcat-users.xml - data = XMLUtil.getContents(tomcatUsersDocument); - in = new ByteArrayInputStream(data); - file = folder.getFile("tomcat-users.xml"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - // save catalina.policy - in = new ByteArrayInputStream(policyFile.getBytes()); - file = folder.getFile("catalina.policy"); - if (file.exists()) - monitor.worked(200); - //file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - - if (monitor.isCanceled()) - return; - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save Tomcat v5.5 configuration to " + folder.toString(), e); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotSaveConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - - protected static boolean hasMDBListener(Server server) { - if (server == null) - return false; - - int count = server.getListenerCount(); - if (count == 0) - return false; - - for (int i = 0; i < count; i++) { - Listener listener = server.getListener(i); - if (listener != null && listener.getClassName() != null && listener.getClassName().indexOf("mbean") >= 0) - return true; - } - return false; - } - - /** - * @see ITomcatConfigurationWorkingCopy#addMimeMapping(int, IMimeMapping) - */ - public void addMimeMapping(int index, IMimeMapping map) { - webAppDocument.addMimeMapping(index, map); - firePropertyChangeEvent(ADD_MAPPING_PROPERTY, new Integer(index), map); - } - - /** - * @see ITomcatConfigurationWorkingCopy#addWebModule(int, ITomcatWebModule) - */ - 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(Trace.SEVERE, "Error adding web module " + module.getPath(), e); - } - } - - /** - * Change the extension of a mime mapping. - * - * @param index - * @param map - */ - 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(Trace.SEVERE, "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(Trace.SEVERE, "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(Trace.SEVERE, "Error removing module ref " + index, e); - } - } - - protected IStatus publishContextConfig(IPath baseDir, IProgressMonitor monitor) { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.publishConfigurationTask, 300); - - Trace.trace(Trace.FINER, "Apply context configurations"); - IPath confDir = baseDir.append("conf"); - IPath webappsDir = baseDir.append("webapps"); - try { - monitor.subTask(Messages.publishContextConfigTask); - Factory factory = new Factory(); - factory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - Server publishedServer = (Server) factory.loadDocument(new FileInputStream(confDir.append("server.xml").toFile())); - monitor.worked(100); - - boolean modified = false; - - MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishContextConfigTask, null); - int size = publishedServer.getServiceCount(); - for (int i = 0; i < size; i++) { - Service service = publishedServer.getService(i); - if (service.getName().equalsIgnoreCase(DEFAULT_SERVICE)) { - Engine engine = service.getEngine(); - Host host = engine.getHost(); - int size2 = host.getContextCount(); - for (int j = 0; j < size2; j++) { - Context context = host.getContext(j); - monitor.subTask(NLS.bind(Messages.checkingContextTask, - new String[] {context.getPath()})); - if (addContextConfig(webappsDir, context, ms)) { - modified = true; - } - } - } - } - monitor.worked(100); - if (modified) { - monitor.subTask(Messages.savingContextConfigTask); - factory.save(confDir.append("server.xml").toOSString()); - } - monitor.done(); - - // If problem(s) occurred adding context configurations, return error status - if (ms.getChildren().length > 0) { - return ms; - } - Trace.trace(Trace.FINER, "Server.xml updated with context.xml configurations"); - return Status.OK_STATUS; - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not apply context configurations to published Tomcat v5.5 configuration from " + confDir.toOSString() + ": " + e.getMessage()); - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e); - } - } - - /** - * If the specified Context is linked to a project, try to - * update it with any configuration from a META-INF/context.xml found - * relative to the specified web applications directory and context docBase. - * @param webappsDir Path to server's web applications directory. - * @param context Context object to receive context.xml contents. - * @param ms MultiStatus object to receive error status. - * @return Returns true if context is modified. - */ - protected boolean addContextConfig(IPath webappsDir, Context context, MultiStatus ms) { - boolean modified = false; - String source = context.getSource(); - if (source != null && source.length() > 0 ) - { - String docBase = context.getDocBase(); - try { - Context contextConfig = loadContextConfig(webappsDir.append(docBase)); - if (null != contextConfig) { - if (context.hasChildNodes()) - context.removeChildren(); - contextConfig.copyChildrenTo(context); - Map attrs = contextConfig.getAttributes(); - Iterator iter = attrs.keySet().iterator(); - while (iter.hasNext()) { - String name = (String) iter.next(); - if (!name.equalsIgnoreCase("path") - && !name.equalsIgnoreCase("docBase") - && !name.equalsIgnoreCase("source")) { - String value = (String)attrs.get(name); - context.setAttributeValue(name, value); - } - } - modified = true; - } - } catch (Exception e) { - String contextPath = context.getPath(); - if (contextPath.startsWith("/")) { - contextPath = contextPath.substring(1); - } - Trace.trace(Trace.SEVERE, "Error reading context.xml file for " + contextPath, e); - IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, - NLS.bind(Messages.errorCouldNotLoadContextXml, contextPath), e); - ms.add(s); - } - } - return modified; - } - - /** - * Tries to read a META-INF/context.xml file relative to the - * specified web application path. If found, it creates a Context object - * containing the contexts of that file. - * @param webappDir Path to the web application - * @return Context element created from context.xml, or null if not found. - * @throws SAXException If there is a error parsing the XML. - * @throws IOException If there is an error reading the file. - */ - protected Context loadContextConfig(IPath webappDir) throws IOException, SAXException { - File contextXML = new File(webappDir.toOSString()+ File.separator + "META-INF" + File.separator + "context.xml"); - if (contextXML.exists()) { - try { - InputStream is = new FileInputStream(contextXML); - Factory ctxFactory = new Factory(); - ctxFactory.setPackageName("org.eclipse.jst.server.tomcat.core.internal.xml.server40"); - Context ctx = (Context)ctxFactory.loadDocument(is); - is.close(); - return ctx; - } catch (FileNotFoundException e) { - // Ignore, should never occur - } - } - return null; - } - - protected IStatus prepareRuntimeDirectory(IPath confDir) { - Trace.trace(Trace.FINER, "Preparing runtime directory"); - // Prepare a catalina.base directory structure - File temp = confDir.append("conf").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("logs").toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = confDir.append("temp").toFile(); - if (!temp.exists()) - temp.mkdirs(); - IPath tempPath = confDir.append("webapps/ROOT/WEB-INF"); - temp = tempPath.toFile(); - if (!temp.exists()) - temp.mkdirs(); - temp = tempPath.append("web.xml").toFile(); - if (!temp.exists()) { - FileWriter fw; - try { - fw = new FileWriter(temp); - fw.write(DEFAULT_WEBXML_SERVLET24); - fw.close(); - } catch (IOException e) { - Trace.trace(Trace.WARNING, "Unable to create web.xml for ROOT context.", e); - } - } - temp = confDir.append("work").toFile(); - if (!temp.exists()) - temp.mkdirs(); - - return Status.OK_STATUS; - } -}
\ No newline at end of file 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 deleted file mode 100644 index 0f1b8f203..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat55Handler.java +++ /dev/null @@ -1,43 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.wst.server.core.IModule; -/** - * Tomcat 55 handler. - */ -public class Tomcat55Handler extends Tomcat50Handler { - /** - * @see ITomcatVersionHandler#verifyInstallPath(IPath) - */ - public boolean verifyInstallPath(IPath installPath) { - if (installPath == null) - return false; - - if (!TomcatPlugin.verifyTomcatVersionFromPath(installPath, TomcatPlugin.TOMCAT_55)) - return false; - return TomcatPlugin.verifyInstallPath(installPath, TomcatPlugin.TOMCAT_55); - } - - /** - * @see ITomcatVersionHandler#canAddModule(IModule) - */ - public IStatus canAddModule(IModule module) { - String version = module.getModuleType().getVersion(); - if ("2.2".equals(version) || "2.3".equals(version) || "2.4".equals(version)) - return Status.OK_STATUS; - - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.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/TomcatConfiguration.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java deleted file mode 100644 index 3fce997af..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatConfiguration.java +++ /dev/null @@ -1,327 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.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.*; -import org.eclipse.jst.server.core.IWebModule; -import org.eclipse.osgi.util.NLS; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.ServerPort; -/** - * Generic Tomcat server configuration. - */ -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"; - public static final String ADD_MAPPING_PROPERTY = "addMapping"; - public static final String REMOVE_MAPPING_PROPERTY = "removeMapping"; - public static final String MODIFY_MAPPING_PROPERTY = "modifyMapping"; - - 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"; - - public static final String DEFAULT_WEBXML_SERVLET23 = - "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + - "<!DOCTYPE web-app PUBLIC \"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN\" \"http://java.sun.com/dtd/web-app_2_3.dtd\">\n" + - "<web-app>\n</web-app>"; - - public static final String DEFAULT_WEBXML_SERVLET24 = - "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + - "<web-app id=\"WebApp_ID\" version=\"2.4\" xmlns=\"http://java.sun.com/xml/ns/j2ee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\">\n" + - "</web-app>"; - - protected IFolder configPath; - - // property change listeners - private transient List propertyListeners; - - /** - * TomcatConfiguration constructor. - * - * @param path a path - */ - public TomcatConfiguration(IFolder path) { - super(); - this.configPath = path; - /*try { - load(configPath, new NullProgressMonitor()); - } catch (Exception e) { - // ignore - }*/ - } - - protected IFolder getFolder() { - return configPath; - } - - /** - * Copies all files from the given directory in the workbench - * to the given location. Can be overridden by version specific - * class to modify or enhance what publish does. - * - * @param tomcatDir Destination tomcat directory. Equivalent to catalina.base - * for Tomcat 4.x and up. - * @param doBackup Backup existing configuration files (true if not test mode). - * @param monitor Progress monitor to use - * @return org.eclipse.core.runtime.IStatus - */ - protected IStatus backupAndPublish(IPath tomcatDir, boolean doBackup, IProgressMonitor monitor) { - MultiStatus ms = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, Messages.publishConfigurationTask, null); - Trace.trace(Trace.FINER, "Backup and publish"); - monitor = ProgressUtil.getMonitorFor(monitor); - - try { - IPath backup = null; - if (doBackup) { - // create backup directory - backup = tomcatDir.append("backup"); - if (!backup.toFile().exists()) - backup.toFile().mkdir(); - } - backupFolder(getFolder(), tomcatDir.append("conf"), backup, ms, monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "backupAndPublish() error", e); - IStatus s = new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e); - ms.add(s); - } - - monitor.done(); - return ms; - } - - protected void backupFolder(IFolder folder, IPath confDir, IPath backup, MultiStatus ms, IProgressMonitor monitor) throws CoreException { - IResource[] children = folder.members(); - if (children == null) - return; - - int size = children.length; - monitor.beginTask(Messages.publishConfigurationTask, size * 100); - for (int i = 0; i < size; i++) { - if (children[i] instanceof IFile) { - try { - IFile file = (IFile) children[i]; - String name = file.getName(); - monitor.subTask(NLS.bind(Messages.publisherPublishTask, new String[] {name})); - Trace.trace(Trace.FINEST, "Publishing " + name); - - // backup and copy file - boolean copy = true; - if (backup != null && !(backup.append(name).toFile().exists())) { - IStatus status = FileUtil.copyFile(confDir.append(name).toOSString(), backup + File.separator + name); - ms.add(status); - if (!status.isOK()) - copy = false; - } - - if (copy) { - InputStream in = file.getContents(); - ms.add(FileUtil.copyFile(in, confDir.append(name).toOSString())); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "backupAndPublish() error", e); - ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - } - monitor.worked(100); - } - } - - protected void backupPath(IPath path, IPath confDir, IPath backup, MultiStatus ms, IProgressMonitor monitor) { - File[] files = path.toFile().listFiles(); - if (files == null) - return; - - int size = files.length; - monitor.beginTask(Messages.publishConfigurationTask, size * 100); - for (int i = 0; i < size; i++) { - try { - File file = files[i]; - String name = file.getName(); - monitor.subTask(NLS.bind(Messages.publisherPublishTask, new String[] {name})); - Trace.trace(Trace.FINEST, "Publishing " + name); - - // backup and copy file - boolean copy = true; - if (backup != null && !(backup.append(name).toFile().exists())) { - IStatus status = FileUtil.copyFile(confDir.append(name).toOSString(), backup + File.separator + name); - ms.add(status); - if (!status.isOK()) - copy = false; - } - - if (copy) - ms.add(FileUtil.copyFile(file.getAbsolutePath(), confDir.append(name).toOSString())); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "backupAndPublish() error", e); - ms.add(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPublishConfiguration, new String[] {e.getLocalizedMessage()}), e)); - } - monitor.worked(100); - } - } - - protected IStatus publishContextConfig(IPath baseDir, IProgressMonitor monitor) { - // Default implementation assumes nothing to do - return Status.OK_STATUS; - } - - - protected IStatus cleanupServer(IPath confDir, IPath installDir, IProgressMonitor monitor) { - // Default implementation assumes nothing to clean - return Status.OK_STATUS; - } - - protected IStatus prepareRuntimeDirectory(IPath confDir) { - File temp = confDir.append("conf").toFile(); - if (!temp.exists()) - temp.mkdirs(); - - return Status.OK_STATUS; - } - - public void localizeConfiguration(IPath path, TomcatServer server, IProgressMonitor monitor) { - // do nothing - } - - /** - * Returns the main server port. - * @return ServerPort - */ - public abstract ServerPort getMainPort(); - - /** - * Returns the prefix that is used in front of the - * web module path property. (e.g. "webapps") - * - * @return java.lang.String - */ - public String getDocBasePrefix() { - return ""; - } - - /** - * Returns the partial URL applicable to this module. - * - * @param webModule a web module - * @return the partial URL - */ - protected String getWebModuleURL(IModule webModule) { - WebModule module = getWebModule(webModule); - if (module != null) - return module.getPath(); - - IWebModule webModule2 = (IWebModule) webModule.loadAdapter(IWebModule.class, null); - return "/" + webModule2.getContextRoot(); - } - - /** - * Returns the given module from the config. - * - * @param module a web module - * @return a web module - */ - protected WebModule getWebModule(IModule module) { - if (module == null) - return null; - - String memento = module.getId(); - - List modules = getWebModules(); - int size = modules.size(); - for (int i = 0; i < size; i++) { - WebModule webModule = (WebModule) modules.get(i); - if (memento.equals(webModule.getMemento())) { - return webModule; - } - } - return null; - } - - protected abstract void save(IFolder folder, IProgressMonitor monitor) throws CoreException; - - protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object 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(Trace.SEVERE, "Error firing property change event", e); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "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, boolean isTestEnv, 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 - */ - public String toString() { - return "TomcatConfiguration[" + this + "]"; - } -}
\ No newline at end of file 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 deleted file mode 100644 index 43e26db4d..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.File; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.jdt.launching.*; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerUtil; -/** - * - */ -public class TomcatLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate { - - public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException { - IServer server = ServerUtil.getServer(configuration); - if (server == null) { - Trace.trace(Trace.FINEST, "Launch configuration could not find server"); - // throw CoreException(); - return; - } - - TomcatServerBehaviour tomcatServer = (TomcatServerBehaviour) server.loadAdapter(TomcatServerBehaviour.class, null); - tomcatServer.setupLaunch(launch, mode, monitor); - - String mainTypeName = tomcatServer.getRuntimeClass(); - - IVMInstall vm = verifyVMInstall(configuration); - - IVMRunner runner = vm.getVMRunner(mode); - - File workingDir = verifyWorkingDirectory(configuration); - String workingDirName = null; - if (workingDir != null) - workingDirName = workingDir.getAbsolutePath(); - - // Program & VM args - String pgmArgs = getProgramArguments(configuration); - String vmArgs = getVMArguments(configuration); - - ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs); - - // VM-specific attributes - Map vmAttributesMap = getVMSpecificAttributesMap(configuration); - - // Classpath - String[] classpath = getClasspath(configuration); - - // Create VM config - VMRunnerConfiguration runConfig = new VMRunnerConfiguration(mainTypeName, classpath); - runConfig.setProgramArguments(execArgs.getProgramArgumentsArray()); - runConfig.setVMArguments(execArgs.getVMArgumentsArray()); - runConfig.setWorkingDirectory(workingDirName); - runConfig.setVMSpecificAttributesMap(vmAttributesMap); - - // Bootpath - String[] bootpath = getBootpath(configuration); - if (bootpath != null && bootpath.length > 0) - runConfig.setBootClassPath(bootpath); - - setDefaultSourceLocator(launch, configuration); - - // Launch the configuration - runner.run(runConfig, launch, monitor); - tomcatServer.setProcess(launch.getProcesses()[0]); - } -}
\ No newline at end of file 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 deleted file mode 100644 index dbcb3841d..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchableAdapterDelegate.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.net.URL; - -import org.eclipse.jst.server.core.IWebModule; -import org.eclipse.jst.server.core.Servlet; -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.WebResource; -/** - * Launchable adapter delegate for Web resources in Tomcat. - */ -public class TomcatLaunchableAdapterDelegate extends LaunchableAdapterDelegate { - /* - * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact) - */ - public Object getLaunchable(IServer server, IModuleArtifact moduleObject) { - Trace.trace(Trace.FINER, "TomcatLaunchableAdapter " + server + "-" + moduleObject); - if (server.getAdapter(TomcatServer.class) == null) - return null; - if (!(moduleObject instanceof Servlet) && - !(moduleObject instanceof WebResource)) - return null; - if (moduleObject.getModule().loadAdapter(IWebModule.class, null) == null) - return null; - - try { - URL url = ((IURLProvider) server.getAdapter(IURLProvider.class)).getModuleRootURL(moduleObject.getModule()); - - Trace.trace(Trace.FINER, "root: " + url); - - if (moduleObject instanceof Servlet) { - Servlet servlet = (Servlet) moduleObject; - if (servlet.getAlias() != null) { - String path = servlet.getAlias(); - if (path.startsWith("/")) - path = path.substring(1); - url = new URL(url, path); - } else - url = new URL(url, "servlet/" + servlet.getServletClassName()); - } else if (moduleObject instanceof WebResource) { - WebResource resource = (WebResource) moduleObject; - String path = resource.getPath().toString(); - Trace.trace(Trace.FINER, "path: " + path); - if (path != null && path.startsWith("/") && path.length() > 0) - path = path.substring(1); - if (path != null && path.length() > 0) - url = new URL(url, path); - } - return new HttpLaunchable(url); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting URL for " + moduleObject, e); - return 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/TomcatPlugin.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java deleted file mode 100644 index b80cdf265..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatPlugin.java +++ /dev/null @@ -1,293 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; -import java.util.StringTokenizer; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.Status; -/** - * The Tomcat plugin. - */ -public class TomcatPlugin extends Plugin { - protected static TomcatPlugin singleton; - - public static final String PLUGIN_ID = "org.eclipse.jst.server.tomcat.core"; - - public static final String TOMCAT_32 = "org.eclipse.jst.server.tomcat.32"; - public static final String TOMCAT_40 = "org.eclipse.jst.server.tomcat.40"; - public static final String TOMCAT_41 = "org.eclipse.jst.server.tomcat.41"; - public static final String TOMCAT_50 = "org.eclipse.jst.server.tomcat.50"; - public static final String TOMCAT_55 = "org.eclipse.jst.server.tomcat.55"; - - protected static final String VERIFY_INSTALL_FILE = "verifyInstall.properties"; - protected static String[] verify32; - protected static String[] verify40; - protected static String[] verify41; - protected static String[] verify50; - protected static String[] verify55; - - /** - * TomcatPlugin constructor comment. - */ - public TomcatPlugin() { - super(); - singleton = this; - } - - /** - * Returns the singleton instance of this plugin. - * @return org.eclipse.jst.server.tomcat.internal.TomcatPlugin - */ - public static TomcatPlugin getInstance() { - return singleton; - } - - /** - * Return the install location preference. - * - * @param id a runtime type id - * @return the install location - */ - public static String getPreference(String id) { - return getInstance().getPluginPreferences().getString(id); - } - - /** - * Set the install location preference. - * - * @param id the runtimt type id - * @param value the location - */ - public static void setPreference(String id, String value) { - getInstance().getPluginPreferences().setValue(id, value); - getInstance().savePluginPreferences(); - } - - /** - * Convenience method for logging. - * - * @param status a status object - */ - public static void log(IStatus status) { - getInstance().getLog().log(status); - } - - /** - * Returns the Tomcat home directory. - * @return java.lang.String - */ - protected static String getTomcatStateLocation() { - try { - return getInstance().getStateLocation().toOSString(); - } catch (Exception e) { - return null; - } - } - - /** - * Return the Tomcat version handler. - * - * @param id - * @return a version handler - */ - public static ITomcatVersionHandler getTomcatVersionHandler(String id) { - 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)) - return new Tomcat40Handler(); - else if (TOMCAT_41.equals(id)) - return new Tomcat41Handler(); - else if (TOMCAT_50.equals(id)) - return new Tomcat50Handler(); - else if (TOMCAT_55.equals(id)) - return new Tomcat55Handler(); - else - return null; - } - - /** - * Loads the files to verify the Tomcat installation. - */ - public static void loadVerifyFiles() { - 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); - Properties p = new Properties(); - p.load(url.openStream()); - - String verify = p.getProperty("verify32install"); - verify.replace('/', File.separatorChar); - - StringTokenizer st = new StringTokenizer(verify, ","); - List list = new ArrayList(); - while (st.hasMoreTokens()) - list.add(st.nextToken()); - Trace.trace(Trace.FINEST, "Verify32: " + list.toString()); - verify32 = new String[list.size()]; - list.toArray(verify32); - - // v4.0 - verify = p.getProperty("verify40install"); - verify.replace('/', File.separatorChar); - - st = new StringTokenizer(verify, ","); - list = new ArrayList(); - while (st.hasMoreTokens()) - list.add(st.nextToken()); - Trace.trace(Trace.FINEST, "Verify40: " + list.toString()); - verify40 = new String[list.size()]; - list.toArray(verify40); - - // v4.1 - verify = p.getProperty("verify41install"); - verify.replace('/', File.separatorChar); - - st = new StringTokenizer(verify, ","); - list = new ArrayList(); - while (st.hasMoreTokens()) - list.add(st.nextToken()); - Trace.trace(Trace.FINEST, "Verify41: " + list.toString()); - verify41 = new String[list.size()]; - list.toArray(verify41); - - // v5.0 - verify = p.getProperty("verify50install"); - verify.replace('/', File.separatorChar); - - st = new StringTokenizer(verify, ","); - list = new ArrayList(); - while (st.hasMoreTokens()) - list.add(st.nextToken()); - Trace.trace(Trace.FINEST, "Verify50: " + list.toString()); - verify50 = new String[list.size()]; - list.toArray(verify50); - - // v5.5 - verify = p.getProperty("verify55install"); - verify.replace('/', File.separatorChar); - - st = new StringTokenizer(verify, ","); - list = new ArrayList(); - while (st.hasMoreTokens()) - list.add(st.nextToken()); - Trace.trace(Trace.FINEST, "Verify55: " + list.toString()); - verify55 = new String[list.size()]; - list.toArray(verify55); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load installation verification properties", e); - } - } - - /** - * Verify the Tomcat installation directory. - * - * @param installPath - * @param id - * @return <code>true</code> if the directory may be a Tomcat installation, - * and <code>false</code> otherwise - */ - public static boolean verifyInstallPath(IPath installPath, String id) { - if (installPath == null) - return false; - - String dir = installPath.toOSString(); - if (!dir.endsWith(File.separator)) - dir += File.separator; - - // look for the following files and directories - TomcatPlugin.loadVerifyFiles(); - - String[] paths = null; - if (TOMCAT_32.equals(id)) - paths = verify32; - else if (TOMCAT_40.equals(id)) - paths = verify40; - else if (TOMCAT_41.equals(id)) - paths = verify41; - else if (TOMCAT_50.equals(id)) - paths = verify50; - else if (TOMCAT_55.equals(id)) - paths = verify55; - else - return false; - - for (int i = 0; i < paths.length; i++) { - File temp = new File(dir + paths[i]); - if (!temp.exists()) - return false; - } - return true; - } - - public static boolean verifyTomcatVersionFromPath(IPath installPath, String version) { - if (installPath == null || version == null) - return false; - String s = installPath.lastSegment(); - if (s.indexOf("-3.2") > 0 || s.indexOf(" 3.2") > 0) - return TOMCAT_32.equals(version); - if (s.indexOf("-4.0") > 0 || s.indexOf(" 4.0") > 0) - return TOMCAT_40.equals(version); - if (s.indexOf("-4.1") > 0 || s.indexOf(" 4.1") > 0) - return TOMCAT_41.equals(version); - if (s.indexOf("-5.0") > 0 || s.indexOf(" 5.0") > 0) - return TOMCAT_50.equals(version); - if (s.indexOf("-5.5") > 0 || s.indexOf(" 5.5") > 0) - return TOMCAT_55.equals(version); - return true; - } - - /** - * Return a <code>java.io.File</code> object that corresponds to the specified - * <code>IPath</code> in the plugin directory. - * - * @return a file - */ - protected static File getPlugin() { - try { - URL installURL = getInstance().getBundle().getEntry("/"); - URL localURL = Platform.asLocalURL(installURL); - return new File(localURL.getFile()); - } catch (IOException ioe) { - return null; - } - } - - public static void log(String message) { - log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, null)); - } - - public static void log(Throwable e) { - log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, e.getMessage(), 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/TomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java deleted file mode 100644 index 41a3b5d95..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java +++ /dev/null @@ -1,234 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.File; -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.core.Launch; -import org.eclipse.debug.core.model.IStreamsProxy; -import org.eclipse.jdt.launching.*; - -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.model.RuntimeDelegate; -/** - * - */ -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 static Map sdkMap = new HashMap(2); - - public TomcatRuntime() { - // do nothing - } - - public ITomcatVersionHandler getVersionHandler() { - IRuntimeType type = getRuntime().getRuntimeType(); - return TomcatPlugin.getTomcatVersionHandler(type.getId()); - } - - protected String getVMInstallTypeId() { - return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null); - } - - protected String getVMInstallId() { - return getAttribute(PROP_VM_INSTALL_ID, (String)null); - } - - public boolean isUsingDefaultJRE() { - return getVMInstallTypeId() == null; - } - - public IVMInstall getVMInstall() { - if (getVMInstallTypeId() == null) - return JavaRuntime.getDefaultVMInstall(); - try { - IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId()); - IVMInstall[] vmInstalls = vmInstallType.getVMInstalls(); - int size = vmInstalls.length; - String id = getVMInstallId(); - for (int i = 0; i < size; i++) { - if (id.equals(vmInstalls[i].getId())) - return vmInstalls[i]; - } - } catch (Exception e) { - // ignore - } - return null; - } - - public List getRuntimeClasspath() { - return getVersionHandler().getRuntimeClasspath(getRuntime().getLocation()); - } - - /** - * Verifies the Tomcat installation directory. If it is - * correct, true is returned. Otherwise, the user is notified - * and false is returned. - * @return boolean - */ - public boolean verifyLocation() { - return getVersionHandler().verifyInstallPath(getRuntime().getLocation()); - } - - /* - * Validate the runtime - */ - public IStatus validate() { - IStatus status = super.validate(); - if (!status.isOK()) - return status; - - if (!verifyLocation()) - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorInstallDir, null); - // don't accept trailing space since that can cause startup problems - if (getRuntime().getLocation().hasTrailingSeparator()) - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorInstallDirTrailingSlash, null); - if (getVMInstall() == null) - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorJRE, null); - - // check for tools.jar (contains the javac compiler on Windows & Linux) to see whether - // Tomcat will be able to compile JSPs. - boolean found = false; - File file = getVMInstall().getInstallLocation(); - if (file != null) { - File toolsJar = new File(file, "lib" + File.separator + "tools.jar"); - if (toolsJar.exists()) - found = true; - } - - // on Mac, tools.jar is merged into classes.zip. if tools.jar wasn't found, - // try loading the javac class by running a check inside the VM - if (!found) { - String os = Platform.getOS(); - if (os != null && os.toLowerCase().indexOf("mac") >= 0) - found = checkForCompiler(); - } - - if (!found) - return new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, Messages.warningJRE, null); - - return Status.OK_STATUS; - } - - /** - * @see RuntimeDelegate#setDefaults(IProgressMonitor) - */ - public void setDefaults(IProgressMonitor monitor) { - 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 - 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); - } - - /** - * Checks for the existance of the Java compiler in the given java - * executable. A main program is run (<code>org.eclipse.jst.tomcat.core. - * internal.ClassDetector</code>), that dumps a true or false value - * depending on whether the compiler is found. This output is then - * parsed and cached for future reference. - * - * @return true if the compiler was found - */ - protected boolean checkForCompiler() { - // first try the cache - File javaHome = getVMInstall().getInstallLocation(); - try { - Boolean b = (Boolean) sdkMap.get(javaHome); - return b.booleanValue(); - } catch (Exception e) { - // ignore - } - - // locate tomcatcore.jar - it contains the class detector main program - File file = TomcatPlugin.getPlugin(); - if (file != null && file.exists()) { - IVMRunner vmRunner = getVMInstall().getVMRunner(ILaunchManager.RUN_MODE); - VMRunnerConfiguration config = new VMRunnerConfiguration("org.eclipse.jst.server.tomcat.core.internal.ClassDetector", new String[] { file.getAbsolutePath() }); - config.setProgramArguments(new String[] { "com.sun.tools.javac.Main" }); - ILaunch launch = new Launch(null, ILaunchManager.RUN_MODE, null); - try { - vmRunner.run(config, launch, null); - for (int i = 0; i < 200; i++) { - // wait no more than 10 seconds (200 * 50 mils) - if (launch.isTerminated()) { - break; - } - try { - Thread.sleep(50); - } catch (InterruptedException e) { - // ignore - } - } - IStreamsProxy streamsProxy = launch.getProcesses()[0].getStreamsProxy(); - String text = null; - if (streamsProxy != null) { - text = streamsProxy.getOutputStreamMonitor().getContents(); - - if (text != null && text.length() > 0) { - boolean found = false; - if ("true".equals(text)) - found = true; - - sdkMap.put(javaHome, new Boolean(found)); - return found; - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error checking for JDK", e); - } finally { - if (!launch.isTerminated()) { - try { - launch.terminate(); - } catch (Exception ex) { - // ignore - } - } - } - } - - // log error that we were unable to check for the compiler - TomcatPlugin.log(MessageFormat.format("Failed compiler check for {0}", new String[] { javaHome.getAbsolutePath() })); - return 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/TomcatRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeClasspathProvider.java deleted file mode 100644 index 3344c251c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeClasspathProvider.java +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.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; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate; - -import org.eclipse.wst.server.core.IRuntime; -/** - * - */ -public class TomcatRuntimeClasspathProvider extends RuntimeClasspathProviderDelegate { - public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) { - ITomcatRuntime tomcatRuntime = (ITomcatRuntime) runtime.loadAdapter(ITomcatRuntime.class, null); - IVMInstall vmInstall = tomcatRuntime.getVMInstall(); - if (vmInstall != null) { - String name = vmInstall.getName(); - String typeId = vmInstall.getVMInstallType().getId(); - return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(name)) }; - } - return null; - } - - /** - * @see RuntimeClasspathProviderDelegate#getClasspathContainerLabel(IRuntime, String) - */ - public String getClasspathContainerLabel(IRuntime runtime, String id) { - String id2 = runtime.getRuntimeType().getId(); - if (id2.indexOf("32") > 0) - return Messages.target32runtime; - else if (id2.indexOf("40") > 0) - return Messages.target40runtime; - else if (id2.indexOf("41") > 0) - return Messages.target41runtime; - else if (id2.indexOf("50") > 0) - return Messages.target50runtime; - - return Messages.target55runtime; - } - - /** - * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IRuntime, String) - */ - public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) { - return resolveClasspathContainer(runtime); - } - - /** - * Resolve the classpath container. - */ - protected IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) { - IPath installPath = runtime.getLocation(); - - if (installPath == null) - return new IClasspathEntry[0]; - - List list = new ArrayList(); - if (runtime.getRuntimeType().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 (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]); - } -}
\ 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 deleted file mode 100644 index a2f564adf..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeLocator.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.File; -import java.io.FileFilter; - -import org.eclipse.core.runtime.*; -import org.eclipse.jdt.launching.JavaRuntime; - -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.RuntimeLocatorDelegate; -/** - * - */ -public class TomcatRuntimeLocator extends RuntimeLocatorDelegate { - protected static final String[] runtimeTypes = new String[] { - "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(IPath path, IRuntimeSearchListener listener, IProgressMonitor monitor) { - searchForRuntimes2(path, listener, monitor); - } - - protected static void searchForRuntimes2(IPath path, IRuntimeSearchListener 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; - int workLeft = 100 - (work * size); - for (int i = 0; i < size; i++) { - if (monitor.isCanceled()) - return; - if (files[i] != null && files[i].isDirectory()) - searchDir(listener, files[i], 4, monitor); - monitor.worked(work); - } - monitor.worked(workLeft); - } else - monitor.worked(100); - } - - protected static void searchDir(IRuntimeSearchListener listener, File dir, int depth, IProgressMonitor monitor) { - if ("conf".equals(dir.getName())) { - IRuntimeWorkingCopy runtime = getRuntimeFromDir(dir.getParentFile(), monitor); - if (runtime != null) { - listener.runtimeFound(runtime); - return; - } - } - - if (depth == 0) - return; - - File[] files = dir.listFiles(new FileFilter() { - public boolean accept(File file) { - return file.isDirectory(); - } - }); - if (files != null) { - int size = files.length; - for (int i = 0; i < size; i++) { - if (monitor.isCanceled()) - return; - searchDir(listener, files[i], depth - 1, monitor); - } - } - } - - protected static IRuntimeWorkingCopy getRuntimeFromDir(File dir, IProgressMonitor monitor) { - for (int i = 0; i < runtimeTypes.length; i++) { - try { - IRuntimeType runtimeType = ServerCore.findRuntimeType(runtimeTypes[i]); - String absolutePath = dir.getAbsolutePath(); - String id = absolutePath.replace(File.separatorChar,'_').replace(':','-'); - IRuntimeWorkingCopy runtime = runtimeType.createRuntime(id, monitor); - runtime.setName(dir.getName()); - runtime.setLocation(new Path(absolutePath)); - ITomcatRuntimeWorkingCopy wc = (ITomcatRuntimeWorkingCopy) runtime.loadAdapter(ITomcatRuntimeWorkingCopy.class, null); - wc.setVMInstall(JavaRuntime.getDefaultVMInstall()); - IStatus status = runtime.validate(monitor); - if (status == null || status.getSeverity() != IStatus.ERROR) - return runtime; - - Trace.trace(Trace.FINER, "False runtime found at " + dir.getAbsolutePath() + ": " + status.getMessage()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not find runtime", e); - } - } - return 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/TomcatServer.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java deleted file mode 100644 index da93c649c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServer.java +++ /dev/null @@ -1,353 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.net.URL; -import java.util.List; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.*; -import org.eclipse.jst.server.core.IWebModule; -import org.eclipse.jst.server.core.internal.J2EEUtil; -import org.eclipse.osgi.util.NLS; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.*; -/** - * Generic Tomcat server. - */ -public class TomcatServer extends ServerDelegate implements ITomcatServer, ITomcatServerWorkingCopy { - public static final String PROPERTY_SECURE = "secure"; - public static final String PROPERTY_DEBUG = "debug"; - - protected transient TomcatConfiguration configuration; - - /** - * TomcatServer. - */ - public TomcatServer() { - super(); - } - - public TomcatRuntime getTomcatRuntime() { - if (getServer().getRuntime() == null) - return null; - - return (TomcatRuntime) getServer().getRuntime().loadAdapter(TomcatRuntime.class, null); - } - - public ITomcatVersionHandler getTomcatVersionHandler() { - if (getServer().getRuntime() == null || getTomcatRuntime() == null) - return null; - - return getTomcatRuntime().getVersionHandler(); - } - - public ITomcatConfiguration getServerConfiguration() throws CoreException { - return getTomcatConfiguration(); - } - - public TomcatConfiguration getTomcatConfiguration() throws CoreException { - if (configuration == null) { - IFolder folder = getServer().getServerConfiguration(); - if (folder == null || !folder.exists()) { - String path = null; - if (folder != null) - path = folder.getFullPath().toOSString(); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorNoConfiguration, path), null)); - } - - String id = getServer().getServerType().getId(); - if (id.indexOf("32") > 0) - configuration = new Tomcat32Configuration(folder); - else if (id.indexOf("40") > 0) - configuration = new Tomcat40Configuration(folder); - else if (id.indexOf("41") > 0) - configuration = new Tomcat41Configuration(folder); - else if (id.indexOf("50") > 0) - configuration = new Tomcat50Configuration(folder); - else if (id.indexOf("55") > 0) - configuration = new Tomcat55Configuration(folder); - try { - configuration.load(folder, null); - } catch (CoreException ce) { - // ignore - configuration = null; - throw ce; - } - } - return configuration; - } - - public void importConfiguration(IRuntime runtime, IProgressMonitor monitor) { - if (runtime == null) { - configuration = null; - return; - } - IPath path = runtime.getLocation().append("conf"); - - String id = getServer().getServerType().getId(); - IFolder folder = getServer().getServerConfiguration(); - if (id.indexOf("32") > 0) - configuration = new Tomcat32Configuration(folder); - else if (id.indexOf("40") > 0) - configuration = new Tomcat40Configuration(folder); - else if (id.indexOf("41") > 0) - configuration = new Tomcat41Configuration(folder); - else if (id.indexOf("50") > 0) - configuration = new Tomcat50Configuration(folder); - else if (id.indexOf("55") > 0) - configuration = new Tomcat55Configuration(folder); - try { - configuration.importFromPath(path, isTestEnvironment(), monitor); - } catch (CoreException ce) { - // ignore - configuration = null; - } - } - - public void saveConfiguration(IProgressMonitor monitor) throws CoreException { - if (configuration == null) - return; - configuration.save(getServer().getServerConfiguration(), monitor); - } - - public void configurationChanged() { - configuration = null; - } - - /** - * Return the root URL of this module. - * @param module org.eclipse.wst.server.core.model.IModule - * @return java.net.URL - */ - public URL getModuleRootURL(IModule module) { - try { - if (module == null) - return null; - - TomcatConfiguration config = getTomcatConfiguration(); - if (config == null) - return null; - - String url = "http://localhost"; - int port = config.getMainPort().getPort(); - port = ServerUtil.getMonitoredPort(getServer(), port, "web"); - if (port != 80) - url += ":" + port; - - url += config.getWebModuleURL(module); - - if (!url.endsWith("/")) - url += "/"; - - return new URL(url); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not get root URL", e); - return null; - } - } - - /** - * Returns true if the process is set to run in debug mode. - * This feature only works with Tomcat v4.0. - * - * @return boolean - */ - public boolean isDebug() { - return getAttribute(PROPERTY_DEBUG, false); - } - - /** - * Returns true if this is a test (run code out of the workbench) server. - * - * @return boolean - */ - public boolean isTestEnvironment() { - return getAttribute(PROPERTY_TEST_ENVIRONMENT, false); - } - - /** - * Returns true if the process is set to run in secure mode. - * - * @return boolean - */ - public boolean isSecure() { - return getAttribute(PROPERTY_SECURE, false); - } - - protected static String renderCommandLine(String[] commandLine, String separator) { - if (commandLine == null || commandLine.length < 1) - return ""; - StringBuffer buf= new StringBuffer(commandLine[0]); - for (int i = 1; i < commandLine.length; i++) { - buf.append(separator); - buf.append(commandLine[i]); - } - return buf.toString(); - } - - /* - * Returns the child module(s) of this module. - */ - public IModule[] getChildModules(IModule[] module) { - if (module == null) - return null; - - IModuleType moduleType = module[0].getModuleType(); - - if (module.length == 1 && moduleType != null && "jst.web".equals(moduleType.getId())) { - IWebModule webModule = (IWebModule) module[0].loadAdapter(IWebModule.class, null); - if (webModule != null) { - IModule[] modules = webModule.getModules(); - //if (modules != null) - // System.out.println(modules.length); - return modules; - } - } - return new IModule[0]; - } - - /* - * Returns the root module(s) of this module. - */ - public IModule[] getRootModules(IModule module) throws CoreException { - if ("jst.web".equals(module.getModuleType().getId())) { - IStatus status = canModifyModules(new IModule[] { module }, null); - if (status == null || !status.isOK()) - throw new CoreException(status); - return new IModule[] { module }; - } - - return J2EEUtil.getWebModules(module, null); - } - - /** - * Returns true if the given project is supported by this - * server, and false otherwise. - * - * @param add modules - * @param remove modules - * @return the status - */ - public IStatus canModifyModules(IModule[] add, IModule[] remove) { - if (add != null) { - int size = add.length; - for (int i = 0; i < size; i++) { - IModule module = add[i]; - if (!"jst.web".equals(module.getModuleType().getId())) - return new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorWebModulesOnly, null); - - IStatus status = getTomcatVersionHandler().canAddModule(module); - if (status != null && !status.isOK()) - return status; - } - } - - return Status.OK_STATUS; - } - - public ServerPort[] getServerPorts() { - if (getServer().getServerConfiguration() == null) - return new ServerPort[0]; - - try { - List list = getTomcatConfiguration().getServerPorts(); - ServerPort[] sp = new ServerPort[list.size()]; - list.toArray(sp); - return sp; - } catch (Exception e) { - return new ServerPort[0]; - } - } - - public void setDefaults(IProgressMonitor monitor) { - setTestEnvironment(true); - setAttribute("auto-publish-setting", 2); - setAttribute("auto-publish-time", 1); - } - - /** - * Sets this process to debug mode. This feature only works - * with Tomcat v4.0. - * - * @param b boolean - */ - public void setDebug(boolean b) { - setAttribute(PROPERTY_DEBUG, b); - } - - /** - * Sets this process to secure mode. - * @param b boolean - */ - public void setSecure(boolean b) { - setAttribute(PROPERTY_SECURE, b); - } - - /** - * Sets this server to test environment mode. - * - * @param b boolean - */ - public void setTestEnvironment(boolean b) { - setAttribute(PROPERTY_TEST_ENVIRONMENT, b); - } - - /** - * @see ServerDelegate#modifyModules(IModule[], IModule[], IProgressMonitor) - */ - public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException { - IStatus status = canModifyModules(add, remove); - if (status == null || !status.isOK()) - throw new CoreException(status); - - TomcatConfiguration config = getTomcatConfiguration(); - - if (add != null) { - int size = add.length; - for (int i = 0; i < size; i++) { - IModule module3 = add[i]; - IWebModule module = (IWebModule) module3.loadAdapter(IWebModule.class, monitor); - String contextRoot = module.getContextRoot(); - if (contextRoot != null && !contextRoot.startsWith("/") && contextRoot.length() > 0) - contextRoot = "/" + contextRoot; - String docBase = config.getDocBasePrefix() + module3.getName(); - WebModule module2 = new WebModule(contextRoot, docBase, module3.getId(), true); - config.addWebModule(-1, module2); - } - } - - if (remove != null) { - int size2 = remove.length; - for (int j = 0; j < size2; j++) { - IModule module3 = remove[j]; - String memento = module3.getId(); - List modules = getTomcatConfiguration().getWebModules(); - int size = modules.size(); - for (int i = 0; i < size; i++) { - WebModule module = (WebModule) modules.get(i); - if (memento.equals(module.getMemento())) - config.removeWebModule(i); - } - } - } - //config.save(config.getFolder(), monitor); - } - - /** - * Return a string representation of this object. - * @return java.lang.String - */ - public String toString() { - return "TomcatServer"; - } -}
\ 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 deleted file mode 100644 index 5ba1a9936..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java +++ /dev/null @@ -1,819 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Properties; - -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.core.PublishUtil; -import org.eclipse.osgi.util.NLS; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.IModulePublishHelper; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.model.*; -import org.eclipse.wst.server.core.util.ProjectModule; -import org.eclipse.wst.server.core.util.SocketUtil; -/** - * Generic Tomcat server. - */ -public class TomcatServerBehaviour extends ServerBehaviourDelegate implements ITomcatServerBehaviour, IModulePublishHelper { - private static final String ATTR_STOP = "stop-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; - - /** - * TomcatServerBehaviour. - */ - public TomcatServerBehaviour() { - super(); - } - - public void initialize(IProgressMonitor monitor) { - // do nothing - } - - public TomcatRuntime getTomcatRuntime() { - if (getServer().getRuntime() == null) - return null; - - return (TomcatRuntime) getServer().getRuntime().loadAdapter(TomcatRuntime.class, null); - } - - public ITomcatVersionHandler getTomcatVersionHandler() { - if (getServer().getRuntime() == null || getTomcatRuntime() == null) - return null; - - return getTomcatRuntime().getVersionHandler(); - } - - public TomcatConfiguration getTomcatConfiguration() throws CoreException { - return getTomcatServer().getTomcatConfiguration(); - } - - public TomcatServer getTomcatServer() { - return (TomcatServer) getServer().loadAdapter(TomcatServer.class, null); - } - - /** - * Return the runtime class name. - * - * @return the class name - */ - public String getRuntimeClass() { - return getTomcatVersionHandler().getRuntimeClass(); - } - - /** - * Returns the runtime base path for relative paths in the server - * configuration. - * - * @return the base path - */ - public IPath getRuntimeBaseDirectory() { - return getTomcatVersionHandler().getRuntimeBaseDirectory(this); - } - - /** - * Return the program's runtime arguments to start or stop. - * - * @param starting true if starting - * @return an array of runtime program arguments - */ - 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 an array of runtime arguments - */ - protected String[] getRuntimeVMArguments() { - IPath installPath = getServer().getRuntime().getLocation(); - IPath configPath = null; - if (getTomcatServer().isTestEnvironment()) - configPath = getTempDirectory(); - else - configPath = installPath; - return getTomcatVersionHandler().getRuntimeVMArguments(installPath, configPath, - getTomcatServer().isTestEnvironment()); - } - - protected String getRuntimePolicyFile() { - IPath configPath; - if (getTomcatServer().isTestEnvironment()) - configPath = getTempDirectory(); - else - configPath = getServer().getRuntime().getLocation(); - return getTomcatVersionHandler().getRuntimePolicyFile(configPath); - } - - 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; - if (processListener != null) - DebugPlugin.getDefault().removeDebugEventListener(processListener); - if (newProcess == null) - return; - - processListener = new IDebugEventSetListener() { - public void handleDebugEvents(DebugEvent[] events) { - if (events != null) { - int size = events.length; - for (int i = 0; i < size; i++) { - if (process != null && process.equals(events[i].getSource()) && events[i].getKind() == DebugEvent.TERMINATE) { - DebugPlugin.getDefault().removeDebugEventListener(this); - stopImpl(); - } - } - } - } - }; - DebugPlugin.getDefault().addDebugEventListener(processListener); - } - - protected void setServerStarted() { - setServerState(IServer.STATE_STARTED); - } - - protected void stopImpl() { - if (ping != null) { - ping.stop(); - ping = null; - } - if (process != null) { - process = null; - DebugPlugin.getDefault().removeDebugEventListener(processListener); - processListener = null; - } - setServerState(IServer.STATE_STOPPED); - } - - protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException { - if (getServer().getRuntime() == null) - return; - - IPath installDir = getServer().getRuntime().getLocation(); - IPath confDir = null; - if (getTomcatServer().isTestEnvironment()) { - confDir = getTempDirectory(); - IStatus status = getTomcatConfiguration().prepareRuntimeDirectory(confDir); - if (status != null && !status.isOK()) - throw new CoreException(status); -/* File temp = confDir.append("conf").toFile(); - if (!temp.exists()) - temp.mkdirs();*/ - } else - confDir = installDir; - - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(Messages.publishServerTask, 600); - - IStatus status = getTomcatConfiguration().cleanupServer(confDir, installDir, ProgressUtil.getSubMonitorFor(monitor, 100)); - if (status != null && !status.isOK()) - throw new CoreException(status); - - status = getTomcatConfiguration().backupAndPublish(confDir, !getTomcatServer().isTestEnvironment(), ProgressUtil.getSubMonitorFor(monitor, 400)); - if (status != null && !status.isOK()) - throw new CoreException(status); - - getTomcatConfiguration().localizeConfiguration(confDir.append("conf"), getTomcatServer(), ProgressUtil.getSubMonitorFor(monitor, 100)); - - monitor.done(); - - setServerPublishState(IServer.PUBLISH_STATE_NONE); - } - - /* - * Publishes the given module to the server. - */ - protected void publishModule(int kind, int deltaKind, IModule[] moduleTree, IProgressMonitor monitor) throws CoreException { - if (getServer().getServerState() != IServer.STATE_STOPPED) { - if (deltaKind == ServerBehaviourDelegate.ADDED || deltaKind == ServerBehaviourDelegate.REMOVED) - setServerRestartState(true); - } - if (getTomcatServer().isTestEnvironment()) - return; - - IPath path = getTempDirectory().append("publish.txt"); - Properties p = new Properties(); - FileInputStream fin = null; - try { - fin = new FileInputStream(path.toFile()); - p.load(fin); - } catch (Exception e) { - // ignore - } finally { - try { - fin.close(); - } catch (Exception ex) { - // ignore - } - } - - if (moduleTree.length == 1) // web module - publishDir(deltaKind, p, moduleTree[0], monitor); - else // utility jar - publishJar(kind, deltaKind, p, moduleTree, monitor); - - setModulePublishState(moduleTree, IServer.PUBLISH_STATE_NONE); - - try { - p.store(new FileOutputStream(path.toFile()), "Tomcat publish data"); - } catch (Exception e) { - // ignore - } - } - - /** - * Publish a web module. - * - * @param deltaKind - * @param p - * @param module - * @param monitor - * @throws CoreException - */ - private void publishDir(int deltaKind, Properties p, IModule module, IProgressMonitor monitor) throws CoreException { - if (deltaKind == REMOVED) { - try { - String publishPath = (String) p.get(module.getId()); - PublishUtil.deleteDirectory(new File(publishPath), monitor); - } catch (Exception e) { - throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, "Could not remove module", e)); - } - } else { - IPath to = getServer().getRuntime().getLocation().append("webapps").append(module.getName()); - - ProjectModule pm = (ProjectModule) module.loadAdapter(ProjectModule.class, monitor); - IModuleResource[] mr = pm.members(); - PublishUtil.smartCopy(mr, to, monitor); - p.put(module.getId(), to.toOSString()); - } - } - - /** - * Publish a jar file. - * - * @param deltaKind - * @param p - * @param module - * @param monitor - * @throws CoreException - */ - private void publishJar(int kind, int deltaKind, Properties p, IModule[] module, IProgressMonitor monitor) throws CoreException { - if (deltaKind == REMOVED) { - try { - String publishPath = (String) p.get(module[1].getId()); - new File(publishPath).delete(); - } catch (Exception e) { - throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, "Could not remove module", e)); - } - } else { - if (kind != IServer.PUBLISH_CLEAN && kind != IServer.PUBLISH_FULL) { - // avoid changes if no changes to module since last publish - IModuleResourceDelta[] delta = getPublishedResourceDelta(module); - if (delta == null || delta.length == 0) - return; - } - - IPath path = getServer().getRuntime().getLocation().append("webapps").append(module[0].getName()); - path = path.append("WEB-INF").append("lib"); - if (!path.toFile().exists()) - path.toFile().mkdirs(); - - ProjectModule pm = (ProjectModule) module[1].loadAdapter(ProjectModule.class, monitor); - IModuleResource[] mr = pm.members(); - PublishUtil.createZipFile(mr, path.append(module[1].getName() + ".jar")); - p.put(module[1].getId(), path.toOSString()); - } - } - - protected void publishFinish(IProgressMonitor monitor) throws CoreException { - IPath baseDir; - if (getTomcatServer().isTestEnvironment()) - baseDir = getTempDirectory(); - else - baseDir = getServer().getRuntime().getLocation(); - - // Publish context configuration for servers that support META-INF/context.xml - IStatus status = getTomcatConfiguration().publishContextConfig(baseDir, monitor); - if (!status.isOK()) - throw new CoreException(status); - } - - /** - * Setup for starting the server. - * - * @param launch ILaunch - * @param launchMode String - * @param monitor IProgressMonitor - * @throws CoreException if anything goes wrong - */ - public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException { - if ("true".equals(launch.getLaunchConfiguration().getAttribute(ATTR_STOP, "false"))) - return; - //if (getTomcatRuntime() == null) - // throw new CoreException(); - - IStatus status = getTomcatRuntime().validate(); - if (status != null && status.getSeverity() == IStatus.ERROR) - throw new CoreException(status); - - //setRestartNeeded(false); - TomcatConfiguration configuration = getTomcatConfiguration(); - - // check that ports are free - Iterator iterator = configuration.getServerPorts().iterator(); - List usedPorts = new ArrayList(); - while (iterator.hasNext()) { - ServerPort sp = (ServerPort) iterator.next(); - if (sp.getPort() < 0) - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, Messages.errorPortInvalid, null)); - if (SocketUtil.isPortInUse(sp.getPort(), 5)) { - usedPorts.add(sp); - } - } - if (usedPorts.size() == 1) { - ServerPort port = (ServerPort) usedPorts.get(0); - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, new String[] {port.getPort() + "", getServer().getName()}), null)); - } else if (usedPorts.size() > 1) { - String portStr = ""; - iterator = usedPorts.iterator(); - boolean first = true; - while (iterator.hasNext()) { - if (!first) - portStr += ", "; - first = false; - ServerPort sp = (ServerPort) iterator.next(); - portStr += "" + sp.getPort(); - } - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortsInUse, new String[] {portStr, getServer().getName()}), null)); - } - - // check that there is only one app for each context root - iterator = configuration.getWebModules().iterator(); - List contextRoots = new ArrayList(); - while (iterator.hasNext()) { - WebModule module = (WebModule) iterator.next(); - String contextRoot = module.getPath(); - if (contextRoots.contains(contextRoot)) - throw new CoreException(new Status(IStatus.ERROR, TomcatPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDuplicateContextRoot, new String[] { contextRoot }), null)); - - contextRoots.add(contextRoot); - } - - setServerRestartState(false); - setServerState(IServer.STATE_STARTING); - setMode(launchMode); - - // 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(), url, 50, this); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup."); - } - } - - /** - * Cleanly shuts down and terminates the server. - * - * @param force <code>true</code> to kill 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 = ((Server)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); - } - } - - public IPath getTempDirectory() { - return super.getTempDirectory(); - } - - /** - * Return a string representation of this object. - * @return java.lang.String - */ - public String toString() { - return "TomcatServer"; - } - - protected static int getNextToken(String s, int start) { - int i = start; - int length = s.length(); - char lookFor = ' '; - - while (i < length) { - char c = s.charAt(i); - if (lookFor == c) { - if (lookFor == '"') - return i+1; - return i; - } - if (c == '"') - lookFor = '"'; - i++; - } - return -1; - } - - /** - * Merge the given arguments into the original argument string, replacing - * invalid values if they have been changed. - * - * @param originalArg - * @param vmArgs - * @return merged argument string - */ - public static String mergeArguments(String originalArg, String[] vmArgs) { - if (vmArgs == null) - return originalArg; - - if (originalArg == null) - originalArg = ""; - - // replace and null out all vmargs that already exist - int size = vmArgs.length; - for (int i = 0; i < size; i++) { - int ind = vmArgs[i].indexOf(" "); - int ind2 = vmArgs[i].indexOf("="); - if (ind >= 0 && (ind2 == -1 || ind < ind2)) { // -a bc style - int index = originalArg.indexOf(vmArgs[i].substring(0, ind + 1)); - if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) { - // replace - String s = originalArg.substring(0, index); - int index2 = getNextToken(originalArg, index + ind + 1); - if (index2 >= 0) - originalArg = s + vmArgs[i] + originalArg.substring(index2); - else - originalArg = s + vmArgs[i]; - vmArgs[i] = null; - } - } else if (ind2 >= 0) { // a=b style - int index = originalArg.indexOf(vmArgs[i].substring(0, ind2 + 1)); - if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) { - // replace - String s = originalArg.substring(0, index); - int index2 = getNextToken(originalArg, index); - if (index2 >= 0) - originalArg = s + vmArgs[i] + originalArg.substring(index2); - else - originalArg = s + vmArgs[i]; - vmArgs[i] = null; - } - } else { // abc style - int index = originalArg.indexOf(vmArgs[i]); - if (index == 0 || (index > 0 && originalArg.charAt(index-1) == ' ')) { - // replace - String s = originalArg.substring(0, index); - int index2 = getNextToken(originalArg, index); - if (index2 >= 0) - originalArg = s + vmArgs[i] + originalArg.substring(index2); - else - originalArg = s + vmArgs[i]; - vmArgs[i] = null; - } - } - } - - // add remaining vmargs to the end - for (int i = 0; i < size; i++) { - if (vmArgs[i] != null) { - if (originalArg.length() > 0 && !originalArg.endsWith(" ")) - originalArg += " "; - originalArg += vmArgs[i]; - } - } - - return originalArg; - } - - /** - * Replace the current JRE container classpath with the given entry. - * - * @param cp - * @param entry - */ - public static void replaceJREContainer(List cp, IRuntimeClasspathEntry entry) { - int size = cp.size(); - for (int i = 0; i < size; i++) { - IRuntimeClasspathEntry entry2 = (IRuntimeClasspathEntry) cp.get(i); - if (entry2.getPath().uptoSegment(2).isPrefixOf(entry.getPath())) { - cp.set(i, entry); - return; - } - } - - cp.add(0, entry); - } - - /** - * Merge a single classpath entry into the classpath list. - * - * @param cp - * @param entry - */ - public static void mergeClasspath(List cp, IRuntimeClasspathEntry entry) { - Iterator iterator = cp.iterator(); - while (iterator.hasNext()) { - IRuntimeClasspathEntry entry2 = (IRuntimeClasspathEntry) iterator.next(); - - if (entry2.getPath().equals(entry.getPath())) - return; - } - - cp.add(entry); - } - - public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException { - String existingProgArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null); - workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, mergeArguments(existingProgArgs, getRuntimeProgramArguments(true))); - - String existingVMArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, (String)null); - String[] parsedVMArgs = null; - if (null != existingVMArgs) { - parsedVMArgs = DebugPlugin.parseArguments(existingVMArgs); - } - String [] configVMArgs = getRuntimeVMArguments(); - if (getTomcatServer().isSecure()) { - boolean addSecurityArgs = true; - if (null != parsedVMArgs) { - for (int i = 0; i < parsedVMArgs.length; i++) { - if (parsedVMArgs[i].startsWith("wtp.configured.security")) { - addSecurityArgs = false; - break; - } - } - } - if (addSecurityArgs) { - String [] newVMArgs = new String [configVMArgs.length + 3]; - System.arraycopy(configVMArgs, 0, newVMArgs, 0, configVMArgs.length); - newVMArgs[configVMArgs.length] = "-Djava.security.manager"; - newVMArgs[configVMArgs.length + 1] = "-Djava.security.policy=\"" - + getRuntimePolicyFile() +"\""; - newVMArgs[configVMArgs.length + 2] = "-Dwtp.configured.security=true"; - configVMArgs = newVMArgs; - } - } - else if (null != parsedVMArgs){ - boolean removeSecurityArgs = false; - for (int i = 0; i < parsedVMArgs.length; i++) { - if (parsedVMArgs[i].startsWith("-Dwtp.configured.security")) { - removeSecurityArgs = true; - break; - } - } - if (removeSecurityArgs) { - StringBuffer filteredVMArgs = new StringBuffer(); - for (int i = 0; i < parsedVMArgs.length; i++) { - String arg = parsedVMArgs[i]; - if (!arg.startsWith("-Djava.security.manager") - && !arg.startsWith("-Djava.security.policy=") - && !arg.startsWith("-Dwtp.configured.security=")) { - if (filteredVMArgs.length() > 0) { - filteredVMArgs.append(' '); - } - filteredVMArgs.append(arg); - } - } - existingVMArgs = filteredVMArgs.toString(); - } - } - workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, mergeArguments(existingVMArgs, configVMArgs)); - - 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()); - } - - // update classpath - IRuntimeClasspathEntry[] originalClasspath = JavaRuntime.computeUnresolvedRuntimeClasspath(workingCopy); - int size = originalClasspath.length; - List oldCp = new ArrayList(originalClasspath.length + 2); - for (int i = 0; i < size; i++) - oldCp.add(originalClasspath[i]); - - List cp2 = runtime.getRuntimeClasspath(); - Iterator iterator = cp2.iterator(); - while (iterator.hasNext()) { - IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) iterator.next(); - mergeClasspath(oldCp, entry); - } - - if (vmInstall != null) { - try { - String typeId = vmInstall.getVMInstallType().getId(); - replaceJREContainer(oldCp, JavaRuntime.newRuntimeContainerClasspathEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).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()) { - IRuntimeClasspathEntry toolsJar = JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath); - // Search for index to any existing tools.jar entry - int toolsIndex; - for (toolsIndex = 0; toolsIndex < oldCp.size(); toolsIndex++ ) { - IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) oldCp.get(toolsIndex); - if (entry.getType() == IRuntimeClasspathEntry.ARCHIVE - && entry.getPath().lastSegment().equals("tools.jar")) { - break; - } - } - // If existing tools.jar found, replace in case it's different. Otherwise add. - if (toolsIndex < oldCp.size()) - oldCp.set(toolsIndex, toolsJar); - else - mergeClasspath(oldCp, toolsJar); - } - } - } - - iterator = oldCp.iterator(); - List list = new ArrayList(); - while (iterator.hasNext()) { - IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry) iterator.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); - } - - protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) { - return super.getPublishedResourceDelta(module); - } - - /** - * @see ServerBehaviourDelegate#handleResourceChange() - */ - public void handleResourceChange() { - if (getServer().getServerRestartState()) - return; - - Iterator iterator = getAllModules().iterator(); - while (iterator.hasNext()) { - IModule[] module = (IModule[]) iterator.next(); - IModuleResourceDelta[] delta = getPublishedResourceDelta(module); - if (delta == null || delta.length == 0) - continue; - - if (containsNonResourceChange(delta)) { - setServerRestartState(true); - return; - } - } - } - - protected boolean containsNonResourceChange(IModuleResourceDelta[] delta) { - int size = delta.length; - for (int i = 0; i < size; i++) { - IModuleResourceDelta d = delta[i]; - if (d.getModuleRelativePath().segmentCount() == 0) { - if ("WEB-INF".equals(d.getModuleResource().getName())) { - return containsNonResourceChange(d.getAffectedChildren()); - } - continue; - } - if (d.getModuleResource() instanceof IModuleFile) - return true; - - boolean b = containsNonAddChange(d.getAffectedChildren()); - if (b) - return true; - } - return false; - } - - protected boolean containsNonAddChange(IModuleResourceDelta[] delta) { - if (delta == null) - return false; - int size = delta.length; - for (int i = 0; i < size; i++) { - IModuleResourceDelta d = delta[i]; - if (d.getModuleResource() instanceof IModuleFile) { - if (d.getKind() != IModuleResourceDelta.ADDED) - return true; - } - - boolean b = containsNonAddChange(d.getAffectedChildren()); - if (b) - return true; - } - return false; - } - - /** - * Temporary method to help web services team. Returns the path that the module is - * published to when in test environment mode. - * - * @param module a module on the server - * @return the path that the module is published to when in test environment mode, - * or null if not running as a test environment or the module is not a web module - */ - public IPath getPublishDirectory(IModule[] module) { - if (!getTomcatServer().isTestEnvironment() || module == null || module.length != 1) - return null; - - return getTempDirectory().append("webapps").append(module[0].getName()); - } - - public void setModulePublishState2(IModule[] module, int state) { - setModulePublishState(module, state); - } -}
\ 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 deleted file mode 100644 index 208761810..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerLocator.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.core.runtime.IProgressMonitor; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.provisional.ServerLocatorDelegate; -/** - * - */ -public class TomcatServerLocator extends ServerLocatorDelegate { - public void searchForServers(String host, final IServerSearchListener listener, final IProgressMonitor monitor) { - TomcatRuntimeLocator.IRuntimeSearchListener listener2 = new TomcatRuntimeLocator.IRuntimeSearchListener() { - public void runtimeFound(IRuntimeWorkingCopy runtime) { - String runtimeTypeId = runtime.getRuntimeType().getId(); - String serverTypeId = runtimeTypeId.substring(0, runtimeTypeId.length() - 8); - IServerType serverType = ServerCore.findServerType(serverTypeId); - try { - IServerWorkingCopy server = serverType.createServer(serverTypeId, null, runtime, monitor); - listener.serverFound(server); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not create Tomcat server", e); - } - } - }; - 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 deleted file mode 100644 index 4f720e8d6..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerUtil.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -/** - * Helper class to load and save Tomcat server and identify configurations. - */ -public class TomcatServerUtil { - /** - * TomcatServerSerializer constructor comment. - */ - protected TomcatServerUtil() { - super(); - } - - /** - * Returns the kind of a <code>PackageFragmentRoot</code> from its <code>String</code> form. - */ - protected static int getClasspathKindFromString(String kindStr) { - //if (kindStr.equalsIgnoreCase("prj")) - // return IClasspathEntry.CPE_PROJECT; - if (kindStr.equalsIgnoreCase("var")) - return IClasspathEntry.CPE_VARIABLE; - //if (kindStr.equalsIgnoreCase("src")) - // return IClasspathEntry.CPE_SOURCE; - if (kindStr.equalsIgnoreCase("lib")) - return IClasspathEntry.CPE_LIBRARY; - return -1; - } - - /** - * Returns a <code>String</code> for the kind of a class path entry. - */ - protected static String getClasspathKindToString(int kind) { - switch (kind) { - //case IClasspathEntry.CPE_PROJECT : - // return "prj"; - //case IClasspathEntry.CPE_SOURCE : - // return "src"; - case IClasspathEntry.CPE_LIBRARY : - return "lib"; - case IClasspathEntry.CPE_VARIABLE : - return "var"; - default : - return "unknown"; - } - } - - /** - * Create's a classpath entry of the specified kind. - * - * Returns null if unable to create a valid entry. - */ - protected static IClasspathEntry createClasspathEntry(IPath path, int kind, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath) { - switch (kind) { - /*case IClasspathEntry.CPE_PROJECT: - if (!path.isAbsolute()) - return null; - else - return JavaCore.newProjectEntry(path);*/ - - case IClasspathEntry.CPE_LIBRARY: - if (!path.isAbsolute()) - return null; - - return JavaCore.newLibraryEntry(path, sourceAttachmentPath, sourceAttachmentRootPath); - - case IClasspathEntry.CPE_VARIABLE: - return JavaCore.newVariableEntry(path, sourceAttachmentPath, sourceAttachmentRootPath); - - default: - return 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/TomcatSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java deleted file mode 100644 index d73cfdcd6..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java +++ /dev/null @@ -1,101 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.sourcelookup.ISourceContainer; -import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate; -import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -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.ServerUtil; -/** - * - */ -public class TomcatSourcePathComputerDelegate implements ISourcePathComputerDelegate { - /* (non-Javadoc) - * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor) - */ - public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException { - IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedSourceLookupPath(configuration); - List sourcefolderList = new ArrayList(); - - IServer server = ServerUtil.getServer(configuration); - if (server != null) { - //IPath basePath = ((TomcatServerBehaviour)server.getAdapter(TomcatServerBehaviour.class)).getRuntimeBaseDirectory(); - List list = new ArrayList(); - //List pathList = new ArrayList(); - IModule[] modules = server.getModules(); - for (int i = 0; i < modules.length; i++) { - IProject project = modules[i].getProject(); - if (project != null) { - - IFolder moduleFolder = project.getFolder(modules[i].getName()); - if (moduleFolder.exists()) { - sourcefolderList.add(new FolderSourceContainer(moduleFolder, true)); - } - - try { - if (project.hasNature(JavaCore.NATURE_ID)) { - IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID); - if (!list.contains(javaProject)) - list.add(javaProject); - } - } catch (Exception e) { - // ignore - } - - //IPath path = basePath.append("work").append("Catalina").append("localhost").append(modules[i].getName()); - //pathList.add(path); - } - } - int size = list.size(); - IJavaProject[] projects = new IJavaProject[size]; - list.toArray(projects); - - int size2 = entries.length; - //int size3 = pathList.size(); - IRuntimeClasspathEntry[] entries2 = new IRuntimeClasspathEntry[size + size2]; - System.arraycopy(entries, 0, entries2, 0, size2); - - for (int i = 0; i < size; i++) - entries2[size2 + i] = JavaRuntime.newProjectRuntimeClasspathEntry(projects[i]); - - //for (int i = 0; i < size3; i++) - // entries2[size + size2 + i] = JavaRuntime.newArchiveRuntimeClasspathEntry((IPath) pathList.get(i)); - - entries = entries2; - } - - IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration); - ISourceContainer[] sourceContainers = JavaRuntime.getSourceContainers(resolved); - - if (!sourcefolderList.isEmpty()) { - ISourceContainer[] combinedSourceContainers = new ISourceContainer[sourceContainers.length + sourcefolderList.size()]; - sourcefolderList.toArray(combinedSourceContainers); - System.arraycopy(sourceContainers, 0, combinedSourceContainers, sourcefolderList.size(), sourceContainers.length); - sourceContainers = combinedSourceContainers; - } - - return sourceContainers; - } -}
\ No newline at end of file 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 deleted file mode 100644 index fae3fbc2b..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Trace.java +++ /dev/null @@ -1,98 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.text.SimpleDateFormat; -import java.util.Date; -/** - * Helper class to route trace output. - */ -public class Trace { - public static byte CONFIG = 0; - public static byte WARNING = 1; - public static byte SEVERE = 2; - public static byte FINEST = 3; - public static byte FINER = 4; - - private static final String[] levelNames = new String[] { - "CONFIG ", "WARNING ", "SEVERE ", "FINER ", "FINEST "}; - private static final String spacer = " "; - - private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS"); - - protected static int pluginLength = -1; - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level the trace level - * @param s a message - */ - public static void trace(byte level, String s) { - Trace.trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level the trace level - * @param s a message - * @param t a throwable - */ - public static void trace(byte level, String s, Throwable t) { - if (!TomcatPlugin.getInstance().isDebugging()) - return; - - /*System.out.println(TomcatPlugin.PLUGIN_ID + " " + s); - if (t != null) - t.printStackTrace();*/ - trace(TomcatPlugin.PLUGIN_ID, level, s, t); - } - - /** - * Trace the given message and exception. - * - * @param level a trace level - * @param s a message - * @param t a throwable - */ - private static void trace(String pluginId, int level, String s, Throwable t) { - if (pluginId == null || s == null) - return; - - if (!TomcatPlugin.getInstance().isDebugging()) - return; - - StringBuffer sb = new StringBuffer(pluginId); - if (pluginId.length() > pluginLength) - pluginLength = pluginId.length(); - else if (pluginId.length() < pluginLength) - sb.append(spacer.substring(0, pluginLength - pluginId.length())); - sb.append(" "); - sb.append(levelNames[level]); - sb.append(" "); - sb.append(sdf.format(new Date())); - sb.append(" "); - sb.append(s); - //Platform.getDebugOption(ServerCore.PLUGIN_ID + "/" + "resources"); - - System.out.println(sb.toString()); - if (t != null) - t.printStackTrace(); - } -}
\ No newline at end of file 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 deleted file mode 100644 index b9c0751de..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebAppDocument.java +++ /dev/null @@ -1,164 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import java.io.ByteArrayInputStream; -import java.io.FileInputStream; -import java.io.IOException; -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.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jst.server.tomcat.core.internal.xml.XMLUtil; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; -/** - * Helper class to access a web.xml file. - */ -public class WebAppDocument { - protected boolean isWebAppDirty; - protected Document webAppDocument; - - /** - * Loads a web.xml from the given URL. - * - * @param path a path - * @throws Exception if anything goes wrong - */ - public WebAppDocument(IPath path) throws Exception { - webAppDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(new FileInputStream(path.toFile()))); - } - - /** - * Loads a web.xml from the given resource. - * - * @param file a file - * @throws Exception if anything goes wrong - */ - public WebAppDocument(IFile file) throws Exception { - webAppDocument = XMLUtil.getDocumentBuilder().parse(new InputSource(file.getContents())); - } - - /** - * Adds a MimeMapping. - * - * @param index int - * @param map org.eclipse.jst.server.tomcat.IMimeMapping - */ - public void addMimeMapping(int index, IMimeMapping map) { - Trace.trace(Trace.FINER, "Adding mime mapping " + index + " " + map.getMimeType() + " " + map.getExtension()); - Element element = webAppDocument.getDocumentElement(); - Element mapping = XMLUtil.createChildElement(webAppDocument, element, index, "mime-mapping"); - XMLUtil.insertText(webAppDocument, mapping, "\n\t"); - XMLUtil.createTextChildElement(webAppDocument, mapping, "extension", map.getExtension()); - XMLUtil.insertText(webAppDocument, mapping, "\n\t"); - XMLUtil.createTextChildElement(webAppDocument, mapping, "mime-type", map.getMimeType()); - XMLUtil.insertText(webAppDocument, mapping, "\n"); - - isWebAppDirty = true; - } - - /** - * Returns a list of MimeMappings. - * - * @return java.util.List - */ - public List getMimeMappings() { - List map = new ArrayList(); - - Element root = webAppDocument.getDocumentElement(); - Iterator iterator = XMLUtil.getNodeIterator(root, "mime-mapping"); - while (iterator.hasNext()) { - Element element = (Element) iterator.next(); - String mimeType = XMLUtil.getSubNodeValue(element, "mime-type"); - String extension = XMLUtil.getSubNodeValue(element, "extension"); - MimeMapping mm = new MimeMapping(extension, mimeType); - map.add(mm); - } - - return map; - } - - /** - * Modifies a mime mapping. - * - * @param index - * @param map - */ - public void modifyMimeMapping(int index, IMimeMapping map) { - Element element = webAppDocument.getDocumentElement(); - NodeList list = element.getElementsByTagName("mime-mapping"); - Element element2 = (Element) list.item(index); - XMLUtil.setNodeValue(element2.getElementsByTagName("extension").item(0), "extension", map.getExtension()); - XMLUtil.setNodeValue(element2.getElementsByTagName("mime-type").item(0), "mime-type", map.getMimeType()); - - isWebAppDirty = true; - } - - /** - * Removes the mime mapping at the specified index. - * - * @param index int - */ - public void removeMimeMapping(int index) { - Element element = webAppDocument.getDocumentElement(); - NodeList list = element.getElementsByTagName("mime-mapping"); - Node node = list.item(index); - element.removeChild(node); - isWebAppDirty = true; - } - - /** - * Saves the Web app document. - * - * @param path a path - * @param forceDirty true to force a save - * @throws IOException if anything goes wrong - */ - public void save(String path, boolean forceDirty) throws IOException { - if (forceDirty || isWebAppDirty) - XMLUtil.save(path, webAppDocument); - } - - /** - * Saves the Web app document. - * - * @param file a file - * @param monitor a progress monitor - * @throws Exception if anything goes wrong - */ - public void save(IFile file, IProgressMonitor monitor) throws Exception { - byte[] data = XMLUtil.getContents(webAppDocument); - InputStream in = null; - try { - in = new ByteArrayInputStream(data); - if (file.exists()) - file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 200)); - } catch (Exception e) { - // ignore - } finally { - try { - in.close(); - } 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/WebModule.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebModule.java deleted file mode 100644 index 8117169b8..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/WebModule.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; -/** - * A Web module. - */ -public class WebModule implements ITomcatWebModule { - private String docBase; - private String path; - private String memento; - private boolean reloadable; - - /** - * WebModule constructor comment. - * - * @param path a path - * @param docBase a document base - * @param memento a memento - * @param reloadable <code>true</code> if reloadable - */ - public WebModule(String path, String docBase, String memento, boolean reloadable) { - super(); - this.path = path; - this.docBase = docBase; - this.memento = memento; - this.reloadable = reloadable; - } - - /** - * Get the document base. - * - * @return java.lang.String - */ - public String getDocumentBase() { - return docBase; - } - - /** - * Return the path. (context root) - * - * @return java.lang.String - */ - public String getPath() { - return path; - } - - /** - * Return the memento. - * - * @return java.lang.String - */ - public String getMemento() { - return memento; - } - - /** - * Return true if the web module is auto-reloadable. - * - * @return java.lang.String - */ - public boolean isReloadable() { - return reloadable; - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (!(obj instanceof WebModule)) - return false; - - WebModule wm = (WebModule) obj; - if (!getDocumentBase().equals(wm.getDocumentBase())) - return false; - if (!getPath().equals(wm.getPath())) - return false; - if (!getMemento().equals(wm.getMemento())) - return false; - return true; - } -}
\ 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 deleted file mode 100644 index b88404f6c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddMimeMappingCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.jst.server.tomcat.core.internal.MimeMapping; -/** - * Command to add a mime mapping. - */ -public class AddMimeMappingCommand extends ConfigurationCommand { - protected MimeMapping map; - - /** - * AddMimeMappingCommand constructor. - * - * @param configuration a tomcat configuration - * @param map a mime mapping - */ - public AddMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, MimeMapping map) { - super(configuration, Messages.configurationEditorActionAddMimeMapping); - this.map = map; - } - - /** - * Execute the command. - */ - public void execute() { - configuration.addMimeMapping(0, map); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.removeMimeMapping(0); - } -}
\ 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/AddModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddModuleCommand.java deleted file mode 100644 index 1afeae1ce..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddModuleCommand.java +++ /dev/null @@ -1,60 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.operations.AbstractOperation; -import org.eclipse.core.runtime.*; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * Command to add a web module to a server. - */ -public class AddModuleCommand extends AbstractOperation { - protected IServerWorkingCopy server; - protected IModule module; - protected int modules = -1; - - /** - * AddModuleCommand constructor comment. - * - * @param server a server - * @param module a web module - */ - public AddModuleCommand(IServerWorkingCopy server, IModule module) { - super(Messages.configurationEditorActionAddWebModule); - this.server = server; - this.module = module; - } - - public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - try { - server.modifyModules(new IModule[] { module }, null, monitor); - } catch (Exception e) { - // ignore - } - return Status.OK_STATUS; - } - - public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - return execute(monitor, info); - } - - public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - try { - server.modifyModules(null, new IModule[] { module }, monitor); - } catch (Exception e) { - // ignore - } - return Status.OK_STATUS; - } -}
\ 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/AddWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java deleted file mode 100644 index e01d3b7d4..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/AddWebModuleCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.jst.server.tomcat.core.internal.WebModule; -/** - * Command to add a web module. - */ -public class AddWebModuleCommand extends ConfigurationCommand { - protected WebModule module; - protected int modules = -1; - - /** - * AddWebModuleCommand constructor comment. - * - * @param configuration a tomcat configuration - * @param module a web module - */ - public AddWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, WebModule module) { - super(configuration, Messages.configurationEditorActionAddWebModule); - this.module = module; - } - - /** - * Execute the command. - */ - public void execute() { - modules = configuration.getWebModules().size(); - configuration.addWebModule(-1, module); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.removeWebModule(modules); - } -}
\ 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/ConfigurationCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java deleted file mode 100644 index 8dcc1422a..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ConfigurationCommand.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.operations.AbstractOperation; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -/** - * Configuration command. - */ -public abstract class ConfigurationCommand extends AbstractOperation { - protected ITomcatConfigurationWorkingCopy configuration; - - /** - * ConfigurationCommand constructor comment. - * - * @param configuration a Tomcat configuration - * @param label a label - */ - public ConfigurationCommand(ITomcatConfigurationWorkingCopy configuration, String label) { - super(label); - this.configuration = configuration; - } - - public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - return execute(monitor, info); - } - - public abstract void execute(); - - public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - execute(); - return null; - } - - public abstract void undo(); - - public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - undo(); - return 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/command/FixModuleContextRootTask.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/FixModuleContextRootTask.java deleted file mode 100644 index e123cfc69..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/FixModuleContextRootTask.java +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jst.server.tomcat.core.internal.*; -import org.eclipse.osgi.util.NLS; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.core.model.PublishOperation; -/** - * Task to fix a context root on a web module. - */ -public class FixModuleContextRootTask extends PublishOperation { - protected int index; - protected WebModule module; - protected IModule webModule; - protected String contextRoot; - protected int kind; - - /** - * FixModuleContextRootTask constructor. - * - * @param webModule - * @param index - * @param contextRoot - * @param kind - */ - public FixModuleContextRootTask(IModule webModule, int index, String contextRoot, int kind) { - super(NLS.bind(Messages.fixModuleContextRoot, webModule.getName()), Messages.fixModuleContextRootDescription); - this.webModule = webModule; - this.index = index; - this.contextRoot = contextRoot; - this.kind = kind; - } - - /** - * Execute the command. - * - * @param monitor a progress monitor - * @param info - * @throws CoreException - */ - public void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException { - IServerWorkingCopy wc = null; - IServer server2 = (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER); - if (server2 instanceof IServerWorkingCopy) - wc = (IServerWorkingCopy) server2; - else - wc = server2.createWorkingCopy(); - - TomcatServer server = (TomcatServer) wc.loadAdapter(TomcatServer.class, monitor); - TomcatConfiguration configuration = server.getTomcatConfiguration(); - if (configuration.getWebModules().size() <= index) - return; - module = (WebModule) configuration.getWebModules().get(index); - if (contextRoot != null && !contextRoot.startsWith("/") && contextRoot.length() > 0) - contextRoot = "/" + contextRoot; - if (!contextRoot.equals(module.getPath())) { - configuration.modifyWebModule(index, module.getDocumentBase(), contextRoot, module.isReloadable()); - wc.save(true, monitor); - } - } - - public int getKind() { - return kind; - } - - public int getOrder() { - return 0; - } -}
\ 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/ModifyMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java deleted file mode 100644 index 34aa15f60..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyMimeMappingCommand.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.jst.server.tomcat.core.internal.MimeMapping; -/** - * Command to change a mime type extension. - */ -public class ModifyMimeMappingCommand extends ConfigurationCommand { - protected int index; - protected MimeMapping oldMap; - protected MimeMapping newMap; - - /** - * A command to modify a mime mapping. - * - * @param configuration a tomcat configuration - * @param index an index - * @param map a mime mapping - */ - public ModifyMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, int index, MimeMapping map) { - super(configuration, Messages.configurationEditorActionModifyMimeMapping); - this.index = index; - newMap = map; - } - - /** - * Execute the command. - */ - public void execute() { - oldMap = (MimeMapping) configuration.getMimeMappings().get(index); - configuration.modifyMimeMapping(index, newMap); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.modifyMimeMapping(index, oldMap); - } -}
\ 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/ModifyPortCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java deleted file mode 100644 index 10ed13a7b..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyPortCommand.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import java.util.Iterator; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.wst.server.core.ServerPort; -/** - * Command to change the configuration port. - */ -public class ModifyPortCommand extends ConfigurationCommand { - protected String id; - protected int port; - protected int oldPort; - - /** - * ModifyPortCommand constructor. - * - * @param configuration a Tomcat configuration - * @param id a port id - * @param port new port number - */ - public ModifyPortCommand(ITomcatConfigurationWorkingCopy configuration, String id, int port) { - super(configuration, Messages.configurationEditorActionModifyPort); - this.id = id; - this.port = port; - } - - /** - * Execute the command. - */ - public void execute() { - // find old port number - Iterator iterator = configuration.getServerPorts().iterator(); - while (iterator.hasNext()) { - ServerPort temp = (ServerPort) iterator.next(); - if (id.equals(temp.getId())) - oldPort = temp.getPort(); - } - - // make the change - configuration.modifyServerPort(id, port); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.modifyServerPort(id, oldPort); - } -}
\ 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/ModifyWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java deleted file mode 100644 index 69c3ffd49..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ModifyWebModuleCommand.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.jst.server.tomcat.core.internal.WebModule; -/** - * Command to change a web module. - */ -public class ModifyWebModuleCommand extends ConfigurationCommand { - protected int index; - protected WebModule oldModule; - protected WebModule newModule; - - public ModifyWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, int index, WebModule module) { - super(configuration, Messages.configurationEditorActionModifyWebModule); - this.index = index; - newModule = module; - } - - /** - * Execute the command. - */ - public void execute() { - oldModule = (WebModule) configuration.getWebModules().get(index); - configuration.modifyWebModule(index, newModule.getDocumentBase(), newModule.getPath(), newModule.isReloadable()); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.modifyWebModule(index, oldModule.getDocumentBase(), oldModule.getPath(), oldModule.isReloadable()); - } -}
\ 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/RemoveMimeMappingCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java deleted file mode 100644 index d8c27583a..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveMimeMappingCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.jst.server.tomcat.core.internal.MimeMapping; -/** - * Command to remove a mime mapping. - */ -public class RemoveMimeMappingCommand extends ConfigurationCommand { - protected int index; - protected MimeMapping mapping; - - /** - * RemoveMimeMappingCommand constructor. - * - * @param configuration a tomcat configuration - * @param index an index - */ - public RemoveMimeMappingCommand(ITomcatConfigurationWorkingCopy configuration, int index) { - super(configuration, Messages.configurationEditorActionRemoveMimeMapping); - this.index = index; - } - - /** - * Execute the command. - */ - public void execute() { - mapping = (MimeMapping) configuration.getMimeMappings().get(index); - configuration.removeMimeMapping(index); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.addMimeMapping(index, mapping); - } -}
\ 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/RemoveModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveModuleCommand.java deleted file mode 100644 index df51f2713..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveModuleCommand.java +++ /dev/null @@ -1,59 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.operations.AbstractOperation; -import org.eclipse.core.runtime.*; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * Command to remove a web module from a server. - */ -public class RemoveModuleCommand extends AbstractOperation { - protected IServerWorkingCopy server; - protected IModule module; - - /** - * AddModuleCommand constructor comment. - * - * @param server a server - * @param module a web module - */ - public RemoveModuleCommand(IServerWorkingCopy server, IModule module) { - super(Messages.configurationEditorActionRemoveWebModule); - this.server = server; - this.module = module; - } - - public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - try { - server.modifyModules(null, new IModule[] { module }, monitor); - } catch (Exception e) { - // ignore - } - return Status.OK_STATUS; - } - - public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - return execute(monitor, info); - } - - public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - try { - server.modifyModules(new IModule[] { module }, null, monitor); - } catch (Exception e) { - // ignore - } - return Status.OK_STATUS; - } -}
\ 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/RemoveWebModuleCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java deleted file mode 100644 index 3849d1ca9..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/RemoveWebModuleCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.jst.server.tomcat.core.internal.WebModule; -/** - * Command to remove a web module. - */ -public class RemoveWebModuleCommand extends ConfigurationCommand { - protected int index; - protected WebModule module; - - /** - * RemoveWebModuleCommand constructor comment. - * - * @param configuration a tomcat configuration - * @param index an index - */ - public RemoveWebModuleCommand(ITomcatConfigurationWorkingCopy configuration, int index) { - super(configuration, Messages.configurationEditorActionRemoveWebModule); - this.index = index; - } - - /** - * Execute the command. - */ - public void execute() { - module = (WebModule) configuration.getWebModules().get(index); - configuration.removeWebModule(index); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.addWebModule(index, module); - } -}
\ 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 deleted file mode 100644 index 56e8ad2c3..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/ServerCommand.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.operations.AbstractOperation; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.TomcatServer; -/** - * A command on a Tomcat server. - */ -public abstract class ServerCommand extends AbstractOperation { - protected TomcatServer server; - - /** - * ServerCommand constructor comment. - * - * @param server a Tomcat server - * @param label a label - */ - public ServerCommand(ITomcatServerWorkingCopy server, String label) { - super(label); - this.server = (TomcatServer) server; - } - - public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - return execute(monitor, info); - } - - public abstract void execute(); - - public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - execute(); - return null; - } - - public abstract void undo(); - - public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - undo(); - return 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/command/SetDebugModeCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java deleted file mode 100644 index 02b56c44f..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetDebugModeCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -/** - * Command to change the server debug mode. - */ -public class SetDebugModeCommand extends ServerCommand { - protected boolean debug; - protected boolean oldDebug; - - /** - * SetDebugModeCommand constructor comment. - * - * @param server a Tomcat server - * @param debug <code>true</code> for debug mode - */ - public SetDebugModeCommand(ITomcatServerWorkingCopy server, boolean debug) { - super(server, Messages.serverEditorActionSetDebugMode); - this.debug = debug; - } - - /** - * Execute the command. - */ - public void execute() { - oldDebug = server.isDebug(); - server.setDebug(debug); - } - - /** - * Undo the command. - */ - public void undo() { - server.setDebug(oldDebug); - } -}
\ 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/SetSecureCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java deleted file mode 100644 index e15429f01..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetSecureCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -/** - * Command to change the server security option. - */ -public class SetSecureCommand extends ServerCommand { - protected boolean secure; - protected boolean oldSecure; - - /** - * SetSecureCommand constructor comment. - * - * @param server a Tomcat server - * @param secure <code>true</code> for security on - */ - public SetSecureCommand(ITomcatServerWorkingCopy server, boolean secure) { - super(server, Messages.serverEditorActionSetSecure); - this.secure = secure; - } - - /** - * Execute the command. - */ - public void execute() { - oldSecure = server.isSecure(); - server.setSecure(secure); - } - - /** - * Undo the command. - */ - public void undo() { - server.setSecure(oldSecure); - } -}
\ 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/SetTestEnvironmentCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java deleted file mode 100644 index a2b48afe0..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetTestEnvironmentCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -/** - * Command to change the server debug mode. - */ -public class SetTestEnvironmentCommand extends ServerCommand { - protected boolean te; - protected boolean oldTe; - - /** - * SetTestEnvironmentCommand constructor comment. - * - * @param server a Tomcat server - * @param te <code>true</code> for a test environment. - */ - public SetTestEnvironmentCommand(ITomcatServerWorkingCopy server, boolean te) { - super(server, Messages.serverEditorActionSetTestEnvironment); - this.te = te; - } - - /** - * Execute the command. - */ - public void execute() { - oldTe = server.isTestEnvironment(); - server.setTestEnvironment(te); - } - - /** - * Undo the command. - */ - public void undo() { - server.setTestEnvironment(oldTe); - } -}
\ 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/SetWebModulePathCommand.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java deleted file mode 100644 index e40f1daa7..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/command/SetWebModulePathCommand.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.command; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfigurationWorkingCopy; -import org.eclipse.jst.server.tomcat.core.internal.Messages; -import org.eclipse.jst.server.tomcat.core.internal.WebModule; -/** - * Command to modify the path of a Web module. - */ -public class SetWebModulePathCommand extends ConfigurationCommand { - protected int index; - protected WebModule oldModule; - protected String path; - - /** - * SetWebModulePathCommand constructor comment. - * - * @param configuration a tomcat configuration - * @param index an index - * @param contextRoot the context root - */ - public SetWebModulePathCommand(ITomcatConfigurationWorkingCopy configuration, int index, String contextRoot) { - super(configuration, Messages.configurationEditorActionEditWebModulePath); - this.index = index; - this.path = contextRoot; - } - - /** - * Execute the command. - */ - public void execute() { - oldModule = (WebModule) configuration.getWebModules().get(index); - configuration.removeWebModule(index); - - WebModule module = new WebModule(path, oldModule.getDocumentBase(), oldModule.getMemento(), oldModule.isReloadable()); - configuration.addWebModule(index, module); - } - - /** - * Undo the command. - */ - public void undo() { - configuration.removeWebModule(index); - configuration.addWebModule(index, oldModule); - } -}
\ 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 deleted file mode 100644 index 36bdbaac1..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/Factory.java +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml; - -import java.io.*; - -import org.w3c.dom.*; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import org.eclipse.jst.server.tomcat.core.internal.Trace; -/** - * Factory for reading and writing from XML files. - */ -public class Factory { - protected String packageName; - protected Document document; - - public Factory() { - // do nothing - } - - protected Attr createAttribute(String s, Element element) { - Attr attr = document.createAttribute(s); - element.setAttributeNode(attr); - return attr; - } - - protected XMLElement createElement(int index, String s, Node node) { - if (index < 0) - return createElement(s, node); - - Element element = document.createElement(s); - try { - Node child = node.getFirstChild(); - for (int i = 0; i < index; i++) - child = child.getNextSibling(); - - node.insertBefore(element, child); - } catch (Exception e) { - node.appendChild(element); - } - return newInstance(element); - } - - protected XMLElement createElement(String s, Node node) { - Element element = document.createElement(s); - node.appendChild(element); - return newInstance(element); - } - - public byte[] getContents() throws IOException { - return XMLUtil.getContents(document); - } - - /** - * - * @return org.w3c.dom.Document - */ - public Document getDocument() { - return document; - } - - public String getPackageName() { - return packageName; - } - - public XMLElement loadDocument(InputStream in) throws IOException, SAXException { - try { - document = XMLUtil.getDocumentBuilder().parse(new InputSource(in)); - Element element = document.getDocumentElement(); - return newInstance(element); - } catch (IllegalArgumentException exception) { - Trace.trace(Trace.WARNING, "Error loading document", exception); - throw new IOException("Could not load document"); - } - } - - protected XMLElement newInstance(Element element) { - String s = element.getNodeName(); - try { - // change "web-app:test" to "WebAppTest" - s = s.substring(0, 1).toUpperCase() + s.substring(1); - int i = s.indexOf("-"); - while (i >= 0) { - s = s.substring(0, i) + s.substring(i+1, i+2).toUpperCase() + s.substring(i+2); - i = s.indexOf("-"); - } - i = s.indexOf(":"); - while (i >= 0) { - s = s.substring(0, i) + s.substring(i+1, i+2).toUpperCase() + s.substring(i+2); - i = s.indexOf(":"); - } - - // add package name - if (packageName != null) - s = packageName + "." + s; - Class class1 = Class.forName(s); - - XMLElement xmlElement = (XMLElement) class1.newInstance(); - xmlElement.setElement(element); - xmlElement.setFactory(this); - return xmlElement; - } catch (Exception exception) { - // ignore - } - return null; - } - - public void save(String filename) throws IOException { - XMLUtil.save(filename, document); - } - - public void setDocument(Document d) { - document = d; - } - - 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 deleted file mode 100644 index b14c15fe2..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLElement.java +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml; - -import java.util.LinkedHashMap; -import java.util.Map; - -import org.w3c.dom.*; -/** - * An XML element. - */ -public class XMLElement { - private Element xmlElement; - protected Factory factory; - - public XMLElement() { - // do nothing - } - - public Attr addAttribute(String s, String s1) { - Attr attr = factory.createAttribute(s, xmlElement); - attr.setValue(s1); - return attr; - } - - public XMLElement createElement(int index, String s) { - return factory.createElement(index, s, xmlElement); - } - - public XMLElement createElement(String s) { - return factory.createElement(s, xmlElement); - } - - public XMLElement findElement(String s) { - NodeList nodelist = xmlElement.getElementsByTagName(s); - int i = nodelist == null ? 0 : nodelist.getLength(); - for (int j = 0; j < i; j++) { - Node node = nodelist.item(j); - String s1 = node.getNodeName().trim(); - if (s1.equals(s)) - return factory.newInstance((Element) node); - } - - return createElement(s); - } - - public XMLElement findElement(String s, int i) { - NodeList nodelist = xmlElement.getElementsByTagName(s); - int j = nodelist == null ? 0 : nodelist.getLength(); - for (int k = 0; k < j; k++) { - Node node = nodelist.item(k); - String s1 = node.getNodeName().trim(); - if (s1.equals(s) && k == i) - return factory.newInstance((Element) node); - } - - return createElement(s); - } - - public String getAttributeValue(String s) { - Attr attr = xmlElement.getAttributeNode(s); - if (attr != null) - return attr.getValue(); - - return null; - } - - public Map getAttributes() { - Map attributes = new LinkedHashMap(); - NamedNodeMap attrs = xmlElement.getAttributes(); - if (null != attrs) { - for (int i = 0; i < attrs.getLength(); i++) { - Node attr = attrs.item(i); - String name = attr.getNodeName(); - String value = attr.getNodeValue(); - attributes.put(name, value); - } - } - return attributes; - } - - public String getElementName() { - return xmlElement.getNodeName(); - } - - public String getElementValue() { - return getElementValue(xmlElement); - } - - protected static String getElementValue(Element element) { - String s = element.getNodeValue(); - if (s != null) - return s; - NodeList nodelist = element.getChildNodes(); - for (int i = 0; i < nodelist.getLength(); i++) - if (nodelist.item(i) instanceof Text) - return ((Text) nodelist.item(i)).getData(); - - return null; - } - - public Element getSubElement(String s) { - NodeList nodelist = xmlElement.getElementsByTagName(s); - int i = nodelist == null ? 0 : nodelist.getLength(); - for (int j = 0; j < i; j++) { - Node node = nodelist.item(j); - String s1 = node.getNodeName().trim(); - if (s1.equals(s)) - return (Element) node; - } - - return null; - } - - public String getSubElementValue(String s) { - Element element = getSubElement(s); - if (element == null) - return null; - - String value = getElementValue(element); - if (value == null) - return null; - - return value.trim(); - } - - public boolean removeAttribute(String s) { - try { - xmlElement.removeAttribute(s); - return true; - } catch (Exception ex) { - return false; - } - } - - public boolean removeElement(String s, int i) { - NodeList nodelist = xmlElement.getElementsByTagName(s); - int j = nodelist == null ? 0 : nodelist.getLength(); - for (int k = 0; k < j; k++) { - Node node = nodelist.item(k); - String s1 = node.getNodeName().trim(); - if (s1.equals(s) && k == i) { - xmlElement.removeChild(node); - return true; - } - } - - return false; - } - - public void setAttributeValue(String s, String s1) { - Attr attr = xmlElement.getAttributeNode(s); - if (attr == null) - attr = addAttribute(s, s1); - else - attr.setValue(s1); - } - - void setElement(Element element) { - xmlElement = element; - } - - protected static void setElementValue(Element element, String value) { - String s = element.getNodeValue(); - if (s != null) { - element.setNodeValue(value); - return; - } - NodeList nodelist = element.getChildNodes(); - for (int i = 0; i < nodelist.getLength(); i++) - if (nodelist.item(i) instanceof Text) { - Text text = (Text) nodelist.item(i); - text.setData(value); - return; - } - - return; - } - - void setFactory(Factory factory1) { - factory = factory1; - } - - public void setSubElementValue(String s, String value) { - Element element = getSubElement(s); - if (element == null) { - element = factory.document.createElement(s); - element.appendChild(factory.document.createTextNode("temp")); - xmlElement.appendChild(element); - } - setElementValue(element, value); - } - - public int sizeOfElement(String s) { - NodeList nodelist = xmlElement.getElementsByTagName(s); - int i = nodelist == null ? 0 : nodelist.getLength(); - return i; - } - - public void updateElementValue(String s) { - try { - xmlElement.setNodeValue(s); - } catch (DOMException ex) { - NodeList nodelist = xmlElement.getChildNodes(); - int i = nodelist == null ? 0 : nodelist.getLength(); - if (i > 0) { - for (int j = 0; j < i; j++) - if (nodelist.item(j) instanceof Text) { - ((Text) nodelist.item(j)).setData(s); - return; - } - } else { - xmlElement.appendChild(factory.document.createTextNode(s)); - } - } - } - - public boolean hasChildNodes() { - return xmlElement.hasChildNodes(); - } - - public void removeChildren() - { - while (xmlElement.hasChildNodes()) { - xmlElement.removeChild(xmlElement.getFirstChild()); - } - } - - public void copyChildrenTo(XMLElement destination) { - NodeList nodelist = xmlElement.getChildNodes(); - int len = nodelist == null ? 0 : nodelist.getLength(); - for (int i = 0; i < len; i++) { - Node node = nodelist.item(i); - destination.importNode(node, true); - } - } - - void importNode(Node node, boolean deep) { - xmlElement.appendChild(xmlElement.getOwnerDocument().importNode(node, deep)); - } -}
\ 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 deleted file mode 100644 index 76d96f6e7..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/XMLUtil.java +++ /dev/null @@ -1,390 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml; - -import java.io.*; -import java.util.*; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.eclipse.jst.server.tomcat.core.internal.Trace; -import org.w3c.dom.*; -import org.xml.sax.EntityResolver; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -/** - * Utility class to create and read XML documents. - */ -public class XMLUtil { - private static DocumentBuilder documentBuilder; - - /** - * XMLUtil constructor comment. - */ - public XMLUtil() { - super(); - } - - public static DocumentBuilder getDocumentBuilder() { - if (documentBuilder == null) - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setValidating(false); - factory.setNamespaceAware(false); - factory.setExpandEntityReferences(false); - //factory.setAttribute("http://apache.org/xml/features/nonvalidating/load-external-dtd", new Boolean(false)); - documentBuilder = factory.newDocumentBuilder(); - documentBuilder.setEntityResolver(new EntityResolver() { - public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { - return new InputSource(new ByteArrayInputStream(new byte[0])); - } - }); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Rrror creating document builder"); - } - - return documentBuilder; - } - - /** - * Create a child of the given node at the given index. - * - * @param doc a document - * @param element an element - * @param index an index - * @param nodeName a node name - * @return org.w3c.dom.Element - */ - public static Element createChildElement(Document doc, Element element, int index, String nodeName) { - Element element2 = doc.createElement(nodeName); - try { - NodeList childList = element.getElementsByTagName(nodeName); - Node child = childList.item(index); - element.insertBefore(element2, child); - } catch (Exception e) { - element.appendChild(element2); - } - return element2; - } - - /** - * Create a child of the given node. - * - * @param doc a document - * @param node a node - * @param nodeName a node name - * @return org.w3c.dom.Element - */ - public static Element createChildElement(Document doc, Node node, String nodeName) { - Element element = doc.createElement(nodeName); - node.appendChild(element); - return element; - } - - /* - * Set the value of the given node to the given text. - */ - public static void createTextChildElement(Document doc, Node node, String name, String value) { - Element element = createChildElement(doc, node, name); - element.appendChild(doc.createTextNode(value)); - } - - /** - * Return the attribute value. - * @return java.lang.String - * @param element org.w3c.dom.Element - * @param attr java.lang.String - */ - public static String getAttributeValue(Element element, String attr) { - return element.getAttributeNode(attr).getValue(); - } - - public static byte[] getContents(Document document) throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - try { - print(new PrintStream(out, true, "UTF-8"), document); - return out.toByteArray(); - } catch (Exception ex) { - throw new IOException(ex.getLocalizedMessage()); - } finally { - if (out != null) - try { - out.close(); - } catch (Exception e) { - // ignore - } - } - } - - protected static String getDocumentTypeData(DocumentType doctype) { - String data = doctype.getName(); - if (doctype.getPublicId() != null) { - data += " PUBLIC \"" + doctype.getPublicId() + "\""; - String systemId = doctype.getSystemId(); - if (systemId == null) - systemId = ""; - data += " \"" + systemId + "\""; - } else - data += " SYSTEM \"" + doctype.getSystemId() + "\""; - - return data; - } - - /** - * Return an iterator for the subelements. - * @return java.util.Iterator - * @param element org.w3c.dom.Element - * @param name java.lang.String - */ - public static Iterator getNodeIterator(Element element, String name) { - List list = new ArrayList(); - NodeList nodeList = element.getElementsByTagName(name); - - int length = nodeList.getLength(); - for (int i = 0; i < length; i++) - list.add(nodeList.item(i)); - - return list.iterator(); - } - - /** - * Get the value of this node. Will return "" instead of null. - * @return java.lang.String - * @param node org.w3c.dom.Node - */ - public static String getNodeValue(Node node) { - NodeList nodeList = node.getChildNodes(); - - int length = nodeList.getLength(); - for (int i = 0; i < length; i++) { - Node n = nodeList.item(i); - if (n instanceof Text) { - Text t = (Text) n; - return t.getNodeValue(); - } - } - return ""; - } - - /* - * Get the value of a subnode. - - * @return java.lang.String - */ - public static String getSubNodeValue(Element element, String name) { - NodeList nodeList = element.getElementsByTagName(name); - return getNodeValue(nodeList.item(0)).trim(); - } - - /* - * Insert the given text. - */ - public static void insertText(Document doc, Node node, String text) { - node.appendChild(doc.createCDATASection(text)); - } - - protected static String normalize(String s) { - StringBuffer stringbuffer = new StringBuffer(); - int i = s == null ? 0 : s.length(); - for (int j = 0; j < i; j++) { - char c = s.charAt(j); - switch (c) { - case 60 : /* '<' */ - stringbuffer.append("<"); - break; - - case 62 : /* '>' */ - stringbuffer.append(">"); - break; - - case 38 : /* '&' */ - stringbuffer.append("&"); - break; - - case 34 : /* '"' */ - stringbuffer.append("""); - break; - - case 10 : /* '\n' */ - case 13 : /* '\r' */ - default : - stringbuffer.append(c); - break; - - } - } - - return stringbuffer.toString(); - } - - protected static void print(PrintStream out, Node node) { - if (node == null) - return; - short type = node.getNodeType(); - switch (type) { - case Node.DOCUMENT_NODE: { - out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - //out.println("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"); - NodeList nodelist = node.getChildNodes(); - int size = nodelist.getLength(); - for (int i = 0; i < size; i++) - print(out, nodelist.item(i)); - break; - } - - case Node.DOCUMENT_TYPE_NODE: { - DocumentType docType = (DocumentType) node; - out.print("<!DOCTYPE " + getDocumentTypeData(docType) + ">\n"); - break; - } - - case Node.ELEMENT_NODE: { - out.print('<'); - out.print(node.getNodeName()); - NamedNodeMap map = node.getAttributes(); - if (map != null) { - int size = map.getLength(); - for (int i = 0; i < size; i++) { - Attr attr = (Attr) map.item(i); - out.print(' '); - out.print(attr.getNodeName()); - out.print("=\""); - out.print(normalize(attr.getNodeValue())); - out.print('"'); - } - } - - if (!node.hasChildNodes()) - out.print("/>"); - else { - out.print('>'); - NodeList nodelist = node.getChildNodes(); - int numChildren = nodelist.getLength(); - for (int i = 0; i < numChildren; i++) - print(out, nodelist.item(i)); - - out.print("</"); - out.print(node.getNodeName()); - out.print('>'); - } - break; - } - - case Node.ENTITY_REFERENCE_NODE: { - NodeList nodelist = node.getChildNodes(); - if (nodelist != null) { - int size = nodelist.getLength(); - for (int i = 0; i < size; i++) - print(out, nodelist.item(i)); - - } - break; - } - - case Node.CDATA_SECTION_NODE: { - out.print(normalize(node.getNodeValue())); - break; - } - - case Node.TEXT_NODE: { - out.print(normalize(node.getNodeValue())); - break; - } - - case Node.PROCESSING_INSTRUCTION_NODE: { - out.print("<?"); - out.print(node.getNodeName()); - String s = node.getNodeValue(); - if (s != null && s.length() > 0) { - out.print(' '); - out.print(s); - } - out.print("?>"); - break; - } - - case Node.COMMENT_NODE: { - out.print("<!--"); - out.print(node.getNodeValue()); - out.print("-->"); - break; - } - - default: { - out.print(normalize(node.getNodeValue())); - break; - } - } - out.flush(); - } - - public static void save(String filename, Document document) throws IOException { - PrintStream out = null; - try { - out = new PrintStream(new BufferedOutputStream(new FileOutputStream(filename)), true, "UTF-8"); - //traceNode(document, ""); - print(out, document); - } catch (Exception ex) { - throw new IOException(ex.getLocalizedMessage()); - } finally { - if (out != null) - try { - out.close(); - } catch (Exception e) { - // ignore - } - } - } - - /* - * Set the value of the subnode - * - * @param name java.lang.String - * @param value java.lang.String - */ - public static void setNodeValue(Node node, String name, String value) { - String s = node.getNodeValue(); - if (s != null) { - node.setNodeValue(value); - return; - } - NodeList nodelist = node.getChildNodes(); - for (int i = 0; i < nodelist.getLength(); i++) { - if (nodelist.item(i) instanceof Text) { - Text text = (Text) nodelist.item(i); - text.setData(value); - return; - } - } - return; - } - - public static String toString(Document document) { - PrintStream out = null; - try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(2048); - out = new PrintStream(baos); - print(out, document); - return new String(baos.toByteArray(), "UTF-8"); - } catch (Exception ex) { - // ignore - } finally { - if (out != null) - try { - out.close(); - } catch (Exception e) { - // ignore - } - } - return 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/xml/server32/Connector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java deleted file mode 100644 index a0324f245..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Connector.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server32; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Connector extends XMLElement { - public Connector() { - // do nothing - } - - public String getClassName() { - return getAttributeValue("className"); - } - - public Parameter getParameter(int index) { - return (Parameter) findElement("Parameter", index); - } - - public int getParameterCount() { - return sizeOfElement("Parameter"); - } - - public void setClassName(String className) { - setAttributeValue("className", className); - } -}
\ 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/server32/Context.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java deleted file mode 100644 index b5568e8db..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Context.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server32; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Context extends XMLElement { - public Context() { - // do nothing - } - - public String getCrossContext() { - return getAttributeValue("crossContext"); - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public String getDocBase() { - return getAttributeValue("docBase"); - } - - public String getPath() { - return getAttributeValue("path"); - } - - public String getReloadable() { - return getAttributeValue("reloadable"); - } - - public String getSource() { - return getAttributeValue("source"); - } - - public String getTrusted() { - return getAttributeValue("trusted"); - } - - public void setCrossContext(String crossContext) { - setAttributeValue("crossContext", crossContext); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } - - public void setDocBase(String docBase) { - setAttributeValue("docBase", docBase); - } - - public void setPath(String path) { - setAttributeValue("path", path); - } - - public void setReloadable(String reloadable) { - setAttributeValue("reloadable", reloadable); - } - - public void setSource(String source) { - setAttributeValue("source", source); - } - - public void setTrusted(String trusted) { - setAttributeValue("trusted", trusted); - } -}
\ 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/server32/ContextManager.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java deleted file mode 100644 index e7829d12f..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/ContextManager.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server32; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class ContextManager extends XMLElement { - public ContextManager() { - // do nothing - } - - public Connector getConnector(int index) { - return (Connector) findElement("Connector", index); - } - - public int getConnectorCount() { - return sizeOfElement("Connector"); - } - - public Context getContext(int index) { - return (Context) findElement("Context", index); - } - - public int getContextCount() { - return sizeOfElement("Context"); - } - - public int getContextInterceptorCount() { - return sizeOfElement("ContextInterceptor"); - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public String getHome() { - return getAttributeValue("home"); - } - - public int getRequestInterceptorCount() { - return sizeOfElement("RequestInterceptor"); - } - - public String getShowDebugInfo() { - return getAttributeValue("showDebugInfo"); - } - - public String getWorkDir() { - return getAttributeValue("workDir"); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } - - public void setHome(String home) { - setAttributeValue("home", home); - } - - public void setShowDebugInfo(String showDebugInfo) { - setAttributeValue("showDebugInfo", showDebugInfo); - } - - public void setWorkDir(String workDir) { - setAttributeValue("workDir", workDir); - } -}
\ 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/server32/Parameter.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java deleted file mode 100644 index 1608cf186..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Parameter.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server32; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Parameter extends XMLElement { - public Parameter() { - // do nothing - } - - public String getName() { - return getAttributeValue("name"); - } - - public String getValue() { - return getAttributeValue("value"); - } - - public void setName(String name) { - setAttributeValue("name", name); - } - - public void setValue(String value) { - setAttributeValue("value", value); - } -}
\ 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/server32/Server.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java deleted file mode 100644 index 5d8cdd0a7..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server32/Server.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server32; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Server extends XMLElement { - public Server() { - // do nothing - } - - public ContextManager getContextManager() { - return (ContextManager) findElement("ContextManager"); - } - - public int getLoggerCount() { - return sizeOfElement("Logger"); - } - - public String getName() { - return getAttributeValue("name"); - } - - public void setName(String name) { - setAttributeValue("name", name); - } -}
\ 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/server40/Connector.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java deleted file mode 100644 index 79bf6c93a..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Connector.java +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server40; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Connector extends XMLElement { - public Connector() { - // do nothing - } - - public String getAcceptCount() { - return getAttributeValue("acceptCount"); - } - - public String getClassName() { - return getAttributeValue("className"); - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public String getMaxProcessors() { - return getAttributeValue("maxProcessors"); - } - - public String getMinProcessors() { - return getAttributeValue("minProcessors"); - } - - public String getPort() { - return getAttributeValue("port"); - } - - public String getSecure() { - return getAttributeValue("secure"); - } - - public String getProtocol() { - return getAttributeValue("protocol"); - } - - public String getProtocolHandlerClassName() { - return getAttributeValue("protocolHandlerClassName"); - } - - public void setAcceptCount(String acceptCount) { - setAttributeValue("acceptCount", acceptCount); - } - - public void setClassName(String className) { - setAttributeValue("className", className); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } - - public void setMaxProcessors(String maxProcessors) { - setAttributeValue("maxProcessors", maxProcessors); - } - - public void setMinProcessors(String minProcessors) { - setAttributeValue("minProcessors", minProcessors); - } - - public void setPort(String port) { - setAttributeValue("port", port); - } - - public void setProtocolHandlerClassName(String protocolHandlerClassName) { - setAttributeValue("protocolHandlerClassName", protocolHandlerClassName); - } -}
\ 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/server40/Context.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java deleted file mode 100644 index b597c8984..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Context.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server40; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Context extends XMLElement { - public Context() { - // do nothing - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public String getDocBase() { - return getAttributeValue("docBase"); - } - - public String getPath() { - return getAttributeValue("path"); - } - - public String getReloadable() { - return getAttributeValue("reloadable"); - } - - public String getSource() { - return getAttributeValue("source"); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } - - public void setDocBase(String docBase) { - setAttributeValue("docBase", docBase); - } - - public void setPath(String path) { - setAttributeValue("path", path); - } - - public void setReloadable(String reloadable) { - setAttributeValue("reloadable", reloadable); - } - - public void setSource(String source) { - setAttributeValue("source", source); - } -}
\ 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/server40/Engine.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java deleted file mode 100644 index 166ce0bc2..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Engine.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server40; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Engine extends XMLElement { - public Engine() { - // do nothing - } - - public String getAppBase() { - return getAttributeValue("appBase"); - } - - public String getClassName() { - return getAttributeValue("className"); - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public String getDefaultHost() { - return getAttributeValue("defaultHost"); - } - - public Host getHost() { - return (Host) findElement("Host"); - } - - public String getName() { - return getAttributeValue("name"); - } - - public void setAppBase(String appBase) { - setAttributeValue("appBase", appBase); - } - - public void setClassName(String className) { - setAttributeValue("className", className); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } - - public void setDefaultHost(String defaultHost) { - setAttributeValue("defaultHost", defaultHost); - } - - public void setName(String name) { - setAttributeValue("name", name); - } -}
\ 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/server40/Host.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java deleted file mode 100644 index dc91098ab..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Host.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server40; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Host extends XMLElement { - public Host() { - // do nothing - } - - public String getAppBase() { - return getAttributeValue("appBase"); - } - - public Context getContext(int index) { - return (Context) findElement("Context", index); - } - - public int getContextCount() { - return sizeOfElement("Context"); - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public String getName() { - return getAttributeValue("name"); - } - - public void setAppBase(String appBase) { - setAttributeValue("appBase", appBase); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } - - public void setName(String name) { - setAttributeValue("name", name); - } -}
\ 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/server40/Listener.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java deleted file mode 100644 index 97378bc47..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Listener.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server40; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Listener extends XMLElement { - public Listener() { - // do nothing - } - - public String getClassName() { - return getAttributeValue("className"); - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public void setClassName(String className) { - setAttributeValue("className", className); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } -}
\ 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/server40/Server.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java deleted file mode 100644 index 097111d4e..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Server.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server40; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Server extends XMLElement { - public Server() { - // do nothing - } - - public String getDebug() { - return getAttributeValue("debug"); - } - - public String getName() { - return getAttributeValue("name"); - } - - public String getPort() { - return getAttributeValue("port"); - } - - public Service getService(int index) { - return (Service) findElement("Service", index); - } - - public int getServiceCount() { - return sizeOfElement("Service"); - } - - public String getShutdown() { - return getAttributeValue("shutdown"); - } - - public void setDebug(String debug) { - setAttributeValue("debug", debug); - } - - public void setName(String name) { - setAttributeValue("name", name); - } - - public void setPort(String port) { - setAttributeValue("port", port); - } - - public void setShutdown(String shutdown) { - setAttributeValue("shutdown", shutdown); - } - - public Listener getListener(int index) { - return (Listener) findElement("Listener", index); - } - - public int getListenerCount() { - return sizeOfElement("Listener"); - } -}
\ 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/server40/Service.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java deleted file mode 100644 index cc24a4ad7..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/xml/server40/Service.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal.xml.server40; - -import org.eclipse.jst.server.tomcat.core.internal.xml.*; -/** - * - */ -public class Service extends XMLElement { - public Service() { - // do nothing - } - - public Connector getConnector(int index) { - return (Connector) findElement("Connector", index); - } - - public int getConnectorCount() { - return sizeOfElement("Connector"); - } - - public Engine getEngine() { - return (Engine) findElement("Engine"); - } - - public String getName() { - return getAttributeValue("name"); - } - - public void setName(String name) { - setAttributeValue("name", name); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties b/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties deleted file mode 100644 index a70106a36..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/verifyInstall.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# this file must not be translated - -verify32install=lib/jasper.jar,lib/servlet.jar,bin,conf,webapps -verify40install=lib/naming-factory.jar,bin/bootstrap.jar,conf,webapps -verify41install=common/lib/naming-factory.jar,common/lib/servlet.jar,bin/bootstrap.jar,conf,webapps -verify50install=common/lib/servlet-api.jar,common/lib/naming-common.jar,bin/bootstrap.jar,conf,webapps -verify55install=common/i18n,bin/bootstrap.jar,conf,webapps diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.classpath b/plugins/org.eclipse.jst.server.tomcat.ui/.classpath deleted file mode 100644 index 0dfed31fa..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="tomcatui/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore b/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore deleted file mode 100644 index 59feaea94..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -build.xml -org.eclipse.jst.server.tomcat.ui_3.0.0.jar -tomcatui.jar -temp.folder -@dot -src.zip diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.options b/plugins/org.eclipse.jst.server.tomcat.ui/.options deleted file mode 100644 index d88b03b38..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/.options +++ /dev/null @@ -1,4 +0,0 @@ -# Debugging options for the org.eclipse.jst.server.tomcat.ui plugin - -# Turn on general debugging -org.eclipse.jst.server.tomcat.ui/debug=true diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.project b/plugins/org.eclipse.jst.server.tomcat.ui/.project deleted file mode 100644 index 731f756fa..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.jst.server.tomcat.ui</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF deleted file mode 100644 index c6614bc6d..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,24 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.jst.server.tomcat.ui; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.jst.server.tomcat.ui.internal;x-internal:=true, - org.eclipse.jst.server.tomcat.ui.internal.editor;x-internal:=true -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.core.expressions, - org.eclipse.ui, - org.eclipse.ui.ide, - org.eclipse.ui.forms, - org.eclipse.debug.ui, - org.eclipse.jdt.debug.ui, - org.eclipse.jdt.launching, - org.eclipse.wst.server.core, - org.eclipse.wst.server.ui, - org.eclipse.jst.server.core, - org.eclipse.jst.server.tomcat.core -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/about.html b/plugins/org.eclipse.jst.server.tomcat.ui/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/build.properties b/plugins/org.eclipse.jst.server.tomcat.ui/build.properties deleted file mode 100644 index 98321349e..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/build.properties +++ /dev/null @@ -1,20 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - plugin.properties,\ - icons/,\ - .,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -source.. = tomcatui/ diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif Binary files differdeleted file mode 100644 index c5850103e..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif Binary files differdeleted file mode 100644 index 0a8e4bf12..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif Binary files differdeleted file mode 100644 index 7a354b73f..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif Binary files differdeleted file mode 100644 index 0cb4c163c..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat.gif Binary files differdeleted file mode 100644 index a857c0f9b..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif Binary files differdeleted file mode 100644 index bf20f7017..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.gif Binary files differdeleted file mode 100644 index 63a959985..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties deleted file mode 100644 index 37184726f..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties +++ /dev/null @@ -1,14 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=Apache Tomcat UI Support -providerName=Eclipse.org - -configurationEditorWebModulesPage=Modules diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml deleted file mode 100644 index 06239763d..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml +++ /dev/null @@ -1,144 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - <extension point="org.eclipse.wst.server.ui.serverImages"> - <image - id="org.eclipse.jst.server.tomcat.32" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.runtime.32"/> - <image - id="org.eclipse.jst.server.tomcat.40" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.runtime.40"/> - <image - id="org.eclipse.jst.server.tomcat.41" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.runtime.41"/> - <image - id="org.eclipse.jst.server.tomcat.50" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.runtime.50"/> - <image - id="org.eclipse.jst.server.tomcat.55" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.runtime.55"/> - - <image - id="org.eclipse.jst.server.tomcat.32" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.32"/> - <image - id="org.eclipse.jst.server.tomcat.40" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.40"/> - <image - id="org.eclipse.jst.server.tomcat.41" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.41"/> - <image - id="org.eclipse.jst.server.tomcat.50" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.50"/> - <image - id="org.eclipse.jst.server.tomcat.55" - icon="icons/obj16/tomcat.gif" - typeIds="org.eclipse.jst.server.tomcat.55"/> - </extension> - - <extension point="org.eclipse.core.expressions.propertyTesters"> - <propertyTester - id="org.eclipse.jst.server.tomcat.ui.propertyTester" - namespace="org.eclipse.jst.server.tomcat.ui" - properties="hasConfiguration" - type="java.lang.Object" - class="org.eclipse.jst.server.tomcat.ui.internal.ConfigurationPropertyTester"> - </propertyTester> - </extension> - - <extension point="org.eclipse.wst.server.ui.editorPages"> - <page - id="org.eclipse.jst.server.tomcat.configuration.editor.webmodule" - order="20" - name="%configurationEditorWebModulesPage" - typeIds="org.eclipse.jst.server.tomcat.*" - class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationWebModuleEditorPart"> - <enablement> - <test property="org.eclipse.jst.server.tomcat.ui.hasConfiguration" value="true"/> - </enablement> - </page> - </extension> - - <extension point="org.eclipse.wst.server.ui.editorPageSections"> - <section - id="org.eclipse.jst.server.tomcat.server.editor.general" - order="0" - insertionId="org.eclipse.wst.server.editor.overview.left" - typeIds="org.eclipse.jst.server.tomcat.*" - class="org.eclipse.jst.server.tomcat.ui.internal.editor.ServerGeneralEditorSection"/> - <section - id="org.eclipse.jst.server.tomcat.configuration.editor.port" - order="10" - insertionId="org.eclipse.wst.server.editor.overview.right" - typeIds="org.eclipse.jst.server.tomcat.*" - class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationPortEditorSection"> - <enablement> - <test property="org.eclipse.jst.server.tomcat.ui.hasConfiguration" value="true"/> - </enablement> - </section> - <section - id="org.eclipse.jst.server.tomcat.configuration.editor.mime" - order="20" - insertionId="org.eclipse.wst.server.editor.overview.right" - typeIds="org.eclipse.jst.server.tomcat.*" - class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationMimeEditorSection"> - <enablement> - <test property="org.eclipse.jst.server.tomcat.ui.hasConfiguration" value="true"/> - </enablement> - </section> - </extension> - - <extension point="org.eclipse.wst.server.ui.wizardFragments"> - <fragment - 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.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.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.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.runtime.55" - typeIds="org.eclipse.jst.server.tomcat.runtime.55" - class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/> - </extension> - - <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages"> - <launchConfigurationTypeImage - id="org.eclipse.jst.server.tomcat.ui.launchConfigurationTypeImage" - configTypeID="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - icon="icons/obj16/tomcat.gif"> - </launchConfigurationTypeImage> - </extension> - - <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"> - <launchConfigurationTabGroup - id="org.eclipse.jst.server.tomcat.ui.launchConfigurationTabGroup" - type="org.eclipse.jst.server.tomcat.core.launchConfigurationType" - class="org.eclipse.jst.server.tomcat.ui.internal.TomcatLaunchConfigurationTabGroup"> - </launchConfigurationTabGroup> - </extension> - - <extension point="org.eclipse.wst.common.project.facet.ui.images"> - <image runtime-component-type="org.eclipse.jst.server.tomcat" - path="icons/obj16/tomcat.gif"/> - </extension> -</plugin>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ConfigurationPropertyTester.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ConfigurationPropertyTester.java deleted file mode 100644 index 892b2d071..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ConfigurationPropertyTester.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; - -import org.eclipse.core.expressions.PropertyTester; -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServer; -import org.eclipse.jst.server.tomcat.core.internal.TomcatServer; -import org.eclipse.wst.server.core.IServerAttributes; -/** - * - */ -public class ConfigurationPropertyTester extends PropertyTester { - /* (non-Javadoc) - * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) - */ - public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { - try { - IServerAttributes server = (IServerAttributes) receiver; - TomcatServer tomcatServer = (TomcatServer) server.loadAdapter(ITomcatServer.class, null); - if (tomcatServer != null) - return tomcatServer.getServerConfiguration() != null; - } catch (Exception e) { - // ignore - } - return false; - } -}
\ No newline at end of file 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 deleted file mode 100644 index 7957cc170..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; -/** - * Constant ids for context help. - */ -public interface ContextIds { - public static final String SERVER_EDITOR = TomcatUIPlugin.PLUGIN_ID + ".teig0000"; - public static final String SERVER_EDITOR_TEST_ENVIRONMENT = TomcatUIPlugin.PLUGIN_ID + ".teig0002"; - public static final String SERVER_EDITOR_SECURE = TomcatUIPlugin.PLUGIN_ID + ".teig0004"; - public static final String SERVER_EDITOR_DEBUG_MODE = TomcatUIPlugin.PLUGIN_ID + ".teig0006"; - - public static final String CONFIGURATION_EDITOR_WEBMODULES = TomcatUIPlugin.PLUGIN_ID + ".tecw0000"; - public static final String CONFIGURATION_EDITOR_WEBMODULES_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecw0002"; - public static final String CONFIGURATION_EDITOR_WEBMODULES_ADD_PROJECT = TomcatUIPlugin.PLUGIN_ID + ".tecw0004"; - public static final String CONFIGURATION_EDITOR_WEBMODULES_ADD_EXTERNAL = TomcatUIPlugin.PLUGIN_ID + ".tecw0006"; - public static final String CONFIGURATION_EDITOR_WEBMODULES_EDIT = TomcatUIPlugin.PLUGIN_ID + ".tecw0008"; - public static final String CONFIGURATION_EDITOR_WEBMODULES_REMOVE = TomcatUIPlugin.PLUGIN_ID + ".tecw0010"; - - public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG = TomcatUIPlugin.PLUGIN_ID + ".tdwm0000"; - public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PROJECT = TomcatUIPlugin.PLUGIN_ID + ".tdpr0002"; - public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PATH = TomcatUIPlugin.PLUGIN_ID + ".tdpr0004"; - public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_DOCBASE = TomcatUIPlugin.PLUGIN_ID + ".tdpr0006"; - public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_RELOAD = TomcatUIPlugin.PLUGIN_ID + ".tdpr0008"; - - public static final String CONFIGURATION_EDITOR_MAPPINGS = TomcatUIPlugin.PLUGIN_ID + ".tecm0000"; - public static final String CONFIGURATION_EDITOR_MAPPINGS_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecm0002"; - public static final String CONFIGURATION_EDITOR_MAPPINGS_ADD = TomcatUIPlugin.PLUGIN_ID + ".tecm0004"; - public static final String CONFIGURATION_EDITOR_MAPPINGS_EDIT = TomcatUIPlugin.PLUGIN_ID + ".tecm0006"; - public static final String CONFIGURATION_EDITOR_MAPPINGS_REMOVE = TomcatUIPlugin.PLUGIN_ID + ".tecm0008"; - - public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG = TomcatUIPlugin.PLUGIN_ID + ".tdmm0000"; - public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG_TYPE = TomcatUIPlugin.PLUGIN_ID + ".tdmm0002"; - public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG_EXTENSION = TomcatUIPlugin.PLUGIN_ID + ".tdmm0004"; - - public static final String CONFIGURATION_EDITOR_PORTS = TomcatUIPlugin.PLUGIN_ID + ".tecp0000"; - public static final String CONFIGURATION_EDITOR_PORTS_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecp0002"; - - public static final String RUNTIME_COMPOSITE = TomcatUIPlugin.PLUGIN_ID + ".twnr0000"; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.java deleted file mode 100644 index a3bb1c805..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.java +++ /dev/null @@ -1,70 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String wizardTitle; - public static String wizardDescription; - public static String runtimeName; - public static String installDir; - public static String browse; - public static String install; - public static String selectInstallDir; - public static String installedJRE; - public static String installedJREs; - public static String runtimeDefaultJRE; - public static String editorAdd; - public static String editorEdit; - public static String editorRemove; - public static String errorMissingWebModule; - public static String configurationEditorMimeMappingsSection; - public static String configurationEditorMimeMappingsDescription; - public static String configurationEditorPortsSection; - public static String configurationEditorPortsDescription; - public static String configurationEditorPortNameColumn; - public static String configurationEditorPortValueColumn; - public static String configurationEditorWebModulesPageTitle; - public static String configurationEditorWebModulesSection; - public static String configurationEditorWebModulesDescription; - public static String configurationEditorPathColumn; - public static String configurationEditorDocBaseColumn; - public static String configurationEditorProjectColumn; - public static String configurationEditorReloadColumn; - public static String configurationEditorAddProjectModule; - public static String configurationEditorAddExternalModule; - public static String configurationEditorProjectMissing; - public static String configurationEditorReloadEnabled; - public static String configurationEditorReloadDisabled; - public static String configurationEditorMimeMapppingDialogTitleEdit; - public static String configurationEditorMimeMapppingDialogTitleAdd; - public static String configurationEditorMimeMapppingDialogMimeType; - public static String configurationEditorMimeMapppingDialogMimeExtension; - public static String serverEditorGeneralSection; - public static String serverEditorGeneralDescription; - public static String serverEditorTestEnvironment; - public static String serverEditorSecure; - public static String serverEditorDebugMode; - public static String configurationEditorWebModuleDialogTitleEdit; - public static String configurationEditorWebModuleDialogTitleAdd; - public static String configurationEditorWebModuleDialogProjects; - public static String configurationEditorWebModuleDialogDocumentBase; - public static String configurationEditorWebModuleDialogSelectDirectory; - public static String configurationEditorWebModuleDialogPath; - public static String configurationEditorWebModuleDialogReloadEnabled; - - static { - NLS.initializeMessages(TomcatUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.properties b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.properties deleted file mode 100644 index 2541b79cb..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.properties +++ /dev/null @@ -1,79 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# --------------- General UI --------------- - -runtimeName=Na&me: -browse=B&rowse... -install=Download and Ins&tall... -installDir=Tomcat installation &directory: -installedJRE=&JRE: -installedJREs=&Installed JREs... -selectInstallDir=Select Tomcat installation directory. -runtimeDefaultJRE=Workbench default JRE - -# New Tomcat server wizard -wizardTitle=Tomcat Server -wizardDescription=Specify the installation directory - -# --------------- Editors --------------- - -# General text used in both editors -editorRemove=Remove -editorAdd=Add... -editorEdit=Edit... - -# --- Configuration Editor --- -configurationEditorWebModulesPageTitle=Web Modules -configurationEditorWebModulesSection=Web Modules -configurationEditorWebModulesDescription=Configure the Web Modules on this server. -configurationEditorMimeMappingsSection=MIME Mappings -configurationEditorMimeMappingsDescription=Configure MIME type mappings. -configurationEditorPortsSection=Ports -configurationEditorPortsDescription=Modify the server ports. - -# Fields -configurationEditorPortNameColumn=Port Name -configurationEditorPortValueColumn=Port Number -configurationEditorPathColumn=Path -configurationEditorDocBaseColumn=Document Base -configurationEditorProjectColumn=Module -configurationEditorReloadColumn=Auto Reload -configurationEditorProjectMissing={0} missing -configurationEditorReloadEnabled=Enabled -configurationEditorReloadDisabled=Disabled -configurationEditorAddProjectModule=Add Web Module... -configurationEditorAddExternalModule=Add External Web Module... - -# Add/Edit Mime Mapping dialog -configurationEditorMimeMapppingDialogTitleEdit=Edit MIME Mapping -configurationEditorMimeMapppingDialogTitleAdd=Add MIME Mapping -configurationEditorMimeMapppingDialogMimeType=MIME &type: -configurationEditorMimeMapppingDialogMimeExtension=MIME &extension: - -# Add/Edit Web Module dialog -configurationEditorWebModuleDialogTitleEdit=Edit Web Module -configurationEditorWebModuleDialogTitleAdd=Add Web Module -configurationEditorWebModuleDialogProjects=&Modules: -configurationEditorWebModuleDialogPath=P&ath: -configurationEditorWebModuleDialogDocumentBase=&Document base: -configurationEditorWebModuleDialogReloadEnabled=Auto r&eloading enabled -configurationEditorWebModuleDialogSelectDirectory=Select the Web module directory. -errorMissingWebModule=The Web module at the following location cannot be found: {0}. - -# --- Server Editor --- -serverEditorGeneralSection=Server -serverEditorGeneralDescription=Enter settings for the server. - -# Fields -serverEditorSecure=Enable security -serverEditorDebugMode=Enable Tomcat debug mode (v4.x and above only) -serverEditorTestEnvironment=Run modules directly from the workspace (do not modify the Tomcat installation) 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 deleted file mode 100644 index cbe03c563..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.FontMetrics; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -/** - * SWT Utility class. - */ -public class SWTUtil { - private static FontMetrics fontMetrics; - - protected static void initializeDialogUnits(Control testControl) { - // Compute and store a font metric - GC gc = new GC(testControl); - gc.setFont(JFaceResources.getDialogFont()); - fontMetrics = gc.getFontMetrics(); - gc.dispose(); - } - - /** - * Returns a width hint for a button control. - */ - protected static int getButtonWidthHint(Button button) { - int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); - return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); - } - - /** - * Create a new button with the standard size. - * - * @param comp the component to add the button to - * @param label the button label - * @return a button - */ - public static Button createButton(Composite comp, String label) { - Button b = new Button(comp, SWT.PUSH); - b.setText(label); - if (fontMetrics == null) - initializeDialogUnits(comp); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.widthHint = getButtonWidthHint(b); - b.setLayoutData(data); - return b; - } -}
\ No newline at end of file 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 deleted file mode 100644 index 4c6f725a2..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; - -import org.eclipse.debug.ui.*; -import org.eclipse.debug.ui.sourcelookup.SourceLookupTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab; - -import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab; -/** - * A debug tab group for launching Tomcat. - */ -public class TomcatLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup { - /* - * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String) - */ - public void createTabs(ILaunchConfigurationDialog dialog, String mode) { - ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[6]; - tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.jst.server.tomcat" }); - tabs[0].setLaunchConfigurationDialog(dialog); - tabs[1] = new JavaArgumentsTab(); - tabs[1].setLaunchConfigurationDialog(dialog); - tabs[2] = new JavaClasspathTab(); - tabs[2].setLaunchConfigurationDialog(dialog); - tabs[3] = new SourceLookupTab(); - tabs[3].setLaunchConfigurationDialog(dialog); - tabs[4] = new EnvironmentTab(); - tabs[4].setLaunchConfigurationDialog(dialog); - tabs[5] = new CommonTab(); - tabs[5].setLaunchConfigurationDialog(dialog); - setTabs(tabs); - } -}
\ No newline at end of file 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 deleted file mode 100644 index e6ec94c3a..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java +++ /dev/null @@ -1,311 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMInstallType; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.preference.IPreferenceNode; -import org.eclipse.jface.preference.PreferenceDialog; -import org.eclipse.jface.preference.PreferenceManager; -import org.eclipse.jface.window.Window; -import org.eclipse.jst.server.tomcat.core.internal.ITomcatRuntimeWorkingCopy; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; - -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.core.internal.IInstallableRuntime; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * Wizard page to set the server install directory. - */ -public class TomcatRuntimeComposite extends Composite { - protected IRuntimeWorkingCopy runtimeWC; - protected ITomcatRuntimeWorkingCopy runtime; - - protected IWizardHandle wizard; - - protected Text installDir; - protected Text name; - protected Combo combo; - protected List installedJREs; - protected String[] jreNames; - - /** - * TomcatRuntimeWizardPage constructor comment. - * - * @param parent the parent composite - * @param wizard the wizard handle - */ - protected TomcatRuntimeComposite(Composite parent, IWizardHandle wizard) { - super(parent, SWT.NONE); - this.wizard = wizard; - - wizard.setTitle(Messages.wizardTitle); - wizard.setDescription(Messages.wizardDescription); - wizard.setImageDescriptor(TomcatUIPlugin.getImageDescriptor(TomcatUIPlugin.IMG_WIZ_TOMCAT)); - - createControl(); - } - - protected void setRuntime(IRuntimeWorkingCopy newRuntime) { - if (newRuntime == null) { - runtimeWC = null; - runtime = null; - } else { - runtimeWC = newRuntime; - runtime = (ITomcatRuntimeWorkingCopy) newRuntime.loadAdapter(ITomcatRuntimeWorkingCopy.class, null); - } - - init(); - validate(); - } - - /** - * Provide a wizard page to change the Tomcat installation directory. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - setLayout(layout); - setLayoutData(new GridData(GridData.FILL_BOTH)); - PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.RUNTIME_COMPOSITE); - - Label label = new Label(this, SWT.NONE); - label.setText(Messages.runtimeName); - GridData data = new GridData(); - data.horizontalSpan = 2; - label.setLayoutData(data); - - name = new Text(this, SWT.BORDER); - data = new GridData(GridData.FILL_HORIZONTAL); - name.setLayoutData(data); - name.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - runtimeWC.setName(name.getText()); - validate(); - } - }); - - label = new Label(this, SWT.NONE); - label.setText(Messages.installDir); - data = new GridData(); - data.horizontalSpan = 2; - label.setLayoutData(data); - - installDir = new Text(this, SWT.BORDER); - data = new GridData(GridData.FILL_HORIZONTAL); - installDir.setLayoutData(data); - installDir.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - runtimeWC.setLocation(new Path(installDir.getText())); - validate(); - } - }); - - Button browse = SWTUtil.createButton(this, Messages.browse); - browse.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - DirectoryDialog dialog = new DirectoryDialog(TomcatRuntimeComposite.this.getShell()); - dialog.setMessage(Messages.selectInstallDir); - dialog.setFilterPath(installDir.getText()); - String selectedDirectory = dialog.open(); - if (selectedDirectory != null) - installDir.setText(selectedDirectory); - } - }); - - final IInstallableRuntime ir = ServerPlugin.findInstallableRuntime("org.eclipse.jst.server.timcat.runtime.32"); - if (ir != null) { - label = new Label(this, SWT.NONE); - - Button install = SWTUtil.createButton(this, Messages.install); - install.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - DirectoryDialog dialog = new DirectoryDialog(TomcatRuntimeComposite.this.getShell()); - dialog.setMessage(Messages.selectInstallDir); - dialog.setFilterPath(installDir.getText()); - String selectedDirectory = dialog.open(); - if (selectedDirectory != null) { - try { - ir.install(new Path(selectedDirectory), new NullProgressMonitor()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error installing runtime", e); - } - installDir.setText(selectedDirectory); - } - } - }); - } - - updateJREs(); - - // JDK location - label = new Label(this, SWT.NONE); - label.setText(Messages.installedJRE); - data = new GridData(); - data.horizontalSpan = 2; - label.setLayoutData(data); - - combo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY); - combo.setItems(jreNames); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - combo.setLayoutData(data); - - combo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - int sel = combo.getSelectionIndex(); - IVMInstall vmInstall = null; - if (sel > 0) - vmInstall = (IVMInstall) installedJREs.get(sel - 1); - - runtime.setVMInstall(vmInstall); - validate(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - - Button button = SWTUtil.createButton(this, Messages.installedJREs); - button.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - String currentVM = combo.getText(); - if (showPreferencePage()) { - updateJREs(); - combo.setItems(jreNames); - combo.setText(currentVM); - if (combo.getSelectionIndex() == -1) - combo.select(0); - } - } - }); - - init(); - validate(); - - Dialog.applyDialogFont(this); - - name.forceFocus(); - } - - protected void updateJREs() { - // get all installed JVMs - installedJREs = new ArrayList(); - IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes(); - int size = vmInstallTypes.length; - for (int i = 0; i < size; i++) { - IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls(); - int size2 = vmInstalls.length; - for (int j = 0; j < size2; j++) { - installedJREs.add(vmInstalls[j]); - } - } - - // get names - size = installedJREs.size(); - jreNames = new String[size+1]; - jreNames[0] = Messages.runtimeDefaultJRE; - for (int i = 0; i < size; i++) { - IVMInstall vmInstall = (IVMInstall) installedJREs.get(i); - jreNames[i+1] = vmInstall.getName(); - } - } - - protected boolean showPreferencePage() { - PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager(); - IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode("org.eclipse.jdt.debug.ui.preferences.VMPreferencePage"); - PreferenceManager manager2 = new PreferenceManager(); - manager2.addToRoot(node); - final PreferenceDialog dialog = new PreferenceDialog(getShell(), manager2); - final boolean[] result = new boolean[] { false }; - BusyIndicator.showWhile(getDisplay(), new Runnable() { - public void run() { - dialog.create(); - if (dialog.open() == Window.OK) - result[0] = true; - } - }); - return result[0]; - } - - protected void init() { - if (name == null || runtime == null) - return; - - if (runtimeWC.getName() != null) - name.setText(runtimeWC.getName()); - else - name.setText(""); - - if (runtimeWC.getLocation() != null) - installDir.setText(runtimeWC.getLocation().toOSString()); - else - installDir.setText(""); - - // set selection - if (runtime.isUsingDefaultJRE()) - combo.select(0); - else { - boolean found = false; - int size = installedJREs.size(); - for (int i = 0; i < size; i++) { - IVMInstall vmInstall = (IVMInstall) installedJREs.get(i); - if (vmInstall.equals(runtime.getVMInstall())) { - combo.select(i + 1); - found = true; - } - } - if (!found) - combo.select(0); - } - } - - protected void validate() { - if (runtime == null) { - wizard.setMessage("", IMessageProvider.ERROR); - return; - } - - IStatus status = runtimeWC.validate(null); - if (status == null || status.isOK()) - wizard.setMessage(null, IMessageProvider.NONE); - else if (status.getSeverity() == IStatus.WARNING) - wizard.setMessage(status.getMessage(), IMessageProvider.WARNING); - else - wizard.setMessage(status.getMessage(), IMessageProvider.ERROR); - wizard.update(); - } -}
\ No newline at end of file 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 deleted file mode 100644 index 57fd3605f..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin; -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * - */ -public class TomcatRuntimeWizardFragment extends WizardFragment { - protected TomcatRuntimeComposite comp; - - public TomcatRuntimeWizardFragment() { - // do nothing - } - - public boolean hasComposite() { - return true; - } - - public boolean isComplete() { - IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - - if (runtime == null) - return false; - IStatus status = runtime.validate(null); - return (status == null || status.getSeverity() != IStatus.ERROR); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.task.WizardFragment#createComposite() - */ - public Composite createComposite(Composite parent, IWizardHandle wizard) { - comp = new TomcatRuntimeComposite(parent, wizard); - return comp; - } - - public void enter() { - if (comp != null) { - IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - comp.setRuntime(runtime); - } - } - - public void exit() { - IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - IPath path = runtime.getLocation(); - if (runtime.validate(null).getSeverity() != IStatus.ERROR) - 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 deleted file mode 100644 index eb8b6c4c0..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; - -import java.net.URL; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.plugin.AbstractUIPlugin; -/** - * The actual Tomcat plugin. It allows the rest of the classes - * to load images and get a handle to the desktop. - */ -public class TomcatUIPlugin extends AbstractUIPlugin { - protected static TomcatUIPlugin singleton; - - protected Map imageDescriptors = new HashMap(); - - // base url for icons - private static URL ICON_BASE_URL; - - private static final String URL_OBJ = "obj16/"; - private static final String URL_WIZBAN = "wizban/"; - - public static final String PLUGIN_ID = "org.eclipse.jst.server.tomcat.ui"; - - public static final String IMG_WIZ_TOMCAT = "wizTomcat"; - - public static final String IMG_WEB_MODULE = "webModule"; - public static final String IMG_MIME_MAPPING = "mimeMapping"; - public static final String IMG_MIME_EXTENSION = "mimeExtension"; - public static final String IMG_PORT = "port"; - public static final String IMG_PROJECT_MISSING = "projectMissing"; - - public static final String PREF_TOMCAT32_INSTALL_DIR = "tomcat32install"; - public static final String PREF_TOMCAT40_INSTALL_DIR = "tomcat40install"; - public static final String PREF_TOMCAT41_INSTALL_DIR = "tomcat41install"; - public static final String PREF_TOMCAT50_INSTALL_DIR = "tomcat50install"; - public static final String PREF_JDK_INSTALL_DIR = "jdkinstall"; - - /** - * TomcatUIPlugin constructor comment. - */ - public TomcatUIPlugin() { - super(); - singleton = this; - } - - protected ImageRegistry createImageRegistry() { - ImageRegistry registry = new ImageRegistry(); - - registerImage(registry, IMG_WIZ_TOMCAT, URL_WIZBAN + "tomcat_wiz.gif"); - - registerImage(registry, IMG_WEB_MODULE, URL_OBJ + "web_module.gif"); - registerImage(registry, IMG_MIME_MAPPING, URL_OBJ + "mime_mapping.gif"); - registerImage(registry, IMG_MIME_EXTENSION, URL_OBJ + "mime_extension.gif"); - registerImage(registry, IMG_PORT, URL_OBJ + "port.gif"); - registerImage(registry, IMG_PROJECT_MISSING, URL_OBJ + "project_missing.gif"); - - return registry; - } - - /** - * Return the image with the given key from the image registry. - * @param key java.lang.String - * @return org.eclipse.jface.parts.IImage - */ - public static Image getImage(String key) { - return getInstance().getImageRegistry().get(key); - } - - /** - * Return the image with the given key from the image registry. - * @param key java.lang.String - * @return org.eclipse.jface.parts.IImage - */ - public static ImageDescriptor getImageDescriptor(String key) { - try { - getInstance().getImageRegistry(); - return (ImageDescriptor) getInstance().imageDescriptors.get(key); - } catch (Exception e) { - return null; - } - } - - /** - * Returns the singleton instance of this plugin. - * @return org.eclipse.jst.server.tomcat.internal.TomcatUIPlugin - */ - public static TomcatUIPlugin getInstance() { - return singleton; - } - - /** - * Convenience method for logging. - * - * @param status org.eclipse.core.runtime.IStatus - */ - public static void log(IStatus status) { - getInstance().getLog().log(status); - } - - /** - * Register an image with the registry. - * @param key java.lang.String - * @param partialURL java.lang.String - */ - private void registerImage(ImageRegistry registry, String key, String partialURL) { - if (ICON_BASE_URL == null) { - String pathSuffix = "icons/"; - ICON_BASE_URL = singleton.getBundle().getEntry(pathSuffix); - } - - try { - ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL)); - registry.put(key, id); - imageDescriptors.put(key, id); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error registering image", e); - } - } -}
\ No newline at end of file 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 deleted file mode 100644 index c2163b854..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal; -/** - * Helper class to route trace output. - */ -public class Trace { - public static byte CONFIG = 0; - public static byte WARNING = 1; - public static byte SEVERE = 2; - public static byte FINEST = 3; - public static byte FINER = 4; - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level the trace level - * @param s a message - */ - public static void trace(byte level, String s) { - Trace.trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level the trace level - * @param s a message - * @param t a throwable - */ - public static void trace(byte level, String s, Throwable t) { - if (!TomcatUIPlugin.getInstance().isDebugging()) - return; - - System.out.println(TomcatUIPlugin.PLUGIN_ID + " " + s); - if (t != null) - t.printStackTrace(); - } -}
\ 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 deleted file mode 100644 index 625e295e3..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java +++ /dev/null @@ -1,426 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal.editor; - -import java.beans.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.wst.server.ui.editor.*; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -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.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.Messages; -import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin; -import org.eclipse.ui.*; -import org.eclipse.ui.forms.widgets.ExpandableComposite; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.ui.forms.widgets.Section; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -/** - * Tomcat configuration mime editor section. - */ -public class ConfigurationMimeEditorSection extends ServerEditorSection { - protected TomcatConfiguration tomcatConfiguration; - - protected boolean updating; - - protected PropertyChangeListener listener; - - protected Tree mimeTypes; - protected int index = -1; - protected List mappings; - protected Button add; - protected Button remove; - protected Button edit; - - /** - * ConfigurationMimeEditorSection constructor comment. - */ - public ConfigurationMimeEditorSection() { - super(); - } - - /** - * - */ - protected void addChangeListener() { - listener = new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if (TomcatConfiguration.ADD_MAPPING_PROPERTY.equals(event.getPropertyName())) { - Integer in = (Integer) event.getOldValue(); - MimeMapping mapping = (MimeMapping) event.getNewValue(); - addMimeMapping(in.intValue(), mapping); - } else if (TomcatConfiguration.REMOVE_MAPPING_PROPERTY.equals(event.getPropertyName())) { - Integer in = (Integer) event.getNewValue(); - removeMimeMapping(in.intValue()); - } else if (TomcatConfiguration.MODIFY_MAPPING_PROPERTY.equals(event.getPropertyName())) { - Integer in = (Integer) event.getOldValue(); - MimeMapping mapping = (MimeMapping) event.getNewValue(); - modifyMimeMapping(in.intValue(), mapping); - } - } - }; - tomcatConfiguration.addPropertyChangeListener(listener); - } - - public void createSection(Composite parent) { - super.createSection(parent); - - FormToolkit toolkit = getFormToolkit(parent.getDisplay()); - - Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR - | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE); - section.setText(Messages.configurationEditorMimeMappingsSection); - section.setDescription(Messages.configurationEditorMimeMappingsDescription); - section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - Composite composite = toolkit.createComposite(section); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = 5; - layout.marginWidth = 10; - layout.verticalSpacing = 5; - layout.horizontalSpacing = 15; - composite.setLayout(layout); - GridData data = new GridData(GridData.FILL_BOTH); - composite.setLayoutData(data); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_MAPPINGS); - toolkit.paintBordersFor(composite); - section.setClient(composite); - - mimeTypes = toolkit.createTree(composite, SWT.V_SCROLL | SWT.SINGLE | SWT.H_SCROLL); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - data.widthHint = 220; - data.heightHint = 200; - mimeTypes.setLayoutData(data); - whs.setHelp(mimeTypes, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_LIST); - - // add listener to the table - mimeTypes.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - selectMimeMapping(); - } - }); - - Composite buttonComp = toolkit.createComposite(composite); - layout = new GridLayout(); - layout.marginHeight = 0; - layout.marginWidth = 0; - buttonComp.setLayout(layout); - buttonComp.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING)); - - add = toolkit.createButton(buttonComp, Messages.editorAdd, SWT.PUSH); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.widthHint = 75; - add.setLayoutData(data); - - add.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - MimeMappingDialog dialog = new MimeMappingDialog(getShell()); - dialog.open(); - if (dialog.getReturnCode() == IDialogConstants.OK_ID) { - execute(new AddMimeMappingCommand(tomcatConfiguration, dialog.getMimeMapping())); - } - } - }); - whs.setHelp(add, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_ADD); - - edit = toolkit.createButton(buttonComp, Messages.editorEdit, SWT.PUSH); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.widthHint = 75; - edit.setLayoutData(data); - edit.setEnabled(false); - - edit.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (index < 0) - return; - MimeMappingDialog dialog = new MimeMappingDialog(getShell(), (MimeMapping) tomcatConfiguration.getMimeMappings().get(index)); - dialog.open(); - if (dialog.getReturnCode() == IDialogConstants.OK_ID) { - execute(new ModifyMimeMappingCommand(tomcatConfiguration, index, dialog.getMimeMapping())); - } - } - }); - whs.setHelp(edit, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_EDIT); - - remove = toolkit.createButton(buttonComp, Messages.editorRemove, SWT.PUSH); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.widthHint = 75; - remove.setLayoutData(data); - remove.setEnabled(false); - - remove.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (index < 0) - return; - execute(new RemoveMimeMappingCommand(tomcatConfiguration, index)); - index = -1; - edit.setEnabled(false); - remove.setEnabled(false); - } - }); - whs.setHelp(remove, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_REMOVE); - - initialize(); - } - - public void dispose() { - if (tomcatConfiguration != null) - tomcatConfiguration.removePropertyChangeListener(listener); - } - - public void init(IEditorSite site, IEditorInput input) { - super.init(site, input); - - TomcatServer ts = (TomcatServer) server.getAdapter(TomcatServer.class); - try { - tomcatConfiguration = ts.getTomcatConfiguration(); - } catch (Exception e) { - // ignore - } - addChangeListener(); - initialize(); - } - - /** - * Initialize the fields in this editor. - */ - protected void initialize() { - if (mimeTypes == null) - return; - - mimeTypes.removeAll(); - - mappings = tomcatConfiguration.getMimeMappings(); - - // sort mappings - int size = mappings.size(); - int[] map = new int[size]; - for (int i = 0; i < size; i++) - map[i] = i; - - for (int i = 0; i < size - 1; i++) { - for (int j = i + 1; j < size; j++) { - MimeMapping mappingA = (MimeMapping) mappings.get(map[i]); - MimeMapping mappingB = (MimeMapping) mappings.get(map[j]); - if (mappingA.getMimeType().compareTo(mappingB.getMimeType()) > 0 || - ((mappingA.getMimeType().equals(mappingB.getMimeType())) && - mappingA.getExtension().compareTo(mappingB.getExtension()) > 0)) { - int temp = map[i]; - map[i] = map[j]; - map[j] = temp; - } - } - } - - // display them - Map hash = new HashMap(); - - for (int i = 0; i < size; i++) { - MimeMapping mapping = (MimeMapping) mappings.get(map[i]); - // get parent node - TreeItem parent = (TreeItem) hash.get(mapping.getMimeType()); - if (parent == null) { - parent = new TreeItem(mimeTypes, SWT.NONE); - parent.setText(mapping.getMimeType()); - parent.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING)); - hash.put(mapping.getMimeType(), parent); - } - - // add node - TreeItem item = new TreeItem(parent, SWT.NONE); - item.setText(mapping.getExtension()); - item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION)); - item.setData(new Integer(map[i])); - } - - if (readOnly) { - add.setEnabled(false); - edit.setEnabled(false); - remove.setEnabled(false); - } else { - add.setEnabled(true); - selectMimeMapping(); - } - } - - /** - * Add a mime mapping. - * - * @param index2 - * @param map - */ - protected void addMimeMapping(int index2, MimeMapping map) { - mappings.add(index2, map); - - // correct all index numbers - int size = mimeTypes.getItemCount(); - TreeItem[] parents = mimeTypes.getItems(); - for (int i = 0; i < size; i++) { - TreeItem parent = parents[i]; - - int size2 = parent.getItemCount(); - TreeItem[] children = parent.getItems(); - for (int j = 0; j < size2; j++) { - Integer in = (Integer) children[j].getData(); - if (in.intValue() >= index2) - children[j].setData(new Integer(in.intValue() + 1)); - } - } - - // check if there is a parent. If so, just add a new child - for (int i = 0; i < size; i++) { - TreeItem parent = parents[i]; - if (parent.getText().equals(map.getMimeType())) { - TreeItem item = new TreeItem(parent, SWT.NONE); - item.setText(map.getExtension()); - item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION)); - item.setData(new Integer(index2)); - mimeTypes.showItem(item); - return; - } - } - - // if not, add a new parent and child to the end - TreeItem parent = new TreeItem(mimeTypes, SWT.NONE); - parent.setText(map.getMimeType()); - parent.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING)); - - TreeItem item = new TreeItem(parent, SWT.NONE); - item.setText(map.getExtension()); - item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION)); - item.setData(new Integer(index2)); - mimeTypes.showItem(item); - } - - /** - * - * @param index2 - * @param map - */ - protected void modifyMimeMapping(int index2, MimeMapping map) { - MimeMapping oldMap = (MimeMapping) mappings.get(index2); - mappings.set(index2, map); - - int size = mimeTypes.getItemCount(); - TreeItem[] parents = mimeTypes.getItems(); - - if (oldMap.getMimeType().equals(map.getMimeType())) { - for (int i = 0; i < size; i++) { - TreeItem parent = parents[i]; - - if (parent.getText().equals(map.getMimeType())) { - int size2 = parent.getItemCount(); - TreeItem[] children = parent.getItems(); - for (int j = 0; j < size2; j++) { - Integer in = (Integer) children[j].getData(); - if (in.intValue() == index2) { - children[j].setText(map.getExtension()); - children[j].setData(new Integer(index2)); - mimeTypes.showItem(children[j]); - return; - } - } - } - } - return; - } - - // otherwise, let's try a remove and an add - removeMimeMapping(index2); - addMimeMapping(index2, map); - } - - /** - * Remove the mime mapping at the given index. - * - * @param index2 - */ - protected void removeMimeMapping(int index2) { - mappings.remove(index2); - - // remove item - int size = mimeTypes.getItemCount(); - TreeItem[] parents = mimeTypes.getItems(); - for (int i = 0; i < size; i++) { - TreeItem parent = parents[i]; - - int size2 = parent.getItemCount(); - TreeItem[] children = parent.getItems(); - for (int j = 0; j < size2; j++) { - Integer in = (Integer) children[j].getData(); - if (in.intValue() == index2) { - children[j].dispose(); - if (size2 == 1) - parent.dispose(); - i += size; - j += size2; - } - } - } - - // correct all index numbers - size = mimeTypes.getItemCount(); - parents = mimeTypes.getItems(); - for (int i = 0; i < size; i++) { - TreeItem parent = parents[i]; - - int size2 = parent.getItemCount(); - TreeItem[] children = parent.getItems(); - for (int j = 0; j < size2; j++) { - Integer in = (Integer) children[j].getData(); - if (in.intValue() > index2) - children[j].setData(new Integer(in.intValue() - 1)); - } - } - } - - /** - * - */ - protected void selectMimeMapping() { - if (readOnly) - return; - - try { - TreeItem item = mimeTypes.getSelection()[0]; - Integer in = (Integer) item.getData(); - if (in == null) { - index = -1; - remove.setEnabled(false); - edit.setEnabled(false); - return; - } - index = in.intValue(); - - remove.setEnabled(true); - edit.setEnabled(true); - } catch (Exception e) { - index = -1; - remove.setEnabled(false); - edit.setEnabled(false); - } - } -}
\ 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/ConfigurationPortEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java deleted file mode 100644 index 67bfcb1c7..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java +++ /dev/null @@ -1,248 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal.editor; - -import java.beans.*; -import java.util.Iterator; - -import org.eclipse.wst.server.core.ServerPort; -import org.eclipse.wst.server.ui.editor.*; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Item; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.jface.viewers.*; -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.Messages; -import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin; -import org.eclipse.ui.*; -import org.eclipse.ui.forms.widgets.ExpandableComposite; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.ui.forms.widgets.Section; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -/** - * Tomcat configuration port editor page. - */ -public class ConfigurationPortEditorSection extends ServerEditorSection { - protected TomcatConfiguration tomcatConfiguration; - - protected boolean updating; - - protected Table ports; - protected TableViewer viewer; - - protected PropertyChangeListener listener; - - /** - * ConfigurationPortEditorSection constructor comment. - */ - public ConfigurationPortEditorSection() { - super(); - } - - /** - * - */ - protected void addChangeListener() { - listener = new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if (TomcatConfiguration.MODIFY_PORT_PROPERTY.equals(event.getPropertyName())) { - String id = (String) event.getOldValue(); - Integer i = (Integer) event.getNewValue(); - changePortNumber(id, i.intValue()); - } - } - }; - tomcatConfiguration.addPropertyChangeListener(listener); - } - - /** - * - * @param id java.lang.String - * @param port int - */ - protected void changePortNumber(String id, int port) { - TableItem[] items = ports.getItems(); - int size = items.length; - for (int i = 0; i < size; i++) { - ServerPort sp = (ServerPort) items[i].getData(); - if (sp.getId().equals(id)) { - items[i].setData(new ServerPort(id, sp.getName(), port, sp.getProtocol())); - items[i].setText(1, port + ""); - /*if (i == selection) { - selectPort(); - }*/ - return; - } - } - } - - /** - * Creates the SWT controls for this workbench part. - * - * @param parent the parent control - */ - public void createSection(Composite parent) { - super.createSection(parent); - FormToolkit toolkit = getFormToolkit(parent.getDisplay()); - - Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED - | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE); - section.setText(Messages.configurationEditorPortsSection); - section.setDescription(Messages.configurationEditorPortsDescription); - section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - // ports - Composite composite = toolkit.createComposite(section); - GridLayout layout = new GridLayout(); - layout.marginHeight = 8; - layout.marginWidth = 8; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.FILL_HORIZONTAL)); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_PORTS); - toolkit.paintBordersFor(composite); - section.setClient(composite); - - ports = toolkit.createTable(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION); - ports.setHeaderVisible(true); - ports.setLinesVisible(true); - whs.setHelp(ports, ContextIds.CONFIGURATION_EDITOR_PORTS_LIST); - - TableLayout tableLayout = new TableLayout(); - - TableColumn col = new TableColumn(ports, SWT.NONE); - col.setText(Messages.configurationEditorPortNameColumn); - ColumnWeightData colData = new ColumnWeightData(15, 150, true); - tableLayout.addColumnData(colData); - - col = new TableColumn(ports, SWT.NONE); - col.setText(Messages.configurationEditorPortValueColumn); - colData = new ColumnWeightData(8, 80, true); - tableLayout.addColumnData(colData); - - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - data.widthHint = 230; - data.heightHint = 100; - ports.setLayoutData(data); - ports.setLayout(tableLayout); - - viewer = new TableViewer(ports); - viewer.setColumnProperties(new String[] {"name", "port"}); - - initialize(); - } - - protected void setupPortEditors() { - viewer.setCellEditors(new CellEditor[] {null, new TextCellEditor(ports)}); - - ICellModifier cellModifier = new ICellModifier() { - public Object getValue(Object element, String property) { - ServerPort sp = (ServerPort) element; - if (sp.getPort() < 0) - return "-"; - return sp.getPort() + ""; - } - - public boolean canModify(Object element, String property) { - if ("port".equals(property)) - return true; - - return false; - } - - public void modify(Object element, String property, Object value) { - try { - Item item = (Item) element; - ServerPort sp = (ServerPort) item.getData(); - int port = Integer.parseInt((String) value); - execute(new ModifyPortCommand(tomcatConfiguration, sp.getId(), port)); - } catch (Exception ex) { - // ignore - } - } - }; - viewer.setCellModifier(cellModifier); - - // preselect second column (Windows-only) - String os = System.getProperty("os.name"); - if (os != null && os.toLowerCase().indexOf("win") >= 0) { - ports.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - try { - int n = ports.getSelectionIndex(); - viewer.editElement(ports.getItem(n).getData(), 1); - } catch (Exception e) { - // ignore - } - } - }); - } - } - - public void dispose() { - if (tomcatConfiguration != null) - tomcatConfiguration.removePropertyChangeListener(listener); - } - - /* (non-Javadoc) - * Initializes the editor part with a site and input. - */ - public void init(IEditorSite site, IEditorInput input) { - super.init(site, input); - - TomcatServer ts = (TomcatServer) server.getAdapter(TomcatServer.class); - try { - tomcatConfiguration = ts.getTomcatConfiguration(); - } catch (Exception e) { - // ignore - } - addChangeListener(); - initialize(); - } - - /** - * Initialize the fields in this editor. - */ - protected void initialize() { - if (ports == null) - return; - - ports.removeAll(); - - Iterator iterator = tomcatConfiguration.getServerPorts().iterator(); - while (iterator.hasNext()) { - ServerPort port = (ServerPort) iterator.next(); - TableItem item = new TableItem(ports, SWT.NONE); - String portStr = "-"; - if (port.getPort() >= 0) - portStr = port.getPort() + ""; - String[] s = new String[] {port.getName(), portStr}; - item.setText(s); - item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PORT)); - item.setData(port); - } - - if (readOnly) { - viewer.setCellEditors(new CellEditor[] {null, null}); - viewer.setCellModifier(null); - } else { - setupPortEditors(); - } - } -}
\ 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 deleted file mode 100644 index 3867e9bc2..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java +++ /dev/null @@ -1,416 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal.editor; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.io.File; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.TableLayout; -import org.eclipse.jst.server.core.IWebModule; -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy; -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.WebModule; -import org.eclipse.jst.server.tomcat.core.internal.command.AddModuleCommand; -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.RemoveModuleCommand; -import org.eclipse.jst.server.tomcat.core.internal.command.RemoveWebModuleCommand; -import org.eclipse.jst.server.tomcat.ui.internal.ContextIds; -import org.eclipse.jst.server.tomcat.ui.internal.Messages; -import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.forms.widgets.ExpandableComposite; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.ui.forms.widgets.ScrolledForm; -import org.eclipse.ui.forms.widgets.Section; -import org.eclipse.ui.help.IWorkbenchHelpSystem; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.ui.ServerUICore; -import org.eclipse.wst.server.ui.editor.ServerEditorPart; -/** - * Tomcat configuration web module editor page. - */ -public class ConfigurationWebModuleEditorPart extends ServerEditorPart { - protected ITomcatServerWorkingCopy server2; - protected TomcatConfiguration configuration; - - protected Table webAppTable; - protected int selection = -1; - protected Button addProject; - protected Button addExtProject; - protected Button remove; - protected Button edit; - - protected PropertyChangeListener listener; - - /** - * ConfigurationWebModuleEditorPart constructor comment. - */ - public ConfigurationWebModuleEditorPart() { - super(); - } - - /** - * - */ - protected void addChangeListener() { - listener = new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if (TomcatConfiguration.MODIFY_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) { - initialize(); - } else if (TomcatConfiguration.ADD_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) { - initialize(); - } else if (TomcatConfiguration.REMOVE_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) { - initialize(); - } - } - }; - configuration.addPropertyChangeListener(listener); - } - - /** - * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) - */ - public void createPartControl(Composite parent) { - FormToolkit toolkit = getFormToolkit(parent.getDisplay()); - - ScrolledForm form = toolkit.createScrolledForm(parent); - form.setText(Messages.configurationEditorWebModulesPageTitle); - form.getBody().setLayout(new GridLayout()); - - Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED - | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE); - section.setText(Messages.configurationEditorWebModulesSection); - section.setDescription(Messages.configurationEditorWebModulesDescription); - section.setLayoutData(new GridData(GridData.FILL_BOTH)); - - Composite composite = toolkit.createComposite(section); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = 5; - layout.marginWidth = 10; - layout.verticalSpacing = 5; - layout.horizontalSpacing = 15; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_WEBMODULES); - toolkit.paintBordersFor(composite); - section.setClient(composite); - - webAppTable = toolkit.createTable(composite, SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION); - webAppTable.setHeaderVisible(true); - webAppTable.setLinesVisible(true); - whs.setHelp(webAppTable, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_LIST); - //toolkit.paintBordersFor(webAppTable); - - TableLayout tableLayout = new TableLayout(); - - TableColumn col = new TableColumn(webAppTable, SWT.NONE); - col.setText(Messages.configurationEditorPathColumn); - ColumnWeightData colData = new ColumnWeightData(8, 85, true); - tableLayout.addColumnData(colData); - - TableColumn col2 = new TableColumn(webAppTable, SWT.NONE); - col2.setText(Messages.configurationEditorDocBaseColumn); - colData = new ColumnWeightData(13, 135, true); - tableLayout.addColumnData(colData); - - TableColumn col3 = new TableColumn(webAppTable, SWT.NONE); - col3.setText(Messages.configurationEditorProjectColumn); - colData = new ColumnWeightData(8, 85, true); - tableLayout.addColumnData(colData); - - TableColumn col4 = new TableColumn(webAppTable, SWT.NONE); - col4.setText(Messages.configurationEditorReloadColumn); - colData = new ColumnWeightData(7, 75, true); - tableLayout.addColumnData(colData); - - webAppTable.setLayout(tableLayout); - - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.widthHint = 450; - data.heightHint = 120; - webAppTable.setLayoutData(data); - webAppTable.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - selectWebApp(); - } - }); - - Composite rightPanel = toolkit.createComposite(composite); - layout = new GridLayout(); - layout.marginHeight = 0; - layout.marginWidth = 0; - rightPanel.setLayout(layout); - data = new GridData(); - rightPanel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING)); - //toolkit.paintBordersFor(rightPanel); - - // buttons still to add: - // add project, add external module, remove module - addProject = toolkit.createButton(rightPanel, Messages.configurationEditorAddProjectModule, SWT.PUSH); - data = new GridData(GridData.FILL_HORIZONTAL); - addProject.setLayoutData(data); - whs.setHelp(addProject, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_ADD_PROJECT); - - // disable the add project module button if there are no - // web projects in the workbench - if (!canAddWebModule()) - addProject.setEnabled(false); - else { - addProject.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, true); - dialog.open(); - if (dialog.getReturnCode() == IDialogConstants.OK_ID) { - execute(new AddModuleCommand(getServer(), dialog.module4)); - } - } - }); - } - - addExtProject = toolkit.createButton(rightPanel, Messages.configurationEditorAddExternalModule, SWT.PUSH); - data = new GridData(GridData.FILL_HORIZONTAL); - addExtProject.setLayoutData(data); - addExtProject.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, false); - dialog.open(); - if (dialog.getReturnCode() == IDialogConstants.OK_ID) { - execute(new AddWebModuleCommand(configuration, dialog.getWebModule())); - } - } - }); - whs.setHelp(addExtProject, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_ADD_EXTERNAL); - - edit = toolkit.createButton(rightPanel, Messages.editorEdit, SWT.PUSH); - data = new GridData(GridData.FILL_HORIZONTAL); - edit.setLayoutData(data); - edit.setEnabled(false); - edit.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (selection < 0) - return; - WebModule module = (WebModule) configuration.getWebModules().get(selection); - WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, module); - dialog.open(); - if (dialog.getReturnCode() == IDialogConstants.OK_ID) { - execute(new ModifyWebModuleCommand(configuration, selection, dialog.getWebModule())); - } - } - }); - whs.setHelp(edit, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_EDIT); - - remove = toolkit.createButton(rightPanel, Messages.editorRemove, SWT.PUSH); - data = new GridData(GridData.FILL_HORIZONTAL); - remove.setLayoutData(data); - remove.setEnabled(false); - remove.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (selection < 0) - return; - TableItem item = webAppTable.getItem(selection); - if (item.getData() != null) { - IModule module = (IModule) item.getData(); - execute(new RemoveModuleCommand(getServer(), module)); - } else { - execute(new RemoveWebModuleCommand(configuration, selection)); - } - remove.setEnabled(false); - edit.setEnabled(false); - selection = -1; - } - }); - whs.setHelp(remove, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_REMOVE); - - form.setContent(section); - form.reflow(true); - - initialize(); - } - - protected boolean canAddWebModule() { - 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].loadAdapter(IWebModule.class, null); - 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 (configuration != null) - configuration.removePropertyChangeListener(listener); - } - - /* (non-Javadoc) - * Initializes the editor part with a site and input. - */ - public void init(IEditorSite site, IEditorInput input) { - super.init(site, input); - - TomcatServer ts = (TomcatServer) server.loadAdapter(TomcatServer.class, null); - try { - configuration = ts.getTomcatConfiguration(); - } catch (Exception e) { - // ignore - } - if (configuration != null) - addChangeListener(); - - if (server != null) - server2 = (ITomcatServerWorkingCopy) server.loadAdapter(ITomcatServerWorkingCopy.class, null); - - initialize(); - } - - /** - * - */ - protected void initialize() { - if (webAppTable == null) - return; - - webAppTable.removeAll(); - setErrorMessage(null); - - List list = configuration.getWebModules(); - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - WebModule module = (WebModule) iterator.next(); - TableItem item = new TableItem(webAppTable, SWT.NONE); - - // FIX-ME - String memento = module.getMemento(); - String projectName = ""; - Image projectImage = null; - if (memento != null && memento.length() > 0) { - projectName = NLS.bind(Messages.configurationEditorProjectMissing, new String[] {memento}); - projectImage = TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PROJECT_MISSING); - IModule module2 = ServerUtil.getModule(memento); - if (module2 != null) { - projectName = ServerUICore.getLabelProvider().getText(module2); - projectImage = ServerUICore.getLabelProvider().getImage(module2); - item.setData(module2); - } - } - - String reload = module.isReloadable() ? Messages.configurationEditorReloadEnabled : Messages.configurationEditorReloadDisabled; - String[] s = new String[] {module.getPath(), module.getDocumentBase(), projectName, reload}; - item.setText(s); - item.setImage(0, TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_WEB_MODULE)); - if (projectImage != null) - item.setImage(2, projectImage); - - if (!isDocumentBaseValid(module.getDocumentBase())) { - item.setImage(1, TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PROJECT_MISSING)); - setErrorMessage(NLS.bind(Messages.errorMissingWebModule, module.getDocumentBase())); - } - } - - if (readOnly) { - addProject.setEnabled(false); - addExtProject.setEnabled(false); - edit.setEnabled(false); - remove.setEnabled(false); - } else { - addProject.setEnabled(canAddWebModule()); - addExtProject.setEnabled(true); - } - } - - /** - * - */ - protected void selectWebApp() { - if (readOnly) - return; - - try { - selection = webAppTable.getSelectionIndex(); - remove.setEnabled(true); - edit.setEnabled(true); - } catch (Exception e) { - selection = -1; - remove.setEnabled(false); - edit.setEnabled(false); - } - } - - protected boolean isDocumentBaseValid(String s) { - if (s == null || s.length() < 2) - return true; - - // check absolute path - File f = new File(s); - if (f.exists()) - return true; - - // check workspace - try { - if (ResourcesPlugin.getWorkspace().getRoot().getProject(s).exists()) - return true; - } catch (Exception e) { - // bad path - } - - // check server relative path - try { - f = server.getRuntime().getLocation().append(s).toFile(); - if (f.exists()) - return true; - } catch (Exception e) { - // bad path - } - - return false; - } - - /* - * @see IWorkbenchPart#setFocus() - */ - public void setFocus() { - if (webAppTable != null) - webAppTable.setFocus(); - } -}
\ 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/MimeMappingDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java deleted file mode 100644 index cf65ff871..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java +++ /dev/null @@ -1,155 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal.editor; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jst.server.tomcat.core.internal.MimeMapping; -import org.eclipse.jst.server.tomcat.ui.internal.ContextIds; -import org.eclipse.jst.server.tomcat.ui.internal.Messages; -import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -/** - * Dialog to add or modify mime mappings. - */ -public class MimeMappingDialog extends Dialog { - protected MimeMapping map; - protected boolean isEdit; - - /** - * MimeMappingDialog constructor comment. - * @param parentShell org.eclipse.swt.widgets.Shell - */ - public MimeMappingDialog(Shell parentShell) { - this(parentShell, new MimeMapping("", "")); - isEdit = false; - } - - /** - * MimeMappingDialog constructor. - * - * @param parentShell a shell - * @param map a mime mapping - */ - public MimeMappingDialog(Shell parentShell, MimeMapping map) { - super(parentShell); - this.map = map; - isEdit = true; - } - - /** - * - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING)); - if (isEdit) - newShell.setText(Messages.configurationEditorMimeMapppingDialogTitleEdit); - else - newShell.setText(Messages.configurationEditorMimeMapppingDialogTitleAdd); - } - - /** - * Creates and returns the contents of the upper part - * of this dialog (above the button bar). - * <p> - * The <code>Dialog</code> implementation of this framework method - * creates and returns a new <code>Composite</code> with - * standard margins and spacing. Subclasses should override. - * </p> - * - * @param parent the parent composite to contain the dialog area - * @return the dialog area control - */ - protected Control createDialogArea(Composite parent) { - // create a composite with standard margins and spacing - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); - layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); - layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - composite.setFont(parent.getFont()); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG); - - new Label(composite, SWT.NONE).setText(Messages.configurationEditorMimeMapppingDialogMimeType); - final Text type = new Text(composite, SWT.BORDER); - GridData data = new GridData(); - data.widthHint = 150; - type.setLayoutData(data); - type.setText(map.getMimeType()); - type.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - map = new MimeMapping(map.getExtension(), type.getText()); - validate(); - } - }); - whs.setHelp(type, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG_TYPE); - - new Label(composite, SWT.NONE).setText(Messages.configurationEditorMimeMapppingDialogMimeExtension); - final Text extension = new Text(composite, SWT.BORDER); - data = new GridData(); - data.widthHint = 150; - extension.setLayoutData(data); - extension.setText(map.getExtension()); - extension.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - map = new MimeMapping(extension.getText(), map.getMimeType()); - validate(); - } - }); - whs.setHelp(extension, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG_EXTENSION); - - Dialog.applyDialogFont(composite); - - return composite; - } - - protected Control createButtonBar(Composite parent) { - Control control = super.createButtonBar(parent); - validate(); - - return control; - } - - protected void validate() { - boolean ok = true; - if (map.getExtension() == null || map.getExtension().length() < 1) - ok = false; - if (map.getMimeType() == null || map.getMimeType().length() < 1) - ok = false; - getButton(IDialogConstants.OK_ID).setEnabled(ok); - } - - /** - * Return the mime mapping. - * - * @return org.eclipse.jst.server.tomcat.MimeMapping - */ - public MimeMapping getMimeMapping() { - return map; - } -}
\ 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/ServerGeneralEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java deleted file mode 100644 index b6c0a253d..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java +++ /dev/null @@ -1,203 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal.editor; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; - -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServer; -import org.eclipse.jst.server.tomcat.core.internal.TomcatServer; -import org.eclipse.jst.server.tomcat.core.internal.command.SetDebugModeCommand; -import org.eclipse.jst.server.tomcat.core.internal.command.SetSecureCommand; -import org.eclipse.jst.server.tomcat.core.internal.command.SetTestEnvironmentCommand; -import org.eclipse.jst.server.tomcat.ui.internal.ContextIds; -import org.eclipse.jst.server.tomcat.ui.internal.Messages; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.forms.widgets.ExpandableComposite; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.ui.forms.widgets.Section; -import org.eclipse.ui.help.IWorkbenchHelpSystem; - -import org.eclipse.wst.server.ui.editor.*; -/** - * Tomcat server general editor page. - */ -public class ServerGeneralEditorSection extends ServerEditorSection { - protected TomcatServer tomcatServer; - - protected Button secure; - protected Button debug; - protected Button testEnvironment; - protected boolean updating; - - protected PropertyChangeListener listener; - - /** - * ServerGeneralEditorPart constructor comment. - */ - public ServerGeneralEditorSection() { - // do nothing - } - - /** - * - */ - protected void addChangeListener() { - listener = new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if (updating) - return; - updating = true; - if (TomcatServer.PROPERTY_SECURE.equals(event.getPropertyName())) { - Boolean b = (Boolean) event.getNewValue(); - ServerGeneralEditorSection.this.secure.setSelection(b.booleanValue()); - } else if (TomcatServer.PROPERTY_DEBUG.equals(event.getPropertyName())) { - Boolean b = (Boolean) event.getNewValue(); - ServerGeneralEditorSection.this.debug.setSelection(b.booleanValue()); - } else if (ITomcatServer.PROPERTY_TEST_ENVIRONMENT.equals(event.getPropertyName())) { - Boolean b = (Boolean) event.getNewValue(); - ServerGeneralEditorSection.this.testEnvironment.setSelection(b.booleanValue()); - } - updating = false; - } - }; - server.addPropertyChangeListener(listener); - } - - /** - * Creates the SWT controls for this workbench part. - * - * @param parent the parent control - */ - public void createSection(Composite parent) { - super.createSection(parent); - FormToolkit toolkit = getFormToolkit(parent.getDisplay()); - - Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED - | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE); - section.setText(Messages.serverEditorGeneralSection); - section.setDescription(Messages.serverEditorGeneralDescription); - section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - Composite composite = toolkit.createComposite(section); - GridLayout layout = new GridLayout(); - layout.numColumns = 3; - layout.marginHeight = 5; - layout.marginWidth = 10; - layout.verticalSpacing = 5; - layout.horizontalSpacing = 15; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.SERVER_EDITOR); - toolkit.paintBordersFor(composite); - section.setClient(composite); - - // test environment - testEnvironment = toolkit.createButton(composite, Messages.serverEditorTestEnvironment, SWT.CHECK); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - testEnvironment.setLayoutData(data); - testEnvironment.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - if (updating) - return; - updating = true; - execute(new SetTestEnvironmentCommand(tomcatServer, testEnvironment.getSelection())); - updating = false; - } - }); - whs.setHelp(testEnvironment, ContextIds.SERVER_EDITOR_TEST_ENVIRONMENT); - - // security - secure = toolkit.createButton(composite, Messages.serverEditorSecure, SWT.CHECK); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - secure.setLayoutData(data); - secure.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - if (updating) - return; - updating = true; - execute(new SetSecureCommand(tomcatServer, secure.getSelection())); - updating = false; - } - }); - whs.setHelp(secure, ContextIds.SERVER_EDITOR_SECURE); - - // debug mode - debug = toolkit.createButton(composite, Messages.serverEditorDebugMode, SWT.CHECK); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - debug.setLayoutData(data); - debug.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - if (updating) - return; - updating = true; - execute(new SetDebugModeCommand(tomcatServer, debug.getSelection())); - updating = false; - } - }); - whs.setHelp(debug, ContextIds.SERVER_EDITOR_DEBUG_MODE); - - initialize(); - } - - public void dispose() { - if (server != null) - server.removePropertyChangeListener(listener); - } - - public void init(IEditorSite site, IEditorInput input) { - super.init(site, input); - - if (server != null) { - tomcatServer = (TomcatServer) server.loadAdapter(TomcatServer.class, null); - addChangeListener(); - } - initialize(); - } - - /** - * Initialize the fields in this editor. - */ - protected void initialize() { - if (secure == null || tomcatServer == null) - return; - updating = true; - - testEnvironment.setSelection(tomcatServer.isTestEnvironment()); - secure.setSelection(tomcatServer.isSecure()); - if (server.getRuntime() != null && server.getRuntime().getRuntimeType().getId().indexOf("32") >= 0 || readOnly) - debug.setEnabled(false); - else { - debug.setEnabled(true); - debug.setSelection(tomcatServer.isDebug()); - } - - if (readOnly) - secure.setEnabled(false); - else - secure.setEnabled(true); - - updating = false; - } -}
\ 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 deleted file mode 100644 index 1b8dab7b2..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java +++ /dev/null @@ -1,288 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.tomcat.ui.internal.editor; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jst.server.core.IWebModule; -import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfiguration; -import org.eclipse.jst.server.tomcat.core.internal.ITomcatServer; -import org.eclipse.jst.server.tomcat.core.internal.WebModule; -import org.eclipse.jst.server.tomcat.ui.internal.ContextIds; -import org.eclipse.jst.server.tomcat.ui.internal.Messages; -import org.eclipse.jst.server.tomcat.ui.internal.Trace; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.help.IWorkbenchHelpSystem; - -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.ui.ServerUICore; -/** - * Dialog to add or modify web modules. - */ -public class WebModuleDialog extends Dialog { - protected IModule module4; - protected WebModule module; - protected boolean isEdit; - protected boolean isProject; - protected Text docBase; - protected IServerAttributes server2; - protected ITomcatServer server; - protected ITomcatConfiguration config; - - protected Table projTable; - - /** - * WebModuleDialog constructor comment. - * - * @param parentShell a shell - * @param server2 a server - * @param server a Tomcat server - * @param config a Tomcat server configuration - * @param module a module - */ - public 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; - } - - /** - * WebModuleDialog constructor comment. - * - * @param parentShell a shell - * @param server2 a server - * @param server a Tomcat server - * @param config a Tomcat server configuration - * @param isProject true if it is a project - */ - public 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; - } - - /** - * - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - if (isEdit) - newShell.setText(Messages.configurationEditorWebModuleDialogTitleEdit); - else - newShell.setText(Messages.configurationEditorWebModuleDialogTitleAdd); - } - - /** - * Creates and returns the contents of the upper part - * of this dialog (above the button bar). - * <p> - * The <code>Dialog</code> implementation of this framework method - * creates and returns a new <code>Composite</code> with - * standard margins and spacing. Subclasses should override. - * </p> - * - * @param parent the parent composite to contain the dialog area - * @return the dialog area control - */ - protected Control createDialogArea(Composite parent) { - // create a composite with standard margins and spacing - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 3; - layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); - layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); - layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - composite.setFont(parent.getFont()); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG); - // add project field if we are adding a project - if (!isEdit && isProject) { - Label l = new Label(composite, SWT.NONE); - l.setText(Messages.configurationEditorWebModuleDialogProjects); - GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING); - l.setLayoutData(data); - - projTable = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE); - data = new GridData(); - data.widthHint = 150; - data.heightHint = 75; - projTable.setLayoutData(data); - whs.setHelp(projTable, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PROJECT); - - // fill table with web module projects - 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]; - if ("jst.web".equals(module3.getModuleType().getId())) { - 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(module3)); - item.setImage(0, ServerUICore.getLabelProvider().getImage(module3)); - item.setData(module3); - } - } - } - } - new Label(composite, SWT.NONE).setText(" "); - } - - new Label(composite, SWT.NONE).setText(Messages.configurationEditorWebModuleDialogDocumentBase); - docBase = new Text(composite, SWT.BORDER); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - docBase.setLayoutData(data); - docBase.setText(module.getDocumentBase()); - whs.setHelp(docBase, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_DOCBASE); - - // disable document base for project modules - if (isProject || (module.getMemento() != null && module.getMemento().length() > 0)) - docBase.setEditable(false); - else { - docBase.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - module = new WebModule(module.getPath(), docBase.getText(), module.getMemento(), module.isReloadable()); - validate(); - } - }); - } - - if (isEdit || isProject) - new Label(composite, SWT.NONE).setText(" "); - else { - Button browse = new Button(composite, SWT.NONE); - browse.setText(Messages.browse); - browse.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - try { - DirectoryDialog dialog = new DirectoryDialog(getShell()); - dialog.setMessage(Messages.configurationEditorWebModuleDialogSelectDirectory); - String selectedDirectory = dialog.open(); - if (selectedDirectory != null) - docBase.setText(selectedDirectory); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error browsing", e); - } - } - }); - } - - // path (context-root) - new Label(composite, SWT.NONE).setText(Messages.configurationEditorWebModuleDialogPath); - final Text path = new Text(composite, SWT.BORDER); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.widthHint = 150; - path.setLayoutData(data); - path.setText(module.getPath()); - /*if (module.getMemento() != null && module.getMemento().length() > 0) - path.setEditable(false); - else*/ - path.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - module = new WebModule(path.getText(), module.getDocumentBase(), module.getMemento(), module.isReloadable()); - } - }); - whs.setHelp(path, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PATH); - - new Label(composite, SWT.NONE).setText(""); - - if (!isProject) { - // auto reload - new Label(composite, SWT.NONE).setText(""); - final Button reloadable = new Button(composite, SWT.CHECK); - reloadable.setText(Messages.configurationEditorWebModuleDialogReloadEnabled); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - reloadable.setLayoutData(data); - reloadable.setSelection(module.isReloadable()); - reloadable.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - module = new WebModule(module.getPath(), module.getDocumentBase(), module.getMemento(), reloadable.getSelection()); - } - }); - whs.setHelp(reloadable, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_RELOAD); - } - - if (!isEdit && isProject) { - projTable.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - try { - IModule module3 = (IModule) projTable.getSelection()[0].getData(); - IWebModule module2 = (IWebModule) module3.loadAdapter(IWebModule.class, null); - String contextRoot = module2.getContextRoot(); - if (contextRoot != null && !contextRoot.startsWith("/") && contextRoot.length() > 0) - contextRoot = "/" + contextRoot; - module = new WebModule(contextRoot, module3.getName(), module3.getId(), module.isReloadable()); - docBase.setText(module3.getName()); - path.setText(contextRoot); - module4 = module3; - } catch (Exception e) { - // ignore - } - validate(); - } - }); - new Label(composite, SWT.NONE).setText(""); - } - - Dialog.applyDialogFont(composite); - return composite; - } - - protected Control createButtonBar(Composite parent) { - Control control = super.createButtonBar(parent); - validate(); - - return control; - } - - protected void validate() { - boolean ok = true; - if (module.getDocumentBase() == null || module.getDocumentBase().length() < 1) - ok = false; - - getButton(IDialogConstants.OK_ID).setEnabled(ok); - } - - /** - * Return the mime mapping. - * - * @return org.eclipse.jst.server.tomcat.WebModule - */ - public WebModule getWebModule() { - return module; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/.classpath b/plugins/org.eclipse.jst.server.ui/.classpath deleted file mode 100644 index c41a03c70..000000000 --- a/plugins/org.eclipse.jst.server.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="sjavaui/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.jst.server.ui/.cvsignore b/plugins/org.eclipse.jst.server.ui/.cvsignore deleted file mode 100644 index 01997dd1d..000000000 --- a/plugins/org.eclipse.jst.server.ui/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -build.xml -org.eclipse.jst.server.ui_3.0.0.jar -sjavaui.jar -temp.folder -@dot -src.zip diff --git a/plugins/org.eclipse.jst.server.ui/.options b/plugins/org.eclipse.jst.server.ui/.options deleted file mode 100644 index a747d697c..000000000 --- a/plugins/org.eclipse.jst.server.ui/.options +++ /dev/null @@ -1,4 +0,0 @@ -# Debugging options for the org.eclipse.jst.server.ui plugin - -# Turn on general debugging -org.eclipse.jst.server.ui/debug=true diff --git a/plugins/org.eclipse.jst.server.ui/.project b/plugins/org.eclipse.jst.server.ui/.project deleted file mode 100644 index abd835da9..000000000 --- a/plugins/org.eclipse.jst.server.ui/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.jst.server.ui</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF deleted file mode 100644 index d05b51391..000000000 --- a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,25 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.jst.server.ui; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.jst.server.ui.internal.JavaServerUIPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.jst.server.ui.internal;x-internal:=true -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.debug.core, - org.eclipse.debug.ui, - org.eclipse.ui, - org.eclipse.jdt.core, - org.eclipse.jdt.launching, - org.eclipse.jdt.junit, - org.eclipse.wst.server.core, - org.eclipse.wst.server.ui, - org.eclipse.jst.server.core, - org.eclipse.ui.ide, - org.eclipse.jdt.ui, - org.eclipse.wst.common.project.facet.core, - org.eclipse.wst.common.project.facet.ui -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.jst.server.ui/about.html b/plugins/org.eclipse.jst.server.ui/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.jst.server.ui/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/build.properties b/plugins/org.eclipse.jst.server.ui/build.properties deleted file mode 100644 index d2cc1b014..000000000 --- a/plugins/org.eclipse.jst.server.ui/build.properties +++ /dev/null @@ -1,21 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - plugin.properties,\ - icons/,\ - .,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -src.includes = schema/ -source.. = sjavaui/ diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif Binary files differdeleted file mode 100644 index 4423578f1..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif Binary files differdeleted file mode 100644 index b5630b311..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif Binary files differdeleted file mode 100644 index f8b5c0a09..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif Binary files differdeleted file mode 100644 index 6059f865c..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif Binary files differdeleted file mode 100644 index cb55e33b5..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif Binary files differdeleted file mode 100644 index 1ff93cb93..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif Binary files differdeleted file mode 100644 index bf20f7017..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.gif b/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.gif Binary files differdeleted file mode 100644 index 30de91f23..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.gif b/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.gif Binary files differdeleted file mode 100644 index 4a71e9511..000000000 --- a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.jst.server.ui/plugin.properties b/plugins/org.eclipse.jst.server.ui/plugin.properties deleted file mode 100644 index d238a55cc..000000000 --- a/plugins/org.eclipse.jst.server.ui/plugin.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=Java Server UI Support -providerName=Eclipse.org - -cactusJUnitClient=JUnit Client -cactusServletTestCase=Servlet Test Case diff --git a/plugins/org.eclipse.jst.server.ui/plugin.xml b/plugins/org.eclipse.jst.server.ui/plugin.xml deleted file mode 100644 index 606fe770f..000000000 --- a/plugins/org.eclipse.jst.server.ui/plugin.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - <extension point="org.eclipse.wst.server.ui.serverImages"> - <image - id="org.eclipse.jst.server" - typeIds="org.eclipse.jst.server.core.runtimeType" - icon="icons/obj16/java_jar.gif"/> - <image - id="org.eclipse.jst.server" - typeIds="jst.web" - icon="icons/obj16/web_module.gif"/> - <image - id="org.eclipse.jst.server" - typeIds="jst.ejb" - icon="icons/obj16/ejb_module.gif"/> - <image - id="org.eclipse.jst.server" - typeIds="jst.ear" - icon="icons/obj16/ear.gif"/> - <image - id="org.eclipse.jst.server" - typeIds="jst.appclient" - icon="icons/obj16/appclient_module.gif"/> - <image - id="org.eclipse.jst.server" - typeIds="jst.connector" - icon="icons/obj16/java_jar.gif"/> - <image - id="org.eclipse.jst.server" - typeIds="jst.utility" - icon="icons/obj16/java_jar.gif"/> - </extension> - - <extension point="org.eclipse.wst.server.ui.wizardFragments"> - <fragment - id="org.eclipse.jst.server.core.runtimeType" - typeIds="org.eclipse.jst.server.core.runtimeType" - class="org.eclipse.jst.server.ui.internal.GenericRuntimeWizardFragment"/> - </extension> - - <extension point="org.eclipse.wst.server.core.clients"> - <client - id="org.eclipse.jst.server.cactus.client" - class="org.eclipse.jst.server.ui.internal.cactus.JUnitClientDelegate" - launchable="org.eclipse.jst.server.cactus.launchable" - name="%cactusJUnitClient"/> - </extension> - - <extension point="org.eclipse.ui.newWizards"> - <wizard - id="org.eclipse.jst.server.ui.internal.cactus.NewServletTestCaseWizard" - canFinishEarly="false" - category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit" - class="org.eclipse.jst.server.ui.internal.cactus.NewServletTestCaseWizard" - hasPages="true" - icon="icons/obj16/new_testcase.gif" - name="%cactusServletTestCase"/> - </extension> - - <extension point="org.eclipse.wst.common.project.facet.core.runtimes"> - <adapter> - <runtime-component id="org.eclipse.jst.server.tomcat"/> - <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/> - <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/> - </adapter> - <adapter> - <runtime-component id="org.eclipse.jst.server.generic.runtime.websphere"/> - <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/> - <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/> - </adapter> - <adapter> - <runtime-component id="org.eclipse.jst.server.generic.runtime.weblogic"/> - <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/> - <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/> - </adapter> - <adapter> - <runtime-component id="org.eclipse.jst.server.generic.runtime.jboss"/> - <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/> - <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/> - </adapter> - <adapter> - <runtime-component id="org.eclipse.jst.server.generic.runtime.jonas"/> - <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/> - <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/> - </adapter> - <adapter> - <runtime-component id="org.eclipse.jst.server.generic.runtime.oracle"/> - <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/> - <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/> - </adapter> - <adapter> - <runtime-component id="standard.jre"/> - <factory class="org.eclipse.jst.server.ui.internal.StandardJreLabelProvider$Factory"/> - <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/> - </adapter> - </extension> - - <extension point="org.eclipse.wst.common.project.facet.ui.images"> - <image runtime-component-type="standard.jre" - path="icons/obj16/jre.gif"/> - <image runtime-component-type="org.eclipse.jst.server.core.runtimeType" - path="icons/obj16/java_jar.gif"/> - </extension> -</plugin>
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.java deleted file mode 100644 index 6ee0d3585..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ContextIds.java +++ /dev/null @@ -1,17 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal; -/** - * Context help id constants. - */ -public interface ContextIds { - public static final String RUNTIME_COMPOSITE = JavaServerUIPlugin.PLUGIN_ID + ".jvrt0000"; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java deleted file mode 100644 index eb7272994..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java +++ /dev/null @@ -1,267 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.events.*; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMInstallType; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.preference.IPreferenceNode; -import org.eclipse.jface.preference.PreferenceDialog; -import org.eclipse.jface.preference.PreferenceManager; -import org.eclipse.jface.window.Window; -import org.eclipse.jst.server.core.internal.GenericRuntime; -import org.eclipse.jst.server.core.internal.IGenericRuntimeWorkingCopy; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.ui.PlatformUI; -/** - * Wizard page to set the server install directory. - */ -public class GenericRuntimeComposite extends Composite { - protected static final String INSTALLED_JRE_PREFERENCE_PAGE_ID = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage"; - protected IRuntimeWorkingCopy runtimeWC; - protected IGenericRuntimeWorkingCopy runtime; - - protected IWizardHandle wizard; - - protected Text name; - protected Text installDir; - protected Combo combo; - protected List installedJREs; - protected String[] jreNames; - - /** - * GenericRuntimeComposite constructor comment. - */ - protected GenericRuntimeComposite(Composite parent, IWizardHandle wizard) { - super(parent, SWT.NONE); - this.wizard = wizard; - - wizard.setTitle(Messages.runtimeTypeTitle); - wizard.setDescription(Messages.runtimeTypeDescription); - wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZ_RUNTIME_TYPE)); - - createControl(); - } - - protected void setRuntime(IRuntimeWorkingCopy newRuntime) { - if (newRuntime == null) { - runtimeWC = null; - runtime = null; - } else { - runtimeWC = newRuntime; - runtime = (IGenericRuntimeWorkingCopy) newRuntime.getAdapter(IGenericRuntimeWorkingCopy.class); - } - - init(); - validate(); - } - - /** - * Provide a wizard page to change the root directory. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - setLayout(layout); - setLayoutData(new GridData(GridData.FILL_BOTH)); - PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.RUNTIME_COMPOSITE); - - Label label = new Label(this, SWT.NONE); - label.setText(Messages.runtimeTypeName); - GridData data = new GridData(); - data.horizontalSpan = 2; - label.setLayoutData(data); - - name = new Text(this, SWT.BORDER); - data = new GridData(GridData.FILL_HORIZONTAL); - name.setLayoutData(data); - name.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - runtimeWC.setName(name.getText()); - validate(); - } - }); - - label = new Label(this, SWT.NONE); - label.setText(Messages.runtimeTypeLocation); - data = new GridData(); - data.horizontalSpan = 2; - label.setLayoutData(data); - - installDir = new Text(this, SWT.BORDER); - data = new GridData(GridData.FILL_HORIZONTAL); - installDir.setLayoutData(data); - installDir.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - runtimeWC.setLocation(new Path(installDir.getText())); - validate(); - } - }); - - Button browse = SWTUtil.createButton(this, Messages.browse); - browse.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent se) { - DirectoryDialog dialog = new DirectoryDialog(GenericRuntimeComposite.this.getShell()); - dialog.setMessage(Messages.runtimeTypeSelectLocation); - dialog.setFilterPath(installDir.getText()); - String selectedDirectory = dialog.open(); - if (selectedDirectory != null) - installDir.setText(selectedDirectory); - } - }); - - updateJREs(); - - // JDK location - label = new Label(this, SWT.NONE); - label.setText(Messages.runtimeTypeJRE); - data = new GridData(); - data.horizontalSpan = 2; - label.setLayoutData(data); - - combo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY); - combo.setItems(jreNames); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - combo.setLayoutData(data); - - combo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - int sel = combo.getSelectionIndex(); - IVMInstall vmInstall = null; - if (sel > 0) - vmInstall = (IVMInstall) installedJREs.get(sel - 1); - - runtime.setVMInstall(vmInstall); - validate(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - - Button button = SWTUtil.createButton(this, Messages.runtimeTypeInstalledJREs); - button.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - String currentVM = combo.getText(); - if (showPreferencePage()) { - updateJREs(); - combo.setItems(jreNames); - combo.setText(currentVM); - if (combo.getSelectionIndex() == -1) - combo.select(0); - } - } - }); - - init(); - validate(); - - Dialog.applyDialogFont(this); - - name.forceFocus(); - } - - protected void updateJREs() { - // get all installed JVMs - installedJREs = new ArrayList(); - IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes(); - int size = vmInstallTypes.length; - for (int i = 0; i < size; i++) { - IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls(); - int size2 = vmInstalls.length; - for (int j = 0; j < size2; j++) { - installedJREs.add(vmInstalls[j]); - } - } - - // get names - size = installedJREs.size(); - jreNames = new String[size+1]; - jreNames[0] = Messages.runtimeTypeDefaultJRE; - for (int i = 0; i < size; i++) { - IVMInstall vmInstall = (IVMInstall) installedJREs.get(i); - jreNames[i+1] = vmInstall.getName(); - } - } - - protected boolean showPreferencePage() { - PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager(); - IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode("org.eclipse.jdt.debug.ui.preferences.VMPreferencePage"); - PreferenceManager manager2 = new PreferenceManager(); - manager2.addToRoot(node); - final PreferenceDialog dialog = new PreferenceDialog(getShell(), manager2); - final boolean[] result = new boolean[] { false }; - BusyIndicator.showWhile(getDisplay(), new Runnable() { - public void run() { - dialog.create(); - if (dialog.open() == Window.OK) - result[0] = true; - } - }); - return result[0]; - } - - protected void init() { - if (installDir == null || runtime == null) - return; - - name.setText(runtimeWC.getName()); - - if (runtimeWC.getLocation() != null) - installDir.setText(runtimeWC.getLocation().toOSString()); - else - installDir.setText(""); - - // set selection - if (((GenericRuntime)runtime).isUsingDefaultJRE()) - combo.select(0); - else { - boolean found = false; - int size = installedJREs.size(); - for (int i = 0; i < size; i++) { - IVMInstall vmInstall = (IVMInstall) installedJREs.get(i); - if (vmInstall.equals(runtime.getVMInstall())) { - combo.select(i + 1); - found = true; - } - } - if (!found) - combo.select(0); - } - } - - protected void validate() { - if (runtime == null) { - wizard.setMessage("", IMessageProvider.ERROR); - return; - } - - IStatus status = runtimeWC.validate(null); - if (status == null || status.isOK()) - wizard.setMessage(null, IMessageProvider.NONE); - else - wizard.setMessage(status.getMessage(), IMessageProvider.ERROR); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java deleted file mode 100644 index 76a91800e..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.wst.server.ui.wizard.WizardFragment; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.swt.widgets.Composite; -/** - * - */ -public class GenericRuntimeWizardFragment extends WizardFragment { - protected GenericRuntimeComposite comp; - - /** - * Create a new fragment. - */ - public GenericRuntimeWizardFragment() { - // do nothing - } - - /** - * @see WizardFragment#hasComposite() - */ - public boolean hasComposite() { - return true; - } - - /** - * @see WizardFragment#createComposite(Composite, IWizardHandle) - */ - public Composite createComposite(Composite parent, IWizardHandle wizard) { - comp = new GenericRuntimeComposite(parent, wizard); - return comp; - } - - /** - * @see WizardFragment#isComplete() - */ - public boolean isComplete() { - IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - - if (runtime == null) - return false; - IStatus status = runtime.validate(null); - return (status != null && status.isOK()); - } - - /** - * @see WizardFragment#enter() - */ - public void enter() { - if (comp != null) { - IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - comp.setRuntime(runtime); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java deleted file mode 100644 index 740344693..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/ImageResource.java +++ /dev/null @@ -1,124 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import java.net.URL; -import java.util.Map; -import java.util.HashMap; -import java.util.Iterator; -import org.eclipse.swt.graphics.Image; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -/** - * Utility class to handle image resources. - */ -public class ImageResource { - // the image registry - private static ImageRegistry imageRegistry; - - // map of image descriptors since these - // will be lost by the image registry - private static Map imageDescriptors; - - // map of IElement images - private static Map elementImages; - - // base urls for images - private static URL ICON_BASE_URL; - - static { - try { - String pathSuffix = "icons/"; - ICON_BASE_URL = JavaServerUIPlugin.getInstance().getBundle().getEntry(pathSuffix); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not set icon base URL", e); - } - } - - private static final String URL_WIZBAN = "wizban/"; - - protected static final String IMG_WIZ_RUNTIME_TYPE = "wiz_runtimeType"; - public static final String IMG_WIZ_CACTUS_TEST = "wiz_cactus_test"; - - /** - * Cannot construct an ImageResource. Use static methods only. - */ - private ImageResource() { - // do nothing - } - - /** - * Dispose of element images that were created. - */ - protected static void dispose() { - try { - Trace.trace(Trace.FINEST, "Disposing of element images"); - Iterator iterator = elementImages.values().iterator(); - while (iterator.hasNext()) { - Image image = (Image) iterator.next(); - image.dispose(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not dispose of images"); - } - } - - /** - * Return the image with the given key. - * - * @param key java.lang.String - * @return org.eclipse.swt.graphics.Image - */ - public static Image getImage(String key) { - if (imageRegistry == null) - initializeImageRegistry(); - return imageRegistry.get(key); - } - - /** - * Return the image descriptor with the given key. - * - * @param key java.lang.String - * @return org.eclipse.jface.resource.ImageDescriptor - */ - public static ImageDescriptor getImageDescriptor(String key) { - if (imageRegistry == null) - initializeImageRegistry(); - return (ImageDescriptor) imageDescriptors.get(key); - } - - /** - * Initialize the image resources. - */ - protected static void initializeImageRegistry() { - imageRegistry = new ImageRegistry(); - imageDescriptors = new HashMap(); - - registerImage(IMG_WIZ_RUNTIME_TYPE, URL_WIZBAN + "new_runtime_wiz.gif"); - registerImage(IMG_WIZ_CACTUS_TEST, URL_WIZBAN + "new_test_wiz.gif"); - } - - /** - * Register an image with the registry. - * - * @param key java.lang.String - * @param partialURL java.lang.String - */ - private static void registerImage(String key, String partialURL) { - try { - ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL)); - imageRegistry.put(key, id); - imageDescriptors.put(key, id); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error registering image " + key + " from " + partialURL, e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java deleted file mode 100644 index c74a5f96d..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.plugin.AbstractUIPlugin; -/** - * The main server tooling plugin class. - */ -public class JavaServerUIPlugin extends AbstractUIPlugin { - /** - * Java server UI plugin id - */ - public static final String PLUGIN_ID = "org.eclipse.jst.server.ui"; - - // singleton instance of this class - private static JavaServerUIPlugin singleton; - - /** - * Create the JavaServerUIPlugin. - */ - public JavaServerUIPlugin() { - super(); - singleton = this; - } - - /** - * Returns the singleton instance of this plugin. - * - * @return org.eclipse.jst.server.ui.JavaServerUIPlugin - */ - public static JavaServerUIPlugin getInstance() { - return singleton; - } - - /** - * Convenience method for logging. - * - * @param t a throwable - */ - public static void log(Throwable t) { - getInstance().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "Internal error", t)); //$NON-NLS-1$ - } - - /** - * Returns the active workbench shell - * - * @return the active workbench shell - */ - public static Shell getActiveWorkbenchShell() { - IWorkbenchWindow workBenchWindow = getActiveWorkbenchWindow(); - if (workBenchWindow == null) - return null; - return workBenchWindow.getShell(); - } - - /** - * Returns the active workbench window - * - * @return the active workbench window - */ - protected static IWorkbenchWindow getActiveWorkbenchWindow() { - IWorkbench workBench= getInstance().getWorkbench(); - if (workBench == null) - return null; - return workBench.getActiveWorkbenchWindow(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java deleted file mode 100644 index dd13be8f1..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.java +++ /dev/null @@ -1,44 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String runtimeTypeTitle; - public static String runtimeTypeDescription; - public static String runtimeTypeName; - public static String runtimeTypeLocation; - public static String runtimeTypeSelectLocation; - public static String runtimeTypeJRE; - public static String browse; - public static String runtimeTypeInstalledJREs; - public static String runtimeTypeDefaultJRE; - public static String errorInternalCactus; - - public static String LaunchTestAction_message_selectConfiguration; - public static String LaunchTestAction_message_selectDebugConfiguration; - public static String LaunchTestAction_message_selectRunConfiguration; - - public static String NewServletTestCaseWizard_WindowTitle; - public static String NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary; - public static String NewServletTestCaseWizard_ErrorMessageMissingType; - public static String NewServletTestCaseWizard_ErrorMessageMissingLibrary; - public static String NewServletTestCaseWizard_ErrorTitleNew; - public static String NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed; - public static String NewServletTestCaseWizard_ErrorMessageSeeErrorLog; - - static { - NLS.initializeMessages(JavaServerUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties deleted file mode 100644 index 97930c959..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties +++ /dev/null @@ -1,34 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -runtimeTypeTitle=Generic J2EE Runtime -runtimeTypeDescription=Define a generic J2EE runtime. Specify a directory containing jar files to compile against. -runtimeTypeName=Na&me: -runtimeTypeLocation=&Location: -browse=B&rowse... -runtimeTypeSelectLocation=Select the location of the runtime. -runtimeTypeJRE=&JRE: -runtimeTypeDefaultJRE=Workbench default JRE -runtimeTypeInstalledJREs=In&stalled JREs... - -errorInternalCactus=Internal error while attempting to launch Cactus - -LaunchTestAction_message_selectConfiguration=Select a Test Configuration -LaunchTestAction_message_selectDebugConfiguration=Select JUnit configuration to debug -LaunchTestAction_message_selectRunConfiguration=Select JUnit configuration to run - -NewServletTestCaseWizard_WindowTitle=New JUnit Test Case -NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary=Missing library -NewServletTestCaseWizard_ErrorMessageMissingType=Missing type -NewServletTestCaseWizard_ErrorMessageMissingLibrary=You are missing cactus dependencies in your web project. The following libraries are required: {0}, {1}, {2}, {3} and {4}. Other versions might work but have not necessarily been tested. All libraries can be downloaded at http://jakarta.apache.org/cactus/. -NewServletTestCaseWizard_ErrorTitleNew=New -NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed=Creation of element failed. -NewServletTestCaseWizard_ErrorMessageSeeErrorLog=See error log for more details.
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java deleted file mode 100644 index f5be1c126..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java +++ /dev/null @@ -1,43 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2005 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Konstantin Komissarchik - initial API and implementation - * IBM Corporation - Support for all server types - ******************************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent; -import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider; -/** - * - */ -public final class RuntimeLabelProvider implements IRuntimeComponentLabelProvider { - private final IRuntimeComponent rc; - - public RuntimeLabelProvider(final IRuntimeComponent rc) { - this.rc = rc; - } - - public String getLabel() { - return rc.getProperty("type"); - } - - public static final class Factory implements IAdapterFactory { - private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class }; - - public Object getAdapter(final Object adaptable, final Class adapterType) { - final IRuntimeComponent rc = (IRuntimeComponent) adaptable; - return new RuntimeLabelProvider(rc); - } - - public Class[] getAdapterList() { - return ADAPTER_TYPES; - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.java deleted file mode 100644 index b263b0125..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/SWTUtil.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.FontMetrics; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -/** - * SWT Utility class. - */ -public class SWTUtil { - private static FontMetrics fontMetrics; - - protected static void initializeDialogUnits(Control testControl) { - // Compute and store a font metric - GC gc = new GC(testControl); - gc.setFont(JFaceResources.getDialogFont()); - fontMetrics = gc.getFontMetrics(); - gc.dispose(); - } - - /** - * Returns a width hint for a button control. - */ - protected static int getButtonWidthHint(Button button) { - int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); - return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); - } - - /** - * Create a new button with the standard size. - * - * @param comp the component to add the button to - * @param label the button label - * @return a button - */ - public static Button createButton(Composite comp, String label) { - Button b = new Button(comp, SWT.PUSH); - b.setText(label); - if (fontMetrics == null) - initializeDialogUnits(comp); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.widthHint = getButtonWidthHint(b); - b.setLayoutData(data); - return b; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java deleted file mode 100644 index 446ed8ef1..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java +++ /dev/null @@ -1,49 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2005 BEA Systems, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Konstantin Komissarchik - initial API and implementation - * IBM Corporation - Support for all server types - ******************************************************************************/ -package org.eclipse.jst.server.ui.internal; - -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent; -import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider; -/** - * - */ -public final class StandardJreLabelProvider implements IRuntimeComponentLabelProvider { - private final IRuntimeComponent rc; - - public StandardJreLabelProvider(final IRuntimeComponent rc) { - this.rc = rc; - } - - public String getLabel() { - StringBuffer buf = new StringBuffer(); - buf.append("JRE "); - buf.append(rc.getRuntimeComponentVersion().getVersionString()); - buf.append(": "); - buf.append(rc.getProperty("name")); - - return buf.toString(); - } - - public static final class Factory implements IAdapterFactory { - private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class }; - - public Object getAdapter(final Object adaptable, final Class adapterType) { - IRuntimeComponent rc = (IRuntimeComponent) adaptable; - return new StandardJreLabelProvider(rc); - } - - public Class[] getAdapterList() { - return ADAPTER_TYPES; - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.java deleted file mode 100644 index 25d679147..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Trace.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal; -/** - * Helper class to route trace output. - */ -public class Trace { - public static byte CONFIG = 0; - public static byte WARNING = 1; - public static byte SEVERE = 2; - public static byte FINEST = 3; - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level a trace level - * @param s a message - */ - public static void trace(byte level, String s) { - Trace.trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level a trace level - * @param s a message - * @param t a throwable - */ - public static void trace(byte level, String s, Throwable t) { - if (!JavaServerUIPlugin.getInstance().isDebugging()) - return; - - System.out.println(JavaServerUIPlugin.PLUGIN_ID + " " + s); - if (t != null) - t.printStackTrace(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java deleted file mode 100644 index c75e92a80..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java +++ /dev/null @@ -1,175 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Daniel R. Somerfield - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal.cactus; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.*; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.debug.ui.IDebugModelPresentation; -import org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration; -import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; -import org.eclipse.jface.window.Window; -import org.eclipse.jst.server.core.internal.cactus.CactusLaunchable; -import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin; -import org.eclipse.jst.server.ui.internal.Messages; -import org.eclipse.ui.dialogs.ElementListSelectionDialog; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.ClientDelegate; -/** - * - */ -public class JUnitClientDelegate extends ClientDelegate { - public IStatus launch(IServer server, Object object, String launchMode, ILaunch launch) { - CactusLaunchable launchable = (CactusLaunchable) object; - ILaunchConfiguration config = findLaunchConfiguration(launchable, launchMode); - if (config == null) { - String testName = launchable.getTestName(); - testName = "".equals(testName) ? launchable.getTestClassName() - : launchable.getTestClassName() + "." + testName + "()"; - config = createConfiguration(launchable.getProjectName(), testName, - launchable.getTestClassName(), "", launchable.getTestName()); - } - - URL url = launchable.getCactusURL(); - String urlString = url.toString(); - if (urlString.endsWith("/")) { - try { - url = new URL(urlString.substring(0, urlString.length() - 1)); - } catch (MalformedURLException e) { - return new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.errorInternalCactus, e); - } - } - - try { - final ILaunchConfigurationWorkingCopy copy = config.getWorkingCopy(); - String vmArgs; - vmArgs = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, ""); - copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, - vmArgs + " -Dcactus.contextURL=" + url.toString()); - config = copy.doSave(); - DebugUITools.launch(config, launchMode); - } catch (CoreException e) { - return new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.errorInternalCactus, e); - } - return Status.OK_STATUS; - } - - protected ILaunchConfiguration createConfiguration(String projectName, - String name, String mainType, String container, String testName) { - ILaunchConfiguration config = null; - try { - ILaunchConfigurationType configType = getJUnitLaunchConfigType(); - ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, - DebugPlugin.getDefault().getLaunchManager() - .generateUniqueLaunchConfigurationNameFrom(name)); - wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, mainType); - wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName); - wc.setAttribute(JUnitBaseLaunchConfiguration.ATTR_KEEPRUNNING, false); - wc.setAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, container); - if (testName.length() > 0) - wc.setAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, testName); - config = wc.doSave(); - } catch (CoreException e) { - JavaServerUIPlugin.log(e); - } - return config; - } - - private ILaunchConfiguration findLaunchConfiguration(CactusLaunchable launchable, String mode) { - String testName = launchable.getTestName(); - String testClass = launchable.getTestClassName(); - String javaProjectName = launchable.getProjectName(); - String container = ""; - ILaunchConfigurationType configType = getJUnitLaunchConfigType(); - List candidateConfigs = Collections.EMPTY_LIST; - try { - ILaunchConfiguration[] configs = DebugPlugin.getDefault() - .getLaunchManager().getLaunchConfigurations(configType); - candidateConfigs = new ArrayList(configs.length); - for (int i = 0; i < configs.length; i++) { - ILaunchConfiguration config = configs[i]; - // TODO: we should probably extract the JUnit internal stuff and - // create a new CactusLaunchConfiguration - if ((config.getAttribute( - JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, "").equals(container)) && //$NON-NLS-1$ - (config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, - "").equals(testClass)) && //$NON-NLS-1$ - (config.getAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, "").equals(testName)) && //$NON-NLS-1$ - (config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, - "").equals(javaProjectName))) { //$NON-NLS-1$ - candidateConfigs.add(config); - } - } - } catch (CoreException e) { - JavaServerUIPlugin.log(e); - } - - // If there are no existing configs associated with the IType, create one. - // If there is exactly one config associated with the IType, return it. - // Otherwise, if there is more than one config associated with the IType, - // prompt the - // user to choose one. - int candidateCount = candidateConfigs.size(); - if (candidateCount < 1) { - return null; - } else if (candidateCount == 1) { - return (ILaunchConfiguration) candidateConfigs.get(0); - } else { - // Prompt the user to choose a config. A null result means the user - // cancelled the dialog, in which case this method returns null, - // since cancelling the dialog should also cancel launching anything. - ILaunchConfiguration config = chooseConfiguration(candidateConfigs, - mode); - if (config != null) { - return config; - } - } - return null; - } - - protected ILaunchConfiguration chooseConfiguration(List configList, String mode) { - IDebugModelPresentation labelProvider = DebugUITools - .newDebugModelPresentation(); - ElementListSelectionDialog dialog = new ElementListSelectionDialog( - JavaServerUIPlugin.getActiveWorkbenchShell(), labelProvider); - dialog.setElements(configList.toArray()); - dialog.setTitle(Messages.LaunchTestAction_message_selectConfiguration); - if (mode.equals(ILaunchManager.DEBUG_MODE)) - dialog.setMessage(Messages.LaunchTestAction_message_selectDebugConfiguration); - else - dialog.setMessage(Messages.LaunchTestAction_message_selectRunConfiguration); - - dialog.setMultipleSelection(false); - int result = dialog.open(); - labelProvider.dispose(); - if (result == Window.OK) - return (ILaunchConfiguration) dialog.getFirstResult(); - - return null; - } - - protected ILaunchConfigurationType getJUnitLaunchConfigType() { - // TODO: might want to replace this with a custom launch configuration - ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager(); - return lm.getLaunchConfigurationType("org.eclipse.jdt.junit.launchconfig"); - } - - public boolean supports(IServer server, Object launchable, String launchMode) { - return launchable instanceof CactusLaunchable; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java deleted file mode 100644 index f7fd89610..000000000 --- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java +++ /dev/null @@ -1,208 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 BEA Systems, Inc. and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Daniel R. Somerfield - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.server.ui.internal.cactus; - -import java.io.StringWriter; -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.eclipse.jdt.core.IType; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.junit.wizards.NewTestCaseWizardPageOne; -import org.eclipse.jdt.junit.wizards.NewTestCaseWizardPageTwo; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.jst.server.ui.internal.ImageResource; -import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin; -import org.eclipse.jst.server.ui.internal.Messages; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.*; -import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation; -import org.eclipse.ui.ide.IDE; -import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard; -/** - * - */ -public class NewServletTestCaseWizard extends Wizard implements INewWizard { - private static final String SUPERCLASS_NAME = "org.apache.cactus.ServletTestCase"; //$NON-NLS-1$ - - protected static final String[] CLASSES_TO_CHECK = { - "org.apache.cactus.ServletTestCase", "junit.framework.TestCase", - "org.apache.commons.logging.Log", "org.aspectj.lang.JoinPoint", - "org.apache.commons.httpclient.HttpClient" }; - - protected static final String[] REQUIRED_LIBRARIES = { - "cactus-1.7.jar", "junit-3.8.1.jar", "aspectjrt-1.2.1.jar", - "commons-logging-1.0.4.jar", "commons-httpclient-2.0.2.jar" }; - - private IWorkbench fWorkbench; - private IStructuredSelection fSelection; - private NewTestCaseWizardPageTwo fPage2; - private NewTestCaseWizardPageOne fPage1; - - public NewServletTestCaseWizard() { - super(); - setWindowTitle(Messages.NewServletTestCaseWizard_WindowTitle); - setDefaultPageImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZ_CACTUS_TEST)); - } - - public void init(IWorkbench workbench, IStructuredSelection selection) { - fWorkbench = workbench; - fSelection = selection; - } - - public void addPages() { - super.addPages(); - fPage2 = new NewTestCaseWizardPageTwo(); - fPage1 = new NewTestCaseWizardPageOne(fPage2) { - public void createControl(Composite parent) { - super.createControl(parent); - setSuperClass(SUPERCLASS_NAME, true); - } - - protected IStatus validateIfJUnitProject() { - IPackageFragmentRoot root = getPackageFragmentRoot(); - if (root == null) - return Status.OK_STATUS; - - IJavaProject project = root.getJavaProject(); - try { - for (int i = 0; i < CLASSES_TO_CHECK.length; i++) { - IType type = project.findType(CLASSES_TO_CHECK[i]); - if (type == null) { - MessageDialog.openError(getShell(), - Messages.NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary, - NLS.bind(Messages.NewServletTestCaseWizard_ErrorMessageMissingLibrary, REQUIRED_LIBRARIES)); - return Status.OK_STATUS; - } - } - } catch (JavaModelException e) { - JavaServerUIPlugin.log(e); - } - return Status.OK_STATUS; - } - }; - addPage(fPage1); - fPage1.init(getSelection()); - addPage(fPage2); - - } - - private IStructuredSelection getSelection() { - return fSelection; - } - - public boolean performFinish() { - if (finishPage(fPage1.getRunnable())) { - IType newClass = fPage1.getCreatedType(); - - IResource resource = newClass.getCompilationUnit().getResource(); - if (resource != null) { - BasicNewResourceWizard.selectAndReveal(resource, fWorkbench - .getActiveWorkbenchWindow()); - openResource(resource); - // checkLibraryMissing(); - } - return true; - } - return false; - } - - /*private void checkLibraryMissing() { - IType newClass = fPage1.getCreatedType(); - IJavaProject project = newClass.getJavaProject(); - try { - IType type = project.findType(SUPERCLASS_NAME); - MessageDialog.openError(getShell(), NLS.bind( - Messages.NewServletTestCaseWizard_ErrorMessageMissingLibrary, REQUIRED_LIBRARIES), - Messages.NewServletTestCaseWizard_ErrorMessageMissingType); - } catch (JavaModelException e) { - JavaServerUIPlugin.log(e); - } - }*/ - - protected boolean finishPage(IRunnableWithProgress runnable) { - IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(runnable); - try { - PlatformUI.getWorkbench().getProgressService().runInUI(getContainer(), op, - ResourcesPlugin.getWorkspace().getRoot()); - } catch (InvocationTargetException e) { - String title = Messages.NewServletTestCaseWizard_ErrorTitleNew; // NewJUnitWizard_op_error_title - String message = Messages.NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed; // NewJUnitWizard_op_error_message - // ExceptionHandler.handle(e, shell, title, message); - displayMessageDialog(e, e.getMessage(), getShell(), title, message); - return false; - } catch (InterruptedException e) { - return false; - } - return true; - } - - public static void displayMessageDialog(Throwable t, String exceptionMessage, - Shell shell, String title, String message) { - StringWriter msg = new StringWriter(); - if (message != null) { - msg.write(message); - msg.write("\n\n"); //$NON-NLS-1$ - } - if (exceptionMessage == null || exceptionMessage.length() == 0) - msg.write(Messages.NewServletTestCaseWizard_ErrorMessageSeeErrorLog); - else - msg.write(exceptionMessage); - MessageDialog.openError(shell, title, msg.toString()); - } - - protected void openResource(final IResource resource) { - if (resource.getType() == IResource.FILE) { - final IWorkbenchPage activePage = getActivePage(); - if (activePage != null) { - final Display display = Display.getDefault(); - if (display != null) { - display.asyncExec(new Runnable() { - public void run() { - try { - IDE.openEditor(activePage, (IFile) resource, true); - } catch (PartInitException e) { - JavaServerUIPlugin.log(e); - } - } - }); - } - } - } - } - - public static IWorkbenchPage getActivePage() { - IWorkbenchWindow activeWorkbenchWindow = getActiveWorkbenchWindow(); - if (activeWorkbenchWindow == null) - return null; - return activeWorkbenchWindow.getActivePage(); - } - - public static IWorkbenchWindow getActiveWorkbenchWindow() { - IWorkbench workbench = JavaServerUIPlugin.getInstance().getWorkbench(); - if (workbench != null) - return workbench.getActiveWorkbenchWindow(); - - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.classpath b/plugins/org.eclipse.wst.internet.monitor.core/.classpath deleted file mode 100644 index 114981242..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="monitorcore/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore b/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore deleted file mode 100644 index edeb15e7d..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -monitorcore.jar -build.xml -temp.folder -org.eclipse.wst.internet.monitor.core_3.0.0.jar -@dot -src.zip diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.options b/plugins/org.eclipse.wst.internet.monitor.core/.options deleted file mode 100644 index 47070eeec..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/.options +++ /dev/null @@ -1,6 +0,0 @@ -# Debugging options for the org.eclipse.wst.internet.monitor.core plugin - -# Turn on general debugging -org.eclipse.wst.internet.monitor.core/debug=true - -org.eclipse.wst.internet.monitor.core/parsing=false diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.project b/plugins/org.eclipse.wst.internet.monitor.core/.project deleted file mode 100644 index 93b239c29..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.wst.internet.monitor.core</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF deleted file mode 100644 index d3591b403..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,13 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.wst.internet.monitor.core; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.wst.internet.monitor.core.internal;x-friends:="org.eclipse.wst.internet.monitor.ui", - org.eclipse.wst.internet.monitor.core.internal.http;x-friends:="org.eclipse.wst.internet.monitor.ui", - org.eclipse.wst.internet.monitor.core.internal.provisional -Require-Bundle: org.eclipse.core.runtime -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.wst.internet.monitor.core/about.html b/plugins/org.eclipse.wst.internet.monitor.core/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/build.properties b/plugins/org.eclipse.wst.internet.monitor.core/build.properties deleted file mode 100644 index b1a84a2b9..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/build.properties +++ /dev/null @@ -1,23 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - .,\ - plugin.properties,\ - .options,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -src.includes = schema/,\ - component.xml -source.. = monitorcore/ -output.. = bin/
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/component.xml b/plugins/org.eclipse.wst.internet.monitor.core/component.xml deleted file mode 100644 index 697456231..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/component.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.internet"> - <component-depends unrestricted="true"/> - <plugin id="org.eclipse.wst.internet.monitor.core" fragment="false"/> - <plugin id="org.eclipse.wst.internet.monitor.ui" fragment="false"/> - <plugin id="org.eclipse.wst.internet.proxy" fragment="false"/> - <plugin id="org.eclipse.wst.internet.cache" fragment="false"/> -</component>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java deleted file mode 100644 index 4c948d554..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java +++ /dev/null @@ -1,166 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.InterruptedIOException; -import java.net.*; - -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -/** - * The actual TCP/IP monitoring server. This is a thread that - * listens on a port and relays a call to another server. - */ -public class AcceptThread { - protected IMonitor monitor; - - protected boolean alive = true; - protected ServerSocket serverSocket; - - protected Thread thread; - - class ServerThread extends Thread { - /** - * ServerThread accepts incoming connections and delegates to the protocol - * adapter to deal with the connection. - */ - public void run() { - // create a new server socket - try { - serverSocket = new ServerSocket(monitor.getLocalPort()); - serverSocket.setSoTimeout(2000); - Trace.trace(Trace.FINEST, "Monitoring localhost:" + monitor.getLocalPort() + " -> " + monitor.getRemoteHost() - + ":" + monitor.getRemotePort()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not start monitoring"); - return; - } - - while (alive) { - try { - // accept the connection from the client - Socket localSocket = serverSocket.accept(); - - try { - // connect to the remote server - Socket remoteSocket = new Socket(); - remoteSocket.connect(new InetSocketAddress(monitor.getRemoteHost(), monitor.getRemotePort()), monitor.getTimeout()); - - // relay the call through - String protocolId = monitor.getProtocol(); - ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId); - adapter.connect(monitor, localSocket, remoteSocket); - } catch (SocketTimeoutException e) { - FailedConnectionThread thread2 = new FailedConnectionThread((Monitor) monitor, localSocket, Messages.errorConnectTimeout); - thread2.start(); - } catch (Exception e) { - FailedConnectionThread thread2 = new FailedConnectionThread((Monitor) monitor, localSocket, null); - thread2.start(); - } - } catch (InterruptedIOException e) { - // do nothing - } catch (Exception e) { - if (alive) - Trace.trace(Trace.SEVERE, "Error while monitoring", e); - } - } - } - } - - /** - * AcceptThread constructor. - * - * @param monitor a monitor - */ - public AcceptThread(IMonitor monitor) { - super(); - this.monitor = monitor; - } - - /** - * Start the server. - */ - public void startServer() { - if (thread != null) - return; - thread = new ServerThread(); - thread.setDaemon(true); - thread.setPriority(Thread.NORM_PRIORITY + 1); - thread.start(); - - Thread.yield(); - - // wait up to 2 seconds for initialization - int i = 0; - while (serverSocket == null && i < 10) { - try { - Thread.sleep(200); - } catch (Exception e) { - // ignore - } - i++; - } - } - - /** - * Returns <code>true</code> if the server is running. - * - * @return <code>true</code> if the server is running, and <code>false</code> - * otherwise - */ - public boolean isRunning() { - return (thread != null); - } - - /** - * Correctly close the server socket and shut down the server. - */ - public void stopServer() { - try { - alive = false; - thread = null; - - String protocolId = monitor.getProtocol(); - ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId); - adapter.disconnect(monitor); - if (serverSocket != null) - serverSocket.close(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error stopping server", e); - } - } - - /** - * Returns true if this port is in use. - * - * @return boolean - * @param port int - */ - public static boolean isPortInUse(int port) { - ServerSocket s = null; - try { - s = new ServerSocket(port); - } catch (SocketException e) { - return true; - } catch (Exception e) { - return true; - } finally { - if (s != null) { - try { - s.close(); - } catch (Exception e) { - // ignore - } - } - } - - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java deleted file mode 100644 index f1af1380b..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * 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 Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.net.Socket; -/** - * - */ -public class Connection { - protected Socket in; - protected Socket out; - - /** - * Creates a new connection. - * - * @param in inbound socket - * @param out outbound socket - */ - public Connection(Socket in, Socket out) { - this.in = in; - this.out = out; - } - - /** - * Close the connection. - */ - public void close() { - Trace.trace(Trace.FINEST, "Closing connection"); - try { - in.getOutputStream().flush(); - in.shutdownInput(); - in.shutdownOutput(); - - out.getOutputStream().flush(); - out.shutdownInput(); - out.shutdownOutput(); - Trace.trace(Trace.FINEST, "Connection closed"); - } catch (Exception ex) { - Trace.trace(Trace.WARNING, "Error closing connection " + this + " " + ex.getMessage()); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java deleted file mode 100644 index c9451fe7e..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.IOException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * - */ -public class ContentFilter implements IContentFilter { - protected IConfigurationElement element; - protected ContentFilterDelegate delegate; - - protected ContentFilter(IConfigurationElement element) { - this.element = element; - } - - /** - * Return the id. - * - * @return the id - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the relative order for this filter. - * - * @return the order - */ - public int getOrder() { - try { - return Integer.parseInt(element.getAttribute("order")); - } catch (Exception e) { - return 0; - } - } - - /** - * Returns the name. - * - * @return the name - */ - public String getName() { - return element.getAttribute("name"); - } - - /** - * Do the filtering. - * - * @param request the request - * @param isRequest true if request, false if response - * @param content the content - * @return the filtered content - * @throws IOException if there is a connection issue - */ - public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException { - if (delegate == null) { - try { - delegate = (ContentFilterDelegate) element.createExecutableExtension("class"); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create content filter delegate: " + getId(), e); - return new byte[0]; - } - } - return delegate.filter(request, isRequest, content); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java deleted file mode 100644 index b1d4547fc..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.InputStream; -import java.net.Socket; - -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; - -/** - * Thread used if the connection to the server fails. - */ -public class FailedConnectionThread extends Thread { - private static final int BUFFER = 2048; - protected Monitor monitor; - protected Socket socket; - protected String error; - - public FailedConnectionThread(Monitor monitor, Socket socket, String error) { - super(); - this.monitor = monitor; - this.socket = socket; - this.error = error; - } - - public void run() { - Request request = new Request(monitor, IProtocolAdapter.TCPIP_PROTOCOL_ID, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort()); - String err = error; - if (err == null) - err = Messages.errorConnectToServer; - request.addToResponse(err.getBytes()); - - try { - InputStream in = socket.getInputStream(); - byte[] b = new byte[BUFFER]; - while (in.available() > 0) { - int n = in.read(b); - byte[] c = new byte[n]; - System.arraycopy(b, 0, c, 0, n); - request.addToRequest(c); - } - } catch (Exception e) { - // ignore - } finally { - try { - socket.shutdownInput(); - socket.shutdownOutput(); - socket.close(); - } catch (Exception ex) { - // ignore - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java deleted file mode 100644 index 82d3144d2..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.IOException; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * A content filter that filters specific contents from the monitor traffic - * of a request. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * @plannedfor 1.0 - */ -public interface IContentFilter { - /** - * Returns the id of this filter. - * Each filter has a distinct, fixed id. Ids are intended to be used internally as keys; - * they are not intended to be shown to end users. - * - * @return the element id - */ - public String getId(); - - /** - * Returns the displayable (translated) name for this filter. - * - * @return a displayable name - */ - public String getName(); - - /** - * Returns the relative order of this filter. - * Each filter has a relative order that allows them to be applied in the correct - * order relative to each other. Lower orders are processed first. - * - * @return the relative order - * - * [issue: CS - The schema (contentFilterns.exsd) defines an 'order' attribute. - * The comments above suggest that filters should be designed to be composable. Is this correct? - * It would be good to make this optional if the user had no idea how his filter should be ordered. - * I've found that sometimes 'low', 'medium', 'high' are adequate to handle ordering issues and are - * easier for the extension writer deal with and get a sense of the proper value to assign. ] - */ - //public int getOrder(); - - /** - * Filter the given content from the given request. The content that has been filtered out will - * not be shown to clients of the TCP/IP monitor. - * - * @param request the request that the filter will be performed on - * @param isRequest set to true if the content filter applies to request monitor traffic, - * or set to false if the content filter applies to the response monitor traffic - * @param content the message content to be filtered out - * @return the filtered content - * @throws IOException if there is an error while parsing or filtering the content - */ - public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java deleted file mode 100644 index 3a04ab920..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java +++ /dev/null @@ -1,194 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.util.List; -/** - * Interface to a memento used for saving the important state of an object - * in a form that can be persisted in the file system. - * <p> - * Mementos were designed with the following requirements in mind: - * <ol> - * <li>Certain objects need to be saved and restored across platform sessions. - * </li> - * <li>When an object is restored, an appropriate class for an object might not - * be available. It must be possible to skip an object in this case.</li> - * <li>When an object is restored, the appropriate class for the object may be - * different from the one when the object was originally saved. If so, the - * new class should still be able to read the old form of the data.</li> - * </ol> - * </p> - * <p> - * Mementos meet these requirements by providing support for storing a - * mapping of arbitrary string keys to primitive values, and by allowing - * mementos to have other mementos as children (arranged into a tree). - * A robust external storage format based on XML is used. - * </p><p> - * The key for an attribute may be any alpha numeric value. However, the - * value of <code>TAG_ID</code> is reserved for internal use. - * </p><p> - * This interface is not intended to be implemented by clients. - * </p> - */ -public interface IMemento { - /** - * Special reserved key used to store the memento id - * (value <code>"org.eclipse.ui.id"</code>). - * - * @see #getId - */ - public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$ - - /** - * Creates a new child of this memento with the given type. - * <p> - * The <code>getChild</code> and <code>getChildren</code> methods - * are used to retrieve children of a given type. - * </p> - * - * @param type the type - * @return a new child memento - * @see #getChild - * @see #getChildren - */ - public IMemento createChild(String type); - - /** - * Creates a new child of this memento with the given type and id. - * The id is stored in the child memento (using a special reserved - * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>. - * <p> - * The <code>getChild</code> and <code>getChildren</code> methods - * are used to retrieve children of a given type. - * </p> - * - * @param type the type - * @param id the child id - * @return a new child memento with the given type and id - * @see #getId - */ - public IMemento createChild(String type, String id); - - /** - * Returns the first child with the given type id. - * - * @param type the type id - * @return the first child with the given type - */ - public IMemento getChild(String type); - - /** - * Returns all children with the given type id. - * - * @param type the type id - * @return the list of children with the given type - */ - public IMemento[] getChildren(String type); - - /** - * Returns the floating point value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not a floating point number - */ - public Float getFloat(String key); - - /** - * Returns the id for this memento. - * - * @return the memento id, or <code>null</code> if none - * @see #createChild(java.lang.String,java.lang.String) - */ - public String getId(); - - /** - * Returns the name for this memento. - * - * @return the memento name, or <code>null</code> if none - * @see #createChild(java.lang.String,java.lang.String) - */ - public String getName(); - - /** - * Returns the integer value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not an integer - */ - public Integer getInteger(String key); - - /** - * Returns the string value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not an integer - */ - public String getString(String key); - - /** - * Returns the boolean value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not a boolean - */ - public Boolean getBoolean(String key); - - /** - * Returns a list of all the names in this memento. - * - * @return a list of names - */ - public List getNames(); - - /** - * Sets the value of the given key to the given floating point number. - * - * @param key the key - * @param value the value - */ - public void putFloat(String key, float value); - - /** - * Sets the value of the given key to the given integer. - * - * @param key the key - * @param value the value - */ - public void putInteger(String key, int value); - - /** - * Sets the value of the given key to the given boolean value. - * - * @param key the key - * @param value the value - */ - public void putBoolean(String key, boolean value); - - /** - * Copy the attributes and children from <code>memento</code> - * to the receiver. - * - * @param memento the IMemento to be copied. - */ - public void putMemento(IMemento memento); - - /** - * Sets the value of the given key to the given string. - * - * @param key the key - * @param value the value - */ - public void putString(String key, String value); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java deleted file mode 100644 index 99520869f..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; -/** - * A protocol adapter enables a monitor to support a particular network - * protocol used to communicate between a client and server. All supported - * protocols will be based on TCP/IP. - * <p> - * Protocol adapters are registered via the <code>protocolAdapaters</code> - * extension point in the <code>org.eclipse.wst.internet.monitor.core</code> - * plug-in. The global list of known protocol adapters is available via - * {@link MonitorPlugin#getProtocolAdapters()}. Standard protocol - * adapters for {@linkplain #HTTP_PROTOCOL_ID HTTP} and - * {@linkplain #TCPIP_PROTOCOL_ID TCP/IP} are built-in. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * - * @plannedfor 1.0 - */ -public interface IProtocolAdapter { - /** - * Protocol adapter id (value {@value}) for TCP/IP. - * The TCP/IP protocol adapter is standard. - */ - public static String TCPIP_PROTOCOL_ID = "TCP/IP"; - - /** - * Protocol adapter id (value {@value}) for HTTP. - * The HTTP protocol adapter is standard. - */ - public static String HTTP_PROTOCOL_ID = "HTTP"; - - /** - * Returns the id of this adapter. - * Each adapter has a distinct, fixed id. Ids are intended to be used - * internally as keys; they are not intended to be shown to end users. - * - * @return the element id - */ - public String getId(); - - /** - * Returns the displayable (translated) name for this adapter. - * - * @return a displayable name - */ - public String getName(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java deleted file mode 100644 index 96b64818f..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java +++ /dev/null @@ -1,25 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; -/** - * An interface for the startup extension point. - * Plug-ins that register a startup extension will be activated when the monitor - * core plug-in initializes and have an opportunity to run code that can't be - * implemented using the normal contribution mechanisms. - * - * @plannedfor 1.0 - */ -public interface IStartup { - /** - * Will be called on monitor core startup. - */ - public void startup(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java deleted file mode 100644 index 089735e12..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java +++ /dev/null @@ -1,29 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String errorInvalidLocalPort; - public static String errorInvalidRemotePort; - public static String errorInvalidRemoteHost; - public static String errorConnectToServer; - public static String errorConnectTimeout; - public static String monitorValid; - public static String errorPortInUse; - - static { - NLS.initializeMessages(MonitorPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties deleted file mode 100644 index 36a1ef06c..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# --------------- Errors --------------- -errorPortInUse=The TCP/IP monitor could not start because port {0} is in use. -errorInvalidLocalPort=The local port number is invalid. -errorInvalidRemotePort=The remote port number is invalid. -errorInvalidRemoteHost=The remote host name is invalid. -errorConnectToServer=Error: Could not connect to server. -errorConnectTimeout=Error: Timeout connecting to server. - -monitorValid=The monitor is valid. diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java deleted file mode 100644 index 5aec24443..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java +++ /dev/null @@ -1,332 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.net.InetAddress; -import java.util.ArrayList; -import java.util.List; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.wst.internet.monitor.core.internal.provisional.*; -/** - * - */ -public class Monitor implements IMonitor { - private static final String MEMENTO_ID = "id"; - private static final String MEMENTO_LOCAL_PORT = "local-port"; - private static final String MEMENTO_REMOTE_HOST = "remote-host"; - private static final String MEMENTO_REMOTE_PORT = "remote-port"; - private static final String MEMENTO_TYPE_ID = "type-id"; - private static final String MEMENTO_TIMEOUT = "timeout"; - - private static final int ADD = 0; - private static final int CHANGE = 1; - - protected String id; - protected String remoteHost; - protected int remotePort = 80; - protected int localPort = 80; - protected String protocolId; - protected int timeout; - - protected List requestListeners = new ArrayList(2); - - /** - * Create a new monitor. - */ - public Monitor() { - protocolId = MonitorPlugin.getInstance().getDefaultType(); - } - - /** (non-Javadoc) - * @see IMonitor#getId() - */ - public String getId() { - return id; - } - - /** (non-Javadoc) - * @see IMonitor#getRemoteHost() - */ - public String getRemoteHost() { - return remoteHost; - } - - /** (non-Javadoc) - * @see IMonitor#getRemotePort() - */ - public int getRemotePort() { - return remotePort; - } - - /** (non-Javadoc) - * @see IMonitor#getLocalPort() - */ - public int getLocalPort() { - return localPort; - } - - /** (non-Javadoc) - * @see IMonitor#getProtocol() - */ - public String getProtocol() { - return protocolId; - } - - /** (non-Javadoc) - * @see IMonitor#getTimeout() - */ - public int getTimeout() { - return timeout; - } - - /** (non-Javadoc) - * @see IMonitor#isRunning() - */ - public boolean isRunning() { - if (isWorkingCopy()) - return false; - return MonitorManager.getInstance().isRunning(this); - } - - /** - * @see IMonitor#delete() - */ - public void delete() { - if (isWorkingCopy()) - return; - MonitorManager.getInstance().removeMonitor(this); - } - - /** - * @see IMonitor#isWorkingCopy() - */ - public boolean isWorkingCopy() { - return false; - } - - /** - * @see IMonitor#createWorkingCopy() - */ - public IMonitorWorkingCopy createWorkingCopy() { - return new MonitorWorkingCopy(this); - } - - protected void setInternal(IMonitor monitor) { - id = monitor.getId(); - remoteHost = monitor.getRemoteHost(); - remotePort = monitor.getRemotePort(); - localPort = monitor.getLocalPort(); - protocolId = monitor.getProtocol(); - timeout = monitor.getTimeout(); - } - - protected void save(IMemento memento) { - memento.putString(MEMENTO_ID, id); - memento.putString(MEMENTO_TYPE_ID, protocolId); - memento.putInteger(MEMENTO_LOCAL_PORT, localPort); - memento.putString(MEMENTO_REMOTE_HOST, remoteHost); - memento.putInteger(MEMENTO_REMOTE_PORT, remotePort); - memento.putInteger(MEMENTO_TIMEOUT, timeout); - } - - protected void load(IMemento memento) { - id = memento.getString(MEMENTO_ID); - protocolId = memento.getString(MEMENTO_TYPE_ID); - Integer temp = memento.getInteger(MEMENTO_LOCAL_PORT); - if (temp != null) - localPort = temp.intValue(); - remoteHost = memento.getString(MEMENTO_REMOTE_HOST); - temp = memento.getInteger(MEMENTO_REMOTE_PORT); - if (temp != null) - remotePort = temp.intValue(); - temp = memento.getInteger(MEMENTO_TIMEOUT); - if (temp != null) - timeout = temp.intValue(); - } - - /** - * @see IMonitor#start() - */ - public synchronized void start() throws CoreException { - if (isRunning()) - return; - if (isWorkingCopy() || !MonitorManager.getInstance().exists(this)) - throw new IllegalArgumentException(); - - IStatus status = validate(); - if (!status.isOK()) - throw new CoreException(status); - - MonitorManager.getInstance().startMonitor(this); - } - - /** - * @see IMonitor#start() - */ - public synchronized void stop() { - if (isWorkingCopy() || !MonitorManager.getInstance().exists(this)) - throw new IllegalArgumentException(); - if (!isRunning()) - return; - MonitorManager.getInstance().stopMonitor(this); - } - - /** - * @see IMonitor#addRequestListener(IRequestListener) - */ - public synchronized void addRequestListener(IRequestListener listener) { - if (listener == null) - throw new IllegalArgumentException(); - if (!requestListeners.contains(listener)) - requestListeners.add(listener); - } - - /** - * @see IMonitor#removeRequestListener(IRequestListener) - */ - public synchronized void removeRequestListener(IRequestListener listener) { - if (listener == null) - throw new IllegalArgumentException(); - requestListeners.remove(listener); - } - - /** - * Fire a request event. - * @param rr - * @param type - */ - protected void fireRequestEvent(Request rr, int type) { - int size = requestListeners.size(); - IRequestListener[] rl = new IRequestListener[size]; - requestListeners.toArray(rl); - - for (int i = 0; i < size; i++) { - IRequestListener listener = rl[i]; - if (type == ADD) - listener.requestAdded(this, rr); - else if (type == CHANGE) - listener.requestChanged(this, rr); - } - } - - /** - * Add a new request response pair. - * - * @param request a request - */ - public void addRequest(Request request) { - fireRequestEvent(request, ADD); - } - - /** - * A request response pair has been changed. - * - * @param request a request - */ - public void requestChanged(Request request) { - fireRequestEvent(request, CHANGE); - } - - /** - * @see IMonitor#validate() - */ - public IStatus validate() { - if (localPort < 0) - return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null); - - if (remotePort < 0) - return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemotePort, null); - - if (remoteHost == null || remoteHost.length() == 0 || !isValidHostname(remoteHost)) - return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemoteHost, null); - - if (isLocalhost(remoteHost) && localPort == remotePort) - return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null); - - return Status.OK_STATUS; - } - - protected static boolean isValidHostname(String host) { - if (host == null || host.trim().length() < 1) - return false; - - int length = host.length(); - for (int i = 0; i < length; i++) { - char c = host.charAt(i); - if (!Character.isLetterOrDigit(c) && c != ':' && c != '.') - return false; - } - if (host.endsWith(":")) - return false; - return true; - } - - protected static boolean isLocalhost(String host) { - if (host == null) - return false; - try { - if ("localhost".equals(host) || "127.0.0.1".equals(host)) - return true; - InetAddress localHostaddr = InetAddress.getLocalHost(); - if (localHostaddr.getHostName().equals(host)) - return true; - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error checking for localhost", e); - } - return false; - } - - /** - * @see Object#toString() - */ - public String toString() { - return "Monitor [" + getId() + ", " + getProtocol() + ", " + getLocalPort() + ", " - + getRemoteHost() + ", " + getRemotePort() + "]"; - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (!(obj instanceof Monitor)) - return false; - - IMonitor m = (IMonitor) obj; - if (m.isWorkingCopy()) { - m = ((IMonitorWorkingCopy) m).getOriginal(); - if (m == null) - return false; - } - if (id == null && m.getId() != null) - return false; - if (id != null && !id.equals(m.getId())) - return false; - - if (localPort != m.getLocalPort()) - return false; - if (remotePort != m.getRemotePort()) - return false; - - if (remoteHost == null && m.getRemoteHost() != null) - return false; - if (remoteHost != null && !remoteHost.equals(m.getRemoteHost())) - return false; - - if (protocolId == null && m.getProtocol() != null) - return false; - if (protocolId != null && !protocolId.equals(m.getProtocol())) - return false; - - return true; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java deleted file mode 100644 index e03361503..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java +++ /dev/null @@ -1,299 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.ByteArrayInputStream; -import java.util.*; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Preferences; -import org.eclipse.core.runtime.Status; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.*; -/** - * - */ -public class MonitorManager { - private static final int ADD = 0; - private static final int CHANGE = 1; - private static final int REMOVE = 2; - - // monitors - protected List monitors; - protected Map threads = new HashMap(); - - protected List monitorListeners = new ArrayList(); - - private Preferences.IPropertyChangeListener pcl; - protected boolean ignorePreferenceChanges = false; - - protected Map resendMap = new HashMap(); - - protected static MonitorManager instance; - - static { - MonitorPlugin.getInstance().executeStartups(); - } - - /** - * Return a static instance. - * - * @return the instance - */ - public static MonitorManager getInstance() { - if (instance == null) - instance = new MonitorManager(); - - return instance; - } - - private MonitorManager() { - loadMonitors(); - - pcl = new Preferences.IPropertyChangeListener() { - public void propertyChange(Preferences.PropertyChangeEvent event) { - if (ignorePreferenceChanges) - return; - String property = event.getProperty(); - if (property.equals("monitors")) { - loadMonitors(); - } - } - }; - - MonitorPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl); - } - - protected void dispose() { - MonitorPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl); - } - - /** - * Create a new monitor. - * - * @return the new monitor - */ - public IMonitorWorkingCopy createMonitor() { - return new MonitorWorkingCopy(); - } - - /** - * Return the list of monitors. - * - * @return the list of monitors - */ - public List getMonitors() { - return new ArrayList(monitors); - } - - protected synchronized void addMonitor(IMonitor monitor) { - if (!monitors.contains(monitor)) - monitors.add(monitor); - fireMonitorEvent(monitor, ADD); - saveMonitors(); - } - - protected boolean isRunning(IMonitor monitor) { - return (threads.get(monitor) != null); - } - - /** - * Start a monitor. - * - * @param monitor the monitor - * @throws CoreException - */ - public void startMonitor(IMonitor monitor) throws CoreException { - if (!monitors.contains(monitor)) - return; - - if (AcceptThread.isPortInUse(monitor.getLocalPort())) - throw new CoreException(new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, monitor.getLocalPort() + ""), null)); - - AcceptThread thread = new AcceptThread(monitor); - thread.startServer(); - threads.put(monitor, thread); - } - - /** - * Stop a monitor. - * - * @param monitor the monitor - */ - public void stopMonitor(IMonitor monitor) { - if (!monitors.contains(monitor)) - return; - - AcceptThread thread = (AcceptThread) threads.get(monitor); - if (thread != null) { - thread.stopServer(); - threads.remove(monitor); - } - } - - protected synchronized void removeMonitor(IMonitor monitor) { - if (monitor.isRunning()) - stopMonitor(monitor); - monitors.remove(monitor); - fireMonitorEvent(monitor, REMOVE); - saveMonitors(); - } - - protected synchronized void monitorChanged(IMonitor monitor) { - fireMonitorEvent(monitor, CHANGE); - saveMonitors(); - } - - protected boolean exists(IMonitor monitor) { - return (monitors.contains(monitor)); - } - - /** - * Add monitor listener. - * - * @param listener - */ - public synchronized void addMonitorListener(IMonitorListener listener) { - if (!monitorListeners.contains(listener)) - monitorListeners.add(listener); - } - - /** - * Remove monitor listener. - * - * @param listener - */ - public synchronized void removeMonitorListener(IMonitorListener listener) { - if (monitorListeners.contains(listener)) - monitorListeners.remove(listener); - } - - /** - * Fire a monitor event. - * - * @param monitor the monitor - * @param type the type of event - */ - protected void fireMonitorEvent(IMonitor monitor, int type) { - Object[] obj = monitorListeners.toArray(); - - int size = obj.length; - for (int i = 0; i < size; i++) { - IMonitorListener listener = (IMonitorListener) obj[i]; - if (type == ADD) - listener.monitorAdded(monitor); - else if (type == CHANGE) - listener.monitorChanged(monitor); - else if (type == REMOVE) - listener.monitorRemoved(monitor); - } - } - - protected synchronized void loadMonitors() { - Trace.trace(Trace.FINEST, "Loading monitors"); - - monitors = new ArrayList(); - Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences(); - String xmlString = prefs.getString("monitors"); - if (xmlString != null && xmlString.length() > 0) { - try { - ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8")); - IMemento memento = XMLMemento.loadMemento(in); - - IMemento[] children = memento.getChildren("monitor"); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - Monitor monitor = new Monitor(); - monitor.load(children[i]); - monitors.add(monitor); - } - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load monitors: " + e.getMessage()); - } - } - } - - protected synchronized void saveMonitors() { - try { - ignorePreferenceChanges = true; - XMLMemento memento = XMLMemento.createWriteRoot("monitors"); - - Iterator iterator = monitors.iterator(); - while (iterator.hasNext()) { - Monitor monitor = (Monitor) iterator.next(); - IMemento child = memento.createChild("monitor"); - monitor.save(child); - } - - String xmlString = memento.saveToString(); - Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences(); - prefs.setValue("monitors", xmlString); - MonitorPlugin.getInstance().savePluginPreferences(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save browsers", e); - } - ignorePreferenceChanges = false; - } - - /** - * Creates a new resend request from the given request. - * - * @param request the request that is to be resent; may not be <code>null</code> - * @return a new resend request - */ - public static ResendHTTPRequest createResendRequest(Request request) { - if (request == null) - throw new IllegalArgumentException(); - return new ResendHTTPRequest((Monitor)request.getMonitor(), request); - } - - /** - * Adds a resend request to this request. - * - * @param request the resend request to add - * @param resendReq the resend request - */ - public void addResendRequest(Request request, ResendHTTPRequest resendReq) { - if (request == null || resendReq == null) - return; - - List list = null; - try { - list = (List) resendMap.get(request); - } catch (Exception e) { - // ignore - } - - if (list == null) { - list = new ArrayList(); - resendMap.put(request, list); - } - list.add(resendReq); - } - - /** - * Returns an array of resend requests based on this request. - * - * @param request a request - * @return the array of resend requests based on this request - */ - public ResendHTTPRequest[] getResendRequests(Request request) { - List list = (List) resendMap.get(request); - if (list != null) - return (ResendHTTPRequest[]) list.toArray(new ResendHTTPRequest[list.size()]); - - return new ResendHTTPRequest[0]; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java deleted file mode 100644 index 59256ec5a..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java +++ /dev/null @@ -1,181 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.util.*; - -import org.eclipse.core.runtime.*; -/** - * The monitor core plugin. - */ -public class MonitorPlugin extends Plugin { - /** - * The plugin/bundle id. - */ - public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.core"; - - private static MonitorPlugin singleton; - - protected Map protocolAdapters; - protected Map contentFilters; - protected boolean startupsLoaded; - - /** - * MonitorPlugin constructor comment. - */ - public MonitorPlugin() { - super(); - singleton = this; - loadProtocolAdapters(); - loadContentFilters(); - } - - /** - * Returns the singleton instance of this plugin. - * - * @return org.eclipse.wst.internet.monitor.core.MonitorPlugin - */ - public static MonitorPlugin getInstance() { - return singleton; - } - - /** - * Returns the default protocol type. - * - * @return the protocol - */ - public String getDefaultType() { - return "HTTP"; - } - - /** - * Returns the protocol adapter with the given id, or <code>null</code> - * if none. This convenience method searches the list of known - * protocol adapters ({@link #getProtocolAdapters()}) for the one with a - * matching id. - * - * @param id the protocol adapter id; must not be <code>null</code> - * @return the protocol adapter instance, or <code>null</code> if there - * is no protocol adapter with the given id - */ - public ProtocolAdapter getProtocolAdapter(String id) { - return (ProtocolAdapter) protocolAdapters.get(id); - } - - /** - * Returns a list of all known protocol adapter instances. - * <p> - * Protocol adapters are registered via the <code>protocolAdapaters</code> - * extension point in the <code>org.eclipse.wst.internet.monitor.core</code> - * plug-in. - * </p> - * <p> - * A new array is returned on each call; clients may safely store or modify the result. - * </p> - * - * @return a possibly-empty array of protocol adapter instances - */ - public ProtocolAdapter[] getProtocolAdapters() { - List list = new ArrayList(); - Iterator iterator = protocolAdapters.values().iterator(); - while (iterator.hasNext()) { - list.add(iterator.next()); - } - ProtocolAdapter[] types = new ProtocolAdapter[list.size()]; - list.toArray(types); - return types; - } - - /** - * Return the content filters. - * - * @return an array of content filters - */ - public IContentFilter[] getContentFilters() { - List list = new ArrayList(); - Iterator iterator = contentFilters.values().iterator(); - while (iterator.hasNext()) { - list.add(iterator.next()); - } - IContentFilter[] cf = new IContentFilter[list.size()]; - list.toArray(cf); - return cf; - } - - /** - * Find a content filter by the id. - * - * @param id an id - * @return the content filter, or <code>null</code> if it couldn't be found - */ - public IContentFilter findContentFilter(String id) { - if (id == null) - throw new IllegalArgumentException(); - return (IContentFilter) contentFilters.get(id); - } - - protected synchronized void loadProtocolAdapters() { - if (protocolAdapters != null) - return; - Trace.trace(Trace.CONFIG, "Loading protocol adapters"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalProtocolAdapters"); - - int size = cf.length; - protocolAdapters = new HashMap(size); - for (int i = 0; i < size; i++) { - String id = cf[i].getAttribute("id"); - Trace.trace(Trace.CONFIG, "Loading adapter: " + id); - protocolAdapters.put(id, new ProtocolAdapter(cf[i])); - } - } - - protected synchronized void loadContentFilters() { - if (contentFilters != null) - return; - Trace.trace(Trace.CONFIG, "Loading content filters"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalContentFilters"); - - int size = cf.length; - contentFilters = new HashMap(size); - for (int i = 0; i < size; i++) { - String id = cf[i].getAttribute("id"); - Trace.trace(Trace.CONFIG, "Loading filter: " + id); - contentFilters.put(id, new ContentFilter(cf[i])); - } - } - - protected synchronized void executeStartups() { - if (startupsLoaded) - return; - - Trace.trace(Trace.CONFIG, "Loading startups"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalStartup"); - - int size = cf.length; - for (int i = 0; i < size; i++) { - String id = cf[i].getAttribute("id"); - Trace.trace(Trace.CONFIG, "Loading startup: " + id); - try { - IStartup startup = (IStartup) cf[i].createExecutableExtension("class"); - try { - startup.startup(); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create startup: " + id, e); - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java deleted file mode 100644 index 519de72f4..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy; -/** - * - */ -public class MonitorWorkingCopy extends Monitor implements IMonitorWorkingCopy { - protected Monitor monitor; - - /** - * Create a new monitor working copy. (used for initial creation) - */ - public MonitorWorkingCopy() { - // do nothing - } - - /** - * Create a new monitor working copy. (used for working copies) - * - * @param monitor the monitor this working copy is for - */ - public MonitorWorkingCopy(Monitor monitor) { - this.monitor = monitor; - setInternal(monitor); - } - - /** (non-Javadoc) - * @see IMonitorWorkingCopy#getOriginal() - */ - public IMonitor getOriginal() { - return monitor; - } - - /** - * Set the id. - * - * @param newId the id - */ - public void setId(String newId) { - id = newId; - } - - /** (non-Javadoc) - * @see IMonitorWorkingCopy#setRemoteHost(String) - */ - public void setRemoteHost(String host) { - remoteHost = host; - } - - /** (non-Javadoc) - * @see IMonitorWorkingCopy#setRemotePort(int) - */ - public void setRemotePort(int port) { - remotePort = port; - } - - /** (non-Javadoc) - * @see IMonitorWorkingCopy#setLocalPort(int) - */ - public void setLocalPort(int port) { - localPort = port; - } - - /** (non-Javadoc) - * @see IMonitorWorkingCopy#setProtocol(String) - */ - public void setProtocol(String protocolId2) { - protocolId = protocolId2; - } - - /** (non-Javadoc) - * @see IMonitorWorkingCopy#setTimeout(int) - */ - public void setTimeout(int timeout2) { - timeout = timeout2; - } - - /** - * @see IMonitor#isWorkingCopy() - */ - public boolean isWorkingCopy() { - return true; - } - - /** - * @see IMonitor#createWorkingCopy() - */ - public IMonitorWorkingCopy createWorkingCopy() { - return this; - } - - /** - * @see IMonitorWorkingCopy#save() - */ - public synchronized IMonitor save() { - MonitorManager mm = MonitorManager.getInstance(); - if (monitor != null) { - //boolean restart = false; - if (monitor.isRunning()) { - //restart = true; - mm.stopMonitor(monitor); - } - monitor.setInternal(this); - mm.monitorChanged(monitor); - //if (restart) - // mm.startMonitor(monitor); - } else { - monitor = new Monitor(); - monitor.setInternal(this); - mm.addMonitor(monitor); - } - return monitor; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java deleted file mode 100644 index 44f8c0e71..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.IOException; -import java.net.Socket; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -/** - * - */ -public class ProtocolAdapter implements IProtocolAdapter { - protected IConfigurationElement element; - protected ProtocolAdapterDelegate delegate; - - protected ProtocolAdapter(IConfigurationElement element) { - this.element = element; - } - - /** - * @see IProtocolAdapter#getId() - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * @see IProtocolAdapter#getName() - */ - public String getName() { - return element.getAttribute("name"); - } - - protected ProtocolAdapterDelegate getDelegate() { - if (delegate != null) - return delegate; - - try { - delegate = (ProtocolAdapterDelegate) element.createExecutableExtension("class"); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create protocol adapter delegate: " + getId(), e); - } - return delegate; - } - - /** - * Connect with the protocol. - * - * @param monitor a monitor - * @param in an inbound socket - * @param out an outbound socket - * @throws IOException - */ - public void connect(IMonitor monitor, Socket in, Socket out) throws IOException { - getDelegate().connect(monitor, in, out); - } - - /** - * Disconnect from the sockets. - * - * @param monitor a monitor - * @throws IOException - */ - public void disconnect(IMonitor monitor) throws IOException { - getDelegate().disconnect(monitor); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java deleted file mode 100644 index 6e947231b..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.IOException; -import java.net.Socket; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -/** - * Abstract base class for protocol adapter delegates, which provide the - * implementation behind a particular protocol adapter. - * A protocol adapter watches the message traffic passing between client and - * server; it parses the messages and reports them in the form of - * Request objects. - * <p> - * This abstract class is intended to be subclassed only by clients - * to extend the <code>protocolAdapters</code> extension point. - * The subclass must have a public 0-argument constructor, which will be used - * automatically to instantiate the delegate when required. - * </p> - * <p> - * There is only one delegate created per protocol, and this delegate must - * be able to handle multiple monitor instances. This means that the delegate - * typically will not have instance state, or must synchronize and keep the - * state separate. - * </p> - * <p> - * [issue: The HTTP and TCP/IP delegate implementations create threads which - * shuffle info between sockets. If the monitor is changed or deleted, how do - * these threads go away? Methinks that delegates in general should be forced - * to implement disconnect(IMonitor) as well. This method would be called by the - * system when the monitor is changed or deleted, or when the plug-in is - * being shut down.] - * </p> - * - * @plannedfor 1.0 - */ -public abstract class ProtocolAdapterDelegate { - /** - * Establishes an ongoing connection between client and server being - * monitored by the given monitor. The <code>in</code> socket is associated - * with the monitor's client. The <code>out</code> socket is associated with - * the monitor's server. Different adapaters handle different network - * protocols. - * <p> - * Subclasses must implement this method to achieve the following: - * <ul> - * <li>Client to server communication - - * Opening an input stream on the <code>in</code> socket, opening an output - * stream on the <code>out</code> socket, and establishing a mechanism that - * will pass along all bytes received on the input stream to the output - * stream.</li> - * <li>Server to client communication - Opening an input stream on the - * <code>out</code> socket, opening an output stream on the <code>in</code> - * socket, and establishing a mechanism that will pass along all bytes - * received on the input stream to the output stream.</li> - * <li>Parsing the protocol-specific message traffic to create and report - * request objects for each message passed between client and server.</li> - * <li>Closing the input and output sockets and otherwise cleaning up - * afterwards.</li> - * </ul> - * </p> - * - * @param monitor the monitor that uses this protocol adapter - * @param in the input socket of the monitor client - * @param out the output socket of the monitor server - * @throws IOException if an exception occur when opening the streams of the - * input or output sockets - */ - public abstract void connect(IMonitor monitor, Socket in, Socket out) throws IOException; - - /** - * Called if the monitor is changed or deleted, or the plugin is shutting down. - * The delegate must clean up the connections and threads created to respond to - * this monitor. - * - * @param monitor - * @throws IOException - */ - public abstract void disconnect(IMonitor monitor) throws IOException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java deleted file mode 100644 index 62b4dd9d3..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java +++ /dev/null @@ -1,351 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.InetAddress; -import java.net.Socket; -import java.net.SocketAddress; -import java.net.SocketException; -import java.nio.channels.SocketChannel; -/** - * A socket that is only used for resending requests. All input operations are - * ignored. - */ -public class SocketWrapper extends Socket { - private InputStream inputStream; - private OutputStream outputStream; - - /** - * Create a new socket wrapper. - * - * @param inputStream - */ - public SocketWrapper(InputStream inputStream) { - this.inputStream = inputStream; - this.outputStream = new DummyOutputStream(); - } - - /** (non-Javadoc) - * @see java.net.Socket#bind(java.net.SocketAddress) - */ - public void bind(SocketAddress arg0) throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.net.Socket#close() - */ - public synchronized void close() throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.net.Socket#connect(java.net.SocketAddress, int) - */ - public void connect(SocketAddress arg0, int arg1) throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.net.Socket#connect(java.net.SocketAddress) - */ - public void connect(SocketAddress arg0) throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.net.Socket#getChannel() - */ - public SocketChannel getChannel() { - return super.getChannel(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getInetAddress() - */ - public InetAddress getInetAddress() { - return super.getInetAddress(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getInputStream() - */ - public InputStream getInputStream() throws IOException { - return inputStream; - } - - /** (non-Javadoc) - * @see java.net.Socket#getKeepAlive() - */ - public boolean getKeepAlive() throws SocketException { - return false; - } - - /** (non-Javadoc) - * @see java.net.Socket#getLocalAddress() - */ - public InetAddress getLocalAddress() { - return super.getLocalAddress(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getLocalPort() - */ - public int getLocalPort() { - return super.getLocalPort(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getLocalSocketAddress() - */ - public SocketAddress getLocalSocketAddress() { - return super.getLocalSocketAddress(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getOOBInline() - */ - public boolean getOOBInline() throws SocketException { - return super.getOOBInline(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getOutputStream() - */ - public OutputStream getOutputStream() throws IOException { - return outputStream; - } - - /** (non-Javadoc) - * @see java.net.Socket#getPort() - */ - public int getPort() { - return super.getPort(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getReceiveBufferSize() - */ - public synchronized int getReceiveBufferSize() throws SocketException { - return super.getReceiveBufferSize(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getRemoteSocketAddress() - */ - public SocketAddress getRemoteSocketAddress() { - return super.getRemoteSocketAddress(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getReuseAddress() - */ - public boolean getReuseAddress() throws SocketException { - return super.getReuseAddress(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getSendBufferSize() - */ - public synchronized int getSendBufferSize() throws SocketException { - return super.getSendBufferSize(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getSoLinger() - */ - public int getSoLinger() throws SocketException { - return super.getSoLinger(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getSoTimeout() - */ - public synchronized int getSoTimeout() throws SocketException { - return super.getSoTimeout(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getTcpNoDelay() - */ - public boolean getTcpNoDelay() throws SocketException { - return super.getTcpNoDelay(); - } - - /** (non-Javadoc) - * @see java.net.Socket#getTrafficClass() - */ - public int getTrafficClass() throws SocketException { - return super.getTrafficClass(); - } - - /** (non-Javadoc) - * @see java.net.Socket#isBound() - */ - public boolean isBound() { - return super.isBound(); - } - - /** (non-Javadoc) - * @see java.net.Socket#isClosed() - */ - public boolean isClosed() { - return false; - } - - /** (non-Javadoc) - * @see java.net.Socket#isConnected() - */ - public boolean isConnected() { - return true; - } - - /** (non-Javadoc) - * @see java.net.Socket#isInputShutdown() - */ - public boolean isInputShutdown() { - return false; - } - - /** (non-Javadoc) - * @see java.net.Socket#isOutputShutdown() - */ - public boolean isOutputShutdown() { - return false; - } - - /** (non-Javadoc) - * @see java.net.Socket#sendUrgentData(int) - */ - public void sendUrgentData(int arg0) throws IOException { - super.sendUrgentData(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setKeepAlive(boolean) - */ - public void setKeepAlive(boolean arg0) throws SocketException { - super.setKeepAlive(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setOOBInline(boolean) - */ - public void setOOBInline(boolean arg0) throws SocketException { - super.setOOBInline(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setReceiveBufferSize(int) - */ - public synchronized void setReceiveBufferSize(int arg0) throws SocketException { - super.setReceiveBufferSize(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setReuseAddress(boolean) - */ - public void setReuseAddress(boolean arg0) throws SocketException { - super.setReuseAddress(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setSendBufferSize(int) - */ - public synchronized void setSendBufferSize(int arg0) throws SocketException { - super.setSendBufferSize(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setSoLinger(boolean, int) - */ - public void setSoLinger(boolean arg0, int arg1) throws SocketException { - super.setSoLinger(arg0, arg1); - } - - /** (non-Javadoc) - * @see java.net.Socket#setSoTimeout(int) - */ - public synchronized void setSoTimeout(int arg0) throws SocketException { - super.setSoTimeout(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setTcpNoDelay(boolean) - */ - public void setTcpNoDelay(boolean arg0) throws SocketException { - super.setTcpNoDelay(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#setTrafficClass(int) - */ - public void setTrafficClass(int arg0) throws SocketException { - super.setTrafficClass(arg0); - } - - /** (non-Javadoc) - * @see java.net.Socket#shutdownInput() - */ - public void shutdownInput() throws IOException { - inputStream.close(); - } - - /** (non-Javadoc) - * @see java.net.Socket#shutdownOutput() - */ - public void shutdownOutput() throws IOException { - // do nothing - } - - /** - * A dummy OutputStream that allows us to fake output for a socket. - */ - public class DummyOutputStream extends OutputStream { - /** (non-Javadoc) - * @see java.io.OutputStream#close() - */ - public void close() throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.io.OutputStream#flush() - */ - public void flush() throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.io.OutputStream#write(byte[], int, int) - */ - public void write(byte[] arg0, int arg1, int arg2) throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.io.OutputStream#write(byte[]) - */ - public void write(byte[] arg0) throws IOException { - // do nothing - } - - /** (non-Javadoc) - * @see java.io.OutputStream#write(int) - */ - public void write(int arg0) throws IOException { - // do nothing - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java deleted file mode 100644 index 4638d3897..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java +++ /dev/null @@ -1,49 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.IOException; -import java.net.Socket; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * - */ -public class TCPIPProtocolAdapter extends ProtocolAdapterDelegate { - protected Map map = new HashMap(); - - /** - * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket) - */ - public void connect(IMonitor monitor, Socket in, Socket out) throws IOException { - Request request = new Request((Monitor) monitor, IProtocolAdapter.TCPIP_PROTOCOL_ID, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort()); - Connection conn = new Connection(in, out); - map.put(monitor, conn); - TCPIPThread requestThread = new TCPIPThread(conn, request, in.getInputStream(), out.getOutputStream(), true); - requestThread.start(); - new TCPIPThread(conn, request, out.getInputStream(), in.getOutputStream(), false).start(); - } - - /** - * @see ProtocolAdapterDelegate#disconnect(IMonitor) - */ - public void disconnect(IMonitor monitor) throws IOException { - try { - Connection conn = (Connection) map.get(monitor); - conn.close(); - } catch (Exception e) { - // ignore - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java deleted file mode 100644 index 3b750c6e7..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.*; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * Monitor server I/O thread. - */ -public class TCPIPThread extends Thread { - private static final int BUFFER = 2048; - protected InputStream in; - protected OutputStream out; - protected boolean isRequest; - - protected Connection conn; - protected Request request; - - /** - * Create a new TCP/IP thread. - * - * @param conn - * @param request - * @param in - * @param out - * @param isRequest - */ - public TCPIPThread(Connection conn, Request request, InputStream in, OutputStream out, boolean isRequest) { - super(); - this.conn = conn; - this.request = request; - this.in = in; - this.out = out; - this.isRequest = isRequest; - setPriority(Thread.NORM_PRIORITY + 1); - setDaemon(true); - } - - /** - * Listen for input, save it, and pass to the output stream. - */ - public void run() { - try { - byte[] b = new byte[BUFFER]; - int n = in.read(b); - while (n > 0) { - out.write(b, 0, n); - if (b != null && n > 0) { - byte[] x = null; - if (n == BUFFER) - x = b; - else { - x = new byte[n]; - System.arraycopy(b, 0, x, 0, n); - } - if (isRequest) - request.addToRequest(x); - else - request.addToResponse(x); - } - n = in.read(b); - Thread.yield(); - } - out.flush(); - } catch (IOException e) { - // ignore - } finally { - //request.fireChangedEvent(); - if (!isRequest) - conn.close(); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java deleted file mode 100644 index f0fec76bb..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; -/** - * Helper class to route trace output. - */ -public class Trace { - /** - * Config trace event. - */ - public static byte CONFIG = 0; - - /** - * Warning trace event. - */ - public static byte WARNING = 1; - - /** - * Severe trace event. - */ - public static byte SEVERE = 2; - - /** - * Finest trace event. - */ - public static byte FINEST = 3; - - /** - * Parsing trace event. - */ - public static byte PARSING = 4; - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level the trace level - * @param s a message - */ - public static void trace(byte level, String s) { - trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level the trace level - * @param s a message - * @param t a throwable - */ - public static void trace(byte level, String s, Throwable t) { - if (!MonitorPlugin.getInstance().isDebugging()) - return; - - System.out.println(MonitorPlugin.PLUGIN_ID + " " + System.currentTimeMillis() + " " + s); - if (t != null) - t.printStackTrace(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java deleted file mode 100644 index 8a2305cbc..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java +++ /dev/null @@ -1,368 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal; - -import java.io.*; -import java.util.*; -import org.w3c.dom.*; -import org.xml.sax.*; - -import javax.xml.parsers.*; -import javax.xml.transform.*; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -/** - * A Memento is a class independent container for persistence - * info. It is a reflection of 3 storage requirements. - * - * 1) We need the ability to persist an object and restore it. - * 2) The class for an object may be absent. If so we would - * like to skip the object and keep reading. - * 3) The class for an object may change. If so the new class - * should be able to read the old persistence info. - * - * We could ask the objects to serialize themselves into an - * ObjectOutputStream, DataOutputStream, or Hashtable. However - * all of these approaches fail to meet the second requirement. - * - * Memento supports binary persistance with a version ID. - */ -public final class XMLMemento implements IMemento { - private Document factory; - private Element element; - - /** - * Answer a memento for the document and element. For simplicity - * you should use createReadRoot and createWriteRoot to create the initial - * mementos on a document. - */ - private XMLMemento(Document doc, Element el) { - factory = doc; - element = el; - } - - /** - * @see IMemento#createChild(String) - */ - public IMemento createChild(String type) { - Element child = factory.createElement(type); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /** - * @see IMemento#createChild(String, String) - */ - public IMemento createChild(String type, String id) { - Element child = factory.createElement(type); - child.setAttribute(TAG_ID, id); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /** - * Create a Document from a Reader and answer a root memento for reading - * a document. - */ - protected static XMLMemento createReadRoot(InputStream in) { - Document document = null; - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder parser = factory.newDocumentBuilder(); - document = parser.parse(new InputSource(in)); - Node node = document.getFirstChild(); - if (node instanceof Element) - return new XMLMemento(document, (Element) node); - } catch (ParserConfigurationException e) { - // ignore - } catch (IOException e) { - // ignore - } catch (SAXException e) { - // ignore - } finally { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - return null; - } - - /** - * Answer a root memento for writing a document. - * - * @param type - * @return a memento - */ - public static XMLMemento createWriteRoot(String type) { - Document document; - try { - document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); - Element element = document.createElement(type); - document.appendChild(element); - return new XMLMemento(document, element); - } catch (ParserConfigurationException e) { - throw new Error(e); - } - } - - /** - * @see IMemento#getChild(String) - */ - public IMemento getChild(String type) { - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return null; - - // Find the first node which is a child of this node. - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - return new XMLMemento(factory, element2); - } - } - - // A child was not found. - return null; - } - - /** - * @see IMemento#getChildren(String) - */ - public IMemento [] getChildren(String type) { - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return new IMemento[0]; - - // Extract each node with given type. - ArrayList list = new ArrayList(size); - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - list.add(element2); - } - } - - // Create a memento for each node. - size = list.size(); - IMemento [] results = new IMemento[size]; - for (int x = 0; x < size; x ++) { - results[x] = new XMLMemento(factory, (Element)list.get(x)); - } - return results; - } - - /** - * Returns an input stream for writing to the disk with a local locale. - * - * @return the input stream - * @throws IOException - */ - public InputStream getInputStream() throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - save(out); - return new ByteArrayInputStream(out.toByteArray()); - } - - /** - * @see IMemento#getFloat(String) - */ - public Float getFloat(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Float(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /** - * @see IMemento#getId() - */ - public String getId() { - return element.getAttribute(TAG_ID); - } - - /** - * @see IMemento#getName() - */ - public String getName() { - return element.getNodeName(); - } - - /** - * @see IMemento#getInteger(String) - */ - public Integer getInteger(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Integer(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /** - * @see IMemento#getString(String) - */ - public String getString(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - return attr.getValue(); - } - - /** - * @see IMemento#getNames() - */ - public List getNames() { - NamedNodeMap map = element.getAttributes(); - int size = map.getLength(); - List list = new ArrayList(); - for (int i = 0; i < size; i++) { - Node node = map.item(i); - String name = node.getNodeName(); - list.add(name); - } - return list; - } - - /** - * Loads a memento from the given filename. - * - * @param in the input stream - * @return a memento - */ - public static IMemento loadMemento(InputStream in) { - return createReadRoot(in); - } - - /* - * @see IMemento - */ - private void putElement(Element element2) { - NamedNodeMap nodeMap = element2.getAttributes(); - int size = nodeMap.getLength(); - for (int i = 0; i < size; i++){ - Attr attr = (Attr)nodeMap.item(i); - putString(attr.getName(),attr.getValue()); - } - - NodeList nodes = element2.getChildNodes(); - size = nodes.getLength(); - for (int i = 0; i < size; i ++) { - Node node = nodes.item(i); - if (node instanceof Element) { - XMLMemento child = (XMLMemento)createChild(node.getNodeName()); - child.putElement((Element)node); - } - } - } - - /** - * @see IMemento#putFloat(String, float) - */ - public void putFloat(String key, float f) { - element.setAttribute(key, String.valueOf(f)); - } - - /** - * @see IMemento#putInteger(String, int) - */ - public void putInteger(String key, int n) { - element.setAttribute(key, String.valueOf(n)); - } - - /** - * @see IMemento#putMemento(IMemento) - */ - public void putMemento(IMemento memento) { - XMLMemento xmlMemento = (XMLMemento) memento; - putElement(xmlMemento.element); - } - - /** - * @see IMemento#putString(String, String) - */ - public void putString(String key, String value) { - if (value == null) - return; - element.setAttribute(key, value); - } - - /** - * Save this Memento to an output stream. - * - * @param os - * @throws IOException - */ - public void save(OutputStream os) throws IOException { - Result result = new StreamResult(os); - Source source = new DOMSource(factory); - try { - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$ - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$ - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$ - transformer.transform(source, result); - } catch (Exception e) { - throw (IOException) (new IOException().initCause(e)); - } - } - - /** - * Save to string. - * - * @return the string - * @throws IOException - */ - public String saveToString() throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - save(out); - return out.toString("UTF-8"); - } - - /** - * @see IMemento#getBoolean(String) - */ - public Boolean getBoolean(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - if ("true".equalsIgnoreCase(strValue)) - return new Boolean(true); - - return new Boolean(false); - } - - /** - * @see IMemento#putBoolean(String, boolean) - */ - public void putBoolean(String key, boolean value) { - element.setAttribute(key, value ? "true" : "false"); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java deleted file mode 100644 index 4b5748089..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java +++ /dev/null @@ -1,120 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.http; - -import org.eclipse.wst.internet.monitor.core.internal.Monitor; -import org.eclipse.wst.internet.monitor.core.internal.Trace; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; - -import java.util.List; -import java.util.ArrayList; -/** - * Manages a monitor server connection between two hosts. This - * connection may spawn one or more TCP/IP requests to be displayed - * in the monitor server view. - */ -public class HTTPConnection { - protected IMonitor monitor; - - protected int req = -1; - protected int resp = -1; - - protected List requests = new ArrayList(); - - /** - * HTTPConnection constructor comment. - * - * @param monitor a monitor - */ - public HTTPConnection(IMonitor monitor) { - super(); - this.monitor = monitor; - Trace.trace(Trace.PARSING, "TCP/IP monitor connection opened " + monitor); - } - - /** - * Add a request. - * - * @param b the request data - * @param isNew true if new - */ - public void addRequest(byte[] b, boolean isNew) { - if (isNew) - req ++; - HTTPRequest request = (HTTPRequest) getRequestResponse(req); - request.addToRequest(b); - } - - /** - * Add a response. - * - * @param b the response data - * @param isNew true if new - */ - public void addResponse(byte[] b, boolean isNew) { - if (isNew) - resp ++; - HTTPRequest request = (HTTPRequest) getRequestResponse(resp); - request.addToResponse(b); - } - - /** - * Add a property. - * - * @param key - * @param value - */ - public void addProperty(String key, Object value) { - Request request = getRequestResponse(req); - request.setProperty(key, value); - } - - /** - * Get the request. - * - * @param isRequest - * @return the request - */ - public Request getRequestResponse(boolean isRequest) { - if (isRequest) - return getRequestResponse(req); - - return getRequestResponse(resp); - } - - /** - * - */ - protected Request getRequestResponse(int i) { - synchronized (this) { - while (i >= requests.size()) { - Request request = new HTTPRequest((Monitor) monitor, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort()); - requests.add(request); - return request; - } - return (Request) requests.get(i); - } - } - - /** - * Set the title. - * - * @param title the title - * @param isNew boolean - */ - public void setLabel(String title, boolean isNew) { - if (isNew) - req ++; - HTTPRequest request = (HTTPRequest) getRequestResponse(req); - request.setName(title); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java deleted file mode 100644 index 7968e70c3..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java +++ /dev/null @@ -1,52 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.http; - -import java.io.IOException; -import java.net.Socket; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.wst.internet.monitor.core.internal.Connection; -import org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -/** - * - */ -public class HTTPProtocolAdapter extends ProtocolAdapterDelegate { - protected Map map = new HashMap(); - - /** - * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket) - */ - public void connect(IMonitor monitor, Socket in, Socket out) throws IOException { - Connection conn2 = new Connection(in, out); - map.put(monitor, conn2); - HTTPConnection conn = new HTTPConnection(monitor); - HTTPThread request = new HTTPThread(conn2, in.getInputStream(), out.getOutputStream(), conn, true, monitor.getRemoteHost(), monitor.getRemotePort()); - HTTPThread response = new HTTPThread(conn2, out.getInputStream(), in.getOutputStream(), conn, false, "localhost", monitor.getLocalPort(), request); - request.start(); - response.start(); - } - - /** - * @see ProtocolAdapterDelegate#disconnect(IMonitor) - */ - public void disconnect(IMonitor monitor) throws IOException { - try { - Connection conn = (Connection) map.get(monitor); - if (conn != null) - conn.close(); - } catch (Exception e) { - // ignore - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java deleted file mode 100644 index ba4f34f2b..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.http; - -import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter; -import org.eclipse.wst.internet.monitor.core.internal.Monitor; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * - */ -public class HTTPRequest extends Request { - protected static final String HTTP_REQUEST_HEADER = "request-header"; - protected static final String HTTP_RESPONSE_HEADER = "response-header"; - - protected static final String HTTP_REQUEST_BODY = "request-body"; - protected static final String HTTP_RESPONSE_BODY = "response-body"; - - protected static final byte[] EMPTY = new byte[0]; - - /** - * Create an HTTPRequest. - * - * @param monitor - * @param localPort - * @param remoteHost - * @param remotePort - */ - public HTTPRequest(Monitor monitor, int localPort, String remoteHost, int remotePort) { - super(monitor, IProtocolAdapter.HTTP_PROTOCOL_ID, localPort, remoteHost, remotePort); - } - - /** - * @see Request#getRequest(int) - */ - public byte[] getRequest(int type2) { - if (type2 == ALL) - return request; - else if (type2 == TRANSPORT) - return getRequestHeader(); - else - return getRequestContent(); - } - - /** - * @see Request#getResponse(int) - */ - public byte[] getResponse(int type2) { - if (type2 == ALL) - return response; - else if (type2 == TRANSPORT) - return getResponseHeader(); - else - return getResponseContent(); - } - - protected byte[] getRequestHeader() { - Object obj = getProperty(HTTP_REQUEST_HEADER); - if (obj == null || !(obj instanceof byte[])) - return null; - return (byte[]) obj; - } - - protected byte[] getRequestContent() { - Object obj = getProperty(HTTP_REQUEST_BODY); - if (obj == null || !(obj instanceof byte[])) - return null; - return (byte[]) obj; - } - - protected byte[] getResponseHeader() { - Object obj = getProperty(HTTP_RESPONSE_HEADER); - if (obj == null || !(obj instanceof byte[])) - return null; - return (byte[]) obj; - } - - protected byte[] getResponseContent() { - Object obj = getProperty(HTTP_RESPONSE_BODY); - if (obj == null || !(obj instanceof byte[])) - return null; - return (byte[]) obj; - } - - protected void setName(String n) { - super.setName(n); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java deleted file mode 100644 index e2650d1fb..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java +++ /dev/null @@ -1,647 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.http; - -import java.io.*; -import org.eclipse.wst.internet.monitor.core.internal.Connection; -import org.eclipse.wst.internet.monitor.core.internal.Trace; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * Monitor server I/O thread. - */ -public class HTTPThread extends Thread { - private static final int BUFFER = 2048; - private static final byte CR = (byte) '\r'; - private static final byte LF = (byte) '\n'; - protected static int threadCount = 0; - - private byte[] readBuffer = new byte[BUFFER]; - - // buffer and index - protected byte[] buffer = new byte[0]; - protected int bufferIndex = 0; - - protected InputStream in; - protected OutputStream out; - protected HTTPConnection conn; - protected boolean isRequest; - protected Connection conn2; - - protected HTTPThread request; - protected boolean isWaiting; - - // user to translate the Host: header - protected String host; - protected int port; - - protected int contentLength = -1; - protected byte transferEncoding = -1; - protected String responseType = null; - protected boolean connectionKeepAlive = false; - protected boolean connectionClose = false; - - protected static final String[] ENCODING_STRING = new String[] { - "chunked", "identity", "gzip", "compressed", "deflate"}; - - protected static final byte ENCODING_CHUNKED = 0; - protected static final byte ENCODING_IDENTITY = 1; - protected static final byte ENCODING_GZIP = 2; - protected static final byte ENCODING_COMPRESSED = 3; - protected static final byte ENCODING_DEFLATE = 4; - -/* change: -Referer: http://localhost:8081/index.html -Host: localhost:8081 -*/ -/* The Connection header has the following grammar: - - Connection = "Connection" ":" 1#(connection-token) - connection-token = token - - HTTP/1.1 proxies MUST parse the Connection header field before a - message is forwarded and, for each connection-token in this field, - remove any header field(s) from the message with the same name as the - connection-token. */ - - /** - * Create a new HTTP thread. - * - * @param conn2 - * @param in - * @param out - * @param conn - * @param isRequest - * @param host - * @param port - */ - public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port) { - super(); - this.conn2 = conn2; - this.in = in; - this.out = out; - this.conn = conn; - this.isRequest = isRequest; - this.host = host; - this.port = port; - - setName("HTTP (" + host + ":" + port + ") " + (isRequest ? "REQUEST" : "RESPONSE") + " " + (threadCount++)); - setPriority(Thread.NORM_PRIORITY + 1); - setDaemon(true); - - Trace.trace(Trace.PARSING, "Started: " + this); - } - - /** - * Create a new HTTP thread. - * - * @param conn2 - * @param in - * @param out - * @param conn - * @param isRequest - * @param host - * @param port - * @param request - */ - public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port, HTTPThread request) { - this(conn2, in, out, conn, isRequest, host, port); - - this.request = request; - } - - /** - * Add a line feed to the end of the byte array. - * @return byte[] - * @param b byte[] - */ - protected static byte[] convert(byte[] b) { - if (b == null || b.length == 0) - return b; - - int size = b.length; - byte[] x = new byte[size + 2]; - System.arraycopy(b, 0, x, 0, size); - x[size] = (byte) '\r'; // CR - x[size + 1] = (byte) '\n'; // LF - return x; - } - - /** - * Read more data into the buffer. - */ - protected void fillBuffer() throws IOException { - int n = in.read(readBuffer); - - if (n <= 0) - throw new IOException("End of input"); - - // add to full buffer - int len = buffer.length - bufferIndex; - if (len < 0) - len = 0; - byte[] x = new byte[n + len]; - System.arraycopy(buffer, bufferIndex, x, 0, len); - System.arraycopy(readBuffer, 0, x, len, n); - bufferIndex = 0; - buffer = x; - } - - /** - * Returns the first location of a CRLF. - * - * @return int - */ - protected int getFirstCRLF() { - int size = buffer.length; - int i = bufferIndex + 1; - while (i < size) { - if (buffer[i - 1] == CR && buffer[i] == LF) - return i; - i++; - } - return -1; - } - - /** - * Output the given bytes. - * @param b byte[] - */ - protected void outputBytes(byte[] b, boolean isNew) throws IOException { - out.write(b); - if (isRequest) - conn.addRequest(b, isNew); - else - conn.addResponse(b, isNew); - } - - /** - * Parse the HTTP body. - * - * @throws IOException - */ - public void parseBody() throws IOException { - Trace.trace(Trace.PARSING, "Parsing body for: " + this); - - if (responseType != null && ("204".equals(responseType) || "304".equals(responseType))) { - setHTTPBody(new byte[0]); - return; - } - - if (isRequest) { - if (contentLength != -1) { - byte[] b = readBytes(contentLength); - out.write(b); - conn.addRequest(b, false); - setHTTPBody(b); - } else if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) { - parseChunk(); - } - - Trace.trace(Trace.PARSING, "Done parsing request body for: " + this); - return; - } - - // just return body for HTTP 1.0 responses - if (!isRequest && !connectionKeepAlive && contentLength == -1 && transferEncoding == -1) { - Trace.trace(Trace.PARSING, "Assuming HTTP 1.0 for: " + this); - int n = buffer.length - bufferIndex; - byte[] b = readBytes(n); - byte[] body = new byte[0]; - while (n >= 0) { - Trace.trace(Trace.PARSING, "Bytes read: " + n + " " + this); - if (b != null && n > 0) { - byte[] x = null; - if (n == b.length) - x = b; - else { - x = new byte[n]; - System.arraycopy(b, 0, x, 0, n); - } - outputBytes(x, false); - - // copy to HTTP body - byte[] temp = new byte[body.length + x.length]; - System.arraycopy(body, 0, temp, 0, body.length); - System.arraycopy(x, 0, temp, body.length, x.length); - body = temp; - } - if (b.length < BUFFER) - b = new byte[BUFFER]; - n = in.read(b); - Thread.yield(); - } - out.flush(); - setHTTPBody(body); - return; - } - - // spec 4.4.1 - if (responseType != null && responseType.startsWith("1")) { - setHTTPBody(new byte[0]); - return; - } - - // spec 4.4.2 - if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) { - parseChunk(); - return; - } - - // spec 4.4.3 - if (contentLength != -1) { - byte[] b = readBytes(contentLength); - out.write(b); - if (isRequest) - conn.addRequest(b, false); - else - conn.addResponse(b, false); - setHTTPBody(b); - return; - } - - // spec 4.4.4 (?) - - Trace.trace(Trace.PARSING, "Unknown body for: " + this); - } - - /** - * Parse an HTTP chunk. - * - * @throws IOException - */ - public void parseChunk() throws IOException { - Trace.trace(Trace.PARSING, "Parsing chunk for: " + this); - boolean done = false; - byte[] body = new byte[0]; - - while (!done) { - // read chunk size - byte[] b = readLine(); - - String s = new String(b); - int index = s.indexOf(" "); - int length = -1; - try { - if (index > 0) - s = s.substring(0, index); - length = Integer.parseInt(s.trim(), 16); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error chunk for: " + this, e); - } - - // output bytes - outputBytes(b, false); - - if (length <= 0) - done = true; - else { - // read and output chunk data plus CRLF - b = readBytes(length + 2); - outputBytes(b, false); - - // copy to HTTP body - byte[] temp = new byte[body.length + b.length - 2]; - System.arraycopy(body, 0, temp, 0, body.length); - System.arraycopy(b, 0, temp, body.length, b.length - 2); - body = temp; - } - } - - // read trailer - byte[] b = readLine(); - while (b.length > 2) { - outputBytes(b, false); - b = readLine(); - } - - outputBytes(b, false); - setHTTPBody(body); - } - - /** - * Parse an HTTP header. - * - * @throws IOException - */ - public void parseHeader() throws IOException { - Trace.trace(Trace.PARSING, "Parsing header for: " + this); - - // read until first blank line - boolean isFirstLine = true; - boolean isNew = true; - - byte[] b = readLine(); - while (b.length > 5) { - Trace.trace(Trace.PARSING, "Parsing header line: '" + new String(b) + "'"); - - if (isFirstLine) { - String s = new String(b); - if (isRequest) { - setLabel(s); - isNew = false; - } - - if (!isRequest) { - int index1 = s.indexOf(' '); - int index2 = s.indexOf(' ', index1 + 1); - - try { - responseType = s.substring(index1 + 1, index2).trim(); - Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e); - } - if (responseType != null && responseType.equals("100")) { - outputBytes(b, isNew); - isNew = false; - - b = readLine(); - outputBytes(b, false); - - b = readLine(); - - index1 = s.indexOf(' '); - index2 = s.indexOf(' ', index1 + 1); - - try { - responseType = s.substring(index1 + 1, index2).trim(); - Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e); - } - } - } - isFirstLine = false; - } - - // translate - b = translateHeaderLine(b); - - outputBytes(b, isNew); - isNew = false; - - b = readLine(); - } - - Trace.trace(Trace.PARSING, "Parsing final header line: '" + new String(b) + "'"); - - outputBytes(b, false); - - Request rr = conn.getRequestResponse(isRequest); - Trace.trace(Trace.PARSING, "Setting header length: " + rr.getRequest(Request.ALL).length); - - setHTTPHeader(rr); - } - - /** - * Read bytes from the stream. - * @return byte[] - */ - protected byte[] readBytes(int n) throws IOException { - Trace.trace(Trace.PARSING, "readBytes() " + n + " for: " + this); - while (buffer.length - bufferIndex < n) - fillBuffer(); - - return removeFromBuffer(bufferIndex + n); - } - - /** - * Read and return the next full line. - * - * @return byte[] - */ - protected byte[] readLine() throws IOException { - Trace.trace(Trace.PARSING, "readLine() for: " + this); - - int n = getFirstCRLF(); - while (n < 0) { - fillBuffer(); - n = getFirstCRLF(); - } - return removeFromBuffer(n + 1); - } - - /** - * Remove data from the buffer up to the absolute index n. - * Return the data from between bufferIndex and n. - * - * @param n the bytes to remove - * @return a byte array - */ - protected byte[] removeFromBuffer(int n) { - // copy line out of buffer - byte[] b = new byte[n - bufferIndex]; - System.arraycopy(buffer, bufferIndex, b, 0, n - bufferIndex); - - if (buffer.length > BUFFER * 2 || bufferIndex > BUFFER) { - // remove line from buffer - int size = buffer.length; - byte[] x = new byte[size - n]; - System.arraycopy(buffer, n, x, 0, size - n); - buffer = x; - bufferIndex = 0; - } else - bufferIndex = n; - - return b; - } - - /** - * Listen for input, save it, and pass to the output stream. - * Philosophy: Read a single line separately and translate. - * When blank line is reached, just pass all other data through. - */ - public void run() { - try { - try { - while (true) { - contentLength = -1; - transferEncoding = -1; - connectionKeepAlive = false; - connectionClose = false; - - parseHeader(); - parseBody(); - - if (isRequest && connectionKeepAlive) - waitForResponse(); - - //Request r = conn.getRequestResponse(true); - //r.fireChangedEvent(); - - Trace.trace(Trace.PARSING, "Done HTTP request for " + this + " " + connectionKeepAlive); - if (!isRequest && (!request.connectionKeepAlive || connectionClose)) { - conn2.close(); - if (request.connectionKeepAlive && connectionClose) - request.connectionKeepAlive = false; - notifyRequest(); - break; - } - - if (!isRequest) - notifyRequest(); - - Thread.yield(); - } - } catch (IOException e) { - // reached end of input - Trace.trace(Trace.PARSING, "End of buffer for: " + this + " " + e.getMessage()); - } - - // send rest of buffer - out.write(buffer, bufferIndex, buffer.length - bufferIndex); - out.flush(); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error in: " + this, e); - } - //if (!isRequest) - // conn2.close(); - - Trace.trace(Trace.PARSING, "Closing thread " + this); - } - - /** - * Sets the title of the call. - * - * @param s java.lang.String - */ - protected void setLabel(String s) { - try { - int index1 = s.indexOf(' '); - if (index1 < 0 || index1 > 15) - return; - int index2 = s.indexOf(' ', index1 + 1); - if (index2 < 0) - return; - - conn.setLabel(s.substring(index1 + 1, index2), true); - } catch (Exception e) { - // ignore - } - } - - /** - * Translate the header line. - * - * @return byte[] - * @param b byte[] - */ - protected byte[] translateHeaderLine(byte[] b) { - String s = new String(b); - - if (isRequest && s.startsWith("Host: ")) { - String t = "Host: " + host; - if (port != 80) - t += ":" + port; - return convert(t.getBytes()); - } else if (s.startsWith("Content-Length: ")) { - try { - contentLength = Integer.parseInt(s.substring(16).trim()); - Trace.trace(Trace.PARSING, "Content length: " + this + " " + contentLength); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Content length error", e); - } - } else if (s.startsWith("Connection: ")) { - try { - String t = s.substring(11).trim(); - if (t.equalsIgnoreCase("Keep-Alive")) - connectionKeepAlive = true; - // response contains "Connection: close" header - // close connection to the client even if "keepalive" had been requested - // we can't just reset request.keepAlive - it's used as indicator whether - // the request thread is (going to) wait for the response thread - // (and must be notified (only then)), - // so we have to let it alone - if (t.equalsIgnoreCase("close")) - connectionClose = true; - Trace.trace(Trace.PARSING, "Keep alive: " + connectionKeepAlive); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error getting Connection: from header", e); - } - } else if (s.startsWith("Transfer-Encoding: ")) { - String t = s.substring(19).trim(); - int size = ENCODING_STRING.length; - for (int i = 0; i < size; i++) { - if (ENCODING_STRING[i].equalsIgnoreCase(t)) { - transferEncoding = (byte) i; - Trace.trace(Trace.PARSING, "Transfer encoding: " + ENCODING_STRING[i]); - } - } - } - - return b; - } - - protected void close() { - try { - Trace.trace(Trace.PARSING, "Closing: " + this); - out.close(); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error closing connection " + this + " " + e.getMessage()); - } - } - - protected void waitForResponse() { - Trace.trace(Trace.PARSING, "Waiting for response " + this); - synchronized (this) { - try { - isWaiting = true; - wait(); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this + " " + e.getMessage()); - } - isWaiting = false; - } - Trace.trace(Trace.PARSING, "Done waiting for response " + this); - } - - protected void notifyRequest() { - Trace.trace(Trace.PARSING, "Notifying request " + this); - while (request.connectionKeepAlive && !request.isWaiting) { - Trace.trace(Trace.PARSING, "Waiting for request " + this); - try { - Thread.sleep(100); - } catch (Exception e) { - // ignore - } - } - synchronized (request) { - try { - request.notify(); - } catch (Exception e) { - Trace.trace(Trace.PARSING, "Error in notifyRequest() " + this + " " + e.getMessage()); - } - } - Trace.trace(Trace.PARSING, "Done notifying request " + this); - } - - protected void setHTTPHeader(Request rr) { - if (isRequest) { - byte[] b = rr.getRequest(Request.ALL); - byte[] h = new byte[b.length]; - System.arraycopy(b, 0, h, 0, b.length); - rr.setProperty(HTTPRequest.HTTP_REQUEST_HEADER, h); - } else { - byte[] b = rr.getResponse(Request.ALL); - byte[] h = new byte[b.length]; - System.arraycopy(b, 0, h, 0, b.length); - rr.setProperty(HTTPRequest.HTTP_RESPONSE_HEADER, h); - } - } - - protected void setHTTPBody(byte[] b) { - Request rr = conn.getRequestResponse(isRequest); - if (isRequest) - rr.setProperty(HTTPRequest.HTTP_REQUEST_BODY, b); - else - rr.setProperty(HTTPRequest.HTTP_RESPONSE_BODY, b); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java deleted file mode 100644 index c9e344117..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.http; - -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * A resend HTTP connection wraps an HTTP connection to send an existing request. - */ -public class ResendHTTPConnection extends HTTPConnection { - protected Request existingRequest; - - /** - * Create a new resend connection. - * - * @param request - */ - public ResendHTTPConnection(Request request) { - super(null); - this.existingRequest = request; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.internet.monitor.core.internal.http.HTTPConnection#getRequestResponse(int) - */ - protected Request getRequestResponse(int i) { - return existingRequest; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java deleted file mode 100644 index 2a48859dd..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java +++ /dev/null @@ -1,148 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.http; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.net.Socket; - -import org.eclipse.wst.internet.monitor.core.internal.Connection; -import org.eclipse.wst.internet.monitor.core.internal.Monitor; -import org.eclipse.wst.internet.monitor.core.internal.SocketWrapper; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * Wraps an existing request to create an HTTP request that can be sent. The - * response is ignored. Only the request is important in this case. - */ -public class ResendHTTPRequest extends HTTPRequest { - private boolean sent = false; - - private byte[] header; - - private byte[] content; - - private Request originalRequest = null; - - /** - * Constructor. - * - * @param monitor - * @param req the request that is to be resent. - */ - public ResendHTTPRequest(Monitor monitor, Request req) { - super(monitor, req.getLocalPort(), req.getRemoteHost(), req.getRemotePort()); - setProperty(HTTP_REQUEST_HEADER, req.getProperty(HTTP_REQUEST_HEADER)); - setProperty(HTTP_REQUEST_BODY, req.getProperty(HTTP_REQUEST_BODY)); - header = req.getRequest(TRANSPORT); - content = req.getRequest(CONTENT); - request = req.getRequest(ALL); - name = req.getName(); - this.originalRequest = req; - } - - /** - * Send the request. - */ - public void sendRequest() { - try { - Socket inSocket = new SocketWrapper(new ByteArrayInputStream(request)); - Socket outSocket = new Socket(remoteHost, remotePort); - //Connection conn = new Connection(inSocket, outSocket); - //TCPIPThread requestThread = new TCPIPThread(conn, this, in, - // outSocket.getOutputStream(), true); - //requestThread.start(); - //new TCPIPThread(conn, this, outSocket.getInputStream(), - // inSocket.getOutputStream(), false).start(); - Connection conn2 = new Connection(inSocket, outSocket); - ResendHTTPConnection conn = new ResendHTTPConnection(this); - - HTTPThread request2 = new HTTPThread(conn2, inSocket.getInputStream(), - outSocket.getOutputStream(), conn, true, remoteHost, remotePort); - HTTPThread response2 = new HTTPThread(conn2, outSocket.getInputStream(), - inSocket.getOutputStream(), conn, false, "localhost", localPort, request2); - request2.start(); - response2.start(); - } catch (IOException e) { - response = ("Unable to resend to server.\n" + e).getBytes(); - } - sent = true; - } - - /** (non-Javadoc) - * @see Request#addToRequest(byte[]) - */ - public void addToRequest(byte[] addRequest) { - // Don't want to add to the request as we already have the request. - } - - /** - * Returns <code>true</code> if the request has been sent. - * - * @return <code>true</code> if the request has been sent, and <code>false</code> - * otherwise - */ - public boolean hasBeenSent() { - return sent; - } - - /** - * Set the request. - * - * @param request - * @param type - */ - public void setRequest(byte[] request, int type) { - if (request == null) - request = new byte[0]; - if (type == TRANSPORT) - header = request; - else if (type == CONTENT) - content = request; - - int length = 0; - int headerLength = 0; - if (header != null) { - length += header.length; - headerLength = length; - } - if (content != null) - length += content.length; - byte[] newRequest = new byte[length]; - if (header != null) - System.arraycopy(header, 0, newRequest, 0, header.length); - if (content != null) - System.arraycopy(content, 0, newRequest, headerLength, content.length); - super.setRequest(newRequest); - } - - /** (non-Javadoc) - * @see HTTPRequest#getRequestContent() - */ - protected byte[] getRequestContent() { - return content; - } - - /** (non-Javadoc) - * @see HTTPRequest#getRequestHeader() - */ - protected byte[] getRequestHeader() { - return header; - } - - /** - * Returns the original request. - * - * @return the original request - */ - public Request getOriginalRequest() { - return originalRequest; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java deleted file mode 100644 index e5ca144a9..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java +++ /dev/null @@ -1,49 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.provisional; - -import java.io.IOException; -/** - * A content filter that filters contents from the monitor traffic on a request. - * <p> - * This abstract class is intended to be subclassed only by clients - * to extend the <code>contentFilters</code> extension point. - * The subclass must have a public 0-argument constructor, which will be used - * automatically to instantiate the delegate when required. - * </p> - * <p> - * [issue: The notion of content filters is a UI/presentation - * concern, not something that is makes sense to have as core - * functionality. The contentFilters extension point, IContentFilter, - * and ContentFilterDelegate should all move to the o.e.wst.internet.monitor.ui - * plug-in.] - * [issue: CS - I'd echo the comment above that this seems like a UI concern. - * I noticed there's also a viewer on the UI side, so i'm not sure how these would interact. - * I assume that filters operate on the byte stream and aren't concerned with UI presentation... - * but usually UI's and filters are tightly coupled. - * </p> - * - * @plannedfor 1.0 - */ -public abstract class ContentFilterDelegate { - /** - * Filter the given content from the given request. The content that has been filtered out will - * not be shown to clients of the TCP/IP monitor. - * - * @param request the request that the filter will be performed on - * @param isRequest set to true if the content filter applies to request monitor traffic, - * or set to false if the content filter applies to the response monitor traffic - * @param content the message content to be filtered out - * @return the filtered content - * @throws IOException if there is an error while parsing or filtering the content - */ - public abstract byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java deleted file mode 100644 index 0bc79b746..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java +++ /dev/null @@ -1,204 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.provisional; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -/** - * Represents a monitor between a client and server. - * The monitor watches all network traffic between a local client (talking - * on a given local port) and a remote server (identified by host and port). - * The global list of known monitors is available via {@link MonitorCore#getMonitors()}. - * IMonitor is thread-safe. - * <p> - * IMonitors are read-only. To make changes to a monitor, you must create an - * IMonitorWorkingCopy by calling createWorkingCopy(). Changes to the working copy - * are applied when the working copy is saved. Monitors and monitor working copies - * have the following properties: - * * equals() returns true for a monitor and it's working copy - * <p> - * [issue: Why the built-in assumption that the client is local? A monitor - * would make just as much sense sitting between a client on a remote machine - * and a server.] - * </p> - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * @see IMonitorWorkingCopy - * @plannedfor 1.0 - */ -public interface IMonitor { - /** - * Returns the id of this monitor. - * Each monitor has a distinct, fixed id. Ids are intended to be used internally as keys; - * they are not intended to be shown to end users. - * - * @return the monitor id - */ - public String getId(); - - /** - * Returns the remote host name of the server being monitored. - * - * @return the remote host name - */ - public String getRemoteHost(); - - /** - * Returns the remote port number of the server being monitored. - * - * @return the remote port number - */ - public int getRemotePort(); - - /** - * Returns the local port number of the client being monitored. This - * is the port that the client is talking to the remote server on. - * - * @return the local port number - */ - public int getLocalPort(); - - /** - * Returns the protocol that this monitor uses to read network - * traffic. - * - * @return the protocol id - */ - public String getProtocol(); - - /** - * Returns the connection timeout. Returns 0 if there is no timeout. - * - * @return the timeout - */ - public int getTimeout(); - - /** - * Returns whether this monitor is currently running. Monitor working - * copies will always return false (since they cannot be run). - * - * @return <code>true</code> if the monitor is currently running, or - * <code>false</code> otherwise - */ - public boolean isRunning(); - - /** - * Deletes this monitor. The monitor will no longer be available to clients. - * If the monitor is currently running, it will be stopped first. - * This method has no effect if the monitor has already been deleted or if - * it is called on a working copy. Clients have no obligation to delete - * working copies. - */ - public void delete(); - - /** - * Returns whether this monitor is a working copy. Monitors which return - * <code>true</code> to this method can be safely cast to - * {@link IMonitorWorkingCopy}. - * - * @return <code>true</code> if this monitor is a working copy, and - * <code>false</code> otherwise - */ - public boolean isWorkingCopy(); - - /** - * Returns a working copy for this monitor. If the receiver is not a - * working copy, a new working copy will be created and initialized to have - * the same attributes as this monitor. If the receiver is a working copy, - * this method simply returns the receiver. After configuring attributes on - * the working copy, calling {@link IMonitorWorkingCopy#save()} applies - * the changes to the original monitor. - * - * @return a working copy of this monitor - */ - public IMonitorWorkingCopy createWorkingCopy(); - - /** - * Starts the given monitor listening on its client port. This method is - * synchronous and the monitor will be running and ready for use by the - * time that the method returns. This method has no effect if the monitor - * is already running. - * <p> - * A CoreException is thrown if the monitor is not valid, the local port - * is in use, or if another problem occurs when starting the monitor. - * </p> - * <p> - * This method must not be called on a working copy or after the monitor - * has been deleted. - * </p> - * - * @throws CoreException thrown if the monitor's properties are invalid, - * if it fails to start because the port is in use, or another problem occurs - */ - public void start() throws CoreException; - - /** - * Stops the given monitor and frees up all underlying operating - * system resources. This method is synchronous and the monitor will be - * running and ready for use by the time that the method returns. - * This method has no effect if the monitor was not already running. - * <p> - * After returning from this method, the monitor may be restarted at - * any time. This method must not be called on a working copy or after - * the monitor has been deleted. - * </p> - */ - public void stop(); - - /** - * Adds a request listener. - * Once registered, a listener starts receiving notification of - * changes to the global list of requests. The listener continues to receive - * notifications until it is removed. - * Has no effect if an identical listener is already registered. - * <p> - * If a listener is added to a working copy, it will automatically be added - * to the original monitor. If the monitor does not exist yet (when the working - * copy was just created from MonitorCore.createMonitor()), the listener will - * be added to the created monitor when (if) the working copy is saved. - * </p> - * - * @param listener the request listener - * @see #removeRequestListener(IRequestListener) - */ - public void addRequestListener(IRequestListener listener); - - /** - * Removes the given request listener. Has no effect if the listener is - * not registered. - * <p> - * If a listener is removed from a working copy, it will automatically be - * removed from the corresponding original monitor. Removing a monitor from - * a newly created monitor has no effect unless the monitor had already been - * added, in which case it is removed from notification and will not be added - * to the created monitor when (if) the working copy is saved. - * </p> - * - * @param listener the listener - * @see #addRequestListener(IRequestListener) - */ - public void removeRequestListener(IRequestListener listener); - - /** - * Validates this monitor. This method should return an error if the monitor - * has invalid ports or remote hostname. - * <p> - * This method is not on the working copy so that the runtime can be validated - * at any time. - * </p> - * - * @return a status object with code <code>IStatus.OK</code> if this - * runtime is valid, otherwise a status object indicating what is - * wrong with it - */ - public IStatus validate(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java deleted file mode 100644 index b94877d67..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.provisional; -/** - * Listener for global changes affecting monitors. - * <p> - * Clients should implement this interface and register - * their listener via {@link MonitorCore#addMonitorListener(IMonitorListener)}. - * </p> - * - * @plannedfor 1.0 - */ -public interface IMonitorListener { - - /** - * Notification that the given monitor has been created (added to the - * global list of known monitors). - * - * @param monitor the newly-created monitor - */ - public void monitorAdded(IMonitor monitor); - - /** - * Notification that the given monitor has been changed. - * Note that the monitor is never a working copy. - * - * @param monitor the monitor that has been changed - */ - public void monitorChanged(IMonitor monitor); - - /** - * Notification that the given monitor has been deleted (removed - * from the global list of known monitors). - * - * @param monitor the monitor that has been deleted - */ - public void monitorRemoved(IMonitor monitor); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java deleted file mode 100644 index 6ecde4962..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.provisional; - -import org.eclipse.core.runtime.CoreException; -/** - * Represents a working copy of a monitor. A working copy is a copy that the - * attributes can be changed. - * IMonitorWorkingCopy is thread-safe. However, working copies instances - * should be short-lived to reduce the chance of multiple working copies - * being created by different clients and one client overwritting changes - * made to the other working copy. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * @see IMonitor - * @plannedfor 1.0 - * - * [issue : CS - it sounds like this is something useful for creating monitors. - * Shouldn't this be called a IMonitorConfiguration? Is there an advantage to making - * this actually seem to be a IMonitor? Perhaps some UI convenience? - * Is a IMonitorWorkingCopy actually 'useable' for monitoring .. or is it really just a configuration? ] - */ -public interface IMonitorWorkingCopy extends IMonitor { - /** - * Returns the original monitor that this working copy corresponds to, or - * <code>null</code> if this working copy was just created from - * MonitorCore.createMonitor(). - * - * @return the original monitor, or <code>null</code> if this working copy - * was just created - */ - public IMonitor getOriginal(); - - /** - * Sets the local port number of the client to be monitored. - * - * @param port the local (client) port number - * @see IMonitor#getLocalPort() - */ - public void setLocalPort(int port); - - /** - * Sets the remote host name of the server to be monitored. - * - * @param host the new remote host name - * @see IMonitor#getRemoteHost() - */ - public void setRemoteHost(String host); - - /** - * Sets the remote port number of the server to be monitored. - * - * @param port the new remote port number - * @see IMonitor#getRemotePort() - */ - public void setRemotePort(int port); - - /** - * Sets the protocol to be used to read network - * traffic between the server and the client. - * - * @param protocolId the protocol id - * @see IMonitor#getProtocol() - */ - public void setProtocol(String protocolId); - - /** - * Sets the connection timeout. Use 0 to clear the timeout. - * - * @param timeout the connection timeout - * @see IMonitor#getTimeout() - */ - public void setTimeout(int timeout); - - /** - * Saves the changes made to this working copy. - * For a brand new working copy (created by - * {@link MonitorCore#createMonitor()}, and not yet saved), this method - * creates a new monitor instance with attributes matching this working copy. - * For a working copy cloned from an existing monitor instance (by - * {@link IMonitor#createWorkingCopy()}), this method stops the existing - * monitor (using {@link IMonitor#stop()}) if necessary, - * and then sets the attributes of the monitor instance to match this - * working copy (the monitor instance is returned). - * <p> - * Saving a working copy for a monitor that was already deleted will cause - * the monitor to get recreated (with any changes in the working copy). - * </p> - * <p> - * This method throws a CoreException if there is a problem saving the - * monitor. No validation checks occur when saving the monitor. This can be - * done by calling IMonitor.validate() prior to saving. - * </p> - * - * @return the affected monitor - * @throws CoreException thrown if a problem occurs while saving the monitor - */ - public IMonitor save() throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java deleted file mode 100644 index a0949ff0f..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.provisional; -/** - * Listener for new or modified requests created from a single monitor. - * Each request represents message traffic between a monitored client - * and server. - * <p> - * Requests are not persisted - they only exist in this API until the - * connection is done. An initial requestAdded() event is fired when the - * request is created (by the client creating a connection), and then - * requestChanged() events occur as data is passed through the request - * or changes are made to the request's properties. - * </p> - * - * @see IMonitor#addRequestListener(IRequestListener) - * @plannedfor 1.0 - */ -public interface IRequestListener { - /** - * Notification that the given request was created. - * <p> - * Requests may be created with little to no data in them. - * As additional information is available, the - * <code>requestChanged</code> method is called. - * </p> - * - * @param monitor the monitor from which the request was initiated - * @param request the request that has been added - */ - public void requestAdded(IMonitor monitor, Request request); - - /** - * Notification that the given request has been changed. - * This method is called when more data is available in the - * request. - * <p> - * Individual values within the request are rarely modified. - * This method may be called when they are initially set or - * when more data is received from the client or server. - * </p> - * - * @param monitor the monitor from which the request was initiated - * @param request the request that has been changed - */ - public void requestChanged(IMonitor monitor, Request request); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java deleted file mode 100644 index 4b244fb17..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java +++ /dev/null @@ -1,111 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.provisional; - -import java.util.List; - -import org.eclipse.wst.internet.monitor.core.internal.MonitorManager; -/** - * Main class for creating new monitors and locating existing ones. The methods on - * this class are thread safe. - * <p> - * This class provides all functionality through static members. It is not intended - * to be instantiated or subclassed. - * </p> - * - * @plannedfor 1.0 - */ -public final class MonitorCore { - private static MonitorManager manager; - - /** - * Cannot create MonitorCore - use static methods. - */ - private MonitorCore() { - // can't create - } - - /** - * Returns a monitor manager instance. - * - * @return the monitor manager - */ - private static MonitorManager getManager() { - if (manager == null) - manager = MonitorManager.getInstance(); - return manager; - } - - /** - * Returns a list of all known monitor instances. The list will not contain any - * working copies and is persisted between workbench sessions. - * <p> - * A new array is returned on each call; clients may safely store or modify the result. - * </p> - * - * @return a possibly-empty array of monitor instances - */ - public static IMonitor[] getMonitors() { - List list = getManager().getMonitors(); - IMonitor[] m = new IMonitor[list.size()]; - list.toArray(m); - return m; - } - - /** - * Creates a new monitor working copy. After configuring parameters on - * the working copy, calling {@link IMonitorWorkingCopy#save()} brings - * the monitor into existence. - * <p> - * Note that the client is responsible for calling {@link IMonitor#delete()} - * to delete the monitor once it is no longer needed. - * </p> - * <p> - * When monitors are created, the local and remote port values default to - * <code>80</code>, but they do not have a protocol or remote host (values - * are <code>null</code>). - * </p> - * - * @return a monitor working copy - */ - public static IMonitorWorkingCopy createMonitor() { - return getManager().createMonitor(); - } - - /** - * Adds a monitor listener. - * Once registered, a listener starts receiving notification of - * changes to the monitors. The listener continues to receive - * notifications until it is removed. - * Has no effect if an identical listener is already registered. - * - * @param listener the monitor listener - * @see #removeMonitorListener(IMonitorListener) - */ - public static void addMonitorListener(IMonitorListener listener) { - if (listener == null) - throw new IllegalArgumentException(); - getManager().addMonitorListener(listener); - } - - /** - * Removes the given monitor listener. Has no - * effect if the listener is not registered. - * - * @param listener the listener - * @see #addMonitorListener(IMonitorListener) - */ - public static void removeMonitorListener(IMonitorListener listener) { - if (listener == null) - throw new IllegalArgumentException(); - getManager().removeMonitorListener(listener); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java deleted file mode 100644 index f66d92d44..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java +++ /dev/null @@ -1,350 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.core.internal.provisional; - -import java.util.Date; -import java.util.Properties; - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.Platform; -import org.eclipse.wst.internet.monitor.core.internal.Monitor; -import org.eclipse.wst.internet.monitor.core.internal.Trace; -/** - * Represents a TCP/IP request made between the client and the server. - * Each request represents a request-response pair, where the request - * is from client -> server, and the response is from server -> client. - * <p> - * Requests are created by a running monitor. They do not have a reference - * back to the monitor because the monitor may have been deleted or modified - * since the request was created. - * </p> - * <p> - * This interface is intended to be extended only by clients - * to extend the <code>protocolAdapters</code> extension point. - * </p> - * - * @plannedfor 1.0 - */ -public class Request implements IAdaptable { - protected Monitor monitor; - protected Date date; - protected long responseTime = -1; - protected int localPort; - protected String remoteHost; - protected int remotePort; - protected byte[] request; - protected byte[] response; - - protected String name; - protected String protocolId; - - protected Properties properties; - - /** - * Request2 content type (value 1) for the transport (header) of a request - * or response. - * - * @see #getRequest(int) - * @see #getResponse(int) - */ - public static final int TRANSPORT = 1; - - /** - * Request2 content type (value 2) for the content (body) of a request - * or response. - * - * @see #getRequest(int) - * @see #getResponse(int) - */ - public static final int CONTENT = 2; - - /** - * Request2 content type (value 3) for the entire content of a request - * or response. - * - * @see #getRequest(int) - * @see #getResponse(int) - */ - public static final int ALL = 3; - - /** - * Create a new Request. - * - * @param monitor a monitor - * @param protocolId the protocol id - * @param localPort a local port number - * @param remoteHost a remote hostname - * @param remotePort a remote port number - */ - public Request(Monitor monitor, String protocolId, int localPort, String remoteHost, int remotePort) { - super(); - this.monitor = monitor; - this.protocolId = protocolId; - this.localPort = localPort; - this.remoteHost = remoteHost; - this.remotePort = remotePort; - date = new Date(); - properties = new Properties(); - if (monitor != null) - monitor.addRequest(this); - } - - /** - * Returns the protocol responsible for creating this request. - * - * @return the protocol id - */ - public String getProtocol() { - return protocolId; - } - - /** - * Returns the time this request was made. - * - * @return the timestamp - */ - public Date getDate() { - return date; - } - - /** - * Returns the local (client) port. - * - * @return the local port number - */ - public int getLocalPort() { - return localPort; - } - - /** - * Returns the remote (server) host. - * - * @return the remote host - */ - public String getRemoteHost() { - return remoteHost; - } - - /** - * Returns the remote (server) port. - * - * @return the remote port number - */ - public int getRemotePort() { - return remotePort; - } - - /** - * Returns the selected content of the request portion of this request. - * <p> - * [issue: I don't know how to explain this. For basic TCP/IP requests, - * distinction between transport and content is ignored. - * For HTTP requests, this TRANSPORT returns just the HTTP header and - * CONTENT returns just the HTTP body without the headers. What would - * it mean for other protocols? - * </p> - * - * @param type the content type: one of {@link #TRANSPORT}, - * {@link #CONTENT}, or {@link #ALL} - * @return the content bytes - */ - public byte[] getRequest(int type) { - return request; - } - - /** - * Returns the selected content of the response portion of this request. - * <p> - * [issue: I don't know how to explain this. For basic TCP/IP requests, - * distinction between transport and content is ignored. - * For HTTP requests, this TRANSPORT returns just the HTTP header and - * CONTENT returns just the HTTP body without the headers. What would - * it mean for other protocols?] - * </p> - * - * @param type the content type: one of {@link #TRANSPORT}, - * {@link #CONTENT}, or {@link #ALL} - * @return the content bytes - */ - public byte[] getResponse(int type) { - return response; - } - - /** - * Returns the server's response time in milliseconds. If the request - * has not been completed yet, -1 is returned. - * - * @return the server's response time, or -1 if there has been no - * response yet - */ - public long getResponseTime() { - return responseTime; - } - - /** - * Returns a name for this request. - * - * @return the name - */ - public String getName() { - if (name == null) - return getRemoteHost() + ":" + getRemotePort(); - - return name; - } - - /** - * Sets the name of this request. - * - * @param n the name - */ - protected void setName(String n) { - name = n; - } - - /** - * Sets the given key-value property on this request. To remove a property, - * set the value to null. - * <p> - * This method is typically called by protocol adapters to attach protocol- - * specific fields to the request, but it may be called by any client. - * </p> - * - * @param key the key - * @param value the value - */ - public void setProperty(String key, Object value) { - try { - if (properties.containsKey(key)) - properties.remove(key); - if (value != null) - properties.put(key, value); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not add property", e); - } - } - - /** - * Returns the value of the property with the given key from this request. - * If the key does not exist, <code>null</code> is returned. - * - * @param key the property key - * @return the property value - */ - public Object getProperty(String key) { - try { - return properties.get(key); - } catch (Exception e) { - return null; - } - } - - /** - * Add to the request. - * - * @param addRequest byte[] - */ - public void addToRequest(byte[] addRequest) { - if (addRequest == null || addRequest.length == 0) - return; - - if (request == null || request.length == 0) { - setRequest(addRequest); - return; - } - - int size = request.length + addRequest.length; - byte[] b = new byte[size]; - System.arraycopy(request, 0, b, 0, request.length); - System.arraycopy(addRequest, 0, b, request.length, addRequest.length); - request = b; - fireChangedEvent(); - } - - /** - * Add to the response. - * - * @param addResponse byte[] - */ - public void addToResponse(byte[] addResponse) { - if (addResponse == null || addResponse.length == 0) - return; - - if (response == null || response.length == 0) { - setResponse(addResponse); - return; - } - - int size = response.length + addResponse.length; - byte[] b = new byte[size]; - System.arraycopy(response, 0, b, 0, response.length); - System.arraycopy(addResponse, 0, b, response.length, addResponse.length); - response = b; - fireChangedEvent(); - } - - /** - * Set the request. - * - * @param request byte[] - */ - protected void setRequest(byte[] request) { - if (request == null || request.length == 0) - return; - - this.request = request; - monitor.requestChanged(this); - } - - /** - * Set the response. - * - * @param response byte[] - */ - protected void setResponse(byte[] response) { - if (response == null || response.length == 0) - return; - - this.response = response; - responseTime = System.currentTimeMillis() - date.getTime(); - monitor.requestChanged(this); - } - - /** - * Returns the monitor that created this request. - * Change events will be fired from this monitor. - * <p> - * Note that the monitor may have been editted since this - * request was created, so you cannot rely on the monitor's - * hostname or port values. - * </p> - * - * @return the monitor that created this request - */ - public IMonitor getMonitor() { - return monitor; - } - - /** - * Fire a change event to notify monitor listeners that the request has changed. - */ - protected void fireChangedEvent() { - if (monitor != null) - monitor.requestChanged(this); - } - - /** (non-Javadoc) - * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) - */ - public Object getAdapter(Class adapter) { - return Platform.getAdapterManager().getAdapter(this, adapter); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html deleted file mode 100644 index 505ed58f4..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>This package gives core (non-UI) access to the TCP/IP monitor. Clients can -query for existing monitors, create new monitors, start/stop monitors, and -listen for requests being received by a running monitor.</p> -<table width="500"> -<tr> -<td> -<p>The MonitorCore class gives initial access to all of the API. From here you -can query the existing monitors, create new ones, and add/remove a listener for -monitor changes.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>The IMonitor interface provides information about a particular monitor, -allowing you to change it via a working copy, start/stop it, or add a listener -for request activity.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml deleted file mode 100644 index 3f4e04aa6..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - - -<abstract>This package gives core (non-UI) access to the TCP/IP monitor. Clients can -query for existing monitors, create new monitors, start/stop monitors, and -listen for requests being received by a running monitor.</abstract> - -<p>The MonitorCore class gives initial access to all of the API. From here you -can query the existing monitors, create new ones, and add/remove a listener for -monitor changes.</p> - -<p>The IMonitor interface provides information about a particular monitor, -allowing you to change it via a working copy, start/stop it, or add a listener -for request activity.</p> - -</body> -</html> diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties deleted file mode 100644 index f0e524237..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties +++ /dev/null @@ -1,19 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=Monitor -providerName=Eclipse.org - -extensionPointProtocolAdapters=Protocol Adapters -extensionPointContentFilters=Content Filters -extensionPointStartup=Startup - -HTTP=HTTP -TCPIP=TCP/IP
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml deleted file mode 100644 index 5a825fa5f..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - -<extension-point name="%extensionPointProtocolAdapters" id="internalProtocolAdapters" schema="schema/protocolAdapters.exsd"/> -<extension-point name="%extensionPointContentFilters" id="internalContentFilters" schema="schema/internalContentFilters.exsd"/> -<extension-point name="%extensionPointStartup" id="internalStartup" schema="schema/startup.exsd"/> - -<extension point="org.eclipse.wst.internet.monitor.core.internalProtocolAdapters"> - <protocolAdapter - id="TCP/IP" - class="org.eclipse.wst.internet.monitor.core.internal.TCPIPProtocolAdapter" - name="%TCPIP"/> - <protocolAdapter - id="HTTP" - class="org.eclipse.wst.internet.monitor.core.internal.http.HTTPProtocolAdapter" - name="%HTTP"/> -</extension> - -</plugin>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd deleted file mode 100644 index 6fc6dafdb..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd +++ /dev/null @@ -1,148 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.wst.internet.monitor.core"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="contentFilters" name="Content Filters"/> - </appInfo> - <documentation> - This extension point is used to filter content received in a monitor. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="filter" 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="filter"> - <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 a Java class that extends <samp>org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate</samp>. -Content filter instances of this type will delegate to instances of this class. - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate"/> - </appInfo> - </annotation> - </attribute> - <attribute name="name" type="string" use="required"> - <annotation> - <documentation> - a translatable name used to identify the filter - </documentation> - </annotation> - </attribute> - <attribute name="order" type="string"> - <annotation> - <documentation> - an integer used to order filters relative to each other. Lower orders are processed first - </documentation> - <appInfo> - <meta.attribute kind="java"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - 1.0 - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a content filter extension point: - -<pre> - <extension - point="org.eclipse.wst.internet.monitor.core.contentFilter"> - <filter - id="com.example.ExampleIdentifier" - name="%exampleName" - class="com.example.ExampleContentFilter"/> - </extension> -</pre> - </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 extends the abstract class <code>org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate</code>. - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2003, 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd deleted file mode 100644 index 13081d1d4..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd +++ /dev/null @@ -1,138 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.monitor.core">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="internalProtocolAdapters" name="Protocol Adapters"/>
- </appInfo>
- <documentation>
- This extension point is used to provide an adapter for a new protocol (e.g. HTTP). This allows different types of protocols to be monitored in a specific way.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="protocolAdapter" 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="protocolAdapter">
- <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 extends <samp>org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate</samp>
-Protocol adapter instances of this type will delegate to instances of this class.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name used to identify the protocol adapter
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- <b>This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.</b>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a protocol adapter extension point to define a protocol adapter for TCP/IP:
-
-<pre>
- <extension
- point="org.eclipse.wst.internet.monitor.core.protocolAdapters">
- <protocolAdapter
- id="TCPIP"
- class="com.example.TCPIPProtocolAdapter"
- name="%TCPIP"/>
- </extension>
-</pre>
- </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 extends the abstract class <code>org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate</code>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2003, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd deleted file mode 100644 index 4e3ef172e..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.wst.internet.monitor.core"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="internalStartup" name="Startup"/> - </appInfo> - <documentation> - This extension point is used to load a secondary plugin. The extension point will be called when the monitor core plugin starts up. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="startup" 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="startup"> - <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"> - <annotation> - <documentation> - - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.IStartup"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - <b>This extension point is internal and should not be used by any other plugins.</b> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a startup extension point: - -<pre> - <extension - point="org.eclipse.wst.internet.monitor.core.internal.startups"> - <startup - id="com.example.myplugin" - class="com.example.myplugin.Startup"/> - </extension> -</pre> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - This extension point is internal and should not be used by any other plugins. - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath b/plugins/org.eclipse.wst.internet.monitor.ui/.classpath deleted file mode 100644 index 3590fb510..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="monitorui/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore b/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore deleted file mode 100644 index 2eeb8bd1c..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -monitorui.jar -build.xml -temp.folder -org.eclipse.wst.internet.monitor.ui_3.0.0.jar -@dot -src.zip diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.options b/plugins/org.eclipse.wst.internet.monitor.ui/.options deleted file mode 100644 index 08412eac4..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/.options +++ /dev/null @@ -1,4 +0,0 @@ -# Debugging options for the org.eclipse.wst.internet.monitor.ui plugin - -# Turn on general debugging -org.eclipse.wst.internet.monitor.ui/debug=true diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.project b/plugins/org.eclipse.wst.internet.monitor.ui/.project deleted file mode 100644 index b81173e59..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.wst.internet.monitor.ui</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF deleted file mode 100644 index c8e76956a..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,17 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.wst.internet.monitor.ui; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.wst.internet.monitor.ui.internal;x-internal:=true, - org.eclipse.wst.internet.monitor.ui.internal.provisional, - org.eclipse.wst.internet.monitor.ui.internal.view;x-internal:=true, - org.eclipse.wst.internet.monitor.ui.internal.viewers;x-internal:=true -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.ui.ide, - org.eclipse.ui, - org.eclipse.wst.internet.monitor.core -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/about.html b/plugins/org.eclipse.wst.internet.monitor.ui/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/build.properties b/plugins/org.eclipse.wst.internet.monitor.ui/build.properties deleted file mode 100644 index 7454728d1..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/build.properties +++ /dev/null @@ -1,22 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - .,\ - plugin.properties,\ - icons/,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -src.includes = schema/ -source.. = monitorui/ -output.. = bin/
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif Binary files differdeleted file mode 100644 index 389954fbb..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif Binary files differdeleted file mode 100644 index fb20c389d..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif Binary files differdeleted file mode 100644 index e334e9f77..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif Binary files differdeleted file mode 100644 index c374f1349..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif Binary files differdeleted file mode 100644 index 3bf98c0ec..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif Binary files differdeleted file mode 100644 index 6d71a8b8a..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif Binary files differdeleted file mode 100644 index 06e0c7326..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif Binary files differdeleted file mode 100644 index 389954fbb..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif Binary files differdeleted file mode 100644 index fb20c389d..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif Binary files differdeleted file mode 100644 index cf62b63ae..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif Binary files differdeleted file mode 100644 index e334e9f77..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif Binary files differdeleted file mode 100644 index d044e5977..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif Binary files differdeleted file mode 100644 index c374f1349..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif Binary files differdeleted file mode 100644 index b51ae39b8..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif Binary files differdeleted file mode 100644 index 42e5f318a..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif Binary files differdeleted file mode 100644 index 2ff3974ef..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif Binary files differdeleted file mode 100644 index 8a6e21912..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java deleted file mode 100644 index df1d1c7c0..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/ContextIds.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; -/** - * Constant ids for context help. - */ -public interface ContextIds { - public static final String VIEW = MonitorUIPlugin.PLUGIN_ID + ".tmvw0000"; - public static final String VIEW_TREE = MonitorUIPlugin.PLUGIN_ID + ".tmvw0002"; - public static final String VIEW_REQUEST = MonitorUIPlugin.PLUGIN_ID + ".tmvw0004"; - public static final String VIEW_RESPONSE = MonitorUIPlugin.PLUGIN_ID + ".tmvw0006"; - - public static final String PREF = MonitorUIPlugin.PLUGIN_ID + ".tmpr0000"; - public static final String PREF_SHOW = MonitorUIPlugin.PLUGIN_ID + ".tmpr0002"; - public static final String PREF_MONITORS = MonitorUIPlugin.PLUGIN_ID + ".tmpr0004"; - public static final String PREF_DIALOG = MonitorUIPlugin.PLUGIN_ID + ".tmpr0006"; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java deleted file mode 100644 index cb3d5caa0..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java +++ /dev/null @@ -1,62 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String editMonitor; - public static String newMonitor; - public static String localPort; - public static String remoteHost; - public static String remotePort; - public static String remoteGroup; - public static String connectionTimeout; - public static String parseType; - public static String errorDialogTitle; - public static String preferenceDescription; - public static String prefShowView; - public static String monitorList; - public static String columnStatus; - public static String columnRemote; - public static String columnType; - public static String columnLocal; - public static String add; - public static String edit; - public static String remove; - public static String start; - public static String stop; - public static String started; - public static String stopped; - public static String headerLabel; - public static String imageViewInvalid; - public static String xmlViewInvalid; - public static String htmlViewInvalid; - public static String viewDateFormat; - public static String viewTime; - public static String viewResponseTime; - public static String viewType; - public static String viewResponseTimeFormat; - public static String viewSize; - public static String viewResponse; - public static String viewRequest; - public static String actionSortByResponseTime; - public static String viewSizeFormat; - public static String actionClearToolTip; - public static String actionShowHeader; - public static String actionProperties; - - static { - NLS.initializeMessages(MonitorUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties deleted file mode 100644 index 16b4d7364..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties +++ /dev/null @@ -1,72 +0,0 @@ -############################################################################### -# Copyright (c) 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# --------------- TCP/IP Monitor view --------------- - -# Labels -viewRequest=Request: {0} -viewResponse=Response: {0} -viewTime=Time of request: {0} -viewType=Type: {0} -viewResponseTime=Response Time: {0} -viewSize=Size: {0} -viewResponseTimeFormat={0} ms -viewSizeFormat={0} ({1}) bytes - -# The following string allows you to change the time format of the TCP/IP monitor -# view. It uses the formatting options found in java.text.SimpleDateFormat: -# k - hour in day, h - hour in am/pm, m - minute, s - second, S - millisecond, -# a - am/pm marker. use duplicate chars (e.g. 'mm') to fill with zeros (i.e. -# '01' instead of '1') -viewDateFormat=h:mm.s.S a - -# Actions -actionSortByResponseTime=Sort By Response Time -actionClearToolTip=Clear -actionShowHeader=Show Header -actionProperties=Properties - - -# --------------- RequestResponse Viewers --------------- -headerLabel=Header: {0} -imageViewInvalid=<Not a valid image file> -xmlViewInvalid=<Not a valid XML file> -htmlViewInvalid=<Not a valid HTML file> - -# --------------- Errors --------------- -errorDialogTitle=Error - -# --------------- General UI --------------- -monitorList=TCP/IP &Monitors: -columnLocal=Local Port -columnRemote=Host name -columnType=Type -columnStatus=Status -add=&Add... -edit=&Edit... -remove=&Remove -start=&Start -stop=S&top -started=Started -stopped=Stopped - -newMonitor=New Monitor -editMonitor=Edit Monitor - -localPort=&Local monitoring port: -remoteGroup=Monitor -remoteHost=&Host name: -remotePort=&Port: -parseType=&Type: -connectionTimeout=T&imeout (in milliseconds): - -preferenceDescription=Configure TCP/IP monitors on local and remote ports. -prefShowView=S&how the TCP/IP Monitor view when there is activity
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java deleted file mode 100644 index e87b3cb92..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorContentProvider.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore; -/** - * Monitor content provider. - */ -public class MonitorContentProvider implements IStructuredContentProvider { - /** - * MonitorContentProvider constructor comment. - */ - public MonitorContentProvider() { - super(); - } - - /* - * Disposes of this content provider. - */ - public void dispose() { - // do nothing - } - - /* - * Returns the elements to display in the viewer - * when its input is set to the given element. - */ - public Object[] getElements(Object inputElement) { - return MonitorCore.getMonitors(); - } - - /* - * Notifies this content provider that the given viewer's input - * has been switched to a different element. - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java deleted file mode 100644 index 571a3b414..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java +++ /dev/null @@ -1,265 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.*; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Spinner; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy; -import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore; -/** - * - */ -public class MonitorDialog extends Dialog { - protected IMonitorWorkingCopy monitor; - protected boolean isEdit; - - private Button okButton; - private Spinner monitorPort; - - interface StringModifyListener { - public void valueChanged(String s); - } - - interface BooleanModifyListener { - public void valueChanged(boolean b); - } - - interface TypeModifyListener { - public void valueChanged(IProtocolAdapter type); - } - - interface IntModifyListener { - public void valueChanged(int i); - } - - /** - * Create a new monitor dialog. - * - * @param parentShell - * @param monitor - */ - public MonitorDialog(Shell parentShell, IMonitorWorkingCopy monitor) { - super(parentShell); - this.monitor = monitor; - isEdit = true; - } - - public MonitorDialog(Shell parentShell) { - super(parentShell); - monitor = MonitorCore.createMonitor(); - isEdit = false; - } - - protected void configureShell(Shell shell) { - super.configureShell(shell); - if (isEdit) - shell.setText(Messages.editMonitor); - else - shell.setText(Messages.newMonitor); - } - - protected Label createLabel(Composite comp, String txt) { - Label label = new Label(comp, SWT.NONE); - label.setText(txt); - label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_CENTER)); - return label; - } - - protected Text createText(Composite comp, String txt, final StringModifyListener listener) { - final Text text = new Text(comp, SWT.BORDER); - if (txt != null) - text.setText(txt); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - data.widthHint = 150; - text.setLayoutData(data); - if (listener != null) - text.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - listener.valueChanged(text.getText()); - } - }); - return text; - } - - protected Spinner createSpinner(Composite comp, int v, final IntModifyListener listener) { - final Spinner s = new Spinner(comp, SWT.BORDER); - s.setMinimum(0); - s.setMaximum(Integer.MAX_VALUE); - if (v != -1) - s.setSelection(v); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - data.widthHint = 150; - s.setLayoutData(data); - if (listener != null) - s.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - listener.valueChanged(s.getSelection()); - } - }); - return s; - } - - protected Combo createTypeCombo(Composite comp, final String[] types, String sel, final StringModifyListener listener) { - final Combo combo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY); - int size = types.length; - String[] items = new String[size]; - int index = -1; - for (int i = 0; i < size; i++) { - items[i] = types[i]; - if (types[i].equals(sel)) - index = i; - } - combo.setItems(items); - if (index >= 0) - combo.select(index); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER); - data.widthHint = 150; - combo.setLayoutData(data); - if (listener != null) - combo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - listener.valueChanged(types[combo.getSelectionIndex()]); - } - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - return combo; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) - */ - protected Control createDialogArea(Composite parent) { - Composite composite = (Composite) super.createDialogArea(parent); - ((GridLayout)composite.getLayout()).numColumns = 2; - - PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF_DIALOG); - - createLabel(composite, Messages.localPort); - monitorPort = createSpinner(composite, monitor.getLocalPort(), new IntModifyListener() { - public void valueChanged(int i) { - try { - monitor.setLocalPort(i); - } catch (Exception e) { - // ignore - } - validateFields(); - } - }); - - Group group = new Group(composite, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - group.setLayout(layout); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - group.setLayoutData(data); - group.setText(Messages.remoteGroup); - - createLabel(group, Messages.remoteHost); - createText(group, monitor.getRemoteHost(), new StringModifyListener() { - public void valueChanged(String s) { - monitor.setRemoteHost(s); - validateFields(); - } - }); - - createLabel(group, Messages.remotePort); - createSpinner(group, monitor.getRemotePort(), new IntModifyListener() { - public void valueChanged(int i) { - try { - monitor.setRemotePort(i); - } catch (Exception e) { - // ignore - } - validateFields(); - } - }); - - createLabel(group, Messages.parseType); - createTypeCombo(group, new String[] {"TCP/IP","HTTP"}, monitor.getProtocol(), new StringModifyListener() { - public void valueChanged(String protocolId) { - monitor.setProtocol(protocolId); - } - }); - - createLabel(group, Messages.connectionTimeout); - createSpinner(group, monitor.getTimeout(), new IntModifyListener() { - public void valueChanged(int i) { - try { - monitor.setTimeout(i); - } catch (Exception e) { - // ignore - } - validateFields(); - } - }); - - return composite; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#okPressed() - */ - protected void okPressed() { - try { - monitor.save(); - } catch (CoreException ce) { - ErrorDialog.openError(getShell(), Messages.errorDialogTitle, ce.getLocalizedMessage(), ce.getStatus()); - return; - } - super.okPressed(); - } - - protected Control createButtonBar(Composite parent) { - Control buttonControl = super.createButtonBar(parent); - validateFields(); - return buttonControl; - } - - private void setOKButtonEnabled(boolean curIsEnabled) { - if (okButton == null) - okButton = getButton(IDialogConstants.OK_ID); - - if (okButton != null) - okButton.setEnabled(curIsEnabled); - } - - protected void validateFields() { - if (monitorPort == null) - return; - - boolean result = true; - IStatus status = monitor.validate(); - if (!status.isOK()) - result = false; - - setOKButtonEnabled(result); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java deleted file mode 100644 index a08746990..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java +++ /dev/null @@ -1,348 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import org.eclipse.swt.*; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.viewers.TableLayout; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.window.Window; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy; -import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore; -/** - * The preference page that holds monitor properties. - */ -public class MonitorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { - protected Button displayButton; - - protected Table table; - protected TableViewer tableViewer; - - protected Button edit; - protected Button remove; - protected Button start; - protected Button stop; - - protected List selection2; - - /** - * MonitorPreferencePage constructor comment. - */ - public MonitorPreferencePage() { - super(); - noDefaultAndApplyButton(); - } - - /** - * Create the preference options. - * - * @param parent org.eclipse.swt.widgets.Composite - * @return org.eclipse.swt.widgets.Control - */ - protected Control createContents(Composite parent) { - initializeDialogUnits(parent); - - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); - layout.verticalSpacing = convertVerticalDLUsToPixels(3); - layout.marginWidth = 0; - layout.marginHeight = 0; - composite.setLayout(layout); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - composite.setLayoutData(data); - PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF); - - Label label = new Label(composite, SWT.WRAP); - label.setText(Messages.preferenceDescription); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.horizontalSpan = 2; - label.setLayoutData(data); - - displayButton = new Button(composite, SWT.CHECK); - displayButton.setText(Messages.prefShowView); - displayButton.setSelection(MonitorUIPlugin.getShowOnActivityPreference()); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.horizontalSpan = 2; - displayButton.setLayoutData(data); - PlatformUI.getWorkbench().getHelpSystem().setHelp(displayButton, ContextIds.PREF_SHOW); - - label = new Label(composite, SWT.NONE); - label.setText(""); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.horizontalSpan = 2; - label.setLayoutData(data); - - label = new Label(composite, SWT.WRAP); - label.setText(Messages.monitorList); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - label.setLayoutData(data); - - table = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION); - data = new GridData(GridData.FILL_BOTH); - PlatformUI.getWorkbench().getHelpSystem().setHelp(table, ContextIds.PREF_MONITORS); - - table.setLayoutData(data); - table.setHeaderVisible(true); - table.setLinesVisible(true); - - TableLayout tableLayout = new TableLayout(); - - TableColumn statusColumn = new TableColumn(table, SWT.NONE); - statusColumn.setText(Messages.columnStatus); - ColumnWeightData colData = new ColumnWeightData(6, 60, true); - tableLayout.addColumnData(colData); - - TableColumn remoteColumn = new TableColumn(table, SWT.NONE); - remoteColumn.setText(Messages.columnRemote); - colData = new ColumnWeightData(12, 120, true); - tableLayout.addColumnData(colData); - - TableColumn httpColumn = new TableColumn(table, SWT.NONE); - httpColumn.setText(Messages.columnType); - colData = new ColumnWeightData(5, 55, true); - tableLayout.addColumnData(colData); - - TableColumn localColumn = new TableColumn(table, SWT.NONE); - localColumn.setText(Messages.columnLocal); - colData = new ColumnWeightData(5, 50, true); - tableLayout.addColumnData(colData); - - table.setLayout(tableLayout); - - tableViewer = new TableViewer(table); - tableViewer.setContentProvider(new MonitorContentProvider()); - tableViewer.setLabelProvider(new MonitorTableLabelProvider()); - tableViewer.setInput("root"); - - tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - setSelection(event.getSelection()); - } - }); - - Composite buttonComp = new Composite(composite, SWT.NONE); - layout = new GridLayout(); - layout.horizontalSpacing = 0; - layout.verticalSpacing = convertVerticalDLUsToPixels(3); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 1; - buttonComp.setLayout(layout); - data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL); - buttonComp.setLayoutData(data); - - Button add = SWTUtil.createButton(buttonComp, Messages.add); - add.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - MonitorDialog dialog = new MonitorDialog(getShell()); - if (dialog.open() == Window.CANCEL) - return; - tableViewer.refresh(); - - IMonitor[] monitors = MonitorCore.getMonitors(); - Object monitor = monitors[monitors.length - 1]; - tableViewer.setSelection(new StructuredSelection(monitor)); - } - }); - - edit = SWTUtil.createButton(buttonComp, Messages.edit); - edit.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IMonitor monitor = (IMonitor) getSelection().get(0); - IMonitorWorkingCopy wc = monitor.createWorkingCopy(); - - MonitorDialog dialog = new MonitorDialog(getShell(), wc); - if (dialog.open() != Window.CANCEL) { - try { - tableViewer.refresh(wc.save()); - } catch (Exception ex) { - // ignore - } - } - } - }); - edit.setEnabled(false); - - remove = SWTUtil.createButton(buttonComp, Messages.remove); - remove.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - Iterator iterator = getSelection().iterator(); - while (iterator.hasNext()) { - IMonitor monitor = (IMonitor) iterator.next(); - try { - monitor.delete(); - } catch (Exception ex) { - // ignore - } - tableViewer.remove(monitor); - - IMonitor[] monitors = MonitorCore.getMonitors(); - if (monitors.length > 0) { - Object monitor2 = monitors[monitors.length - 1]; - tableViewer.setSelection(new StructuredSelection(monitor2)); - } - } - } - }); - remove.setEnabled(false); - - start = SWTUtil.createButton(buttonComp, Messages.start); - data = (GridData) start.getLayoutData(); - data.verticalIndent = 9; - start.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - Iterator iterator = getSelection().iterator(); - while (iterator.hasNext()) { - IMonitor monitor = (IMonitor) iterator.next(); - try { - monitor.start(); - } catch (CoreException ce) { - MessageDialog.openError(getShell(), Messages.errorDialogTitle, ce.getStatus().getMessage()); - } catch (Exception ce) { - MessageDialog.openError(getShell(), Messages.errorDialogTitle, ce.getMessage()); - } - tableViewer.refresh(monitor, true); - } - tableViewer.setSelection(tableViewer.getSelection()); - } - }); - start.setEnabled(false); - - stop = SWTUtil.createButton(buttonComp, Messages.stop); - stop.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - Iterator iterator = getSelection().iterator(); - while (iterator.hasNext()) { - IMonitor monitor = (IMonitor) iterator.next(); - try { - monitor.stop(); - } catch (Exception ex) { - // ignore - } - tableViewer.refresh(monitor, true); - } - tableViewer.setSelection(tableViewer.getSelection()); - } - }); - stop.setEnabled(false); - - Dialog.applyDialogFont(composite); - - return composite; - } - - /** - * Initializes this preference page using the passed workbench. - * - * @param workbench the current workbench - */ - public void init(IWorkbench workbench) { - // do nothing - } - - /** - * Performs special processing when this page's Defaults button has been pressed. - * <p> - * This is a framework hook method for sublcasses to do special things when - * the Defaults button has been pressed. - * Subclasses may override, but should call <code>super.performDefaults</code>. - * </p> - */ - protected void performDefaults() { - displayButton.setSelection(MonitorUIPlugin.getDefaultShowOnActivityPreference()); - super.performDefaults(); - } - - /** - * @see org.eclipse.jface.preference.IPreferencePage#performOk() - */ - public boolean performOk() { - MonitorUIPlugin.setShowOnActivityPreference(displayButton.getSelection()); - MonitorUIPlugin.getInstance().savePluginPreferences(); - return true; - } - - protected List getSelection() { - return selection2; - } - - protected void setSelection(ISelection sel2) { - IStructuredSelection sel = (IStructuredSelection) sel2; - Iterator iterator = sel.iterator(); - selection2 = new ArrayList(); - - while (iterator.hasNext()) { - Object obj = iterator.next(); - if (obj instanceof IMonitor) - selection2.add(obj); - } - - if (!selection2.isEmpty()) { - remove.setEnabled(true); - - boolean allStopped = true; - boolean allStarted = true; - - iterator = selection2.iterator(); - while (iterator.hasNext()) { - IMonitor monitor = (IMonitor) iterator.next(); - if (monitor.isRunning()) - allStopped = false; - else - allStarted = false; - } - start.setEnabled(allStopped); - stop.setEnabled(allStarted); - edit.setEnabled(selection2.size() == 1 && allStopped); - } else { - edit.setEnabled(false); - remove.setEnabled(false); - start.setEnabled(false); - stop.setEnabled(false); - } - } - - /** - * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) - */ - public void createControl(Composite parent) { - super.createControl(parent); - PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), ContextIds.PREF); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java deleted file mode 100644 index 430cbb00e..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.jface.viewers.ILabelProviderListener; - -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -import org.eclipse.jface.viewers.ITableLabelProvider; -/** - * Monitor table label provider. - */ -public class MonitorTableLabelProvider implements ITableLabelProvider { - /** - * MonitorTableLabelProvider constructor comment. - */ - public MonitorTableLabelProvider() { - super(); - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) - */ - public void addListener(ILabelProviderListener listener) { - // do nothing - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() - */ - public void dispose() { - // do nothing - } - - /** - * @see ITableLabelProvider#getColumnImage(Object, int) - */ - public Image getColumnImage(Object element, int columnIndex) { - if (columnIndex == 0) { - IMonitor monitor = (IMonitor) element; - if (monitor.isRunning()) - return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_MONITOR_ON); - return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_MONITOR_OFF); - } - return null; - } - - /** - * @see ITableLabelProvider#getColumnText(Object, int) - */ - public String getColumnText(Object element, int columnIndex) { - IMonitor monitor = (IMonitor) element; - if (columnIndex == 0) { - if (monitor.isRunning()) - return Messages.started; - return Messages.stopped; - } else if (columnIndex == 1) - return monitor.getRemoteHost() + ":" + monitor.getRemotePort(); - else if (columnIndex == 2) - return monitor.getProtocol(); - else if (columnIndex == 3) - return monitor.getLocalPort() + ""; - else - return "X"; - } - - protected String notNull(String s) { - if (s == null) - return ""; - - return s; - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(Object, String) - */ - public boolean isLabelProperty(Object element, String property) { - return false; - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) - */ - public void removeListener(ILabelProviderListener listener) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java deleted file mode 100644 index b1e2340df..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java +++ /dev/null @@ -1,297 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.*; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.eclipse.wst.internet.monitor.core.internal.Trace; -import org.eclipse.wst.internet.monitor.core.internal.provisional.*; -import org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView; -import org.osgi.framework.BundleContext; -/** - * The TCP/IP monitor UI plugin. - */ -public class MonitorUIPlugin extends AbstractUIPlugin { - public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.ui"; - - private static MonitorUIPlugin singleton; - - protected Map imageDescriptors = new HashMap(); - - private static final String lineSeparator = System.getProperty("line.separator"); - - private static URL ICON_BASE_URL; - private static final String URL_CLCL = "clcl16/"; - private static final String URL_ELCL = "elcl16/"; - private static final String URL_DLCL = "dlcl16/"; - private static final String URL_OBJ = "obj16/"; - - public static final String IMG_ELCL_SORT_RESPONSE_TIME = "IMG_ELCL_SORT_RESPONSE_TIME"; - public static final String IMG_ELCL_CLEAR = "IMG_ELCL_CLEAR"; - public static final String IMG_ELCL_HTTP_HEADER = "IMG_ELCL_HTTP_HEADER"; - public static final String IMG_CLCL_SORT_RESPONSE_TIME = "IMG_CLCL_SORT_RESPONSE_TIME"; - public static final String IMG_CLCL_CLEAR = "IMG_CLCL_CLEAR"; - public static final String IMG_CLCL_HTTP_HEADER = "IMG_CLCL_HTTP_HEADER"; - public static final String IMG_DLCL_SORT_RESPONSE_TIME = "IMG_DLCL_SORT_RESPONSE_TIME"; - public static final String IMG_DLCL_CLEAR = "IMG_DLCL_CLEAR"; - public static final String IMG_DLCL_HTTP_HEADER = "IMG_DLCL_HTTP_HEADER"; - - public static final String IMG_REQUEST_RESPONSE = "requestResponse"; - public static final String IMG_RESEND_REQUEST_RESPONSE = "resendRequestResponse"; - - public static final String IMG_HOST = "host"; - public static final String IMG_MONITOR_ON = "monitorOn"; - public static final String IMG_MONITOR_OFF = "monitorOff"; - - private static final String SHOW_VIEW_ON_ACTIVITY = "show-view"; - private static final String SHOW_HEADER = "show-header"; - - protected List requests = new ArrayList(); - - protected IMonitorListener monitorListener = new IMonitorListener() { - public void monitorAdded(IMonitor monitor) { - monitor.addRequestListener(requestListener); - } - - public void monitorChanged(IMonitor monitor) { - // ignore - } - - public void monitorRemoved(IMonitor monitor) { - monitor.removeRequestListener(requestListener); - } - }; - - protected IRequestListener requestListener = new IRequestListener() { - public void requestAdded(IMonitor monitor, Request request) { - addRequest(request); - - if (MonitorView.view != null) - MonitorView.view.doRequestAdded(request); - else if (MonitorUIPlugin.getShowOnActivityPreference()) - MonitorView.open(request); - } - - public void requestChanged(IMonitor monitor, Request request) { - if (MonitorView.view != null) - MonitorView.view.doRequestChanged(request); - } - }; - - /** - * MonitorUIPlugin constructor comment. - */ - public MonitorUIPlugin() { - super(); - singleton = this; - } - - /** - * Creates and pre-loads the image registry. - * - * @return ImageRegistry - */ - protected ImageRegistry createImageRegistry() { - ImageRegistry registry = super.createImageRegistry(); - - registerImage(registry, IMG_REQUEST_RESPONSE, URL_OBJ + "tcp.gif"); - registerImage(registry, IMG_RESEND_REQUEST_RESPONSE, URL_ELCL + "resendRequest.gif"); - - registerImage(registry, IMG_HOST, URL_OBJ + "host.gif"); - registerImage(registry, IMG_MONITOR_ON, URL_OBJ + "monitorOn.gif"); - registerImage(registry, IMG_MONITOR_OFF, URL_OBJ + "monitorOff.gif"); - - registerImage(registry, IMG_CLCL_CLEAR, URL_CLCL + "clear.gif"); - registerImage(registry, IMG_CLCL_SORT_RESPONSE_TIME, URL_CLCL + "sortResponseTime.gif"); - registerImage(registry, IMG_CLCL_HTTP_HEADER, URL_CLCL + "httpHeader.gif"); - - registerImage(registry, IMG_ELCL_CLEAR, URL_ELCL + "clear.gif"); - registerImage(registry, IMG_ELCL_SORT_RESPONSE_TIME, URL_ELCL + "sortResponseTime.gif"); - registerImage(registry, IMG_ELCL_HTTP_HEADER, URL_ELCL + "httpHeader.gif"); - - registerImage(registry, IMG_DLCL_CLEAR, URL_DLCL + "clear.gif"); - registerImage(registry, IMG_DLCL_SORT_RESPONSE_TIME, URL_DLCL + "sortResponseTime.gif"); - registerImage(registry, IMG_DLCL_HTTP_HEADER, URL_DLCL + "httpHeader.gif"); - - return registry; - } - - /** - * Return the image with the given key from the image registry. - * - * @param key the key - * @return the image - */ - public static Image getImage(String key) { - return getInstance().getImageRegistry().get(key); - } - - /** - * Return the image with the given key from the image registry. - * - * @param key the key - * @return an image descriptor - */ - public static ImageDescriptor getImageDescriptor(String key) { - try { - getInstance().getImageRegistry(); - return (ImageDescriptor) getInstance().imageDescriptors.get(key); - } catch (Exception e) { - return null; - } - } - - /** - * Returns the singleton instance of this plugin. - * - * @return the plugin - */ - public static MonitorUIPlugin getInstance() { - return singleton; - } - - /** - * Register an image with the registry. - * - * @param key the key - * @param partialURL - */ - private void registerImage(ImageRegistry registry, String key, String partialURL) { - if (ICON_BASE_URL == null) { - String pathSuffix = "icons/"; - ICON_BASE_URL = singleton.getBundle().getEntry(pathSuffix); - } - - try { - ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL)); - registry.put(key, id); - imageDescriptors.put(key, id); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error registering image", e); - } - } - - /** - * @see AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - - getPreferenceStore().setDefault(MonitorUIPlugin.SHOW_VIEW_ON_ACTIVITY, true); - - MonitorCore.addMonitorListener(monitorListener); - - IMonitor[] monitors = MonitorCore.getMonitors(); - if (monitors != null) { - int size = monitors.length; - for (int i = 0; i < size; i++) { - monitors[i].addRequestListener(requestListener); - } - } - } - - /** - * @see AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - super.stop(context); - - IMonitor[] monitors = MonitorCore.getMonitors(); - if (monitors != null) { - int size = monitors.length; - for (int i = 0; i < size; i++) { - monitors[i].removeRequestListener(requestListener); - } - } - - MonitorCore.removeMonitorListener(monitorListener); - } - - public static boolean getDefaultShowOnActivityPreference() { - return getInstance().getPreferenceStore().getDefaultBoolean(SHOW_VIEW_ON_ACTIVITY); - } - - public static boolean getShowOnActivityPreference() { - return getInstance().getPreferenceStore().getBoolean(SHOW_VIEW_ON_ACTIVITY); - } - - public static void setShowOnActivityPreference(boolean b) { - getInstance().getPreferenceStore().setValue(SHOW_VIEW_ON_ACTIVITY, b); - getInstance().savePluginPreferences(); - } - - public static boolean getShowHeaderPreference() { - return getInstance().getPreferenceStore().getBoolean(SHOW_HEADER); - } - - public static void setShowHeaderPreference(boolean b) { - getInstance().getPreferenceStore().setValue(SHOW_HEADER, b); - getInstance().savePluginPreferences(); - } - - /** - * Convenience method to parse the given bytes into String form. The bytes - * are parsed into a line delimited string. The byte array must not be null. - * - * @param b a byte array - * @return the string after the conversion - */ - public static String parse(byte[] b) { - if (b == null) - throw new IllegalArgumentException(); - - ByteArrayInputStream bin = new ByteArrayInputStream(b); - BufferedReader br = new BufferedReader(new InputStreamReader(bin)); - StringBuffer sb = new StringBuffer(); - try { - String s = br.readLine(); - - while (s != null) { - sb.append(s); - s = br.readLine(); - if (s != null) - sb.append(lineSeparator); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error parsing input", e); - } - - return sb.toString(); - } - - public void addRequest(Request request) { - if (!requests.contains(request)) - requests.add(request); - } - - /** - * Returns a list of the current requests. - * - * @return java.util.List - */ - public Request[] getRequests() { - Request[] r = new Request[requests.size()]; - requests.toArray(r); - return r; - } - - public void clearRequests() { - requests = new ArrayList(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java deleted file mode 100644 index d2a927a76..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.ui.IActionFilter; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * An action filter for requests. - */ -public class RequestActionFilter implements IActionFilter{ - public static final String REQUEST_SENT = "requestsent"; - - /** - * @see IActionFilter#testAttribute(Object, String, String) - */ - public boolean testAttribute(Object target, String name, String value) { - Request request = (Request) target; - if (name.equals(REQUEST_SENT)) { - if (value.equals("true")) - return request.getResponseTime() != -1; - - return request.getResponseTime() == -1; - } - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java deleted file mode 100644 index ac7d68504..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestAdapterFactory.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.ui.IActionFilter; -/** - * Adapter factory to adapt Requests to IActionFilter. - */ -public class RequestAdapterFactory implements IAdapterFactory { - private RequestActionFilter reqActionFilter = null; - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) - */ - public Object getAdapter(Object adaptableObject, Class adapterType) { - if (adapterType == IActionFilter.class) { - if (reqActionFilter == null) { - reqActionFilter = new RequestActionFilter(); - } - return reqActionFilter; - } - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() - */ - public Class[] getAdapterList() { - return new Class[] { IActionFilter.class }; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java deleted file mode 100644 index ac622b37c..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/SWTUtil.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.FontMetrics; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -/** - * SWT Utility class. - */ -public class SWTUtil { - private static FontMetrics fontMetrics; - - protected static void initializeDialogUnits(Control testControl) { - // Compute and store a font metric - GC gc = new GC(testControl); - gc.setFont(JFaceResources.getDialogFont()); - fontMetrics = gc.getFontMetrics(); - gc.dispose(); - } - - /** - * Returns a width hint for a button control. - */ - protected static int getButtonWidthHint(Button button) { - int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); - return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); - } - - /** - * Create a new button with the standard size. - * - * @param comp the component to add the button to - * @param label the button label - * @return a button - */ - public static Button createButton(Composite comp, String label) { - Button b = new Button(comp, SWT.PUSH); - b.setText(label); - if (fontMetrics == null) - initializeDialogUnits(comp); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.widthHint = getButtonWidthHint(b); - b.setLayoutData(data); - return b; - } - - public static Button createCheckbox(Composite comp, String txt, boolean isSelected){ - Button button = new Button(comp, SWT.CHECK); - button.setText(txt); - GridLayout layout = new GridLayout(); - comp.setLayout(layout); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.horizontalIndent = 10; - button.setLayoutData(data); - button.setSelection(isSelected); - return button; - } - - public static Label createLabel(Composite comp, String txt) { - Label label = new Label(comp, SWT.NONE); - label.setText(txt); - label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING)); - return label; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java deleted file mode 100644 index 1b83e00c7..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java +++ /dev/null @@ -1,24 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; - -import org.eclipse.wst.internet.monitor.core.internal.IStartup; -/** - * Startup hook. - */ -public class Startup implements IStartup { - /* (non-Javadoc) - * @see org.eclipse.wst.internet.monitor.core.IStartup#startup() - */ - public void startup() { - // do nothing - plugin loading is enough - } -} diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java deleted file mode 100644 index c4d230a3a..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal; -/** - * Helper class to route trace output. - */ -public class Trace { - public static byte CONFIG = 0; - public static byte WARNING = 1; - public static byte SEVERE = 2; - public static byte FINEST = 3; - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level the trace level - * @param s a message - */ - public static void trace(byte level, String s) { - trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level the trace level - * @param s a message - * @param t a throwable - */ - public static void trace(byte level, String s, Throwable t) { - if (!MonitorUIPlugin.getInstance().isDebugging()) - return; - - System.out.println(MonitorUIPlugin.PLUGIN_ID + " " + s); - if (t != null) - t.printStackTrace(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/ContentViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/ContentViewer.java deleted file mode 100644 index 474378b09..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/ContentViewer.java +++ /dev/null @@ -1,133 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.provisional; - -import org.eclipse.swt.widgets.Composite; -/** - * Editable viewer for displaying and editing requests and responses. - * <p> - * This abstract class is intended to be subclassed only by clients - * to extend the <code>contentViewers</code> extension point. - * The subclass must have a public 0-argument constructor, which will be used - * automatically to instantiate the viewer when required. - * Once instantiated, {@link #init(Composite)} is called to create - * the viewer's controls. Then {@link #setContent(byte[])} is called, - * one or more times, to cause the viewer to display particular - * content. Finally, when the viewer is no longer needed, {@link #dispose()} - * is called to free up any resources tied up by the viewer. - * </p> - * <p> - * [issue: It's unclear how these content viewers are used. - * Is it just that the UI provides a list of available - * views for the user to make a manual selection from, regardless - * of the actual content of the message traffic?] - * </p> - * [issue: CS - If a ContentViewer is editable, does that mean we can edit the - * bytes of the message and resend it across the wire? How is an editable ContentViewer - * handled differently by the framework? Perhaps an example of what an editeable viewer would do. ] - * @plannedfor 1.0 - */ -public abstract class ContentViewer { - /** - * Creates a new content viewer instance. - */ - protected ContentViewer() { - // do nothing - } - - /** - * Creates the controls for this viewer as children of the given composite. - * <p> - * The default implementation of this method does nothing. - * Subclasses should override this method. - * </p> - * - * @param parent the parent composite - */ - public abstract void init(Composite parent); - - /** - * Sets the content that the viewer should display. - * The parameter may be null if no content should be displayed. - * <p> - * The default implementation of this method does nothing. - * Subclasses should override this method. - * </p> - * <p> - * [issue: Since this is for displaying request-reponse messages, - * why not pass an Request? The problem as it stands now is that - * it is unclear from specs how content viewers relate to anything - * else having to do with the monitor.] - * </p> - * - * @param b the content to display, or <code>null</code> to - * display nothing - */ - public abstract void setContent(byte[] b); - - /** - * Get the content from the viewer. This is usually only interesting if the - * content has changed. - * <p> - * The default implementation of this method does nothing and - * returns null. Subclasses should override this method. - * </p> - * - * @return the content from the viewer, or <code>null</code> if none - */ - public abstract byte[] getContent(); - - /** - * Disposes this viewer and any underlying resources such as a composite. - * This method will be called whenever the user switches to use another - * viewer or the monitor view is closed. The parent composite should not - * be disposed since it may be used to display another viewer. - * <p> - * The default implementation of this method does nothing. - * Subclasses should override this method to provide specialized cleanup. - * </p> - */ - public void dispose() { - // do nothing - } - - /** - * Set whether the current viewer is editable, that is, the user is able to - * edit the content. - * <p> - * The default implementation of this method does nothing. - * Subclasses should override this method to allows instances - * to be made editable. - * </p> - * - * @param editable <code>true</code> if true the content can be edited, - * and <code>false</code> otherwise - */ - public void setEditable(boolean editable) { - // do nothing - } - - /** - * Returns whether the current viewer is editable, that is, the user is able to - * edit the content. - * <p> - * The default implementation of this method does nothing. - * Subclasses should override this method to allows instances - * to be made editable. - * </p> - * - * @return <code>true</code> if true the content can be edited, - * and <code>false</code> otherwise - */ - public boolean getEditable() { - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/MonitorUICore.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/MonitorUICore.java deleted file mode 100644 index 3fb435161..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/MonitorUICore.java +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.provisional; - -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin; -/** - * Main class for access to the monitor UI. - * <p> - * This class provides all functionality through static members. It is not intended - * to be instantiated or subclassed. - * </p> - * - * @plannedfor 1.0 - */ -public final class MonitorUICore { - /** - * Cannot create MonitorUICore - use static methods. - */ - private MonitorUICore() { - // can't create - } - - /** - * Returns an array of the requests currently being displayed in the TCP/IP - * monitor view. - * - * @return an array of requests - */ - public static Request[] getRequests() { - return MonitorUIPlugin.getInstance().getRequests(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.html b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.html deleted file mode 100644 index d28b6c2a2..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.html +++ /dev/null @@ -1,21 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>TCP/IP monitor UI</p> -<table width="500"> -<tr> -<td> -<p>The ContentViewer class is provided to -implement the viewers extension point that allows external plugins to provide -a view for viewing request and response data content in the monitor view. -</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.xml b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.xml deleted file mode 100644 index be41a2701..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/package.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> -<abstract>TCP/IP monitor UI</abstract> - -<p>The ContentViewer class is provided to -implement the viewers extension point that allows external plugins to provide -a view for viewing request and response data content in the monitor view. -</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java deleted file mode 100644 index 3c4d83f96..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IAction; -import org.eclipse.wst.internet.monitor.core.internal.IContentFilter; -/** - * - */ -public class FilterAction extends Action { - protected ViewerManager vm; - protected IContentFilter filter; - protected boolean enabled; - - public FilterAction(ViewerManager vm, IContentFilter filter) { - super(filter.getName(), IAction.AS_CHECK_BOX); - this.vm = vm; - this.filter = filter; - } - - public void run() { - if (!isChecked()) - vm.removeFilter(filter); - else - vm.addFilter(filter); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java deleted file mode 100644 index f1f0f5806..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ModifyMessageAction.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.ui.IViewActionDelegate; -import org.eclipse.ui.IViewPart; -import org.eclipse.wst.internet.monitor.core.internal.MonitorManager; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * Modify the selected message. Creates a new resendrequest and adds it - * to the tree. - */ -public class ModifyMessageAction implements IViewActionDelegate{ - ISelection selection = null; - - /* (non-Javadoc) - * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) - */ - public void init(IViewPart view) { - // do nothing - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) - */ - public void run(IAction action) { - if (selection != null) { - Object element = ((StructuredSelection) selection).getFirstElement(); - if (element != null && element instanceof Request) { - Request req = (Request) element; - ResendHTTPRequest newReq = MonitorManager.createResendRequest(req); - MonitorManager.getInstance().addResendRequest(req, newReq); - TreeViewer treeViewer = MonitorView.view.treeViewer; - treeViewer.add(req, newReq); - treeViewer.setSelection(new StructuredSelection(newReq), false); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) - */ - public void selectionChanged(IAction action, ISelection selection2) { - this.selection = selection2; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java deleted file mode 100644 index 5a8d392d1..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java +++ /dev/null @@ -1,201 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.wst.internet.monitor.core.internal.MonitorManager; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin; -/** - * Content provider for the monitor server view. - */ -public class MonitorTreeContentProvider implements ITreeContentProvider{ - protected static final String ROOT = "root"; - - protected boolean sortByResponseTime; - - /** - * ProxyTreeContentProvider constructor comment. - */ - public MonitorTreeContentProvider() { - super(); - } - - /** - * Disposes of this content provider. - * <p> - * [Issue: This method should be changed to take a Viewer, - * renamed and repurposed to disconnect a content provider from - * a viewer. This is over and above what inputChanged does, - * which is disconnecting a content provider from the viewer's - * input (but not the viewer itself). - * ] - * </p> - */ - public void dispose() { - // do nothing - } - - /** - * Returns an iterator over the child elements of the given element. - * <p> - * Note: The difference between this method and - * <code>IStructuredContentProvider.getElements</code> is - * that <code>getElements</code> is called to obtain the - * tree viewer's root elements, whereas <code>getChildren</code> is used - * to obtain the children of a given node in the tree - * (including a root). - * </p> - * <p> - * [Issue: Don't know what above is trying to say. - * See IStructuredContentProvider.getElements. - * ] - * </p> - * - * @param element the element - * @return an iterator over the child elements - * (element type: <code>Object</code>) - */ - public Object[] getChildren(Object element) { - if (element instanceof Integer) { - Integer in = (Integer) element; - List list = new ArrayList(); - Request[] requests = MonitorUIPlugin.getInstance().getRequests(); - if (requests != null) { - int size = requests.length; - for (int i = 0; i < size; i++) { - Request req = requests[i]; - if ((req.getLocalPort() == in.intValue()) - && !(req instanceof ResendHTTPRequest)) - list.add(req); - } - } - if (sortByResponseTime) - sortByResponseTime(list); - return list.toArray(); - } else if (element instanceof Request) { - Request req = (Request) element; - ResendHTTPRequest[] rr = MonitorManager.getInstance().getResendRequests(req); - List list = new ArrayList(); - if (rr != null) { - int size = rr.length; - for (int i = 0; i < size; i++) { - list.add(rr[i]); - } - } - if (sortByResponseTime) - sortByResponseTime(list); - return list.toArray(); - } - return null; - } - - /* - * Returns an iterator over the elements belonging to the - * given element. These elements can be presented as rows in a table, - * items in a list, etc. - */ - public Object[] getElements(Object element) { - if (ROOT.equals(element)) { - List list = new ArrayList(); - Request[] requests = MonitorUIPlugin.getInstance().getRequests(); - if (requests != null) { - int size = requests.length; - for (int i = 0; i < size; i++) { - Request req = requests[i]; - Integer in = new Integer(req.getLocalPort()); - if (!list.contains(in)) - list.add(in); - } - } - if (sortByResponseTime) - sortByResponseTime(list); - return list.toArray(); - } - return getChildren(element); - } - - /* - * Returns the parent for the given element, or <code>null</code> - * indicating that the parent can't be computed. - */ - public Object getParent(Object element) { - if (element != null) { - if (element instanceof Integer) - return ROOT; - Request call = (Request) element; - if (call instanceof ResendHTTPRequest) { - ResendHTTPRequest callResend = (ResendHTTPRequest) call; - Request parent = callResend.getOriginalRequest(); - if (parent != null) - return parent; - } - return new Integer(call.getLocalPort()); - } - return null; - } - - /* - * Returns true if the elements are currently being sorted by response time. - */ - public boolean getSortByResponseTime() { - return sortByResponseTime; - } - - /* - * Returns whether the given element has children. - */ - public boolean hasChildren(Object element) { - if (element instanceof Integer) - return true; - if (element instanceof Request) - return MonitorManager.getInstance().getResendRequests((Request) element).length > 0; - - return false; - } - - /* - * Notifies this content provider that the given viewer's input - * has been switched to a different element. - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } - - /** - * Sets the sort by response time option. - * @param b boolean - */ - public void setSortByResponseTime(boolean b) { - sortByResponseTime = b; - } - - /** - * - */ - protected void sortByResponseTime(List list) { - int size = list.size(); - for (int i = 0; i < size - 1; i++) { - for (int j = i + 1; j < size; j++) { - Request c1 = (Request) list.get(i); - Request c2 = (Request) list.get(j); - if (c1.getResponseTime() < c2.getResponseTime()) { - list.set(i, c2); - list.set(j, c1); - } - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java deleted file mode 100644 index 078e699cc..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java +++ /dev/null @@ -1,543 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import java.text.SimpleDateFormat; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.jface.action.*; -import org.eclipse.jface.preference.IPreferenceNode; -import org.eclipse.jface.preference.PreferenceDialog; -import org.eclipse.jface.preference.PreferenceManager; -import org.eclipse.jface.viewers.*; -import org.eclipse.jface.window.Window; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.custom.SashForm; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.Tree; -import org.eclipse.ui.*; -import org.eclipse.ui.part.ViewPart; -import org.eclipse.wst.internet.monitor.core.internal.IContentFilter; -import org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IRequestListener; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -import org.eclipse.wst.internet.monitor.ui.internal.*; -/** - * View of TCP/IP activity. - */ -public class MonitorView extends ViewPart { - protected Tree tree; - protected TreeViewer treeViewer; - protected MonitorTreeContentProvider contentProvider; - - protected IRequestListener listener; - protected ViewerManager vm; - protected List requestViewers; - protected List responseViewers; - - protected static SimpleDateFormat format; - protected static final String VIEW_ID = "org.eclipse.wst.internet.monitor.view"; - protected static final String DEFAULT_VIEWER = "org.eclipse.wst.internet.monitor.viewers.byte"; - - protected IAction httpHeaderAction; - protected IAction preferenceAction; - - public static MonitorView view; - - protected Request currentRequest = null; - protected StructuredSelection currentSelection = null; - - /** - * MonitorView constructor comment. - */ - public MonitorView() { - super(); - view = this; - - // try specified format, and fall back to standard format - try { - format = new SimpleDateFormat(Messages.viewDateFormat); - } catch (Exception e) { - format = new SimpleDateFormat("h:mm.s.S a"); - } - } - - public void doRequestAdded(final Request rr) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - if (!(rr instanceof ResendHTTPRequest)) { - Integer in = new Integer(rr.getLocalPort()); - treeViewer.add(MonitorTreeContentProvider.ROOT, in); - treeViewer.add(in, rr); - treeViewer.setSelection(new StructuredSelection(rr), true); - } - } - }); - } - - public void doRequestChanged(final Request rr) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - if (treeViewer == null) - return; - IStructuredSelection sel = (IStructuredSelection) treeViewer.getSelection(); - - treeViewer.refresh(rr); - if (!sel.isEmpty()) - treeViewer.setSelection(sel); - } - }); - } - - /** - * Clear the view. - */ - protected void clear() { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - treeViewer.setSelection(null); - treeViewer.setInput(MonitorTreeContentProvider.ROOT); - } - }); - } - - protected void setSelection(Request request) { - if (treeViewer != null) - treeViewer.setSelection(new StructuredSelection(request)); - } - - /** - * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) - */ - public void createPartControl(Composite parent) { - SashForm sashFparent = new SashForm(parent, SWT.VERTICAL); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.horizontalSpacing = 4; - layout.verticalSpacing = 4; - sashFparent.setLayout(layout); - sashFparent.setLayoutData(new GridData(GridData.FILL_BOTH)); - PlatformUI.getWorkbench().getHelpSystem().setHelp(sashFparent, ContextIds.VIEW); - - // create tree panel - Composite treePanel = new Composite(sashFparent, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = 0; - layout.marginWidth = 0; - treePanel.setLayout(layout); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - data.heightHint = 110; - data.horizontalSpan = 2; - treePanel.setLayoutData(data); - - tree = new Tree(treePanel, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE); - data = new GridData(GridData.FILL_BOTH); - //data.widthHint = 120; - tree.setLayoutData(data); - treeViewer = new TreeViewer(tree); - contentProvider = new MonitorTreeContentProvider(); - treeViewer.setContentProvider(contentProvider); - treeViewer.setInput(MonitorTreeContentProvider.ROOT); - treeViewer.setLabelProvider(new TreeLabelProvider()); - - PlatformUI.getWorkbench().getHelpSystem().setHelp(tree, ContextIds.VIEW_TREE); - - Composite detailsPanel = new Composite(treePanel, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 1; - layout.marginHeight = 2; - layout.marginWidth = 0; - detailsPanel.setLayout(layout); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - data.widthHint = 200; - detailsPanel.setLayoutData(data); - - final Label label = new Label(detailsPanel, SWT.NONE); - label.setText(NLS.bind(Messages.viewTime, "")); - label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING)); - - final Label label2 = new Label(detailsPanel, SWT.NONE); - label2.setText(NLS.bind(Messages.viewResponseTime, "")); - label2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING)); - - final Label label3 = new Label(detailsPanel, SWT.NONE); - label3.setText(NLS.bind(Messages.viewType, "")); - label3.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING)); - - // create center and right panels - SashForm sashFchild = new SashForm(sashFparent, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 2; - layout.horizontalSpacing = 2; - layout.verticalSpacing = 4; - sashFchild.setLayout(layout); - sashFparent.setWeights(new int[] { 30, 70 }); - - // request panel - Composite request = new Composite(sashFchild, SWT.NONE); - layout = new GridLayout(); - layout.verticalSpacing = 3; - layout.marginHeight = 2; - layout.marginWidth = 0; - request.setLayout(layout); - request.setLayoutData(new GridData(GridData.FILL_BOTH)); - - Composite requestHeader = new Composite(request, SWT.NONE); - layout = new GridLayout(); - layout.verticalSpacing = 1; - layout.numColumns = 2; - layout.marginHeight = 0; - layout.marginWidth = 2; - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - requestHeader.setLayout(layout); - requestHeader.setLayoutData(data); - - final Label requestLabel = new Label(requestHeader, SWT.NONE); - requestLabel.setText(NLS.bind(Messages.viewRequest, "")); - requestLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - final Combo requestViewerCombo = new Combo(requestHeader, SWT.DROP_DOWN | SWT.READ_ONLY); - data = new GridData(GridData.HORIZONTAL_ALIGN_END); - data.verticalSpan = 2; - requestViewerCombo.setLayoutData(data); - - final Label requestSizeLabel = new Label(requestHeader, SWT.NONE); - requestSizeLabel.setText(NLS.bind(Messages.viewSize, "")); - requestSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - // response panel - Composite response = new Composite(sashFchild, SWT.NONE); - layout = new GridLayout(); - layout.verticalSpacing = 3; - layout.marginHeight = 2; - layout.marginWidth = 0; - response.setLayout(layout); - response.setLayoutData(new GridData(GridData.FILL_BOTH)); - - Composite responseHeader = new Composite(response, SWT.NONE); - layout = new GridLayout(); - layout.verticalSpacing = 1; - layout.numColumns = 2; - layout.marginHeight = 0; - layout.marginWidth = 2; - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - responseHeader.setLayout(layout); - responseHeader.setLayoutData(data); - - final Label responseLabel = new Label(responseHeader, SWT.NONE); - responseLabel.setText(NLS.bind(Messages.viewResponse, "")); - responseLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - final Combo responseViewerCombo = new Combo(responseHeader, SWT.DROP_DOWN | SWT.READ_ONLY); - data = new GridData(GridData.HORIZONTAL_ALIGN_END); - data.verticalSpan = 2; - responseViewerCombo.setLayoutData(data); - - final Label responseSizeLabel = new Label(responseHeader, SWT.NONE); - responseSizeLabel.setText(NLS.bind(Messages.viewSize, "")); - responseSizeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - // viewer manager - vm = new ViewerManager(request, request, response, response); - requestViewers = vm.getRequestViewers(); - responseViewers = vm.getResponseViewers(); - - // set up the viewer combo boxes - Iterator iterator = requestViewers.iterator(); - int ctr = 0; - while (iterator.hasNext()) { - Viewer viewer = (Viewer) iterator.next(); - requestViewerCombo.add(viewer.getLabel(), ctr); - if (viewer.getId().equals(DEFAULT_VIEWER)) { - requestViewerCombo.select(ctr); - vm.setRequestViewer(viewer); - } - ctr++; - } - requestViewerCombo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - Viewer viewer = (Viewer) requestViewers.get(requestViewerCombo.getSelectionIndex()); - if (currentRequest != null && viewer != null) - currentRequest.setProperty("request-viewer", viewer.getId()); - vm.setRequestViewer(viewer); - } - - public void widgetDefaultSelected(SelectionEvent e) { - // ignore - } - }); - requestHeader.layout(true); - - iterator = responseViewers.iterator(); - ctr = 0; - while (iterator.hasNext()) { - Viewer viewer = (Viewer) iterator.next(); - responseViewerCombo.add(viewer.getLabel(), ctr); - if (viewer.getId().equals(DEFAULT_VIEWER)) { - responseViewerCombo.select(ctr); - vm.setResponseViewer(viewer); - } - ctr++; - } - responseViewerCombo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - Viewer viewer = (Viewer) responseViewers.get(responseViewerCombo.getSelectionIndex()); - if (currentRequest != null && viewer != null) - currentRequest.setProperty("response-viewer", viewer.getId()); - vm.setResponseViewer(viewer); - } - - public void widgetDefaultSelected(SelectionEvent e) { - // ignore - } - }); - responseHeader.layout(true); - - // selection listener - treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - ISelection selection = event.getSelection(); - - currentRequest = null; - if (selection != null && !selection.isEmpty()) { - StructuredSelection sel = (StructuredSelection) selection; - currentSelection = sel; - Object obj = sel.iterator().next(); - if (obj instanceof Request) - currentRequest = (Request) obj; - } - - if (currentRequest != null) { - label.setText(NLS.bind(Messages.viewTime, format.format(currentRequest.getDate()))); - - if (currentRequest.getResponseTime() == -1) - label2.setText(NLS.bind(Messages.viewResponseTime, "")); - else { - String time = NLS.bind(Messages.viewResponseTimeFormat, currentRequest.getResponseTime() + ""); - label2.setText(NLS.bind(Messages.viewResponseTime, time)); - } - label3.setText(NLS.bind(Messages.viewType, currentRequest.getProtocol())); - - // request information - requestLabel.setText(NLS.bind(Messages.viewRequest, "localhost:" + currentRequest.getLocalPort())); - requestSizeLabel.setText(getSizeString(currentRequest.getRequest(Request.CONTENT), currentRequest.getRequest(Request.ALL))); - - // response information - responseLabel.setText(NLS.bind(Messages.viewResponse, currentRequest.getRemoteHost() + ":" + currentRequest.getRemotePort())); - responseSizeLabel.setText(getSizeString(currentRequest.getResponse(Request.CONTENT), currentRequest.getResponse(Request.ALL))); - - vm.setRequest(currentRequest); - - Viewer viewer = vm.findViewer((String) currentRequest.getProperty("request-viewer")); - if (viewer == null) - viewer = vm.findViewer(DEFAULT_VIEWER); - if (viewer != null) { - vm.setRequestViewer(viewer); - requestViewerCombo.select(requestViewers.indexOf(viewer)); - } - - viewer = vm.findViewer((String) currentRequest.getProperty("response-viewer")); - if (viewer == null && currentRequest.getName() != null) - viewer = vm.getDefaultViewer(currentRequest.getName()); - if (viewer != null) { - vm.setResponseViewer(viewer); - responseViewerCombo.select(responseViewers.indexOf(viewer)); - } - } else { - label.setText(NLS.bind(Messages.viewTime, "")); - label2.setText(NLS.bind(Messages.viewResponseTime, "")); - requestLabel.setText(NLS.bind(Messages.viewRequest, "")); - requestSizeLabel.setText(NLS.bind(Messages.viewSize, "")); - responseLabel.setText(NLS.bind(Messages.viewResponse, "")); - responseSizeLabel.setText(NLS.bind(Messages.viewSize, "")); - vm.setRequest(currentRequest); - } - } - }); - treeViewer.expandToLevel(2); - - // create a menu manager for a context menu - MenuManager menuManager = new MenuManager(); - menuManager.setRemoveAllWhenShown(true); - menuManager.addMenuListener(new IMenuListener() { - public void menuAboutToShow(IMenuManager menu) { - menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); - menu.add(preferenceAction); - } - }); - - // create the menu - Menu menu = menuManager.createContextMenu(treeViewer.getControl()); - treeViewer.getControl().setMenu(menu); - - // register the menu with the platform - getSite().registerContextMenu(menuManager, treeViewer); - - initializeActions(); - } - - protected String getSizeString(byte[] a, byte[] b) { - String aa = "0"; - String bb = "0"; - if (a != null) - aa = a.length + ""; - if (b != null) - bb = b.length + ""; - String size = NLS.bind(Messages.viewSizeFormat, new Object[] { aa, bb}); - return NLS.bind(Messages.viewSize, size); - } - - public void dispose() { - super.dispose(); - treeViewer = null; - view = null; - } - - /** - * - */ - public void initializeActions() { - final IAction sortByResponseTimeAction = new Action() { - public void run() { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - boolean b = contentProvider.getSortByResponseTime(); - contentProvider.setSortByResponseTime(!b); - treeViewer.refresh(); - setChecked(!b); - } - }); - } - }; - sortByResponseTimeAction.setChecked(false); - sortByResponseTimeAction.setToolTipText(Messages.actionSortByResponseTime); - sortByResponseTimeAction.setImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_ELCL_SORT_RESPONSE_TIME)); - sortByResponseTimeAction.setHoverImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_CLCL_SORT_RESPONSE_TIME)); - sortByResponseTimeAction.setDisabledImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_DLCL_SORT_RESPONSE_TIME)); - - IAction clearAction = new Action() { - public void run() { - MonitorUIPlugin.getInstance().clearRequests(); - clear(); - } - }; - clearAction.setToolTipText(Messages.actionClearToolTip); - clearAction.setImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_ELCL_CLEAR)); - clearAction.setHoverImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_CLCL_CLEAR)); - clearAction.setDisabledImageDescriptor(MonitorUIPlugin.getImageDescriptor(MonitorUIPlugin.IMG_DLCL_CLEAR)); - - httpHeaderAction = new Action() { - public void run() { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - boolean b = vm.getDisplayHeaderInfo(); - vm.setDisplayHeaderInfo(!b); - setChecked(!b); - } - }); - } - }; - httpHeaderAction.setChecked(vm.getDisplayHeaderInfo()); - httpHeaderAction.setText(Messages.actionShowHeader); - - preferenceAction = new Action() { - public void run() { - showPreferencePage(); - } - }; - preferenceAction.setText(Messages.actionProperties); - - - IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager(); - tbm.add(sortByResponseTimeAction); - tbm.add(clearAction); - - IContentFilter[] filters = MonitorPlugin.getInstance().getContentFilters(); - IMenuManager menuManager = getViewSite().getActionBars().getMenuManager(); - menuManager.add(httpHeaderAction); - int size = filters.length; - for (int i = 0; i < size; i++) { - FilterAction action = new FilterAction(vm, filters[i]); - menuManager.add(action); - } - menuManager.add(new Separator()); - menuManager.add(preferenceAction); - } - - protected boolean showPreferencePage() { - PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager(); - IPreferenceNode node = manager.find("org.eclipse.debug.ui.DebugPreferencePage").findSubNode("org.eclipse.wst.internet.monitor.preferencePage"); - PreferenceManager manager2 = new PreferenceManager(); - manager2.addToRoot(node); - - final PreferenceDialog dialog = new PreferenceDialog(getSite().getShell(), manager2); - final boolean[] result = new boolean[] { false }; - BusyIndicator.showWhile(getSite().getShell().getDisplay(), new Runnable() { - public void run() { - dialog.create(); - if (dialog.open() == Window.OK) - result[0] = true; - } - }); - return result[0]; - } - - /** - * Open a request. - * - * @param request the request - */ - public static void open(final Request request) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - try { - IWorkbench workbench = MonitorUIPlugin.getInstance().getWorkbench(); - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - - IWorkbenchPage page = workbenchWindow.getActivePage(); - - IViewPart view2 = page.findView(VIEW_ID); - - if (view2 != null) - page.bringToTop(view2); - else - page.showView(VIEW_ID); - - if (view != null) - view.setSelection(request); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error opening TCP/IP view", e); - } - } - }); - } - - /** - * - */ - public void setFocus() { - if (tree != null) - tree.setFocus(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java deleted file mode 100644 index 0df04dee5..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ResendMessageAction.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.ui.IViewActionDelegate; -import org.eclipse.ui.IViewPart; -import org.eclipse.wst.internet.monitor.core.internal.MonitorManager; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -/** - * Resends the selected request and adds the result to the request/response tree. - */ -public class ResendMessageAction implements IViewActionDelegate{ - protected ISelection selection = null; - - /* (non-Javadoc) - * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) - */ - public void init(IViewPart view) { - // do nothing - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) - */ - public void run(IAction action) { - if (selection != null) { - Object element = ((StructuredSelection) selection).getFirstElement(); - if (element != null && element instanceof Request) { - Request req = (Request) element; - ResendHTTPRequest newReq = MonitorManager.createResendRequest(req); - MonitorManager.getInstance().addResendRequest(req, newReq); - TreeViewer treeViewer = MonitorView.view.treeViewer; - treeViewer.add(req, newReq); - treeViewer.setSelection(new StructuredSelection(newReq), false); - newReq.sendRequest(); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) - */ - public void selectionChanged(IAction action, ISelection selection2) { - this.selection = selection2; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java deleted file mode 100644 index 830b433b8..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/SendModifiedMessageAction.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.ui.IViewActionDelegate; -import org.eclipse.ui.IViewPart; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer; -import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer; -/** - * Send a modified message. - */ -public class SendModifiedMessageAction implements IViewActionDelegate{ - ISelection selection = null; - - /* (non-Javadoc) - * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) - */ - public void init(IViewPart view) { - // do nothing - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) - */ - public void run(IAction action) { - if (selection != null) { - Object element = ((StructuredSelection) selection).getFirstElement(); - if (element != null && element instanceof ResendHTTPRequest) { - ResendHTTPRequest req = (ResendHTTPRequest) element; - ContentViewer curViewer = MonitorView.view.vm.getCurrentRequestViewer(); - HeaderViewer curHeaderViewer = MonitorView.view.vm.getCurrentRequestHeaderViewer(); - req.setRequest(curViewer.getContent(), Request.CONTENT); - - if (curHeaderViewer != null) - req.setRequest(curHeaderViewer.getContent(), Request.TRANSPORT); - - req.sendRequest(); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) - */ - public void selectionChanged(IAction action, ISelection selection2) { - this.selection = selection2; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java deleted file mode 100644 index 99c1df34b..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/TreeLabelProvider.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin; -/** - * A label provider for the monitor server view. - */ -public class TreeLabelProvider implements ILabelProvider { - /** - * TreeLabelProvider constructor comment. - */ - public TreeLabelProvider() { - super(); - } - - /* - * Adds a listener to this label provider. - */ - public void addListener(ILabelProviderListener listener) { - // do nothing - } - - /* - * Disposes of this label provider. - */ - public void dispose() { - // do nothing - } - - /* - * Returns the image for the label of the given element for use - * in the given viewer. - */ - public Image getImage(Object element) { - if (element instanceof Request) { - if (element instanceof ResendHTTPRequest) { - if (!((ResendHTTPRequest) element).hasBeenSent()) - return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_RESEND_REQUEST_RESPONSE); - } - return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_REQUEST_RESPONSE); - } - return MonitorUIPlugin.getImage(MonitorUIPlugin.IMG_HOST); - } - - /* - * Returns the text for the label of the given element for use - * in the given viewer. - */ - public String getText(Object element) { - if (element instanceof Request) { - Request call = (Request) element; - return call.getName(); - } else if (element instanceof Integer) { - Integer in = (Integer) element; - return "localhost:" + in.intValue(); - } else - return element.toString(); - } - - /* - * Returns whether the label would be affected - * by a change to the given property of the given element. - */ - public boolean isLabelProperty(Object element, String property) { - return false; - } - - /* - * Removes a listener to this label provider. - */ - public void removeListener(ILabelProviderListener listener) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java deleted file mode 100644 index b5cce39d3..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java +++ /dev/null @@ -1,73 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.wst.internet.monitor.ui.internal.Trace; -import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer; -/** - * - */ -public class Viewer { - private IConfigurationElement element; - - /** - * Create a new content viewer. - * - * @param element a configuration element - */ - public Viewer(IConfigurationElement element) { - super(); - this.element = element; - } - - public String getId() { - return element.getAttribute("id"); - } - - public String getLabel() { - String label = element.getAttribute("label"); - if (label == null) - return "n/a"; - return label; - } - - /** - * Create an instance of the viewer. - * - * @return the viewer, or <code>null</code> if it couldn't be loaded - */ - public ContentViewer createViewer() { - try { - return (ContentViewer) element.createExecutableExtension("class"); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create viewer" + toString() + ": " + e.getMessage()); - return null; - } - } - - public boolean isRequestViewer() { - return element.getAttribute("type").toLowerCase().indexOf("request") >= 0; - } - - public boolean isResponseViewer() { - return element.getAttribute("type").toLowerCase().indexOf("response") >= 0; - } - - /** - * Return a string representation of this object. - * - * @return String - */ - public String toString() { - return "ContentViewer[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java deleted file mode 100644 index 67486c57f..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java +++ /dev/null @@ -1,292 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.view; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import org.eclipse.core.runtime.*; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.internet.monitor.core.internal.IContentFilter; -import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin; -import org.eclipse.wst.internet.monitor.ui.internal.Trace; -import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer; -import org.eclipse.wst.internet.monitor.ui.internal.viewers.ByteViewer; -import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer; -/** - * - */ -public class ViewerManager { - private boolean displayHeaderInf; - - protected ContentViewer reqViewer; - protected ContentViewer respViewer; - protected Viewer requestViewer; - protected Viewer responseViewer; - - protected HeaderViewer reqHeader; - protected HeaderViewer respHeader; - - protected Composite reqHComp; - protected Composite reqVComp; - - protected Composite respHComp; - protected Composite respVComp; - - protected List viewers; - - protected Request request; - - protected List filters = new ArrayList(); - - public ViewerManager(Composite reqHeadParent, Composite reqViewParent, Composite respHeadParent, Composite respViewParent) { - reqHComp = reqHeadParent; - respHComp = respHeadParent; - reqVComp = reqViewParent; - respVComp = respViewParent; - reqHeader = new HeaderViewer(reqHComp, HeaderViewer.REQUEST_HEADER); - respHeader = new HeaderViewer(respHComp, HeaderViewer.RESPONSE_HEADER); - reqViewer = new ByteViewer(); - reqViewer.init(reqVComp); - respViewer = new ByteViewer(); - respViewer.init(respVComp); - setDisplayHeaderInfo(MonitorUIPlugin.getShowHeaderPreference()); - loadAvailableViewers(); - } - - protected Viewer getDefaultViewer(String name) { - if (name == null) - return null; - - String name2 = name.toLowerCase(); - if (name2.endsWith(".xml")) - return findViewer("org.eclipse.wst.internet.monitor.viewers.xml"); - else if (name2.endsWith(".html")) - return findViewer("org.eclipse.wst.internet.monitor.viewers.browser"); - else if (name2.endsWith(".gif") || name2.endsWith(".jpg") || - name2.endsWith(".jpeg") || name2.endsWith(".png")) - return findViewer("org.eclipse.wst.internet.monitor.viewers.image"); - else - return findViewer("org.eclipse.wst.internet.monitor.viewers.byte"); - } - - protected Viewer findViewer(String id) { - if (id == null) - return null; - - Iterator iterator = viewers.iterator(); - while (iterator.hasNext()) { - Viewer viewer = (Viewer) iterator.next(); - if (id.equals(viewer.getId())) - return viewer; - } - return null; - } - - private void loadAvailableViewers() { - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorUIPlugin.PLUGIN_ID, "viewers"); - int size = cf.length; - viewers = new ArrayList(size); - for (int i = 0; i < size; i++) { - viewers.add(new Viewer(cf[i])); - } - } - - /* (non-Javadoc) - * @see org.eclipse.wst.internet.monitor.internal.view.IViewerManager#setDisplayHeaderInfo(boolean) - */ - public void setDisplayHeaderInfo(boolean b) { - displayHeaderInf = b; - reqHeader.setDisplayHeader(b); - respHeader.setDisplayHeader(b); - MonitorUIPlugin.setShowHeaderPreference(b); - if (b) { - reqHeader.setEditable(false); - if (request instanceof ResendHTTPRequest && request.getResponse(Request.TRANSPORT) == null) { - reqHeader.setEditable(true); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.wst.internet.monitor.internal.view.IViewerManager#getDisplayHeaderInfo() - */ - public boolean getDisplayHeaderInfo() { - return displayHeaderInf; - } - - public void setRequest(Request rr) { - // maintain the state of the request and request header if they've been modified. - if (request instanceof ResendHTTPRequest && request.getResponse(Request.ALL) == null) { - ResendHTTPRequest resRequest = (ResendHTTPRequest) request; - //EditableContentViewer editViewer = (ContentViewer) reqViewer; - byte[] content = reqViewer.getContent(); - byte[] b = resRequest.getRequest(Request.CONTENT); - if (content != null && b != null && !MonitorUIPlugin.parse(b).equals(MonitorUIPlugin.parse(content))) { - resRequest.setRequest(content, Request.CONTENT); - } - byte[] header = reqHeader.getContent(); - b = resRequest.getRequest(Request.TRANSPORT); - if (header != null && b != null && !MonitorUIPlugin.parse(b).equals(MonitorUIPlugin.parse(header))) { - resRequest.setRequest(header, Request.TRANSPORT); - } - } - reqHeader.setRequestResponse(rr); - respHeader.setRequestResponse(rr); - byte[] b = null; - if (rr != null) - b = filter(rr.getRequest(Request.CONTENT)); - reqViewer.setContent(b); - b = null; - if (rr != null) - b = filter(rr.getResponse(Request.CONTENT)); - respViewer.setContent(b); - request = rr; - - // set the editor to editable if the request hasn't been sent and the - // editor can be set as editable - if (request instanceof ResendHTTPRequest && request.getResponse(Request.ALL) == null) { - if (displayHeaderInf) { - reqHeader.setEditable(true); - } - reqViewer.setEditable(true); - } else { - if (displayHeaderInf) { - reqHeader.setEditable(false); - } - reqViewer.setEditable(false); - } - } - - public void addFilter(IContentFilter filter) { - filters.add(filter); - setRequest(request); - } - - public void removeFilter(IContentFilter filter) { - filters.remove(filter); - setRequest(request); - } - - protected byte[] filter(byte[] b) { - if (b == null) - return null; - Iterator iterator = filters.iterator(); - while (iterator.hasNext()) { - IContentFilter filter = (IContentFilter) iterator.next(); - try { - b = filter.filter(request, false, b); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error while filtering with " + filter.getId(), e); - } - } - return b; - } - - /* (non-Javadoc) - * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getRequestViewers() - */ - public List getRequestViewers() { - Iterator iterator = viewers.iterator(); - List temp = new ArrayList(); - while (iterator.hasNext()) { - Viewer viewer = (Viewer) iterator.next(); - if (viewer.isRequestViewer()) - temp.add(viewer); - } - return temp; - } - - /* (non-Javadoc) - * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getResponseViewers() - */ - public List getResponseViewers() { - Iterator iterator = viewers.iterator(); - List temp = new ArrayList(); - while (iterator.hasNext()) { - Viewer viewer = (Viewer) iterator.next(); - if (viewer.isResponseViewer()) - temp.add(viewer); - } - return temp; - } - - /* (non-Javadoc) - * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setRequestViewer(java.lang.String) - */ - public void setRequestViewer(Viewer viewer) { - if (viewer != null && viewer.equals(requestViewer)) - return; - - // call set request to save and reset the request - setRequest(request); - reqViewer.dispose(); - - requestViewer = viewer; - reqViewer = viewer.createViewer(); - if (reqViewer == null) - return; - - reqViewer.init(reqVComp); - //reqViewer.setRequestResponse(rr); - byte[] b = null; - if (request != null) { - b = filter(request.getRequest(Request.CONTENT)); - // set the editor to editable if the request hasn't been sent and the - // editor can be set as editable - if (request instanceof ResendHTTPRequest && request.getResponse(Request.TRANSPORT) == null) { - reqViewer.setEditable(true); - } else { - reqViewer.setEditable(false); - } - } - reqViewer.setContent(b); - reqVComp.layout(true); - } - - /* (non-Javadoc) - * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setResponseViewer(java.lang.String) - */ - public void setResponseViewer(Viewer viewer) { - if (viewer != null && viewer.equals(responseViewer)) - return; - respViewer.dispose(); - - responseViewer = viewer; - respViewer = viewer.createViewer(); - if (respViewer == null) - return; - respViewer.init(respVComp); - //respViewer.setRequestResponse(rr); - byte[] b = null; - if (request != null) - b = filter(request.getResponse(Request.CONTENT)); - respViewer.setContent(b); - respVComp.layout(true); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.internet.monitor.ui.internal.view.IViewerManager#getCurrentRequestViewer() - */ - public ContentViewer getCurrentRequestViewer() { - return reqViewer; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.internet.monitor.ui.internal.view.IViewerManager#getCurrentRequestHeaderViewer() - */ - public HeaderViewer getCurrentRequestHeaderViewer() { - return reqHeader; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java deleted file mode 100644 index 4cdfd8483..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.viewers; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.browser.Browser; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.internet.monitor.ui.internal.Messages; -import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer; -/** - * A browser viewer. - */ -public class BrowserViewer extends ContentViewer { - protected Browser browser; - - protected byte[] content; - - /** (non-Javadoc) - * @see ContentViewer#init(Composite) - */ - public void init(Composite parent) { - browser = new Browser(parent, SWT.BORDER); - browser.setLayoutData(new GridData(GridData.FILL_BOTH)); - } - - /** (non-Javadoc) - * @see ContentViewer#setContent(byte[]) - */ - public void setContent(byte[] b) { - content = b; - if (b == null || b.length == 0) { - browser.setText(Messages.htmlViewInvalid); - } else { - byte cr = '\r'; - byte lf = '\n'; - int trimFront = 0; - int trimBack = 0; - int len = b.length - 1; - while (b[trimFront] == cr || b[trimFront] == lf) - trimFront++; - while (b[len - trimBack] == cr || b[len - trimBack] == lf) - trimBack++; - - if (trimFront + trimBack > 0) { - byte[] temp = b; - b = new byte[temp.length - trimBack - trimFront]; - for (int i = trimFront; i < temp.length - trimBack; i++) { - b[i - trimFront] = temp[i]; - } - } - browser.setText(new String(b)); - } - } - - /** - * @see ContentViewer#getContent() - */ - public byte[] getContent() { - return content; - } - - /** (non-Javadoc) - * @see ContentViewer#dispose() - */ - public void dispose() { - browser.dispose(); - browser = null; - content = null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java deleted file mode 100644 index 30377dd28..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.viewers; - -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.internet.monitor.ui.internal.ContextIds; -import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin; -import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer; -/** - * A basic byte viewer. - */ -public class ByteViewer extends ContentViewer { - protected Text text; - - /** (non-Javadoc) - * @see ContentViewer#init(Composite) - */ - public void init(Composite parent) { - text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL); - Display display = parent.getDisplay(); - text.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND)); - text.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND)); - text.setLayoutData(new GridData(GridData.FILL_BOTH)); - text.setFont(JFaceResources.getTextFont()); - PlatformUI.getWorkbench().getHelpSystem().setHelp(text, ContextIds.VIEW_RESPONSE); - } - - /** (non-Javadoc) - * @see ContentViewer#setEditable(boolean) - */ - public void setEditable(boolean editable) { - text.setEditable(editable); - } - - /** (non-Javadoc) - * @see ContentViewer#getContent() - */ - public byte[] getContent() { - if (text == null) { - return new byte[0]; - } - String content = text.getText().trim(); - if (content.equals("")) { - return new byte[0]; - } - // Need to ensure that there is a newline at the end of the content. - // getBytes() removes the newline. - byte[] twoNewlines = new byte[] { '\015', '\012' }; - byte[] contentBytes = content.getBytes(); - byte[] retBytes = new byte[contentBytes.length + 2]; - System.arraycopy(contentBytes, 0, retBytes, 0, contentBytes.length); - System.arraycopy(twoNewlines, 0, retBytes, contentBytes.length, 2); - return retBytes; - } - - /** (non-Javadoc) - * @see ContentViewer#setContent(byte[]) - */ - public void setContent(byte[] b) { - String out = ""; - if (b != null) - out = MonitorUIPlugin.parse(b); - - String lineSeparator = System.getProperty("line.separator"); - int ls = lineSeparator.length(); - if (out.length() > ls) { - while (out.substring(0, ls).indexOf(lineSeparator) >= 0) - out = out.substring(ls, out.length()); - } - - text.setText(out); - } - - /** (non-Javadoc) - * @see ContentViewer#dispose() - */ - public void dispose() { - text.dispose(); - text = null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java deleted file mode 100644 index 9edfbc131..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java +++ /dev/null @@ -1,219 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.viewers; - -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.internet.monitor.core.internal.provisional.Request; -import org.eclipse.wst.internet.monitor.ui.internal.ContextIds; -import org.eclipse.wst.internet.monitor.ui.internal.Messages; -import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin; -/** - * An transport (header) viewer. - */ -public class HeaderViewer { - private static final int HEADER_TEXT_SIZE = 110; - - protected boolean displayHeader; - - protected Composite headerComp; - protected Composite innerComp; - - protected Label headerLabel; - protected Text headerText; - protected Request rr; - protected byte msg; - protected GridLayout layout; - protected GridData data; - - protected boolean hidden; - - /** - * Request header constant. - */ - public static byte REQUEST_HEADER = 0; - - /** - * Response header constant. - */ - public static byte RESPONSE_HEADER = 1; - - /** - * Create a new header viewer. - * - * @param parent - * @param message - */ - public HeaderViewer(Composite parent, byte message) { - displayHeader = true; - hidden = false; - - headerComp = new Composite(parent, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 1; - layout.marginHeight = 0; - layout.marginWidth = 0; - headerComp.setLayout(layout); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - headerComp.setLayoutData(data); - - innerComp = new Composite(headerComp, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 1; - layout.marginHeight = 0; - layout.marginWidth = 2; - innerComp.setLayout(layout); - data = new GridData(GridData.FILL_BOTH); - innerComp.setLayoutData(data); - - rr = null; - msg = message; - - setDisplayHeader(false); - } - - /** - * - * @param request - */ - public void setRequestResponse(Request request) { - rr = request; - if (!hidden) - getView(); - } - - /** - * - * @param b - */ - public void setDisplayHeader(boolean b) { - if (displayHeader != b) { - displayHeader = b; - if (displayHeader) { - innerComp.dispose(); - - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - data.heightHint = HEADER_TEXT_SIZE; - headerComp.setLayoutData(data); - - innerComp = new Composite(headerComp, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 1; - layout.marginHeight = 0; - layout.marginWidth = 0; - innerComp.setLayout(layout); - data = new GridData(GridData.FILL_BOTH); - data.heightHint = HEADER_TEXT_SIZE; - innerComp.setLayoutData(data); - - headerText = new Text(innerComp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL); - Display display = innerComp.getDisplay(); - headerText.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND)); - headerText.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND)); - headerText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); - headerText.setFont(JFaceResources.getTextFont()); - PlatformUI.getWorkbench().getHelpSystem().setHelp(headerText, ContextIds.VIEW_RESPONSE); - - headerComp.getParent().layout(true); - } else { - innerComp.dispose(); - - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - headerComp.setLayoutData(data); - - innerComp = new Composite(headerComp, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 1; - layout.marginHeight = 0; - layout.marginWidth = 2; - innerComp.setLayout(layout); - data = new GridData(GridData.FILL_BOTH); - innerComp.setLayoutData(data); - - headerLabel = new Label(innerComp, SWT.NONE); - headerLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING)); - - headerComp.getParent().layout(true); - } - } - getView(); - } - - private void getView() { - String out = ""; - if (rr != null) { - if (msg == REQUEST_HEADER) { - byte[] b = rr.getRequest(Request.TRANSPORT); - if (b != null) - out = MonitorUIPlugin.parse(b); - } else if (msg == RESPONSE_HEADER) { - byte[] b = rr.getResponse(Request.TRANSPORT); - if (b != null) - out = MonitorUIPlugin.parse(b); - } - } - - if (displayHeader) - headerText.setText(out); - else { - String lineSeparator = System.getProperty("line.separator"); - int index = out.indexOf(lineSeparator); - if (index > 0) - headerLabel.setText(NLS.bind(Messages.headerLabel, out.substring(0, index))); - else - headerLabel.setText(NLS.bind(Messages.headerLabel, out)); - } - } - - /** - * Dispose the header. - */ - public void dispose() { - headerComp.dispose(); - } - - /** - * Set whether the header can be edited. - * - * @param editable If true the header can be edited, otherwise the header cannot be edited. - */ - public void setEditable(boolean editable) { - headerText.setEditable(editable); - } - - /** - * Get the content from the header. - * - * @return The content from the header. - */ - public byte[] getContent() { - if (headerText == null || headerText.isDisposed()) - return null; - - String header = headerText.getText().trim(); - // Need to ensure that the following 4 bytes end the header. The getBytes() - // method removes spaces at the end of the string. - byte[] twoNewlines = new byte[] { '\015', '\012', '\015', '\012' }; - byte[] headerBytes = header.getBytes(); - byte[] retBytes = new byte[headerBytes.length + 4]; - System.arraycopy(headerBytes, 0, retBytes, 0, headerBytes.length); - System.arraycopy(twoNewlines, 0, retBytes, headerBytes.length, 4); - return retBytes; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java deleted file mode 100644 index f8618ed17..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.viewers; - -import java.io.ByteArrayInputStream; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.ImageData; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.wst.internet.monitor.ui.internal.Messages; -import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer; -/** - * An image viewer. - */ -public class ImageViewer extends ContentViewer { - protected Label messageLabel; - - protected byte[] content; - - /** (non-Javadoc) - * @see ContentViewer#init(Composite) - */ - public void init(Composite parent) { - messageLabel = new Label(parent, SWT.NONE); - messageLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING)); - messageLabel.setText(Messages.imageViewInvalid); - } - - /** (non-Javadoc) - * @see ContentViewer#setContent(byte[]) - */ - public void setContent(byte[] b) { - content = b; - if (b == null || b.length == 0) { - messageLabel.setImage(null); - } else { - byte cr = '\r'; - byte lf = '\n'; - int trimFront = 0; - int trimBack = 0; - int len = b.length - 1; - while (b[trimFront] == cr || b[trimFront] == lf) - trimFront++; - while (b[len - trimBack] == cr || b[len - trimBack] == lf) - trimBack++; - - if (trimFront + trimBack > 0) { - byte[] temp = b; - b = new byte[temp.length - trimBack - trimFront]; - for (int i = trimFront; i < temp.length - trimBack; i++) { - b[i - trimFront] = temp[i]; - } - } - try { - ImageData imgD = new ImageData(new ByteArrayInputStream(b)); - Image img = new Image(null, imgD); - messageLabel.setImage(img); - } catch(Exception e) { - messageLabel.setImage(null); - } - } - - Composite parent = messageLabel.getParent(); - messageLabel.setFont(parent.getFont()); - parent.layout(true); - } - - /** - * @see ContentViewer#getContent() - */ - public byte[] getContent() { - return content; - } - - /** (non-Javadoc) - * @see ContentViewer#dispose() - */ - public void dispose() { - messageLabel.dispose(); - messageLabel = null; - content = null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java deleted file mode 100644 index 9113d1cc2..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java +++ /dev/null @@ -1,222 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - * - * 2005-11-25 Arthur Ryman, ryman@ca.ibm.com - * - fixed bug 118102: set xmlTagMissing correctly each time setContent() is called - *******************************************************************************/ -package org.eclipse.wst.internet.monitor.ui.internal.viewers; - -import java.io.*; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.*; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.eclipse.jface.resource.JFaceResources; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.internet.monitor.ui.internal.ContextIds; -import org.eclipse.wst.internet.monitor.ui.internal.Messages; -import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin; -import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer; - -import org.w3c.dom.*; -import org.xml.sax.*; -/** - * XML Viewer. - */ -public class XMLViewer extends ContentViewer { - protected Composite viewerComp; - protected StackLayout layout; - protected Text messageText; - protected Label messageLabel; - - protected boolean xmlTagMissing = false; - protected boolean setEncoding = false; - protected boolean missingEncoding = false; - protected String originalEncoding; - - protected byte[] content; - - /** (non-Javadoc) - * @see ContentViewer#setContent(byte[]) - */ - public void setContent(byte[] b) { - content = b; - String out = ""; - if (b != null) - out = MonitorUIPlugin.parse(b); - - String lineSeparator = System.getProperty("line.separator"); - int ls = lineSeparator.length(); - if (out.length() > ls) { - while (out.substring(0, ls).indexOf(lineSeparator) >= 0) - out = out.substring(ls, out.length()); - } - - String out_temp = out.toLowerCase(); - xmlTagMissing = !out_temp.startsWith("<?xml"); - - if (out.length() > 0) { - byte[] b1 = createDocument(out); - String finalMsg = new String (b1); - if (finalMsg.startsWith("Invalid XML")) { - //case: error parsing - messageText.setVisible(false); - layout.topControl = messageLabel; - messageLabel.setVisible(true); - messageLabel.setText(Messages.xmlViewInvalid); - } else if (xmlTagMissing && finalMsg.startsWith("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")) { - int x = finalMsg.indexOf("\n") + 1; - String Msg = finalMsg.substring(x); - finalMsg = Msg; - - messageText.setText(finalMsg); - } else if (setEncoding) { - //change back to original Encoding - int begin = finalMsg.indexOf("UTF-8"); //location of opening " - int last = begin + 5; //location of closing " - String first_half = finalMsg.substring(0,begin); - String second_half = finalMsg.substring(last); - finalMsg = first_half + originalEncoding + second_half; - - messageText.setText(finalMsg); - } else if (missingEncoding) { - //remove encoding completely - int begin = finalMsg.indexOf("encoding=\"UTF-8\""); //location of opening " - int last = begin + 16; //location of closing " - String first_half = finalMsg.substring(0,begin); - String second_half = finalMsg.substring(last); - finalMsg = first_half + second_half; - - messageText.setText(finalMsg); - } - } else - messageText.setText(out); - } - - /** - * @see ContentViewer#getContent() - */ - public byte[] getContent() { - return content; - } - - /** (non-Javadoc) - * @see ContentViewer#init(Composite) - */ - public void init(Composite parent) { - viewerComp = new Composite(parent, SWT.NONE); - layout = new StackLayout(); - layout.marginHeight = 0; - layout.marginWidth = 0; - viewerComp.setLayout(layout); - viewerComp.setLayoutData(new GridData(GridData.FILL_BOTH)); - - messageText = new Text(viewerComp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL); - Display display = viewerComp.getDisplay(); - messageText.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND)); - messageText.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND)); - messageText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); - messageText.setFont(JFaceResources.getTextFont()); - messageText.setVisible(true); - PlatformUI.getWorkbench().getHelpSystem().setHelp(messageText, ContextIds.VIEW_RESPONSE); - - messageLabel = new Label(viewerComp, SWT.NONE); - messageLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING)); - messageLabel.setVisible(false); - - layout.topControl = messageText; - } - - /* (non-Javadoc) - * @#createDocument(String) - */ - protected byte[] createDocument(String str) { - byte[] parseArray = null; - Document document = null; - byte[] result = null; - - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - try { - factory.setAttribute("http://apache.org/xml/features/allow-java-encodings", new Boolean(true)); - factory.setAttribute("http://apache.org/xml/features/continue-after-fatal-error", new Boolean(true)); - } catch (Exception e) { - // ignore - } - DocumentBuilder parser = factory.newDocumentBuilder(); - - if (xmlTagMissing) { - str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + str; - } else { - String str_temp = str.toLowerCase(); - - //if encoding present,then save original Encoding, change to UTF-8 - if (str_temp.indexOf("encoding=") >= 0) { - setEncoding = true; - String temp1 = str.substring(str_temp.indexOf("encoding=")); - int beginIndex = temp1.indexOf("\"") + 1; - String temp2 = temp1.substring(beginIndex); - int endIndex = temp2.indexOf("\""); - originalEncoding = temp2.substring(0, endIndex); - } - - //if no encoding at all,then no changes to be made - else if (str_temp.indexOf("encoding") < 0) { - setEncoding = false; - missingEncoding = true; - } - } - parseArray = str.getBytes(); - document = parser.parse(new InputSource(new ByteArrayInputStream(parseArray))); - result = getContents(document); - - } catch (Exception e) { - result = "Invalid XML".getBytes(); - } - return result; - } - - protected byte[] getContents(Document document) throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - Result result = new StreamResult(out); - Source source = new DOMSource(document); - try { - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$ - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$ - transformer.transform(source, result); - } catch (TransformerConfigurationException e) { - throw (IOException) (new IOException().initCause(e)); - } catch (TransformerException e) { - throw (IOException) (new IOException().initCause(e)); - } - return out.toByteArray(); - } - - /** (non-Javadoc) - * @see ContentViewer#dispose() - */ - public void dispose() { - viewerComp.dispose(); - viewerComp = null; - content = null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties deleted file mode 100644 index 6a4857602..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties +++ /dev/null @@ -1,27 +0,0 @@ -############################################################################### -# Copyright (c) 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=TCP/IP Monitor -providerName=Eclipse.org - -extensionPointViewers=Viewers - -viewTitle=TCP/IP Monitor -actionResend=Resend request -actionModify=Modify request -actionModifyResend=Send Modified Request - -byteView=Byte -imageView=Image -xmlView=XML -browserView=Web Browser - -preferenceTitle=TCP/IP Monitor -preferenceKeywords=debug
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml deleted file mode 100644 index 383610e61..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - -<extension-point name="%extensionPointViewers" id="viewers" schema="schema/viewers.exsd"/> - -<extension point="org.eclipse.wst.internet.monitor.core.internalStartup"> - <startup - id="org.eclipse.wst.internet.monitor.ui" - class="org.eclipse.wst.internet.monitor.ui.internal.Startup"/> -</extension> - -<extension point="org.eclipse.ui.views"> - <view - id="org.eclipse.wst.internet.monitor.view" - name="%viewTitle" - category="org.eclipse.debug.ui" - class="org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView" - icon="icons/cview16/monitorView.gif"> - </view> -</extension> - -<extension point="org.eclipse.ui.preferencePages"> - <page - id="org.eclipse.wst.internet.monitor.preferencePage" - name="%preferenceTitle" - category="org.eclipse.debug.ui.DebugPreferencePage" - class="org.eclipse.wst.internet.monitor.ui.internal.MonitorPreferencePage"> - <keywordReference id="org.eclipse.wst.internet.monitor.preferenceKeywords"/> - </page> -</extension> - -<extension point="org.eclipse.ui.keywords"> - <keyword - label="%preferenceKeywords" - id="org.eclipse.wst.internet.monitor.preferenceKeywords"/> -</extension> - -<extension point="org.eclipse.wst.internet.monitor.ui.viewers"> - <viewer - id="org.eclipse.wst.internet.monitor.viewers.byte" - class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ByteViewer" - type="requestresponse" - label="%byteView"/> - <viewer - id="org.eclipse.wst.internet.monitor.viewers.image" - class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ImageViewer" - type="requestresponse" - label="%imageView"/> - <viewer - id="org.eclipse.wst.internet.monitor.viewers.xml" - class="org.eclipse.wst.internet.monitor.ui.internal.viewers.XMLViewer" - type="requestresponse" - label="%xmlView"/> - <viewer - id="org.eclipse.wst.internet.monitor.viewers.browser" - class="org.eclipse.wst.internet.monitor.ui.internal.viewers.BrowserViewer" - type="requestresponse" - label="%browserView"/> -</extension> - -<extension point="org.eclipse.core.runtime.adapters"> - <factory - class="org.eclipse.wst.internet.monitor.ui.internal.RequestAdapterFactory" - adaptableType="org.eclipse.wst.internet.monitor.core.internal.provisional.Request"> - <adapter type="org.eclipse.ui.IActionFilter"/> - </factory> -</extension> - -<extension point="org.eclipse.ui.popupMenus"> - <objectContribution - objectClass="org.eclipse.wst.internet.monitor.core.internal.provisional.Request" - id="org.eclipse.wst.internet.monitor.ui.modifyaction"> - <filter name="requestsent" value="true"/> - <action - label="%actionResend" - menubarPath="additions" - class="org.eclipse.wst.internet.monitor.ui.internal.view.ResendMessageAction" - enablesFor="1" - id="org.eclipse.wst.internet.monitor.ui.internal.view.ResendMessageAction" - icon="icons/elcl16/resendRequest.gif"> - </action> - <action - label="%actionModify" - menubarPath="additions" - class="org.eclipse.wst.internet.monitor.ui.internal.view.ModifyMessageAction" - enablesFor="1" - id="org.eclipse.wst.internet.monitor.ui.internal.view.ModifyMessageAction" - icon="icons/etool16/editRequest.gif"> - </action> - </objectContribution> - <objectContribution - objectClass="org.eclipse.wst.internet.monitor.core.internal.provisional.Request" - id="org.eclipse.wst.internet.monitor.ui.sendmodifyaction"> - <filter name="requestsent" value="false"/> - <action - label="%actionModifyResend" - menubarPath="additions" - class="org.eclipse.wst.internet.monitor.ui.internal.view.SendModifiedMessageAction" - enablesFor="1" - id="org.eclipse.wst.internet.monitor.ui.internal.view.SendModifiedMessageAction" - icon="icons/elcl16/resendRequest.gif"> - </action> - </objectContribution> -</extension> - -</plugin>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd b/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd deleted file mode 100644 index c64ce10e8..000000000 --- a/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd +++ /dev/null @@ -1,145 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.monitor.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.internet.monitor.ui" id="viewers" name="Content Viewers"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a viewer for a specific type of content. (e.g. a viewer for a particular image format)
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="viewer" 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="viewer">
- <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 extends <samp>org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer</samp>. Viewers instances of this type will delegate to instances of this class.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="label" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name used to identify the content viewer
- </documentation>
- </annotation>
- </attribute>
- <attribute name="type" type="string" use="required">
- <annotation>
- <documentation>
- [issue: what is this used for?]
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a content viewer extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.internet.monitor.ui.viewers">
- <viewer
- id="com.example.byteviewer"
- class="com.example.ByteContentViewer"
- type="requestresponse"
- label="%byteView"/>
- </extension>
-</pre>
- </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 extends the abstract class <code>org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer</code>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2003, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/.classpath b/plugins/org.eclipse.wst.server.core/.classpath deleted file mode 100644 index f29ae05a4..000000000 --- a/plugins/org.eclipse.wst.server.core/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="servercore/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.wst.server.core/.cvsignore b/plugins/org.eclipse.wst.server.core/.cvsignore deleted file mode 100644 index ac819a13f..000000000 --- a/plugins/org.eclipse.wst.server.core/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -temp.folder -build.xml -servercore.jar -org.eclipse.wst.server.core_3.0.0.jar -@dot -src.zip diff --git a/plugins/org.eclipse.wst.server.core/.options b/plugins/org.eclipse.wst.server.core/.options deleted file mode 100644 index 6b736589f..000000000 --- a/plugins/org.eclipse.wst.server.core/.options +++ /dev/null @@ -1,7 +0,0 @@ -# Debugging options for the org.eclipse.wst.server.core plugin - -# Turn on general debugging -org.eclipse.wst.server.core/debug=true - -# Prints out values -org.eclipse.wst.server.core/resources=false diff --git a/plugins/org.eclipse.wst.server.core/.project b/plugins/org.eclipse.wst.server.core/.project deleted file mode 100644 index bf1e7eff1..000000000 --- a/plugins/org.eclipse.wst.server.core/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.wst.server.core</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF deleted file mode 100644 index 35c4d651d..000000000 --- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.wst.server.core; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.wst.server.core, - org.eclipse.wst.server.core.internal;x-friends:="org.eclipse.wst.server.ui", - org.eclipse.wst.server.core.internal.provisional, - org.eclipse.wst.server.core.model, - org.eclipse.wst.server.core.util -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.core.expressions, - org.eclipse.debug.core, - org.eclipse.update.core;resolution:=optional -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.wst.server.core/about.html b/plugins/org.eclipse.wst.server.core/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.wst.server.core/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/build.properties b/plugins/org.eclipse.wst.server.core/build.properties deleted file mode 100644 index d9a7e00bd..000000000 --- a/plugins/org.eclipse.wst.server.core/build.properties +++ /dev/null @@ -1,22 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - plugin.properties,\ - .,\ - .options,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -src.includes = schema/,\ - component.xml -source.. = servercore/ diff --git a/plugins/org.eclipse.wst.server.core/component.xml b/plugins/org.eclipse.wst.server.core/component.xml deleted file mode 100644 index 4f439749a..000000000 --- a/plugins/org.eclipse.wst.server.core/component.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.server"> - <component-depends unrestricted="true"/> - <plugin id="org.eclipse.wst.server.core" fragment="false"/> - <package name="org.eclipse.wst.server.core"> - <type name="IModule" implement="false" subclass="false" instantiate="false"/> - <type name="IModuleArtifact" implement="false" subclass="false" instantiate="false"/> - <type name="IModuleType" implement="false" subclass="false" instantiate="false"/> -<!-- <type name="IProjectProperties" implement="false" subclass="false" instantiate="false"/>--> - <type name="IPublishListener" subclass="false" instantiate="false"/> - <type name="IRuntime" implement="false" subclass="false" instantiate="false"/> - <type name="IRuntimeLifecycleListener" subclass="false" instantiate="false"/> -<!-- <type name="IRuntimeTargetHandler" implement="false" subclass="false" instantiate="false"/>--> - <type name="IRuntimeType" implement="false" subclass="false" instantiate="false"/> - <type name="IRuntimeWorkingCopy" implement="false" subclass="false" instantiate="false"/> - <type name="IServer" implement="false" subclass="false" instantiate="false"/> - <type name="IServerAttributes" implement="false" subclass="false" instantiate="false"/> - <type name="IServerLifecycleListener" subclass="false" instantiate="false"/> - <type name="IServerListener" subclass="false" instantiate="false"/> - <type name="IServerType" implement="false" subclass="false" instantiate="false"/> - <type name="IServerWorkingCopy" implement="false" subclass="false" instantiate="false"/> - <type name="ServerCore" implement="false" subclass="false" instantiate="false"/> - <type name="ServerEvent" implement="false" subclass="false" instantiate="false"/> - <type name="ServerPort"/> - <type name="ServerUtil" implement="false" subclass="false" instantiate="false"/> - <type name="TaskModel" implement="false"/> - </package> - <package name="org.eclipse.wst.server.core.model"> - <type name="IURLProvider" subclass="false"/> - <type name="ModuleFactoryDelegate"/> - <type name="RuntimeDelegate"/> - <type name="RuntimeLocatorDelegate"/> -<!-- <type name="RuntimeTargetHandlerDelegate"/> --> - <type name="IModuleFile"/> - <type name="IModuleFolder"/> - <type name="IModuleResource"/> - <type name="IModuleResourceDelta"/> - <type name="ModuleArtifactAdapterDelegate"/> - <type name="LaunchableAdapterDelegate"/> - <type name="ClientDelegate"/> - <type name="ModuleDelegate"/> - <type name="PublishTaskDelegate"/> - <type name="PublishOperation"/> - <type name="ServerBehaviourDelegate"/> - <type name="ServerDelegate"/> - <type name="InternalInitializer" implement="false" subclass="false" instantiate="false" reference="false"/> - </package> - <package name="org.eclipse.wst.server.core.util"> - <type name="HttpLaunchable"/> - <type name="IStaticWeb"/> - <type name="NullModuleArtifact"/> - <type name="PublishAdapter"/> - <type name="ProjectModule"/> - <type name="ProjectModuleFactoryDelegate"/> - <type name="RuntimeLifecycleAdapter"/> - <type name="ServerLifecycleAdapter"/> - <type name="SocketUtil"/> - <type name="WebResource"/> - </package> - - <plugin id="org.eclipse.wst.server.ui" fragment="false"/> - <package name="org.eclipse.wst.server.ui"> - <type name="ServerLaunchConfigurationTab"/> - <type name="ServerUIUtil" implement="false" subclass="false" instantiate="false"/> - <type name="ServerUICore" implement="false" subclass="false" instantiate="false"/> - </package> - <package name="org.eclipse.wst.server.ui.editor"> - <type name="ServerEditorPart"/> - <type name="ServerEditorSection"/> - <type name="IServerEditorPartInput"/> - </package> - <package name="org.eclipse.wst.server.ui.wizard"> - <type name="IWizardHandle"/> - <type name="WizardFragment"/> - </package> -</component>
\ 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 deleted file mode 100644 index 1c059b814..000000000 --- a/plugins/org.eclipse.wst.server.core/plugin.properties +++ /dev/null @@ -1,30 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=Server Core -providerName=Eclipse.org - -extensionPointServerStartup=Server Startup -extensionPointModuleTypes=Module Types -extensionPointRuntimeTypes=Runtime Types -extensionPointRuntimeTargetHandlers=Runtime Target Handlers -extensionPointRuntimeLocators=Runtime Locators -extensionPointServerTypes=Server Types -extensionPointServerLocators=Server Locators -extensionPointModuleFactories=Module Factories -extensionPointModuleArtifactAdapters=Module Artifact Adapters -extensionPointLaunchableAdapters=Launchable Adapters -extensionPointClients=Clients -extensionPointPublishTasks=Publish Tasks -extensionPointServerMonitors=Server Monitors -extensionPointInstallableServers=Installable Servers -extensionPointInstallableRuntimes=Installable Runtimes - -moduleTypeUnknown=Unknown module diff --git a/plugins/org.eclipse.wst.server.core/plugin.xml b/plugins/org.eclipse.wst.server.core/plugin.xml deleted file mode 100644 index c164888bb..000000000 --- a/plugins/org.eclipse.wst.server.core/plugin.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - <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/internalServerLocators.exsd"/> - <extension-point id="moduleFactories" name="%extensionPointModuleFactories" schema="schema/moduleFactories.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="publishTasks" name="%extensionPointPublishTasks" schema="schema/publishTasks.exsd"/> - <extension-point id="internalServerMonitors" name="%extensionPointServerMonitors" schema="schema/serverMonitors.exsd"/> - <extension-point id="internalStartup" name="%extensionPointServerStartup" schema="schema/startup.exsd"/> - <extension-point id="installableServers" name="%extensionPointInstallableServers" schema="schema/installableServers.exsd"/> - <extension-point id="installableRuntimes" name="%extensionPointInstallableRuntimes" schema="schema/installableRuntimes.exsd"/> - - <extension point="org.eclipse.wst.server.core.moduleTypes"> - <moduleType - id="*" - name="%moduleTypeUnknown"/> - </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 deleted file mode 100644 index 99517fc7a..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/clients.exsd +++ /dev/null @@ -1,163 +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="clients" name="Clients"/>
- </appInfo>
- <documentation>
- This extension point provides a way to launch a client for a specific type of resource that is being run on a server.
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="client" 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="client">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="enablement"/>
- </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 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.ClientDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- a translatable name used to identify the client
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- a translatable description of this client
- </documentation>
- </annotation>
- </attribute>
- <attribute name="launchable" type="string">
- <annotation>
- <documentation>
- the fully qualified classname of the launchable object that this client supports
- </documentation>
- </annotation>
- </attribute>
- <attribute name="priority" type="string">
- <annotation>
- <documentation>
- an optional priority atrribute which specifies a relative ordering of artifact adapters. Adapters with a higher number are always used first. To override another adapter, simply provide a higher priority value that the other adapter. The priority is 0 if no priority is specified
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a client extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.clients">
- <client
- id="com.example.clients"
- name="%clientName"
- description="%clientDescription"
- class="com.example.ExampleClient"/>
- </extension>
-</pre>
- </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 extends <code>org.eclipse.wst.server.core.model.ClientDelegate</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd b/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd deleted file mode 100644 index 3caa88142..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd +++ /dev/null @@ -1,159 +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="installableRuntimes" name="Installable Runtimes"/> - </appInfo> - <documentation> - This extension point is used to install new runtimes from remote update manager sites. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="installableRuntime" 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="installableRuntime"> - <annotation> - <appInfo> - <meta.element labelAttribute="name"/> - </appInfo> - </annotation> - <complexType> - <sequence> - <element ref="installableRuntime"/> - </sequence> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - specifies a unique identifier for this extension point - </documentation> - </annotation> - </attribute> - <attribute name="featureId" type="string" use="required"> - <annotation> - <documentation> - the id of the feature containing the runtime bundle - </documentation> - </annotation> - </attribute> - <attribute name="featureVersion" type="string" use="required"> - <annotation> - <documentation> - the version of the feature containing the runtime bundle - </documentation> - </annotation> - </attribute> - <attribute name="featureSite" type="string" use="required"> - <annotation> - <documentation> - the feature (update manager) site URL - </documentation> - </annotation> - </attribute> - <attribute name="bundleId" type="string" use="required"> - <annotation> - <documentation> - the id of the bundle in which the runtime zip is in - </documentation> - </annotation> - </attribute> - <attribute name="path" type="string" use="required"> - <annotation> - <documentation> - the relative path of the runtime zip inside the bundle - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - <b>This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.</b> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of an installable runtime extension point: - -<pre> - <extension - point="org.eclipse.wst.server.core.installableRuntimes"> - <installableRuntime - id="com.myruntime.id" - featureVersion="1.0.0" - featureId="com.myfeature" - featureSite="xyz" - bundleId="com.ibm.mybundle" - path="/zips/myRuntime.zip"/> - </extension> -</pre> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.server.core/schema/installableServers.exsd b/plugins/org.eclipse.wst.server.core/schema/installableServers.exsd deleted file mode 100644 index aa48b2fa0..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/installableServers.exsd +++ /dev/null @@ -1,181 +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="installableServers" name="Installable Servers"/> - </appInfo> - <documentation> - This extension point is used to install new server adapters from remote update manager sites. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="installableServer" 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="installableServer"> - <annotation> - <appInfo> - <meta.element labelAttribute="name"/> - </appInfo> - </annotation> - <complexType> - <sequence> - <element ref="installableServer"/> - </sequence> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - specifies a unique identifier for this extension point - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string" use="required"> - <annotation> - <documentation> - a translatable name used to identify the runtime type - </documentation> - <appInfo> - <meta.attribute translatable="true"/> - </appInfo> - </annotation> - </attribute> - <attribute name="description" type="string" use="required"> - <annotation> - <documentation> - a translatable description of the runtime type - </documentation> - <appInfo> - <meta.attribute translatable="true"/> - </appInfo> - </annotation> - </attribute> - <attribute name="vendor" type="string"> - <annotation> - <documentation> - a translatable vendor name - </documentation> - </annotation> - </attribute> - <attribute name="version" type="string"> - <annotation> - <documentation> - a translatable version number - </documentation> - </annotation> - </attribute> - <attribute name="featureId" type="string" use="required"> - <annotation> - <documentation> - the id of the feature containing the server adapter bundle - </documentation> - </annotation> - </attribute> - <attribute name="featureVersion" type="string" use="required"> - <annotation> - <documentation> - the version of the feature containing the server adapter bundle - </documentation> - </annotation> - </attribute> - <attribute name="featureSite" type="string" use="required"> - <annotation> - <documentation> - the feature (update manager) site URL - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - <b>This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.</b> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of an installable server extension point: - -<pre> - <extension - point="org.eclipse.wst.server.core.installableServers"> - <installableServer - id="com.myserver.id" - name="My runtime name" - description="My runtime description" - vendor="xyz" - version="1.0" - featureVersion="1.0.0" - featureId="com.myfeature" - featureSite="xyz"/> - </extension> -</pre> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.server.core/schema/internalServerLocators.exsd b/plugins/org.eclipse.wst.server.core/schema/internalServerLocators.exsd deleted file mode 100644 index 729e8cace..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/internalServerLocators.exsd +++ /dev/null @@ -1,135 +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="serverLocators" name="Server Locators"/> - </appInfo> - <documentation> - This extension point is used to locate new servers on the local or remote machines. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="serverLocator" 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="serverLocator"> - <annotation> - <appInfo> - <meta.element labelAttribute="name"/> - </appInfo> - </annotation> - <complexType> - <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>ServerLocatorDelegate</samp>. -Server locator instances of this type will delegate to instances of this class. - </documentation> - <appInfo> - <meta.attribute kind="java"/> - </appInfo> - </annotation> - </attribute> - <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> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - 1.0 - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a server locator extension point: - -<pre> - <extension - point="org.eclipse.wst.server.core.serverLocators"> - <serverLocator - id="com.example.locator" - name="%serverLocatorName" - description="%serverLocatorDescription" - class="com.example.ExampleServerLocator"/> - </extension> -</pre> - </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.internal.provisional.ServerLocatorDelegate</b>. - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2000, 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd deleted file mode 100644 index d2f97019e..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd +++ /dev/null @@ -1,137 +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="launchableAdapters" name="Launchable Adapters"/>
- </appInfo>
- <documentation>
- This extension point provides a way for a server to support the Run on Server scenario.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="launchableAdapter" 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="launchableAdapter">
- <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 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.LaunchableAdapterDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a launchable adapter extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.launchableAdapters">
- <launchableAdapter
- id="com.example.launchableAdapter"
- class="com.example.ExampleLaunchableAdapterDelegate"/>
- </extension>
-</pre>
- </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 extends <code>org.eclipse.wst.server.core.model.LaunchableAdapterDelegate</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd deleted file mode 100644 index 15748f241..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.ui" id="moduleArtifactAdapters" name="Module Artifact Adapters"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="moduleArtifactAdapter" 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="moduleArtifactAdapter">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="enablement"/>
- </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">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <samp>org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="priority" type="string">
- <annotation>
- <documentation>
- an optional priority atrribute which specifies a relative ordering of artifact adapters. Adapters with a higher number are always used first. To override another adapter, simply provide a higher priority value that the other adapter. The priority is 0 if no priority is specified
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- <b>This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.</b>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- <!--
-The following is an example of a module object adapter extension point:
-
-<pre>
-
-</pre>
--->
- </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 extends <code>org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd deleted file mode 100644 index 2ed37e5a1..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd +++ /dev/null @@ -1,161 +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="moduleFactories" name="Module Factories"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a factory for modules that can be used by servers.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="moduleFactory" 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="moduleFactory">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="moduleType" minOccurs="0" maxOccurs="unbounded"/>
- </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 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.ModuleFactoryDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="projects" type="boolean">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="order" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="moduleType">
- <complexType>
- <attribute name="types" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="versions" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- <!--
-The following is an example of a module factory extension point:
-
-<pre>
-
-</pre>
--->
- </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 extends <code>org.eclipse.wst.server.core.model.ModuleFactoryDelegate</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd deleted file mode 100644 index d1659def0..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/moduleTypes.exsd +++ /dev/null @@ -1,130 +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="moduleTypes" name="Module Types"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a new module type.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="moduleType" 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="moduleType">
- <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="name" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name used to identify the module type
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a module type extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.moduleTypes">
- <moduleType
- id="com.example"
- name="%moduleTypeName"
- description="%moduleTypeDescription"/>
- </extension>
-</pre>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/publishTasks.exsd b/plugins/org.eclipse.wst.server.core/schema/publishTasks.exsd deleted file mode 100644 index 034b3b61a..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/publishTasks.exsd +++ /dev/null @@ -1,134 +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="publishTasks" name="Publish Tasks"/> - </appInfo> - <documentation> - This extension point is used to provide a task that is run while publishing to a server. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="publishTask" 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="publishTask"> - <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>org.eclipse.wst.server.core.model.PublishTaskDelegate</samp>. -Publish 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.PublishTaskDelegate"/> - </appInfo> - </annotation> - </attribute> - <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 - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - 1.0 - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - <!-- -The following is an example of a publish task extension point: - -<pre> - -</pre> ---> - </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 <code>org.eclipse.wst.server.core.model.PublishTaskDelegate</code>. - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2000, 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd deleted file mode 100644 index 5f4561b1c..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd +++ /dev/null @@ -1,137 +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="runtimeLocators" name="Runtime Locators"/>
- </appInfo>
- <documentation>
- This extension point is used to locate new runtimes on the local machine.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="runtimeLocator" 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="runtimeLocator">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <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 extends <samp>RuntimeLocatorDelegate</samp>.
-Runtime locator instances of this type will delegate to instances of this class.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.RuntimeLocatorDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a runtime locator extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.runtimeLocators">
- <runtimeLocator
- id="com.example.locator"
- name="%runtimeLocatorName"
- description="%runtimeLocatorDescription"
- class="com.example.ExampleRuntimeLocator"/>
- </extension>
-</pre>
- </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 extends <code>org.eclipse.wst.server.core.model.RuntimeLocatorDelegate</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd deleted file mode 100644 index b91039250..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd +++ /dev/null @@ -1,145 +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="runtimeTypes" name="Runtime Types"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a new runtime target handler. Runtime target handlers are called whenever a runtime target is added or removed from a project. They can be used to switch Java classpaths, setup default resources, etc.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="runtimeTargetHandler" 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="runtimeTargetHandler">
- <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="runtimeTypeIds" type="string" use="required">
- <annotation>
- <documentation>
- a comma separated list of runtime type ids that this handler may support. Used for memory & performance reasons
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- 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>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="order" type="string">
- <annotation>
- <documentation>
- an integer order used to sort handlers relative to each other
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a runtime target handler extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.runtimeTargetHandlers">
- <runtimeTargetHandler
- id="com.example.runtimeTargetHandler"
- runtimeTypeIds="com.example.runtime, com.example2.*"
- class="com.example.ExampleRuntimeTargetHandler"/>
- </extension>
-</pre>
- </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 extends <code>org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd deleted file mode 100644 index d10ed027a..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd +++ /dev/null @@ -1,199 +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="runtimeTypes" name="Runtime Types"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a new runtime type.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="runtimeType" 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="runtimeType">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="moduleType" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique identifier for this extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name used to identify the runtime type
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string" use="required">
- <annotation>
- <documentation>
- a translatable description of the runtime type
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="vendor" type="string">
- <annotation>
- <documentation>
- a translatable vendor name
- </documentation>
- </annotation>
- </attribute>
- <attribute name="version" type="string">
- <annotation>
- <documentation>
- a translatable version number
- </documentation>
- </annotation>
- </attribute>
- <attribute name="vendorId" type="string">
- <annotation>
- <documentation>
- an id used to identify the vendor
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
- 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>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="moduleType">
- <complexType>
- <attribute name="types" type="string" use="required">
- <annotation>
- <documentation>
- a comma separated list of the module types that this runtime supports
- </documentation>
- </annotation>
- </attribute>
- <attribute name="versions" type="string" use="required">
- <annotation>
- <documentation>
- a comma separated list of the module versions that this runtime supports
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a runtime type extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.runtimeTypes">
- <runtimeType
- id="com.example.runtime"
- name="%runtimeTypeName"
- description="%runtimeTypeDescription"
- vendor="%runtimeTypeVendor"
- version="1.0"
- class="com.example.ExampleRuntimeDelegate">
- <moduleType
- types="j2ee.web"
- versions="1.2, 1.3, 1.4"/>
- </runtimeType>
- </extension>
-</pre>
- </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 extends <code>org.eclipse.wst.server.core.model.RuntimeDelegate</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd b/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd deleted file mode 100644 index 34ec8b2af..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/serverMonitors.exsd +++ /dev/null @@ -1,150 +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="internalServerMonitor" name="Server Monitor"/>
- </appInfo>
- <documentation>
- This extension point is used to provide a new monitor for servers.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="monitor" 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="monitor">
- <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="name" type="string">
- <annotation>
- <documentation>
- a translatable name used to identify this monitor
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- a translatable description of this monitor
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <samp>org.eclipse.wst.server.core.internal.ServerMonitorDelegate</samp>
-
-This extension point is internal and should not be used by any other plugins.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.internal.ServerMonitorDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- <!--
-The following is an example of a server monitor 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 <code>org.eclipse.wst.server.core.internal.ServerMonitorDelegate</code>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd deleted file mode 100644 index 1d14b8f6a..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd +++ /dev/null @@ -1,237 +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="serverTypes" name="Server Types"/>
- </appInfo>
- <documentation>
- This extension point is used to provide support for a new server type.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="serverType"/>
- </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="serverType">
- <complexType>
- <sequence>
- </sequence>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- unique identifier for the server type
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name used to identify this server type
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string" use="required">
- <annotation>
- <documentation>
- a translatable description of this server type
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- 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>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.ServerDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="behaviourClass" type="string">
- <annotation>
- <documentation>
- 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>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.model.ServerBehaviourDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="hasConfiguration" type="boolean">
- <annotation>
- <documentation>
- true if this server has server configuration files
- </documentation>
- </annotation>
- </attribute>
- <attribute name="runtimeTypeId" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="launchConfigId" type="string">
- <annotation>
- <documentation>
- the launch configuration id for the launch configuration that is able to start this server
- </documentation>
- </annotation>
- </attribute>
- <attribute name="supportsRemoteHosts" type="string">
- <annotation>
- <documentation>
- 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>
- <attribute name="runtime" type="string">
- <annotation>
- <documentation>
- "true" if this server requires a runtime, "false" otherwise
- </documentation>
- </annotation>
- </attribute>
- <attribute name="launchModes" type="string">
- <annotation>
- <documentation>
- the launch modes that this server supports
- </documentation>
- </annotation>
- </attribute>
- <attribute name="initialState" type="string">
- <annotation>
- <documentation>
- the intial state of the server, either "started", or "stopped". if this attribute is not specified, the server state will be "unknown"
- </documentation>
- </annotation>
- </attribute>
- <attribute name="startTimeout" type="string">
- <annotation>
- <documentation>
- the timeout value that the tool will wait for the server to be started. The default is 2 minutes
- </documentation>
- </annotation>
- </attribute>
- <attribute name="stopTimeout" type="string">
- <annotation>
- <documentation>
- the timeout value that the tool will wait for the server to be stopped. The default is 2 minutes
- </documentation>
- </annotation>
- </attribute>
- <attribute name="startBeforePublish" type="string">
- <annotation>
- <documentation>
- boolean value "true" or "false" to specify whether the server needs to be started for publishing to occur. If "true", the server will be started on every call to publish() before executing the publish code
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a server type extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.serverTypes">
- <serverType
- id="com.example.serverType"
- name="%serverTypeName"
- description="%serverTypeDescription"
- supportsRemoteHosts="true"
- runtime="true"
- initialState="stopped"
- hasConfiguration="true"
- launchConfigId="com.example.launchConfigurationType"
- runtimeTypeId="com.example.runtime"
- class="com.example.ExampleServerDelegate"
- behaviourClass="com.example.ExampleServerBehaviourDelegate"/>
- </extension>
-</pre>
- </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 extends the abstract class <code>org.eclipse.wst.server.core.model.ServerDelegate</code> 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 <code>org.eclipse.wst.server.core.model.ServerBehaviourDelegate</code> and has a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/schema/startup.exsd b/plugins/org.eclipse.wst.server.core/schema/startup.exsd deleted file mode 100644 index 25bbd3c4c..000000000 --- a/plugins/org.eclipse.wst.server.core/schema/startup.exsd +++ /dev/null @@ -1,131 +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="internalStartup" name="Startup"/>
- </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="startup" 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="startup">
- <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 extends <samp>org.eclipse.wst.server.core.internal.IStartup</samp>.
-
-This extension point is internal and should not be used by any other plugins.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.core.internal.IStartup"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- <b>This extension point is internal and should not be used by any other plugins.</b>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a startup extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.core.startup">
- <startup
- id="com.example.startup"
- class="com.example.ExampleStartup"/>
- </extension>
-</pre>
- </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 extends <code>org.eclipse.wst.server.core.model.IStartup</code> and contains a public 0-arg constructor.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java deleted file mode 100644 index 91fc261a0..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -/** - * A module is a unit of "content" that can be published to a - * server. - * <p> - * All modules have a module type, which is fixed for the - * lifetime of the module. The set of module types (or - * "kinds") is open-ended. - * </p> - * <p> - * 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 - * resources in the workspace. - * </p> - * <p> - * In principle, a module exists independent of any - * particular server. The same module instance can be associated - * with multiple server instances at the same time. That is - * why you cannot ask the module which server it's associated - * with. - * </p> - * <p> - * [issue: Equality/identify for modules?] - * </p> - * <p>This interface is not intended to be implemented by clients.</p> - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * - * @since 1.0 - */ -public interface IModule extends IAdaptable { - /** - * Returns the id of this module. - * Each module has a distinct id, used to distinguish this - * module from all other modules in the workspace (and - * within a server). Ids are intended to be used internally - * as keys; they are not intended to be shown to end users. - * - * @return the module id - */ - public String getId(); - - /** - * Returns the displayable name for this module. - * <p> - * Note that this name is appropriate for the current locale. - * </p> - * - * @return a displayable name for this module - */ - public String getName(); - - /** - * Returns the type of this module. - * - * @return the module type - */ - public IModuleType getModuleType(); - - /** - * Returns the workbench project that this module is contained in, - * or null if the module is outside of the workspace. - * - * @return a project - */ - public IProject getProject(); - - /** - * Returns an object which is an instance of the given class - * associated with this object. Returns <code>null</code> if - * no such object can be found, or if the delegate is not - * loaded. - * <p> - * This method will not check the delegate classes for adapting - * unless they are already loaded. No plugin loading will occur - * when calling this method. It is suitable for popup menus and - * other UI artifacts where performance is a concern. - * </p> - * - * @param adapter the adapter class to look up - * @return a object castable to the given class, - * or <code>null</code> if this object does not - * have an adapter for the given class - * @see IAdaptable#getAdapter(Class) - * @see #loadAdapter(Class, IProgressMonitor) - */ - public Object getAdapter(Class adapter); - - /** - * Returns an object which is an instance of the given class - * associated with this object. Returns <code>null</code> only if - * no such object can be found after loading and initializing - * delegates. - * <p> - * This method will force a load and initialization of all delegate - * classes and check them for adapting. - * </p> - * - * @param adapter the adapter class to look up - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a object castable to the given class, - * or <code>null</code> if this object does not - * have an adapter for the given class - * @see #getAdapter(Class) - */ - public Object loadAdapter(Class adapter, IProgressMonitor monitor); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java deleted file mode 100644 index 939139879..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleArtifact.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; -/** - * A module artifact is a resource within a module, which can be launched - * on the server. Examples of module artifacts are servlets, HTML pages, - * or EJB beans. - * <p> - * Objects that provide an adapter of this type will be considered by the - * contextual Run on Server launch support. - * </p> - * - * @see org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate - * @since 1.0 - */ -public interface IModuleArtifact { - /** - * Returns the module that this artifact is a part of. - * - * @return the module that this artifact is contained in - */ - public IModule getModule(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java deleted file mode 100644 index 98800b88b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModuleType.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; -/** - * Represents the type of a module. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * - * @since 1.0 - */ -public interface IModuleType { - /** - * Returns the module type id. - * <p> - * The module type id is a "." separated string uniquely identifying the - * type of module. Like a java package name, it should scope the type from - * most general to specific. For instance, "jst.web". - * </p> - * - * @return the module type id - */ - public String getId(); - - /** - * Returns the displayable name for this module type. - * <p> - * Note that this name is appropriate for the current locale. - * </p> - * - * @return a displayable name for this module type - */ - public String getName(); - - /** - * Returns the version (specification level) of this module type, - * e.g. "1.0" or "1.3.2a". - * <p> - * The version will normally be a series of numbers separated by - * ".", but it could be different depending on the type of module. - * For module types where a version does not make sense (e.g. - * a static Web module), <code>null</code> is returned. - * </p> - * - * @return the specification version of this module type, or - * <code>null</code> if there is no version - */ - public String getVersion(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java deleted file mode 100644 index d8dbeed5e..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; -/** - * This interface holds information on the properties of a given project. - * - * <p>This interface is not intended to be implemented by clients.</p> - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * - * @deprecated Project facet support should now be used instead of this API. @see - * org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime() - */ -public interface IProjectProperties { - /** - * Returns the current runtime target for this project. - * - * @return the current runtime target, or <code>null</code> if the project has - * no runtime target - * @deprecated Project facet support should now be used instead of this API. @see - * org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime() - */ - public IRuntime getRuntimeTarget(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishListener.java deleted file mode 100644 index 51b20a6cc..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IPublishListener.java +++ /dev/null @@ -1,45 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.runtime.IStatus; -/** - * A publish listener is used to listen for publishing events from a server. - * The events are typically received in the following order: - * - * publishStarted() - The publish operation is starting - * publishModuleStarted() - This section is fired for each module in the server - * publishModuleFinished() - This module is finished publishing - * publishModuleStarted() - The next module is publishing - * ... - * publishFinished() - The publish operation is finished - * <p> - * Publish listeners are added to a server via IServer.addPublishListener(). - * </p> - * @see IServer - * @since 1.0 - */ -public interface IPublishListener { - /** - * Fired to notify that publishing has begun. - * - * @param server the server that publishing started on - */ - public void publishStarted(IServer server); - - /** - * Publishing has finished. Returns the overall status. - * - * @param server the server that publishing finished on - * @param status indicating what (if anything) went wrong - */ - public void publishFinished(IServer server, IStatus status); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java deleted file mode 100644 index d187c8cd3..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntime.java +++ /dev/null @@ -1,212 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.runtime.*; -/** - * Represents a runtime instance. Every runtime is an instance of a - * particular, fixed runtime type. - * <p> - * Servers have a runtime. The server runtime corresponds to the - * installed code base for the server. The main role played by the server - * runtime is in identifying code libraries to compile or build against. - * In the case of local servers, the server runtime may play a secondary role - * of being used to launch the server for testing. Having the server runtimes - * identified as an entity separate from the server itself facilitates sharing - * server runtimes between several servers. - * </p> - * <p> - * IRuntime implements IAdaptable to allow users to obtain a runtime-type-specific - * class. By casting the runtime extension to the type prescribed in the API - * documentation for that particular runtime type, the client can access - * runtime-type-specific properties and methods. getAdapter() may involve plugin - * loading, and should not be called from popup menus, etc. - * </p> - * <p> - * The server framework maintains a global list of all known runtime instances - * ({@link ServerCore#getRuntimes()}). - * </p> - * <p> - * All runtimes have a unique id. Two runtimes (or more likely a runtime and it's - * working copy) with the same id are equal, and two runtimes with different ids - * are never equal. - * </p> - * <p> - * Two runtimes are identical if and only if they have the same id. - * </p> - * <p>This interface is not intended to be implemented by clients.</p> - * - * @see IRuntimeWorkingCopy - * @since 1.0 - */ -public interface IRuntime extends IAdaptable { - /** - * Returns the displayable name for this runtime. - * <p> - * Note that this name is appropriate for the current locale. - * </p> - * - * @return a displayable name - */ - public String getName(); - - /** - * Returns the id of this runtime instance. - * Each runtime (of a given type) has a distinct id, fixed for - * its lifetime. Ids are intended to be used internally as keys; - * they are not intended to be shown to end users. - * <p> - * For the id of the runtime type, use {@link IRuntimeType#getId()} - * </p> - * - * @return the runtime id - */ - public String getId(); - - /** - * Deletes the persistent representation of this runtime. - * - * @throws CoreException if there was any error received while deleting the runtime - * or if this method is called on a working copy - */ - public void delete() throws CoreException; - - /** - * Returns whether this runtime is marked read only. - * When a runtime is read only, working copies can be created but - * they cannot be saved. - * - * @return <code>true</code> if this runtime is marked as read only, - * and <code>false</code> otherwise - */ - public boolean isReadOnly(); - - /** - * Returns true if this is a working copy. - * - * @return <code>true</code> if this runtime is a working copy - * (can be cast to IRuntimeWorkingCopy), and - * <code>false</code> otherwise - */ - public boolean isWorkingCopy(); - - /** - * Returns an object which is an instance of the given class - * associated with this object. Returns <code>null</code> if - * no such object can be found, or if the delegate is not - * loaded. - * <p> - * This method will not check the delegate classes for adapting - * unless they are already loaded. No plugin loading will occur - * when calling this method. It is suitable for popup menus and - * other UI artifacts where performance is a concern. - * </p> - * - * @param adapter the adapter class to look up - * @return a object castable to the given class, - * or <code>null</code> if this object does not - * have an adapter for the given class - * @see IAdaptable#getAdapter(Class) - * @see #loadAdapter(Class, IProgressMonitor) - */ - public Object getAdapter(Class adapter); - - /** - * Returns an object which is an instance of the given class - * associated with this object. Returns <code>null</code> only if - * no such object can be found after loading and initializing - * delegates. - * <p> - * This method will force a load and initialization of all delegate - * classes and check them for adapting. - * </p> - * - * @param adapter the adapter class to look up - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a object castable to the given class, - * or <code>null</code> if this object does not - * have an adapter for the given class - * @see #getAdapter(Class) - */ - public Object loadAdapter(Class adapter, IProgressMonitor monitor); - - /** - * Returns the type of this runtime instance. - * - * @return the runtime type - */ - public IRuntimeType getRuntimeType(); - - /** - * Returns a runtime working copy for modifying this runtime instance. - * If this instance is already a working copy, it is returned. - * If this instance is not a working copy, a new runtime working copy - * is created with the same id and attributes. - * Clients are responsible for saving or releasing the working copy when - * they are done with it. - * <p> - * The runtime working copy is related to this runtime instance - * in the following ways: - * <pre> - * this.getWorkingCopy().getId() == this.getId() - * this.getWorkingCopy().getOriginal() == this - * </pre> - * </p> - * <p> - * [issue: IRuntimeWorkingCopy extends IRuntime. - * Runtime.getWorkingCopy() create a new working copy; - * RuntimeWorkingCopy.getWorkingCopy() returns this. - * This may be convenient in code that is ignorant of - * whether they are dealing with a working copy or not. - * However, it is hard for clients to manage working copies - * with this design. - * </p> - * - * @return a new working copy - */ - public IRuntimeWorkingCopy createWorkingCopy(); - - /** - * Returns the absolute path in the local file system to the root of the runtime, - * typically the installation directory. - * - * @return the location of this runtime, or <code>null</code> if none - */ - public IPath getLocation(); - - /** - * Returns whether this runtime is a stub (used for compilation only) - * or a full runtime. - * - * @return <code>true</code> if this runtime is a stub, and - * <code>false</code> otherwise - */ - public boolean isStub(); - - /** - * Validates this runtime instance. This method returns an error if the runtime - * is pointing to a null or invalid location (e.g. not pointing to the correct - * installation directory), or if the runtime-type-specific properties are missing - * or invalid. - * <p> - * This method is not on the working copy so that the runtime can be validated at - * any time. - * </p> - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a status object with code <code>IStatus.OK</code> if this - * runtime is valid, otherwise a status object indicating what is - * wrong with it - */ - public IStatus validate(IProgressMonitor monitor); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLifecycleListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLifecycleListener.java deleted file mode 100644 index e3067c886..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeLifecycleListener.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; -/** - * Listener interface for changes to runtimes. - * <p> - * This interface is fired whenever a runtime is added, modified, or removed. - * All events are fired post-change, so that all server tools API called as a - * result of the event will return the updated results. (for example, on - * runtimeAdded the new server will be in the global list of runtimes - * ({@link ServerCore#getRuntimes()}), and on runtimeRemoved the runtime will - * not be in the list. - * </p> - * - * @see ServerCore - * @see IRuntime - * @since 1.0 - */ -public interface IRuntimeLifecycleListener { - /** - * A new runtime has been created. - * - * @param runtime the new runtime - */ - public void runtimeAdded(IRuntime runtime); - - /** - * An existing runtime has been updated or modified. - * - * @param runtime the modified runtime - */ - public void runtimeChanged(IRuntime runtime); - - /** - * A existing runtime has been removed. - * - * @param runtime the removed runtime - */ - public void runtimeRemoved(IRuntime runtime); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java deleted file mode 100644 index 01712ff99..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeTargetHandler.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.runtime.IAdaptable; -/** - * A runtime target handler is used to apply some properties to a project - * this is being targeted to a given runtime. For instance, the handler - * might update the classpath of a Java project to include the runtime's - * classes, add validation for the given runtime, or restrict the type of - * resources that can be created. - * - * <p>This interface is not intended to be implemented by clients.</p> - * <p> - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * - * @deprecated use project facets instead of runtime targets - */ -public interface IRuntimeTargetHandler extends IAdaptable { - /** - * Returns the id of this runtime target handler. - * Each known runtime target handler 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 runtime target handler id - */ - public String getId(); - - /** - * Returns <code>true</code> if this runtime target handler supports - * (can work with) the given runtime. - * - * @param runtimeType a runtime type - * @return <code>true</code> if the handler can accept the given runtime type, - * and <code>false</code> otherwise - */ - public boolean supportsRuntimeType(IRuntimeType runtimeType); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java deleted file mode 100644 index 346cf34ee..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -/** - * Represents a (server) runtime type from which runtime instances can be - * created. - * <p> - * The server core framework supports - * an open-ended set of runtime types, which are contributed via - * the <code>runtimeTypes</code> extension point in the server core - * plug-in. Runtime type objects carry no state (all information is - * read-only and is supplied by the server runtime type declaration). - * The global list of known runtime types is available via - * {@link ServerCore#getRuntimeTypes()}. - * </p> - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * <p> - * [issue: What value do runtimes add? - * It's main role is for setting up the Java build classpath - * for projects holding modules that must be Java compiled. - * If the notion of module is to transcend the vagaries of particular - * types of server, and, indeed, be published to multiple servers - * simultaneously, then matters of build classpath had better not - * be tied to the particular servers involved.] - * </p> - * <p> - * Two runtime types are identical if and only if they have the same id. - * </p> - * - * @since 1.0 - */ -public interface IRuntimeType { - /** - * Returns the id of this runtime type. - * Each known server runtime type 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 runtime type id - */ - public String getId(); - - /** - * Returns the displayable name for this runtime type. - * <p> - * Note that this name is appropriate for the current locale. - * </p> - * - * @return a displayable name for this runtime type - */ - public String getName(); - - /** - * Returns the displayable description for this runtime type. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable description for this runtime type - */ - public String getDescription(); - - /** - * Returns the displayable vendor name for this runtime type. If the - * runtime type did not specific a vendor, an empty string is returned. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable vendor name for this runtime type - */ - public String getVendor(); - - /** - * Returns the displayable version name for this runtime type. If the - * runtime type did not specific a vendor, an empty string is returned. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable version name for this runtime type - */ - public String getVersion(); - - /** - * Returns an array of module types that this runtime type can support. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return the array of module types {@link IModuleType} - */ - public IModuleType[] getModuleTypes(); - - /** - * Returns whether this runtime type can be instantiated. - * <p> - * [issue: It's unclear what this method is for. - * The implementation checks whether the "class" - * and "workingCopyClass" attributes (both optional) were specified. - * What would be the point of a runtime type that didn't - * have both of these attributes and could not be "created"?] - * </p> - * - * @return <code>true</code> if this type of runtime can be - * instantiated, and <code>false</code> if it cannot - * @see #createRuntime(String, IProgressMonitor) - */ - public boolean canCreate(); - - /** - * Creates a working copy instance of this runtime type. - * After setting various properties of the working copy, - * the client should call {@link IRuntimeWorkingCopy#save(boolean, IProgressMonitor)} - * to bring the runtime instance into existence. - * <p> - * Default values are set by calling the instance's delegate. - * Clients should assume that the location and other properties are - * not set and must be explicitly set by the client. - * </p> - * - * @param id the id to assign to the runtime instance; a generated - * id is used if id is <code>null</code> or an empty string - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a new runtime working copy with the given id - * @throws CoreException if an exception occurs while creating this runtime - * or setting it's default values - */ - public IRuntimeWorkingCopy createRuntime(String id, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java deleted file mode 100644 index 66e8de37a..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeWorkingCopy.java +++ /dev/null @@ -1,172 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; - -import java.beans.PropertyChangeListener; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -/** - * A working copy runtime object used for formulating changes - * to a runtime instance ({@link IRuntime}). Changes made on a - * working copy do not occur (and are not persisted) until a - * save() is performed. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * - * @see IRuntime - * @since 1.0 - */ -public interface IRuntimeWorkingCopy extends IRuntime { - /** - * Status code (value 1) returned from the save() method when the save - * failed with force set to <code>false</code> because the runtime has - * been modified and saved since this working copy was created. - * - * @see #save(boolean, IProgressMonitor) - */ - public static final int SAVE_CONFLICT = 1; - - /** - * Property change name (value "name") used when the name of the runtime - * changes. - * - * @see #addPropertyChangeListener(PropertyChangeListener) - * @see #removePropertyChangeListener(PropertyChangeListener) - */ - public static final String PROPERTY_NAME = "name"; - - /** - * Property change name (value "location") used when the location of the - * runtime changes. - * - * @see #addPropertyChangeListener(PropertyChangeListener) - * @see #removePropertyChangeListener(PropertyChangeListener) - */ - public static final String PROPERTY_LOCATION = "location"; - - /** - * Sets the displayable name for this runtime. - * <p> - * The name should be appropriate for the current locale. - * </p> - * - * @param name a displayable name - * @see IRuntime#getName() - */ - public void setName(String name); - - /** - * Sets or unsets whether this runtime is marked as read only. - * When a runtime is read only, working copies can be created but - * they cannot be saved. - * - * @param readOnly <code>true</code> to set this runtime to be marked - * read only, and <code>false</code> to unset - */ - public void setReadOnly(boolean readOnly); - - /** - * Returns whether this working copy has unsaved changes. - * - * @return <code>true</code> if this working copy has unsaved - * changes, and <code>false</code> otherwise - */ - public boolean isDirty(); - - /** - * Adds a property change listener to this runtime. - * <p> - * Once registered, a listener starts receiving notification of - * property changes to this runtime. The listener continues to receive - * notifications until it is removed. - * Has no effect if an identical listener is already registered. - * </p> - * - * @param listener a property change listener - * @see #removePropertyChangeListener(PropertyChangeListener) - */ - public void addPropertyChangeListener(PropertyChangeListener listener); - - /** - * Removes a property change listener from this runtime. - * Has no effect if the listener is not registered. - * - * @param listener a property change listener - * @see #addPropertyChangeListener(PropertyChangeListener) - */ - public void removePropertyChangeListener(PropertyChangeListener listener); - - /** - * Returns the runtime instance that this working copy is - * associated with. - * <p> - * For a runtime working copy created by a call to - * {@link IRuntime#createWorkingCopy()}, - * <code>this.getOriginal()</code> returns the original - * runtime object. For a runtime working copy just created by - * a call to {@link IRuntimeType#createRuntime(String, IProgressMonitor)}, - * <code>this.getOriginal()</code> returns <code>null</code>. - * </p> - * - * @return the associated runtime instance, or <code>null</code> if none - */ - public IRuntime getOriginal(); - - /** - * Sets the absolute path in the local file system to the root of the runtime, - * typically the installation directory. - * - * @param path the location of this runtime, or <code>null</code> if none - * @see IRuntime#getLocation() - */ - public void setLocation(IPath path); - - /** - * Returns whether this runtime is a stub (used for compilation only) - * or a full runtime. - * - * @param stub <code>true</code> if this runtime is a stub, and - * <code>false</code> otherwise - */ - public void setStub(boolean stub); - - /** - * Commits the changes made in this working copy. If there is - * no extant runtime instance with a matching id and runtime - * type, this will create a runtime instance with attributes - * taken from this working copy, and return that object. - * <p> - * If there an existing runtime instance with a matching id and - * runtime type, this will change the runtime instance accordingly. - * The returned runtime will be the same runtime this is returned - * from getOriginal(), after the changes have been applied. - * Otherwise, this method will return a newly created runtime. - * </p> - * Runtimes can be saved even when they have invalid properties. It - * is the clients responsibility to call validate() or check the - * properties before saving. - * <p> - * [issue: What is lifecycle for RuntimeWorkingCopyDelegate - * associated with this working copy?] - * </p> - * - * @param force <code>true</code> to force the save, or <code>false</code> - * otherwise - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a new runtime instance - * @throws CoreException if the save could not be completed - * @see #SAVE_CONFLICT - */ - public IRuntime save(boolean force, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java deleted file mode 100644 index 071df81dc..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java +++ /dev/null @@ -1,664 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.runtime.*; -/** - * Represents a server instance. Every server is an instance of a - * particular, fixed server type. - * <p> - * Not surprisingly, the notion of <b>server</b> is central in the web tools - * server infrastructure. In this context, understand that a server is - * a web server of some ilk. It could be a simple web server lacking Java - * support, or an J2EE based server, or perhaps even some kind of database - * server. A more exact definition is not required for the purposes of this API. - * From a tool-centric point of view, a server - * is something that the developer is writing "content" for. - * The unit of content is termed a module. - * In a sense, the server exists, but lacks useful content. The - * development task is to provide that content. The content can include - * anything from simple, static HTML web pages to complex, highly dynamic - * web applications. - * In the course of writing and debugging this content, - * the developer will want to test their content on a web server, to see how it - * gets served up. For this they will need to launch a server process running on - * some host machine (often the local host on which the IDE is running), or - * attach to a server that's already running on a remote (or local) host. - * The newly developed content sitting in the developer's workspace needs to - * end up in a location and format that the running server can use for its - * serving purposes. - * </p> - * <p> - * In this picture, an <code>IServer</code> object is a proxy for the real web - * server. Through this proxy, a client can configure the server, and start, - * stop, and restart it. - * </p> - * <p> - * The server framework maintains a global list of all known server instances - * ({@link ServerCore#getServers()}). - * </p> - * <p> - * [rough notes: - * Server has a state. - * Server can be started, stopped, and restarted. - * To modify server attributes, get a working copy, modify it, and then save it - * to commit the changes. - * Server attributes. Serialization. - * Chained working copies for runtime, server configuration. - * Server has a set of root modules. - * Modules have state wrt a server. - * Restarting modules. - * ] - * </p> - * <p> - * Two servers are identical if and only if they have the same id. - * </p> - * - * <p>This interface is not intended to be implemented by clients.</p> - * - * @since 1.0 - */ -public interface IServer extends IServerAttributes { - /** - * An operation listener is used to receive notification back about a - * specific server operation, such as starting or stopping a server. - * - * @since 1.0 - */ - public interface IOperationListener { - /** - * Called once when the operation is complete. - * - * @param result a status object with code <code>IStatus.OK</code> if - * the operation completed successfully, otherwise a status object - * indicating why it didn't - */ - public void done(IStatus result); - } - - /** - * Server state constant (value 0) indicating that the - * server is in an unknown state. - * - * @see #getServerState() - * @see #getModuleState(IModule[]) - */ - public static final int STATE_UNKNOWN = 0; - - /** - * Server state constant (value 1) indicating that the - * server is starting, but not yet ready to serve content. - * - * @see #getServerState() - * @see #getModuleState(IModule[]) - */ - public static final int STATE_STARTING = 1; - - /** - * Server state constant (value 2) indicating that the - * server is ready to serve content. - * - * @see #getServerState() - * @see #getModuleState(IModule[]) - */ - public static final int STATE_STARTED = 2; - - /** - * Server state constant (value 3) indicating that the - * server is shutting down. - * - * @see #getServerState() - * @see #getModuleState(IModule[]) - */ - public static final int STATE_STOPPING = 3; - - /** - * Server state constant (value 4) indicating that the - * server is stopped. - * - * @see #getServerState() - * @see #getModuleState(IModule[]) - */ - public static final int STATE_STOPPED = 4; - - /** - * Publish state constant (value 0) indicating that it's - * in an unknown state. - * - * @see #getServerPublishState() - * @see #getModulePublishState(IModule[]) - */ - public static final int PUBLISH_STATE_UNKNOWN = 0; - - /** - * Publish state constant (value 1) indicating that there - * is no publish required. - * - * @see #getServerPublishState() - * @see #getModulePublishState(IModule[]) - */ - public static final int PUBLISH_STATE_NONE = 1; - - /** - * Publish state constant (value 2) indicating that an - * incremental publish is required. - * - * @see #getServerPublishState() - * @see #getModulePublishState(IModule[]) - */ - public static final int PUBLISH_STATE_INCREMENTAL = 2; - - /** - * Publish state constant (value 3) indicating that a - * full publish is required. - * - * @see #getServerPublishState() - * @see #getModulePublishState(IModule[]) - */ - public static final int PUBLISH_STATE_FULL = 3; - - /** - * Publish kind constant (value 1) indicating an incremental publish request. - * - * @see #publish(int, IProgressMonitor) - */ - public static final int PUBLISH_INCREMENTAL = 1; - - /** - * Publish kind constant (value 2) indicating a full publish request. - * - * @see #publish(int, IProgressMonitor) - */ - public static final int PUBLISH_FULL = 2; - - /** - * Publish kind constant (value 3) indicating an automatic publish request. - * - * @see #publish(int, IProgressMonitor) - */ - public static final int PUBLISH_AUTO = 3; - - /** - * Publish kind constant (value 4) indicating a publish clean request - * - * @see #publish(int, IProgressMonitor) - */ - public static final int PUBLISH_CLEAN = 4; - - /** - * Returns the current state of this server. - * <p> - * Note that this operation is guaranteed to be fast - * (it does not actually communicate with any actual - * server). - * </p> - * - * @return one of the server state (<code>STATE_XXX</code>) - * constants declared on {@link IServer} - */ - public int getServerState(); - - /** - * Returns the ILaunchManager mode that the server is in. This method will - * return null if the server is not running. - * - * @return the mode in which a server is running, one of the mode constants - * defined by {@link org.eclipse.debug.core.ILaunchManager}, or - * <code>null</code> if the server is stopped. - */ - public String getMode(); - - /** - * Returns the server's sync state. - * - * @return one of the PUBLISH_XXX state flags - */ - public int getServerPublishState(); - - /** - * Adds the given server state listener to this server. - * Once registered, a listener starts receiving notification of - * state changes to this server. The listener continues to receive - * notifications until it is removed. - * Has no effect if an identical listener is already registered. - * - * @param listener the server listener - * @see #removeServerListener(IServerListener) - */ - public void addServerListener(IServerListener listener); - - /** - * Adds the given server state listener to this server. - * Once registered, a listener starts receiving notification of - * state changes to this server. The listener continues to receive - * notifications until it is removed. - * Has no effect if an identical listener is already registered. - * - * @param listener the server listener - * @param eventMask the bit-wise OR of all event types of interest to the - * listener - * @see #removeServerListener(IServerListener) - */ - public void addServerListener(IServerListener listener, int eventMask); - - /** - * Removes the given server state listener from this server. Has no - * effect if the listener is not registered. - * - * @param listener the listener - * @see #addServerListener(IServerListener) - */ - public void removeServerListener(IServerListener listener); - - /** - * Adds a publish listener to this server. - * Has no effect if an identical listener is already registered. - * - * @param listener the publish listener - * @see #removePublishListener(IPublishListener) - */ - public void addPublishListener(IPublishListener listener); - - /** - * Removes a publish listener from this server. - * Has no effect if the listener is not registered. - * - * @param listener the publish listener - * @see #addPublishListener(IPublishListener) - */ - public void removePublishListener(IPublishListener listener); - - /** - * Returns whether this server is in a state that it can - * be published to. - * - * @return a status object with code <code>IStatus.OK</code> if the server can - * be published to, otherwise a status object indicating what is wrong - */ - public IStatus canPublish(); - - /** - * Publish to the server using the progress monitor. The result of the - * publish operation is returned as an IStatus. - * <p> - * This method should not be called from the UI thread. Publishing is long- - * running and may trigger resource change events or builds. Although this - * framework is safe, there is no guarantee that other bundles are UI-safe - * and the risk of UI deadlock is high. - * </p> - * - * @param kind the kind of publish being requested. Valid values are - * <ul> - * <li><code>PUBLSIH_FULL</code>- indicates a full publish.</li> - * <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish. - * <li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws - * out all state and cleans up the module on the server before doing a - * full publish. - * </ul> - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return status indicating what (if anything) went wrong - */ - public IStatus publish(int kind, IProgressMonitor monitor); - - /** - * Returns whether this server is in a state that it can - * be started in the given mode. - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @return a status object with code <code>IStatus.OK</code> if the server can - * be started, otherwise a status object indicating why it can't - */ - public IStatus canStart(String launchMode); - - /** - * Asynchronously starts this server in the given launch mode. - * <p> - * If canStart(launchMode) is false, this method will throw an - * exception. - * </p> - * <p> - * If the caller wants to listen for failure or success of the - * server starting, it can add a server listener or use the - * version of this method that takes a status listener as a - * parameter. - * </p> - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @exception CoreException if an error occurs while trying to start the server - */ - public void start(String launchMode, IProgressMonitor monitor) throws CoreException; - - /** - * Asynchronously starts this server in the given launch mode. - * <p> - * If canStart(launchMode) is false, this method will throw an - * exception. - * </p> - * <p> - * The operation listener can be used to add a listener for notification - * of this specific server launch. The listener will be called with a - * single successful status (severity OK) when the server has - * finished starting, or a single failure (severity ERROR) if - * there was an error starting the server. - * </p> - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @param listener an operation listener to receive notification when this - * operation is done, or <code>null</code> if notification is not - * required - */ - public void start(String launchMode, IOperationListener listener); - - /** - * Starts this server in the given launch mode and waits until the server - * has finished starting. - * <p> - * This convenience method uses {@link #start(String, IProgressMonitor)} - * to start the server, and an internal thread and listener to detect - * when the server has finished starting. - * </p> - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @deprecated this method is deprecated. use start(String, - * IProgressMonitor, IOperationListener) instead - * @exception CoreException if an error occurs while trying to start the server - */ - public void synchronousStart(String launchMode, IProgressMonitor monitor) throws CoreException; - - /** - * Returns whether this server is in a state that it can - * be restarted in the given mode. Note that only servers - * that are currently running can be restarted. - * - * @param mode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @return a status object with code <code>IStatus.OK</code> if the server can - * be restarted, otherwise a status object indicating why it can't - */ - public IStatus canRestart(String mode); - - /** - * Returns whether this server is out of sync and needs to be - * restarted. This method will return false when the - * server is not running. - * <p> - * [issue: Need to explain what is it that can get out of - * "out of sync" here, and how this can happen.] - * </p> - * - * @return <code>true</code> if this server is out of sync and needs to be - * restarted, and <code>false</code> otherwise (e.g., if the contents have - * not been modified and the server process is still in sync); the - * result is unspecified if the server is not currently running - */ - public boolean getServerRestartState(); - - /** - * Asynchronously restarts this server. This operation does - * nothing if this server cannot be stopped ({@link #canRestart(String)} - * returns <code>false</code>. - * This method cannot be used to start the server from a stopped state. - * <p> - * If the caller wants to listen for failure or success of the - * server restarting, it can add a server listener or use the - * version of this method that takes a status listener as a - * parameter. - * </p> - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - public void restart(String launchMode, IProgressMonitor monitor); - - /** - * Asynchronously restarts this server. This operation does - * nothing if this server cannot be stopped ({@link #canRestart(String)} - * returns <code>false</code>. - * This method cannot be used to start the server from a stopped state. - * <p> - * The operation listener can be used to add a listener for notification - * of this specific server restart. The listener will be called with a - * single successful status (severity OK) when the server has - * finished restarting, or a single failure (severity ERROR) if - * there was an error restarting the server. - * </p> - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @param listener an operation listener to receive notification when this - * operation is done, or <code>null</code> if notification is not - * required - */ - public void restart(String launchMode, IOperationListener listener); - - /** - * Synchronously restarts this server. This operation does - * nothing if this server cannot be stopped ({@link #canRestart(String)} - * returns <code>false</code>. - * <p> - * [issue: There is no way to communicate failure to the - * client. Given that this operation can go awry, there probably - * should be a mechanism that allows failing asynch operations - * to be diagnosed.] - * </p> - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there was an error - * @deprecated this method is deprecated. use restart(String, - * IProgressMonitor, IOperationListener) instead - */ - public void synchronousRestart(String launchMode, IProgressMonitor monitor) throws CoreException; - - /** - * Returns whether this server is in a state that it can - * be stopped. - * Servers can be stopped if they are not already stopped and if - * they belong to a state-set that can be stopped. - * - * @return a status object with code <code>IStatus.OK</code> if the server can - * be stopped, otherwise a status object indicating why it can't - */ - public IStatus canStop(); - - /** - * Asynchronously stops this server. This operation does - * nothing if this server cannot be stopped ({@link #canStop()} - * returns <code>false</code>. - * <p> - * If force is <code>false</code>, it will attempt to stop the server - * normally/gracefully. If force is <code>true</code>, then the server - * process will be terminated any way that it can. - * </p> - * <p> - * If the caller wants to listen for success or failure of the - * server stopping, it can add a server listener or use the - * version of this method that takes a status listener as a - * parameter. - * </p> - * - * @param force <code>true</code> to kill the server, or <code>false</code> - * to stop normally - */ - public void stop(boolean force); - - /** - * Asynchronously stops this server. This operation does - * nothing if this server cannot be stopped ({@link #canStop()} - * returns <code>false</code>. - * <p> - * If force is <code>false</code>, it will attempt to stop the server - * normally/gracefully. If force is <code>true</code>, then the server - * process will be terminated any way that it can. - * </p> - * <p> - * The operation listener can be used to add a listener for notification - * of this specific server stop. The listener will be called with a - * single successful status (severity OK) when the server has - * finished stopping, or a single failure (severity ERROR) if - * there was an error stopping the server. - * </p> - * - * @param force <code>true</code> to kill the server, or <code>false</code> - * to stop normally - * @param listener an operation listener to receive notification when this - * operation is done, or <code>null</code> if notification is not - * required - */ - public void stop(boolean force, IOperationListener listener); - - /** - * Stops this server and waits until the server has completely stopped. - * <p> - * This convenience method uses {@link #stop(boolean)} - * to stop the server, and an internal thread and listener to detect - * when the server has complied. - * </p> - * - * @param force <code>true</code> to kill the server, or <code>false</code> - * to stop normally - * @deprecated this method is deprecated. use stop(boolean, - * IOperationListener) instead - */ - public void synchronousStop(boolean force); - - /** - * Returns the current state of the given module on this server. - * Returns <code>STATE_UNKNOWN</code> if the module - * is not among the ones associated with this server. - * - * @param module the module - * @return one of the state (<code>STATE_XXX</code>) constants declared - * on {@link IServer} - */ - public int getModuleState(IModule[] module); - - /** - * Returns the module's sync state. - * - * @param module the module - * @return one of the PUBLISH_XXX state flags - */ - public int getModulePublishState(IModule[] module); - - /** - * Check if the given module is in sync on the server. It should - * return true if the module should be restarted (is out of - * sync) or false if the module does not need to be restarted. - * - * @param module the module - * @return boolean - */ - public boolean getModuleRestartState(IModule[] module); - - /** - * Returns whether the given module can be restarted. - * <p> - * This method has a progress monitor because it may involve plugin - * and class loading. No communication to the server will occur. - * </p> - * - * @param module the module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a status object with code <code>IStatus.OK</code> if the module can - * be restarted, otherwise a status object indicating why it can't - */ - public IStatus canControlModule(IModule[] module, IProgressMonitor monitor); - - /** - * Asynchronously starts this server in the given launch mode. - * <p> - * If canStart(launchMode) is false, this method will throw an - * exception. - * </p> - * <p> - * The operation listener can be used to add a listener for notification - * of this specific module start. The listener will be called with a - * single successful status (severity OK) when the module has - * finished starting, or a single failure (severity ERROR) if - * there was an error starting the module. - * </p> - * - *@param module the module to be started - * @param listener an operation listener to receive notification when this - * operation is done, or <code>null</code> if notification is not - * required - */ - public void startModule(IModule[] module, IOperationListener listener); - - /** - * Asynchronously stops the given module. This operation does - * nothing if this module cannot be stopped. - * <p> - * The operation listener can be used to add a listener for notification - * of this specific module stop. The listener will be called with a - * single successful status (severity OK) when the module has - * finished stopping, or a single failure (severity ERROR) if - * there was an error stopping the module. - * </p> - * - * @param module the module to be stopped - * @param listener an operation listener to receive notification when this - * operation is done, or <code>null</code> if notification is not - * required - */ - public void stopModule(IModule[] module, IOperationListener listener); - - /** - * Asynchronously restarts the given module on the server. - * <p> - * The implementation should update the module sync state and fire - * an event for the module. If the module does not exist on the server, - * an exception will be thrown. - * </p> - * <p> - * [issue: Since this method is ascynchronous, is there - * any need for the progress monitor?] - * </p> - * <p> - * [issue: IServer.synchronousModuleRestart throws CoreException - * if anything goes wrong.] - * </p> - * <p> - * [issue: If the module was just published to the server - * and had never been started, would is be ok to "start" - * the module using this method?] - * </p> - * - * @param module the module to be started - * @param listener an operation listener to receive notification when this - * operation is done, or <code>null</code> if notification is not - * required - */ - public void restartModule(IModule[] module, IOperationListener listener); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java deleted file mode 100644 index 2b2aeb876..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java +++ /dev/null @@ -1,348 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.*; -/** - * Represents a server instance. Every server is an instance of a - * particular, fixed server type. - * <p> - * Not surprisingly, the notion of <b>server</b> is central in the web tools - * server infrastructure. In this context, understand that a server is - * a web server of some ilk. It could be a simple web server lacking Java - * support, or an J2EE based server, or perhaps even some kind of database - * server. A more exact definition is not required for the purposes of this API. - * From a tool-centric point of view, a server - * is something that the developer is writing "content" for. - * The unit of content is termed a module. - * In a sense, the server exists, but lacks useful content. The - * development task is to provide that content. The content can include - * anything from simple, static HTML web pages to complex, highly dynamic - * web applications. - * In the course of writing and debugging this content, - * the developer will want to test their content on a web server, to see how it - * gets served up. For this they will need to launch a server process running on - * some host machine (often the local host on which the IDE is running), or - * attach to a server that's already running on a remote (or local) host. - * The newly developed content sitting in the developer's workspace needs to - * end up in a location and format that the running server can use for its - * serving purposes. - * </p> - * <p> - * In this picture, an <code>IServer</code> object is a proxy for the real web - * server. Through this proxy, a client can configure the server, and start, - * stop, and restart it. - * </p> - * <p> - * IServerAttributes implements IAdaptable to allow users to obtain a - * server-type-specific class. By casting the runtime extension to the type - * prescribed in the API documentation for that particular server type, the - * client can access server-type-specific properties and methods. - * getAdapter() may involve plugin loading, and should not be called from - * popup menus, etc. - * </p> - * <p> - * The server framework maintains a global list of all known server instances - * ({@link ServerCore#getServers()}). - * </p> - * <p> - * [rough notes: - * Server has a state. - * Server can be started, stopped, and restarted. - * To modify server attributes, get a working copy, modify it, and then save it - * to commit the changes. - * Server attributes. Serialization. - * Chained working copies for runtime, server configuration. - * Server has a set of root modules. - * Modules have state wrt a server. - * Restarting modules.] - * </p> - * <p> - * Two servers are identical if and only if they have the same id. - * </p> - * - * <p>This interface is not intended to be implemented by clients.</p> - * - * @since 1.0 - */ -public interface IServerAttributes extends IAdaptable { - /** - * Returns the displayable name for this server. - * <p> - * Note that this name is appropriate for the current locale. - * </p> - * - * @return a displayable name - */ - public String getName(); - - /** - * Returns the id of this server. - * Each server (of a given type) has a distinct id, fixed for - * its lifetime. Ids are intended to be used internally as keys; - * they are not intended to be shown to end users. - * - * @return the server id - */ - public String getId(); - - /** - * Deletes the persistent representation of this server. - * - * @throws CoreException if there was any error received while deleting the server - * or if this method is called on a working copy - */ - public void delete() throws CoreException; - - /** - * Returns whether this server is marked read only. - * When a server is read only, working copies can be created but - * they cannot be saved. - * - * @return <code>true</code> if this server is marked as read only, - * and <code>false</code> otherwise - */ - public boolean isReadOnly(); - - /** - * Returns true if this is a working copy. - * - * @return <code>true</code> if this server is a working copy, - * and <code>false</code> otherwise - */ - public boolean isWorkingCopy(); - - /** - * Returns an object which is an instance of the given class - * associated with this object. Returns <code>null</code> if - * no such object can be found, or if the delegate is not - * loaded. - * <p> - * This method will not check the delegate classes for adapting - * unless they are already loaded. No plugin loading will occur - * when calling this method. It is suitable for popup menus and - * other UI artifacts where performance is a concern. - * </p> - * - * @param adapter the adapter class to look up - * @return a object castable to the given class, - * or <code>null</code> if this object does not - * have an adapter for the given class - * @see IAdaptable#getAdapter(Class) - * @see #loadAdapter(Class, IProgressMonitor) - */ - public Object getAdapter(Class adapter); - - /** - * Returns an object which is an instance of the given class - * associated with this object. Returns <code>null</code> only if - * no such object can be found after loading and initializing - * delegates. - * <p> - * This method will force a load and initialization of all delegate - * classes and check them for adapting. - * </p> - * - * @param adapter the adapter class to look up - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a object castable to the given class, - * or <code>null</code> if this object does not - * have an adapter for the given class - * @see #getAdapter(Class) - */ - public Object loadAdapter(Class adapter, IProgressMonitor monitor); - - /** - * Returns the host for the server. - * The format of the host can be either a qualified or unqualified hostname, - * or an IP address and must conform to RFC 2732. - * - * @return a host string conforming to RFC 2732 - * @see java.net.URL#getHost() - */ - public String getHost(); - - /** - * Returns the runtime associated with this server. - * <p> - * Note: The runtime of a server working copy may or may not - * be a working copy. For a server instance that is not a - * working copy, the runtime instance is not a working copy - * either. - * </p> - * <p> - * [issue: According to serverType extension point, - * runtimeTypeId is a mandatory attribute. It seems odd - * then to have server runtime instance being an - * optional property of server instance. What does it mean - * for a server to not have a runtime?] - * </p> - * - * @return the runtime, or <code>null</code> if none - */ - public IRuntime getRuntime(); - - /** - * Returns the type of this server. - * - * @return the server type - * @see IServerType - */ - public IServerType getServerType(); - - /** - * Returns the server configuration associated with this server. - * <p> - * Note: The server configuration of a server working copy may - * or may not be a working copy. For a server instance that is - * not a working copy, the server configuration instance is not - * a working copy either. - * </p> - * <p> - * [issue: According to serverType extension point, - * configurationTypeId is an optional attribute. If a server type - * has no server configuration type, then it seems reasonable to - * expect this method to return null for all instances of that server - * type. But what about a server type that explicitly specifies - * a server configuration type. Does that mean that all server - * instances of that server type must have a server configuration - * instance of that server configuration type, and that this method - * never returns null in those cases?] - * </p> - * - * @return the server configuration, or <code>null</code> if none - */ - public IFolder getServerConfiguration(); - - /** - * Returns a server working copy for modifying this server instance. - * If this instance is already a working copy, it is returned. - * If this instance is not a working copy, a new server working copy - * is created with the same id and attributes. - * Clients are responsible for saving or releasing the working copy when - * they are done with it. - * <p> - * The server working copy is related to this server instance - * in the following ways: - * <pre> - * this.getWorkingCopy().getId() == this.getId() - * this.getWorkingCopy().getFile() == this.getFile() - * this.getWorkingCopy().getOriginal() == this - * this.getWorkingCopy().getRuntime() == this.getRuntime() - * this.getWorkingCopy().getServerConfiguration() == this.getServerConfiguration() - * </pre> - * </p> - * <p> - * [issue: IServerWorkingCopy extends IServer. - * Server.getWorkingCopy() create a new working copy; - * ServerWorkingCopy.getWorkingCopy() returns this. - * This may be convenient in code that is ignorant of - * whether they are dealing with a working copy or not. - * However, it is hard for clients to manage working copies - * with this design.] - * </p> - * - * @return a new working copy - */ - public IServerWorkingCopy createWorkingCopy(); - - /** - * Returns an array of user modules that are currently configured on - * the server. When the server is published, these are the projects - * that will be configured on the server. This method may not return - * the list of projects that are currently on the server if a module - * has been added since the last publish. - * <p> - * This method returns the root modules, which are not parented within - * another modules. Each of these may contain child modules, which are - * also deployed to this server. - * </p> - * - * @return a possibly-empty array of modules - */ - public IModule[] getModules(); - - /** - * Returns whether the specified module modifications could be made to this - * server at this time. - * <p> - * This method may decide based on the type of module - * or refuse simply due to reaching a maximum number of - * modules or other criteria. - * </p> - * <p> - * [issue: This seems odd to have a pre-flight method. - * I should expect that the client can propose making - * any set of module changes they desire (via a server - * working copy). If the server doesn't like it, the operation - * should fail.] - * </p> - * - * @param add a possibly-empty list of modules to add - * @param remove a possibly-empty list of modules to remove - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return <code>true</code> if the proposed modifications - * look feasible, and <code>false</code> otherwise - */ - public IStatus canModifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor); - - /** - * Returns the child module(s) of this module. If this - * module contains other modules, it should list those - * modules. If not, it should return an empty list. - * - * <p>This method should only return the direct children. - * To obtain the full module tree, this method may be - * recursively called on the children.</p> - * - * @param module a module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return an array of direct module children - */ - public IModule[] getChildModules(IModule module[], IProgressMonitor monitor); - - /** - * Returns the parent module(s) of this module. When determining if a given - * project can run on a server, this method will be used to find the actual - * module(s) that may be run on the server. For instance, a Web module may - * return a list of EAR modules that it is contained in if the server only - * supports configuring EAR modules. - * - * <p>If the module type is not supported, this method will return null. - * If the type is normally supported but there is a configuration - * problem or missing parent, etc., this method will fire a CoreException - * that may then be presented to the user.</p> - * - * <p>If it does return valid parent(s), this method will always return - * the topmost parent module(s), even if there are a few levels - * (a heirarchy) of modules.</p> - * - * @param module a module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return an array of possible root modules - * @throws CoreException if there is a problem - */ - public IModule[] getRootModules(IModule module, IProgressMonitor monitor) throws CoreException; - - /** - * Returns an array of ServerPorts that this server has. - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a possibly empty array of servers ports - */ - public ServerPort[] getServerPorts(IProgressMonitor monitor); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleListener.java deleted file mode 100644 index d2c20b8fc..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerLifecycleListener.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; -/** - * Listener interface for changes to servers. - * <p> - * This interface is fired whenever a server is added, modified, or removed. - * All events are fired post-change, so that all server tools API called as a - * result of the event will return the updated results. (for example, on - * serverAdded the new server will be in the global list of servers - * ({@link ServerCore#getServers()}), and on serverRemoved the server will - * not be in the list. - * </p> - * - * @see ServerCore - * @see IServer - * @since 1.0 - */ -public interface IServerLifecycleListener { - /** - * A new server has been created. - * - * @param server the new server - */ - public void serverAdded(IServer server); - - /** - * An existing server has been updated or modified. - * - * @param server the modified server - */ - public void serverChanged(IServer server); - - /** - * A existing server has been removed. - * - * @param server the removed server - */ - public void serverRemoved(IServer server); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java deleted file mode 100644 index 38405815f..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerListener.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; -/** - * This interface is used by the server to broadcast a change of state. - * Usually, the change of state will be caused by some user action, - * (e.g. requesting to start a server) however, it is equally fine for - * a server to broadcast a change of state through no direct user action. - * (e.g. stopping because the server crashed) This information can be - * used to inform the user of the change or update the UI. - * - * <p>Note: The server listener event MUST NOT directly be used to modify - * the server's or module's state via one of the server's method. For example, - * a server stopped event cannot directly trigger a start(). Doing this may - * cause the thread to hang.</p> - * - * @since 1.0 - */ -public interface IServerListener { - /** - * A server or module has been changed as specified in the event. - * - * @param event a server event that contains information on the change - */ - public void serverChanged(ServerEvent event); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java deleted file mode 100644 index 30a2d6eba..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java +++ /dev/null @@ -1,226 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -/** - * Represents a server type from which server instances can be created. - * <p> - * The server core framework supports - * an open-ended set of server types, which are contributed via - * the <code>serverTypes</code> extension point in the server core - * plug-in. Server type objects carry no state (all information is - * read-only and is supplied by the server type declaration). - * The global list of known server types is available via - * {@link ServerCore#getServerTypes()}. - * </p> - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * <p> - * Two server types are identical if and only if they have the same id. - * </p> - * - * @since 1.0 - */ -public interface IServerType { - /** - * Returns the id of this server type. - * Each known server type 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 server type id - */ - public String getId(); - - /** - * Returns the displayable name for this server type. - * <p> - * Note that this name is appropriate for the current locale. - * </p> - * - * @return a displayable name for this server type - */ - public String getName(); - - /** - * Returns the displayable description for this server type. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable description for this server type - */ - public String getDescription(); - - /** - * Returns the type of server runtime that this type - * of server requires. - * <p> - * [issue: "runtimeTypeId" is mandatory according the - * serverTypes schema. This suggests that all types - * of servers have a server runtime. But there is also - * a boolean "runtime" attribute indicating whether the - * server requires a runtime. I supect that server type - * has an optional server runtime, in which case you - * can make "runtimeTypeId" optional and dispense with - * "runtime".] - * </p> - * <p> - * [issue: Does it really make sense for - * runtimeTypes and serverTypes be separate extension - * points? Would it not be sufficient to have the party declaring - * the server type also declare the server runtime type? - * Having runtimeType as a separate extension point - * only makes sense if it would be possible in principle to - * declare a server runtime type that could actually be - * used on serveral server types. If server runtimes - * always end up being server-type specific, it would be better - * to combine them.] - * </p> - * <p> - * [issue: What should happen when a server type mentions - * the id of a server runtime type that is not known - * to the system?] - * </p> - * - * @return a server runtime type - */ - public IRuntimeType getRuntimeType(); - - /** - * Returns whether this type of server requires a server - * runtime. - * <p> - * [issue: See issues on getRuntimeType(). I suspect this - * method is unnecessary, and that - * this.getRuntimeType() != null will do.] - * </p> - * - * @return <code>true</code> if this type of server requires - * a server runtime, and <code>false</code> if it does not - * @see #getRuntimeType() - */ - public boolean hasRuntime(); - - /** - * Returns whether this type of server supports the given launch mode. - * <p> - * [issue: It also seems odd that this is part of the server type - * declaration. This means that any server type has to commit - * so early on which modes it supports.] - * </p> - * - * @param launchMode a mode in which a server can be launched, - * one of the mode constants defined by - * {@link org.eclipse.debug.core.ILaunchManager} - * @return whether this type of server supports the given mode - */ - public boolean supportsLaunchMode(String launchMode); - - /** - * Returns whether this type of server requires a server - * configuration. - * <p> - * [issue: It's not clear how this method differs from - * this.getServerConfigurationType() != null] - * </p> - * - * @return <code>true</code> if this type of server requires - * a server configuration, and <code>false</code> if it does not - */ - public boolean hasServerConfiguration(); - - /** - * Returns <code>true</code> if this type of server can run on a remote host. - * Returns <code>false</code> if the server type can only be run on "localhost" - * (the local machine). - * - * @return <code>true</code> if this type of server can run on - * a remote host, and <code>false</code> if it cannot - */ - public boolean supportsRemoteHosts(); - - /** - * Creates an working copy instance of this server type. - * After setting various properties of the working copy, - * the client should call {@link IServerWorkingCopy#save(boolean, IProgressMonitor)} - * to bring the server instance into existence. - * <p> - * [issue: Why is a runtime passed in? - * IServerWorkingCopy.setRuntime(runtime) could be called on - * the result to accomplish the same thing.] - * </p> - * <p> - * [issue: The implementation of this method never creates a server - * config working copy, whereas the other one does!?] - * Consider combining the method with the other.] - * </p> - * <p> - * The server returned from this method will have it's host set to - * "localhost". Other defaults will be set by calling the server - * delegate's setDefaults() method. - * </p> - * - * @param id the id to assign to the server instance; a generated - * id is used if id is <code>null</code> or an empty string - * @param file the file in the workspace where the server instance - * is to be serialized, or <code>null</code> if the information is - * instead to be persisted with the workspace but not with any - * particular workspace resource - * @param runtime the runtime to associate with the server instance, - * or <code>null</code> if none - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a new server working copy with the given id - * @throws CoreException if an exception occurs while creating this runtime - * or setting it's default values - */ - public IServerWorkingCopy createServer(String id, IFile file, IRuntime runtime, IProgressMonitor monitor) throws CoreException; - - /** - * Creates a working copy instance of this server type. - * After setting various properties of the working copy, - * the client should call {@link IServerWorkingCopy#save(boolean, IProgressMonitor)} - * to bring the server instance into existence. - * <p> - * [issue: Since this method just creates a working copy, - * it's not clear the operation is long-running and in need - * of a progress monitor.] - * </p> - * <p> - * The server returned from this method will have it's host set to - * "localhost". Other defaults will be set by calling the server - * delegate's setDefaults() method. - * </p> - * <p> - * [issue: The implementation of this method creates a server - * config working copy, whereas the other one does not!? - * Consider combining the method with the other.] - * </p> - * - * @param id the id to assign to the server instance; a generated - * id is used if id is <code>null</code> or an empty string - * @param file the file in the workspace where the server instance - * is to be serialized, or <code>null</code> if the information is - * instead to be persisted with the workspace but not with any - * particular workspace resource - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a new server working copy with the given id - * @throws CoreException if an exception occurs while creating this runtime - * or setting it's default values - */ - public IServerWorkingCopy createServer(String id, IFile file, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java deleted file mode 100644 index 844651247..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerWorkingCopy.java +++ /dev/null @@ -1,283 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core; - -import java.beans.PropertyChangeListener; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -/** - * A working copy server object used for formulating changes - * to a server instance ({@link IServer}). - * - * <p>This interface is not intended to be implemented by clients.</p> - * - * @since 1.0 - */ -public interface IServerWorkingCopy extends IServerAttributes { - /** - * Status code (value 1) returned from the save() method when the save - * failed with force set to <code>false</code> because the runtime has - * been modified and saved since this working copy was created. - * - * @see #save(boolean, IProgressMonitor) - */ - public static final int SAVE_CONFLICT = 1; - - /** - * Sets the displayable name for this server. - * <p> - * The name should be appropriate for the current locale. - * </p> - * - * @param name a displayable name - * @see IServerAttributes#getName() - */ - public void setName(String name); - - /** - * Sets or unsets whether this server is marked as read only. - * When a server is read only, working copies can be created but - * they cannot be saved. - * - * @param readOnly <code>true</code> to set this server to be marked - * read only, and <code>false</code> to unset - */ - public void setReadOnly(boolean readOnly); - - /** - * Returns whether this working copy has unsaved changes. - * - * @return <code>true</code> if this working copy has unsaved - * changes, and <code>false</code> otherwise - */ - public boolean isDirty(); - - /** - * Adds a property change listener to this server. - * <p> - * Once registered, a listener starts receiving notification of - * property changes to this server. The listener continues to receive - * notifications until it is removed. - * Has no effect if an identical listener is already registered. - * </p> - * - * @param listener a property change listener - * @see #removePropertyChangeListener(PropertyChangeListener) - */ - public void addPropertyChangeListener(PropertyChangeListener listener); - - /** - * Removes a property change listener from this server. - * Has no effect if the listener is not registered. - * - * @param listener a property change listener - * @see #addPropertyChangeListener(PropertyChangeListener) - */ - public void removePropertyChangeListener(PropertyChangeListener listener); - - /** - * Sets the server configuration associated with this server working copy. - * <p> - * Note: The server configuration of a server working copy may - * or may not be a working copy. - * </p> - * <p> - * [issue: According to serverType extension point, - * configurationTypeId is an optional attribute. What happens if the - * server configuration passed is null but the server must have a - * server configuration? What happens of the server configuration - * has the wrong type? Do the errors get detected and reported now, or - * upon save()?] - * </p> - * - * @param configuration the server configuration, or <code>null</code> if none - */ - public void setServerConfiguration(IFolder configuration); - - /** - * Returns the server instance that this working copy is - * associated with. - * <p> - * For a server working copy created by a call to - * {@link IServer#createWorkingCopy()}, - * <code>this.getOriginal()</code> returns the original - * server object. For a server working copy just created by - * a call to {@link IServerType#createServer(String, org.eclipse.core.resources.IFile, IProgressMonitor)}, - * <code>this.getOriginal()</code> returns <code>null</code>. - * </p> - * - * @return the associated server instance, or <code>null</code> if none - */ - public IServer getOriginal(); - - /** - * Commits the changes made in this working copy. If there is - * no extant server instance with a matching id and server - * type, this will create a server instance with attributes - * taken from this working copy. If there an existing server - * instance with a matching id and server type, this will - * change the server instance accordingly. - * <p> - * If there an existing server instance with a matching id and - * server type, this will change the server instance accordingly. - * The returned server will be the same server this is returned - * from getOriginal(), after the changes have been applied. - * Otherwise, this method will return a newly created server. - * </p> - * <p> - * Servers can be saved even when they have invalid properties. It - * is the clients responsibility to validate or check the - * properties before saving. - * </p> - * <p> - * This method does not apply changes to the server. A publish() - * must be completed to push out after the save to push out any - * changes to the server. - * </p> - * <p> - * [issue: What is lifecycle for ServerWorkingCopyDelegate - * associated with this working copy?] - * </p> - * <p> - * [issue: Since it does not make sense to commit a server - * working copy without first committing any associated - * runtime and server config working copies, the semantics - * of saveAll should be part and parcel of the - * normal save, and the saveAll method eliminated.] - * </p> - * - * @param force <code>true</code> to force the save, or <code>false</code> - * otherwise - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a new server instance - * @throws CoreException [missing] - * @see #SAVE_CONFLICT - */ - public IServer save(boolean force, IProgressMonitor monitor) throws CoreException; - - /** - * Commits the changes made in this server working copy after - * first committing any associated server configuration or - * server runtime working copies. - * <p> - * This convenience method is equivalent to: - * <pre> - * IRuntime rt = this.getRuntime(); - * if (rt != null && rt.isWorkingCopy()) { - * ((IRuntimeWorkingCopy) rt).save(monitor); - * } - * IServerConfiguration cf = this.getServerConfiguration(); - * if (cf != null && cf.isWorkingCopy()) { - * ((IServerConfigurationWorkingCopy) cf).save(monitor); - * } - * return save(monitor); - * </pre> - * </p> - * <p> - * [issue: Since it does not make sense to commit a server - * working copy without first committing any associated - * runtime and server config working copies, the semantics - * of this operation should be part and parcel of the - * normal save, and the saveAll method eliminated.] - * </p> - * - * @param force <code>true</code> to force the save, or <code>false</code> - * otherwise - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a new server instance - * @throws CoreException [missing] - * @see #SAVE_CONFLICT - */ - public IServer saveAll(boolean force, IProgressMonitor monitor) throws CoreException; - - /** - * Sets the runtime associated with this server working copy. - * <p> - * Note: The runtime of a server working copy may - * or may not be a working copy. - * </p> - * <p> - * [issue: According to serverType extension point, - * runtimeTypeId is a mandatory attribute. But IServer.getRuntime() - * is allowed to return null, suggesting that it is optional for instances. - * What happens if the runtime passed is null but the server must - * have a runtime? What happens if the runtime has the wrong - * type? Do the errors get detected and reported now, or upon save()?] - * </p> - * - * @param runtime the runtime, or <code>null</code> if none - */ - public void setRuntime(IRuntime runtime); - - /** - * Changes the host for the server. - * The format of the host can be either a qualified or unqualified hostname, - * or an IP address and must conform to RFC 2732. - * - * <p> - * [issue: This is a questionable operation if there is a running - * server associated with the original. When a host name - * change is committed, the server instance loses contact with - * the running server because of the host name change.] - * </p> - * - * @param host a host string conforming to RFC 2732 - * @see IServer#getHost() - * @see java.net.URL#getHost() - */ - public void setHost(String host); - - /** - * Modifies the list of modules associated with the server. - * The modules included in the <code>add</code> list - * must exist in the workspace and must not already be associated - * with the server. - * The modules included in the <code>remove</code> list - * must be associated with the server, but may or may not exist - * in the workspace. - * <p> - * This method will not communicate with the server. After saving, - * publish() can be used to sync up with the server. - * </p> - * <p> - * [issue: How to formulate what it means - * to say "the module must exist in the workspace"?] - * </p> - * <p> - * [issue: The spec should be more lax. Attempting to add - * a module that's already include should be quietly ignore; - * ditto removing a module that's not on this list. This - * simplifies the handling of various other wacko cases - * such as duplication within and between the add and remove - * lists.] - * </p> - * <p> - * [issue: The spec had also said: "...canModifyModules() - * should have returned true. The configuration must assume - * any default settings and add the module without any UI."] - * </p> - * <p> - * [issue: What error checking should be performed by this - * operation, and what needs to be performed by save() if - * the client tries to commit these hypothetisized changes?] - * </p> - * - * @param add a possibly-empty list of modules to add - * @param remove a possibly-empty list of modules to remove - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException [missing] - */ - public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java deleted file mode 100644 index 9811202dc..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java +++ /dev/null @@ -1,508 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core; - -import java.util.*; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.*; -import org.eclipse.wst.server.core.internal.*; -/** - * Main class for server core API. - * <p> - * This class provides API to access most of the types in the server - * framework, including server runtimes and servers. Methods ** - * The methods on this class are thread safe. - * </p> - * <p> - * This class provides all its functionality through static members. - * It is not intended to be subclassed or instantiated. - * </p> - * - * @since 1.0 - */ -public class ServerCore { - private static final String EXTENSION_SERVER_TYPE = "serverTypes"; - private static final String EXTENSION_RUNTIME_TYPE = "runtimeTypes"; - - // cached copy of all runtime types - private static List runtimeTypes; - - // cached copy of all server and configuration types - private static List serverTypes; - - private static IRegistryChangeListener registryListener; - - static { - executeStartups(); - } - - private static class RegistryChangeListener implements IRegistryChangeListener { - public void registryChanged(IRegistryChangeEvent event) { - IExtensionDelta[] deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE); - if (deltas != null) { - for (int i = 0; i < deltas.length; i++) { - handleRuntimeTypeDelta(deltas[i]); - } - } - - deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE); - if (deltas != null) { - for (int i = 0; i < deltas.length; i++) { - handleServerTypeDelta(deltas[i]); - } - } - } - } - - /** - * Cannot create ServerCore - use static methods. - */ - private ServerCore() { - // can't create - } - - /** - * Returns the resource manager. - * - * @return org.eclipse.wst.server.core.internal.ResourceManager - */ - private final static ResourceManager getResourceManager() { - return ResourceManager.getInstance(); - } - - /** - * Returns the preference information for the project. The project may not - * be null. - * - * @param project a project - * @return the properties of the project - * @deprecated Project facet support should now be used instead of this API. @see - * org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime() - */ - public static IProjectProperties getProjectProperties(IProject project) { - if (project == null) - throw new IllegalArgumentException(); - return new IProjectProperties() { - public IRuntime getRuntimeTarget() { - return null; - } - }; - } - - /** - * Returns an array of all known runtime types. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return the array of runtime types {@link IRuntimeType} - */ - public static IRuntimeType[] getRuntimeTypes() { - if (runtimeTypes == null) - loadRuntimeTypes(); - - IRuntimeType[] rt = new IRuntimeType[runtimeTypes.size()]; - runtimeTypes.toArray(rt); - return rt; - } - - /** - * Returns the runtime type with the given id, or <code>null</code> - * if none. This convenience method searches the list of known - * runtime types ({@link #getRuntimeTypes()}) for the one with a matching - * runtime type id ({@link IRuntimeType#getId()}). The id may not be null. - * - * @param id the runtime type id - * @return the runtime type, or <code>null</code> if there is no runtime type - * with the given id - */ - public static IRuntimeType findRuntimeType(String id) { - if (id == null) - throw new IllegalArgumentException(); - - if (runtimeTypes == null) - loadRuntimeTypes(); - - Iterator iterator = runtimeTypes.iterator(); - while (iterator.hasNext()) { - IRuntimeType runtimeType = (IRuntimeType) iterator.next(); - if (id.equals(runtimeType.getId())) - return runtimeType; - } - return null; - } - - /** - * Returns an array of all known runtime target handler instances. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of runtime target handler instances - * {@link IRuntimeTargetHandler} - */ - public static IRuntimeTargetHandler[] getRuntimeTargetHandlers() { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Returns the runtime target handler with the given id, or <code>null</code> - * if none. This convenience method searches the list of known runtime - * target handlers ({@link #getRuntimeTargetHandlers()}) for the one with - * a matching runtime target handler id ({@link IRuntimeTargetHandler#getId()}). - * The id may not be null. - * - * @param id the runtime target handler id - * @return the runtime target handler instance, or <code>null</code> if - * there is no runtime target handler with the given id - */ - public static IRuntimeTargetHandler findRuntimeTargetHandler(String id) { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Returns an array of all known server types. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return the array of server types {@link IServerType} - */ - public static IServerType[] getServerTypes() { - if (serverTypes == null) - loadServerTypes(); - - IServerType[] st = new IServerType[serverTypes.size()]; - serverTypes.toArray(st); - return st; - } - - /** - * Returns the server type with the given id, or <code>null</code> - * if none. This convenience method searches the list of known - * server types ({@link #getServerTypes()}) for the one with a matching - * server type id ({@link IServerType#getId()}). The id may not be null. - * - * @param id the server type id - * @return the server type, or <code>null</code> if there is no server type - * with the given id - */ - public static IServerType findServerType(String id) { - if (id == null) - throw new IllegalArgumentException(); - - if (serverTypes == null) - loadServerTypes(); - - Iterator iterator = serverTypes.iterator(); - while (iterator.hasNext()) { - IServerType serverType = (IServerType) iterator.next(); - if (id.equals(serverType.getId())) - return serverType; - } - return null; - } - - /** - * Execute the server startup extension points. - */ - private static synchronized void executeStartups() { - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .startup extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalStartup"); - - int size = cf.length; - for (int i = 0; i < size; i++) { - try { - IStartup startup = (IStartup) cf[i].createExecutableExtension("class"); - try { - startup.startup(); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex); - } - Trace.trace(Trace.EXTENSION_POINT, " Loaded startup: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load startup: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .startup extension point -<-"); - } - - /** - * Load the runtime types. - */ - private static synchronized void loadRuntimeTypes() { - if (runtimeTypes != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .runtimeTypes extension point ->-"); - - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE); - runtimeTypes = new ArrayList(cf.length); - addRuntimeTypes(cf); - addRegistryListener(); - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .runtimeTypes extension point -<-"); - } - - /** - * Load the runtime types. - */ - private static synchronized void addRuntimeTypes(IConfigurationElement[] cf) { - for (int i = 0; i < cf.length; i++) { - try { - RuntimeType runtimeType = new RuntimeType(cf[i]); - runtimeTypes.add(runtimeType); - Trace.trace(Trace.EXTENSION_POINT, " Loaded runtimeType: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load runtimeType: " + cf[i].getAttribute("id"), t); - } - } - } - - /** - * Load the server types. - */ - private static synchronized void loadServerTypes() { - if (serverTypes != null) - return; - - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverTypes extension point ->-"); - - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE); - serverTypes = new ArrayList(cf.length); - addServerTypes(cf); - addRegistryListener(); - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverTypes extension point -<-"); - } - - /** - * Load the server types. - */ - private static synchronized void addServerTypes(IConfigurationElement[] cf) { - for (int i = 0; i < cf.length; i++) { - try { - ServerType serverType = new ServerType(cf[i]); - serverTypes.add(serverType); - Trace.trace(Trace.EXTENSION_POINT, " Loaded serverType: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load serverType: " + cf[i].getAttribute("id"), t); - } - } - } - - /** - * Returns the runtime with the given id, or <code>null</code> - * if none. This convenience method searches the list of known - * runtimes ({@link #getRuntimes()}) for the one with a matching - * runtime id ({@link IRuntime#getId()}). The id may not be null. - * - * @param id the runtime id - * @return the runtime instance, or <code>null</code> if there is no runtime - * with the given id - */ - public static IRuntime findRuntime(String id) { - return getResourceManager().getRuntime(id); - } - - /** - * Returns an array of all known runtime instances. The list will not contain any - * working copies. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of runtime instances {@link IRuntime} - */ - public static IRuntime[] getRuntimes() { - return getResourceManager().getRuntimes(); - } - - /** - * Returns the server with the given id, or <code>null</code> - * if none. This convenience method searches the list of known - * servers ({@link #getServers()}) for the one with a matching - * server id ({@link IServer#getId()}). The id must not be null. - * - * @param id the server id - * @return the server instance, or <code>null</code> if there is no server - * with the given id - */ - public static IServer findServer(String id) { - return getResourceManager().getServer(id); - } - - /** - * Returns an array of all known server instances. The array will not include any - * working copies. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of server instances {@link IServer} - */ - public static IServer[] getServers() { - return getResourceManager().getServers(); - } - - /** - * Adds a new runtime lifecycle listener. - * Has no effect if an identical listener is already registered. - * - * @param listener a runtime lifecycle listener - * @see #removeRuntimeLifecycleListener(IRuntimeLifecycleListener) - */ - public static void addRuntimeLifecycleListener(IRuntimeLifecycleListener listener) { - getResourceManager().addRuntimeLifecycleListener(listener); - } - - /** - * Removes a runtime lifecycle listener. - * Has no effect if the listener is not registered. - * - * @param listener a runtime lifecycle listener - * @see #addRuntimeLifecycleListener(IRuntimeLifecycleListener) - */ - public static void removeRuntimeLifecycleListener(IRuntimeLifecycleListener listener) { - getResourceManager().removeRuntimeLifecycleListener(listener); - } - - /** - * Adds a new server lifecycle listener. - * Has no effect if an identical listener is already registered. - * - * @param listener a server lifecycle listener - * @see #removeServerLifecycleListener(IServerLifecycleListener) - */ - public static void addServerLifecycleListener(IServerLifecycleListener listener) { - getResourceManager().addServerLifecycleListener(listener); - } - - /** - * Removes a server lifecycle listener. - * Has no effect if the listener is not registered. - * - * @param listener a server lifecycle listener - * #addServerLifecycleListener(IServerLifecycleListener) - */ - public static void removeServerLifecycleListener(IServerLifecycleListener listener) { - getResourceManager().removeServerLifecycleListener(listener); - } - - /** - * Returns the preferred runtime server for the given module. This method - * returns null if the server was never chosen or does not currently exist. (if the - * server is recreated or was in a closed project, etc. this method will return - * the original value if it becomes available again) - * - * @param module a module - * @return the current default server, or <code>null</code> if there is no - * default server - */ - public static IServer getDefaultServer(IModule module) { - return ModuleProperties.getInstance().getDefaultServer(module); - } - - /** - * Sets the preferred runtime server for the given module. Set the server to - * null to clear the setting. If there is a problem saving the file, a CoreException - * will be thrown. - * - * @param module the module to set the default for - * @param server the server to set the default server, or <code>null</code> - * to unset the default - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there is a problem setting the default server - */ - public static void setDefaultServer(IModule module, IServer server, IProgressMonitor monitor) throws CoreException { - ModuleProperties.getInstance().setDefaultServer(module, server, monitor); - } - - /** - * Handles a change to the server type extension point due to bundles getting added - * or removed dynamically at runtime. - * - * @param delta an extension delta - */ - protected static void handleServerTypeDelta(IExtensionDelta delta) { - if (serverTypes == null) // not loaded yet - return; - - IConfigurationElement[] cf = delta.getExtension().getConfigurationElements(); - - if (delta.getKind() == IExtensionDelta.ADDED) { - addServerTypes(cf); - } else { - int size = serverTypes.size(); - ServerType[] st = new ServerType[size]; - serverTypes.toArray(st); - int size2 = cf.length; - - for (int i = 0; i < size; i++) { - for (int j = 0; j < size2; j++) { - if (st[i].getId().equals(cf[j].getAttribute("id"))) { - st[i].dispose(); - serverTypes.remove(st[i]); - } - } - } - } - getResourceManager().resolveServers(); - } - - /** - * Handles a change to the runtime type extension point due to bundles getting added - * or removed dynamically at runtime. - * - * @param delta an extension delta - */ - protected static void handleRuntimeTypeDelta(IExtensionDelta delta) { - if (runtimeTypes == null) // not loaded yet - return; - - IConfigurationElement[] cf = delta.getExtension().getConfigurationElements(); - - if (delta.getKind() == IExtensionDelta.ADDED) { - addRuntimeTypes(cf); - } else { - int size = runtimeTypes.size(); - RuntimeType[] rt = new RuntimeType[size]; - runtimeTypes.toArray(rt); - int size2 = cf.length; - - for (int i = 0; i < size; i++) { - for (int j = 0; j < size2; j++) { - if (rt[i].getId().equals(cf[j].getAttribute("id"))) { - rt[i].dispose(); - runtimeTypes.remove(rt[i]); - } - } - } - } - getResourceManager().resolveRuntimes(); - getResourceManager().resolveServers(); - } - - private static void addRegistryListener() { - if (registryListener != null) - return; - - registryListener = new RegistryChangeListener(); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - registry.addRegistryChangeListener(registryListener, ServerPlugin.PLUGIN_ID); - ServerPlugin.setRegistryListener(registryListener); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerEvent.java deleted file mode 100644 index ad6c85cc0..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerEvent.java +++ /dev/null @@ -1,223 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core; -/** - * An event fired when a server change or module changes. - * - * @since 1.0 - */ -public class ServerEvent { - private IServer server; - private int kind; - private IModule[] moduleTree; - private int state; - private int publishState; - private boolean restartState; - - /** - * For notification when the state has changed. - * <p> - * This kind is mutually exclusive with <code>PUBLISH_STATE_CHANGE</code> and - * <code>RESTART_STATE_CHANGE</code>. - * </p> - * - * @see #getKind() - */ - public static final int STATE_CHANGE = 0x0001; - - /** - * Fired when published is needed or no longer needs to be published, - * or it's state has changed. - * <p> - * This kind is mutually exclusive with <code>STATE_CHANGE</code> and - * <code>RESTART_STATE_CHANGE</code>. - * </p> - * - * @see #getKind() - */ - public static final int PUBLISH_STATE_CHANGE = 0x0002; - - /** - * For notification when the server isRestartNeeded() property changes. - * <p> - * This kind is mutually exclusive with <code>STATE_CHANGE</code> and - * <code>PUBLISH_STATE_CHANGE</code>. - * </p> - * - * @see #getKind() - */ - public static final int RESTART_STATE_CHANGE = 0x0004; - - /** - * For event on server changes. This kind is mutually exclusive with <code>MODULE_CHANGE</code>. - * - * @see #getKind() - */ - public static final int SERVER_CHANGE = 0x0010; - - /** - * For event on module changes. This kind is mutually exclusive with <code>SERVER_CHANGE</code>. - * - * @see #getKind() - */ - public static final int MODULE_CHANGE = 0x0020; - - /** - * Create a new server event for server change events. - * - * @param kind the kind of the change. (<code>XXX_CHANGE</code>). If the kind does not - * include the <code>SERVER_CHANGE</code> kind, the SERVER_CHANGE will be added automatically. - * constants declared on {@link ServerEvent} - * @param server the server that the server event takes place - * @param state the server state after the change (<code>STATE_XXX</code>) - * constants declared on {@link IServer} - * @param publishingState the server publishing state after the - * change (<code>PUBLISH_STATE_XXX</code>) - * constants declared on {@link IServer} - * @param restartState get the server restart state after the server is restart - * needed property change event - */ - public ServerEvent(int kind, IServer server, int state, int publishingState, boolean restartState) { - this.kind = kind |= SERVER_CHANGE; - this.server = server; - this.state = state; - this.publishState = publishingState; - this.restartState = restartState; - - if (server == null) - throw new IllegalArgumentException("Server parameter must not be null"); - if ((kind & MODULE_CHANGE) != 0) - throw new IllegalArgumentException("Kind parameter invalid"); - - checkKind(); - } - - /** - * Create a new ServerEvent for module change events. - * - * @param kind the kind of the change. (<code>XXX_CHANGE</code>). If the kind does not - * include the <code>MODULE_CHANGE</code> kind, the MODULE_CHANGE will be added automatically. - * constants declared on {@link ServerEvent} - * @param server the server that the module event takes place - * @param module the module that has changed - * @param state the module state after the change (<code>STATE_XXX</code>) - * constants declared on {@link IServer} - * @param publishingState the module publishing state after the - * change (<code>PUBLISH_STATE_XXX</code>) - * constants declared on {@link IServer} - * @param restartState get the module restart state after the module is restart - * needed property change event. - */ - public ServerEvent(int kind, IServer server, IModule[] module, int state, int publishingState, boolean restartState) { - this.kind = kind |= MODULE_CHANGE; - this.server = server; - this.moduleTree = module; - this.state = state; - this.publishState = publishingState; - this.restartState = restartState; - - if (moduleTree == null || moduleTree.length == 0) - throw new IllegalArgumentException("Module parameter invalid"); - if ((kind & SERVER_CHANGE) != 0) - throw new IllegalArgumentException("Kind parameter invalid"); - - checkKind(); - } - - private void checkKind() { - int i = 0; - if ((kind & STATE_CHANGE) != 0) - i++; - if ((kind & RESTART_STATE_CHANGE) != 0) - i++; - if ((kind & PUBLISH_STATE_CHANGE) != 0) - i++; - - if (i != 1) - throw new IllegalArgumentException("Kind parameter invalid"); - } - - /** - * Returns the kind of the server event. - * <p> - * This kind can be used to test whether this event is a server event or module event by using - * the following code (the example is checking for the server event): - * ((getKind() | SERVER_CHANGE) != 0) - * the following code (the example is checking for the module event): - * ((getKind() | MODULE_CHANGE) != 0) - * - * @return the kind of the change (<code>XXX_CHANGE</code> - * constants declared on {@link ServerEvent} - */ - public int getKind() { - return kind; - } - - /** - * Returns the module tree of the module involved in the module change event, - * or <code>null</code> if the event is not a module event, i.e. isModuleEvent() is false. - * - * @return the module tree of the module involved in the module change event, - * or <code>null</code> if the event is not a module event, i.e. - * isModuleEvent() is false. - */ - public IModule[] getModule() { - return moduleTree; - } - - /** - * Get the publish state after the change that triggers this server event. If this event - * is of the SERVER_CHANGE kind, then the publishing state is the server publishing state. - * If this event is of the MODULE_CHANGE kind, then the publishing state is the module - * publishing state. - * - * @return the publishing state after the change (<code>PUBLISH_STATE_XXX</code>) - * constants declared on {@link IServer} - */ - public int getPublishState() { - return publishState; - } - - /** - * Get the restart state after isRestartNeeded() property change event. - * If this event is of the SERVER_CHANGE kind, then the restart state is the server - * restart state. If this event is of the MODULE_CHANGE kind, then the restart state - * is the module restart state. - * - * @return <code>true</code> if restart is needed, and - * <code>false</code> otherwise - */ - public boolean getRestartState() { - return restartState; - } - - /** - * Get the state after the change that triggers this server event. If this event - * is of the SERVER_CHANGE kind, then the state is the server state. - * If this event is of the MODULE_CHANGE kind, then the state is the module - * state. - * - * @return the server state after the change (<code>STATE_XXX</code>) - * constants declared on {@link IServer} - */ - public int getState() { - return state; - } - - /** - * Returns the server involved in the change event. - * - * @return the server involved in the change event. - */ - public IServer getServer() { - return server; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerPort.java deleted file mode 100644 index 9914bf84c..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerPort.java +++ /dev/null @@ -1,139 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; -/** - * This class represents a port on a server. - * - * @since 1.0 - */ -public class ServerPort { - private String id; - private String name; - private int port; - private String protocol; - private String[] contentTypes; - private boolean advanced; - - /** - * Create a new server port. - * - * @param id a server-specific port id - * @param name a human-readable name for the port - * @param port the number number - * @param protocol the port's protocol - */ - public ServerPort(String id, String name, int port, String protocol) { - this(id, name, port, protocol, null, true); - } - - /** - * Create a new server port. - * - * @param id a server-specific port id - * @param name a human-readable name for the port - * @param port the number number - * @param protocol the port's protocol - * @param contentTypes the content types that the port supports - * @param advanced <code>true</code> if the port is "advanced" and should only - * be shown to advanced users, <code>false</code> otherwise - */ - public ServerPort(String id, String name, int port, String protocol, String[] contentTypes, boolean advanced) { - super(); - this.id = id; - this.name = name; - this.port = port; - this.protocol = protocol; - this.contentTypes = contentTypes; - this.advanced = advanced; - } - - /** - * Return an optional internal id used to identify this port. - * - * @return an internal id - */ - public String getId() { - return id; - } - - /** - * Return the name of the port. - * - * @return the name of the port - */ - public String getName() { - return name; - } - - /** - * Return the actual port number. - * - * @return the port number - */ - public int getPort() { - return port; - } - - /** - * Returns the protocol, e.g. HTTP of this port. Returns null - * if the protocol is unknown. - * - * @return the procotol - */ - public String getProtocol() { - return protocol; - } - - /** - * Returns the content types that this port would normally serve, or null - * if the content is unknown. - * - * @return a possibly empty array of content types - */ - public String[] getContentTypes() { - return contentTypes; - } - - /** - * Returns true if this port is an "advanced" port and should not be shown - * to novice users. - * - * @return <code>true</code> if the port is advanced, or <code>false</code> - * otherwise - */ - public boolean isAdvanced() { - return advanced; - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (!(obj instanceof ServerPort)) - return false; - ServerPort sp = (ServerPort) obj; - return (sp.port == port); - } - - /** - * @see Object#hashCode() - */ - public int hashCode() { - return port; - } - - /** - * @see Object#toString() - */ - public String toString() { - return "ServerPort [" + getName() + ", " + getId() + ", " + getPort() + ", " + getProtocol() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java deleted file mode 100644 index 751cb61b2..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java +++ /dev/null @@ -1,764 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core; - -import java.util.*; - -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.debug.core.ILaunchConfiguration; - -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.internal.*; -/** - * Server utility methods. These static methods can be used to perform - * common operations on server artifacts. - * - * @since 1.0 - */ -public class ServerUtil { - /** - * Static utility class - cannot create an instance. - */ - private ServerUtil() { - // do nothing - } - - /** - * Returns the project modules attached to a project. - * - * @param project a project - * @return a possibly empty array of modules - */ - public static IModule getModule(IProject project) { - if (project == null) - throw new IllegalArgumentException(); - - IModule[] modules = getModules(); - if (modules != null) { - int size = modules.length; - for (int i = 0; i < size; i++) { - if (modules[i] != null && project.equals(modules[i].getProject())) - return modules[i]; - } - } - return null; - } - - /** - * Returns a module from the given moduleId. The moduleId must not be null. - * - * @param moduleId a module id - * @return the module, or <code>null</code> if the module could not be found - */ - public static IModule getModule(String moduleId) { - if (moduleId == null) - throw new IllegalArgumentException(); - - int index = moduleId.indexOf(":"); - if (index <= 0) - return null; - - String factoryId = moduleId.substring(0, index); - ModuleFactory moduleFactory = ServerPlugin.findModuleFactory(factoryId); - if (moduleFactory == null) - return null; - - String moduleSubId = moduleId.substring(index+1); - IModule module = moduleFactory.getModule(moduleSubId); - if (module != null) - return module; - return null; - } - - /** - * Return all the available modules from all factories whose - * type matches the given module types. - * - * @param moduleTypes an array of module types - * @return a possibly empty array of modules - */ - public static IModule[] getModules(IModuleType[] moduleTypes) { - List list = new ArrayList(); - - ModuleFactory[] factories = ServerPlugin.getModuleFactories(); - if (factories != null) { - int size = factories.length; - for (int i = 0; i < size; i++) { - if (isSupportedModule(factories[i].getModuleTypes(), moduleTypes)) { - IModule[] modules = factories[i].getModules(); - if (modules != null) { - int size2 = modules.length; - for (int j = 0; j < size2; j++) - list.add(modules[j]); - } - } - } - } - IModule[] modules = new IModule[list.size()]; - list.toArray(modules); - return modules; - } - - /** - * Return all the available modules from all factories whose - * type matches the given module type id. - * - * @param type a module type - * @return a possibly empty array of modules - */ - public static IModule[] getModules(String type) { - List list = new ArrayList(); - - ModuleFactory[] factories = ServerPlugin.getModuleFactories(); - if (factories != null) { - int size = factories.length; - for (int i = 0; i < size; i++) { - if (isSupportedModule(factories[i].getModuleTypes(), type, null)) { - IModule[] modules = factories[i].getModules(); - if (modules != null) { - int size2 = modules.length; - for (int j = 0; j < size2; j++) - if(type.equals(modules[j].getModuleType().getId())) - list.add(modules[j]); - } - } - } - } - IModule[] modules = new IModule[list.size()]; - list.toArray(modules); - return modules; - } - - /** - * Returns <code>true</code> if any of the given moduleTypes have the given - * module type id and version id. - * - * @param moduleTypes an array of module types - * @param typeId a module type - * @param versionId a module version - * @return <code>true</code> if the module type is supported, and - * <code>false</code> otherwise - */ - public static boolean isSupportedModule(IModuleType[] moduleTypes, String typeId, String versionId) { - if (moduleTypes != null) { - int size = moduleTypes.length; - for (int i = 0; i < size; i++) { - if (isSupportedModule(moduleTypes[i], typeId, versionId)) - return true; - } - } - return false; - } - - private static boolean isSupportedModule(IModuleType[] moduleTypes, IModuleType[] mt) { - if (mt != null) { - int size = mt.length; - for (int i = 0; i < size; i++) { - if (isSupportedModule(moduleTypes, mt[i])) - return true; - } - } - return false; - } - - /** - * Returns <code>true</code> if any of the given moduleTypes match the given - * module type. - * - * @param moduleTypes an array of modules types - * @param mt a module type - * @return <code>true</code> if the module type is supported, and - * <code>false</code> otherwise - */ - public static boolean isSupportedModule(IModuleType[] moduleTypes, IModuleType mt) { - if (moduleTypes != null) { - int size = moduleTypes.length; - for (int i = 0; i < size; i++) { - if (isSupportedModule(moduleTypes[i], mt)) - return true; - } - } - return false; - } - - private static boolean isSupportedModule(IModuleType moduleType, String type, String version) { - String type2 = moduleType.getId(); - if (matches(type, type2)) { - String version2 = moduleType.getVersion(); - if (matches(version, version2)) - return true; - } - return false; - } - - /** - * Returns true if the two given module types are compatible. The moduleTypes may not - * be null. - * - * @param moduleType a module type - * @param mt a module type - * @return <code>true</code> if the module type is supported, and - * <code>false</code> otherwise - */ - public static boolean isSupportedModule(IModuleType moduleType, IModuleType mt) { - if (moduleType == null || mt == null) - throw new IllegalArgumentException(); - - String type2 = moduleType.getId(); - if (matches(mt.getId(), type2)) { - String version2 = moduleType.getVersion(); - if (matches(mt.getVersion(), version2)) - return true; - } - return false; - } - - private static boolean matches(String a, String b) { - if (a == null || b == null || "*".equals(a) || "*".equals(b) || a.startsWith(b) || b.startsWith(a) - || (a.endsWith(".*") && b.startsWith(a.substring(0, a.length() - 1))) - || (b.endsWith(".*") && a.startsWith(b.substring(0, b.length() - 1)))) - return true; - return false; - } - - /** - * Return all the available modules from all factories. - * - * @return a possibly empty array of modules - */ - private static IModule[] getModules() { - List list = new ArrayList(); - - ModuleFactory[] factories = ServerPlugin.getModuleFactories(); - if (factories != null) { - int size = factories.length; - for (int i = 0; i < size; i++) { - IModule[] modules = factories[i].getModules(); - if (modules != null) { - int size2 = modules.length; - for (int j = 0; j < size2; j++) { - if (!list.contains(modules[j])) { - if (isSupportedModule(factories[i].getModuleTypes(), modules[j].getModuleType())) - list.add(modules[j]); - else - Trace.trace(Trace.WARNING, "Invalid module returned from factory, ignored: " + modules[j]); - } - } - } - } - } - IModule[] modules = new IModule[list.size()]; - list.toArray(modules); - return modules; - } - - /** - * Adds or removes modules from a server. Will search for the first parent module - * of each module and add it to the server instead. This method will handle multiple - * modules having the same parent (the parent will only be added once), but may not - * handle the case where the same module or parent is being both added and removed. - * - * @param server a server - * @param add an array of modules to add, or <code>null</code> to not add any - * @param remove an array of modules to remove, or <code>null</code> to not remove any - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if anything goes wrong - */ - public static void modifyModules(IServerWorkingCopy server, IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException { - if (server == null) - throw new IllegalArgumentException(); - - if (add == null) - add = new IModule[0]; - if (remove == null) - remove = new IModule[0]; - - int size = add.length; - List addParentModules = new ArrayList(); - for (int i = 0; i < size; i++) { - boolean found = false; - try { - IModule[] parents = server.getRootModules(add[i], monitor); - if (parents != null) { - found = true; - if (parents.length > 0) { - Object parent = parents[0]; - found = true; - if (!addParentModules.contains(parent)) - addParentModules.add(parent); - } - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not find parent module", e); - } - - if (!found) - addParentModules.add(add[i]); - } - - size = remove.length; - List removeParentModules = new ArrayList(); - for (int i = 0; i < size; i++) { - boolean found = false; - try { - IModule[] parents = server.getRootModules(remove[i], monitor); - if (parents != null) { - found = true; - if (parents.length > 0) { - Object parent = parents[0]; - found = true; - if (!removeParentModules.contains(parent)) - removeParentModules.add(parent); - } - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not find parent module 2", e); - } - - if (!found) - removeParentModules.add(remove[i]); - } - - IModule[] add2 = new IModule[addParentModules.size()]; - addParentModules.toArray(add2); - IModule[] remove2 = new IModule[removeParentModules.size()]; - removeParentModules.toArray(remove2); - - server.modifyModules(add2, remove2, monitor); - } - - /** - * Sets a default name on the given runtime. - * - * @param runtime a runtime - */ - public static void setRuntimeDefaultName(IRuntimeWorkingCopy runtime) { - String typeName = runtime.getRuntimeType().getName(); - - String name = NLS.bind(Messages.defaultRuntimeName, typeName); - int i = 2; - while (isNameInUse(name)) { - name = NLS.bind(Messages.defaultRuntimeName2, new String[] {typeName, i + ""}); - i++; - } - runtime.setName(name); - } - - /** - * Sets a default name on the given server. - * - * @param server a server - */ - public static void setServerDefaultName(IServerWorkingCopy server) { - if (server == null) - throw new IllegalArgumentException(); - - String typeName = server.getServerType().getName(); - String host = server.getHost(); - - String name = NLS.bind(Messages.defaultServerName, new String[] {typeName, host}); - int i = 2; - while (isNameInUse(name)) { - name = NLS.bind(Messages.defaultServerName2, new String[] {typeName, host, i + ""}); - i++; - } - server.setName(name); - } - - private static boolean isValidFilename(String name) { - IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE); - if (status != null && !status.isOK()) - return false; - - status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FOLDER); - if (status != null && !status.isOK()) - return false; - - return true; - } - - private static String getValidFileName(String name) { - if (isValidFilename(name)) - return name; - - // remove invalid characters - String[] s = new String[] {".", "\\", "/", "?", ":", "*", "\"", "|", "<", ">"}; - int ind = 0; - while (ind < s.length) { - int index = name.indexOf(s[ind]); - while (index >= 0) { - name = name.substring(0, index) + name.substring(index+1); - index = name.indexOf(s[ind]); - } - ind++; - } - return name; - } - - /** - * Returns an unused file in the given project. - * - * @param project a project - * @param type a server type - * @return an unused file within the given project - */ - /*public static IFile getUnusedServerFile(IProject project, IServerType type) { - if (project == null || type == null) - throw new IllegalArgumentException(); - - String typeName = getValidFileName(type.getName()); - String name = NLS.bind(Messages.defaultServerName3, typeName)+ "." + Server.FILE_EXTENSION; - int i = 2; - while (isFileNameInUse(project, name)) { - name = NLS.bind(Messages.defaultServerName4, new String[] {typeName, i + ""}) + "." + Server.FILE_EXTENSION; - i++; - } - return project.getFile(name); - }*/ - - /** - * Returns an unused file in the given project. - * - * @param project a project - * @param server a server - * @return an unused file within the given project - */ - public static IFile getUnusedServerFile(IProject project, IServer server) { - if (project == null || server == null) - throw new IllegalArgumentException(); - - String typeName = getValidFileName(server.getName()); - String name = NLS.bind(Messages.defaultServerName3, typeName)+ "." + Server.FILE_EXTENSION; - int i = 2; - while (isFileNameInUse(project, name)) { - name = NLS.bind(Messages.defaultServerName4, new String[] {typeName, i + ""}) + "." + Server.FILE_EXTENSION; - i++; - } - return project.getFile(name); - } - - /** - * Returns true if a server or runtime exists with the given name. - * - * @param name a name - * @return <code>true</code> if the name is in use, and <code>false</code> - * otherwise - */ - private static boolean isNameInUse(String name) { - if (name == null) - return true; - - List list = new ArrayList(); - - addAll(list, ServerCore.getRuntimes()); - addAll(list, ServerCore.getServers()); - - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - Object obj = iterator.next(); - if (obj instanceof IServerAttributes && name.equalsIgnoreCase(((IServerAttributes)obj).getName())) - return true; - if (obj instanceof IRuntime && name.equalsIgnoreCase(((IRuntime)obj).getName())) - return true; - } - - return false; - } - - private static void addAll(List list, Object[] obj) { - if (obj == null) - return; - - int size = obj.length; - for (int i = 0; i < size; i++) { - list.add(obj[i]); - } - } - - /** - * Returns true if an element exists with the given name. - * - * @param project a project - * @param name a file or folder name - * @return boolean <code>true</code> if the file or folder name is being - * used, and <code>false</code> otherwise - */ - private static boolean isFileNameInUse(IProject project, String name) { - if (name == null || project == null) - return false; - - if (project.getFile(name).exists()) - return true; - if (project.getFolder(name).exists()) - return true; - - return false; - } - - /** - * Return a list of all runtime targets that match the given type and version. - * If type or version is null, it matches all of that type or version. - * - * @param type a module type - * @param version a module version - * @return a possibly-empty array of runtime instances {@link IRuntime} - */ - public static IRuntime[] getRuntimes(String type, String version) { - List list = new ArrayList(); - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - IRuntimeType runtimeType = runtimes[i].getRuntimeType(); - if (runtimeType != null && isSupportedModule(runtimeType.getModuleTypes(), type, version)) { - list.add(runtimes[i]); - } - } - } - - IRuntime[] runtimes2 = new IRuntime[list.size()]; - list.toArray(runtimes2); - return runtimes2; - } - - /** - * Return a list of all runtime types that match the given type and version. - * If type or version is null, it matches all of that type or version. - * - * @param type a module type - * @param version a module version - * @return a possibly-empty array of runtime type instances {@link IRuntimeType} - */ - public static IRuntimeType[] getRuntimeTypes(String type, String version) { - List list = new ArrayList(); - IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes(); - if (runtimeTypes != null) { - int size = runtimeTypes.length; - for (int i = 0; i < size; i++) { - if (isSupportedModule(runtimeTypes[i].getModuleTypes(), type, version)) { - list.add(runtimeTypes[i]); - } - } - } - - IRuntimeType[] rt = new IRuntimeType[list.size()]; - list.toArray(rt); - return rt; - } - - /** - * Return a list of all runtime types that match the given type, version, - * and partial runtime type id. If type, version, or runtimeTypeId is null, - * it matches all of that type or version. - * - * @param type a module type - * @param version a module version - * @param runtimeTypeId the id of a runtime type - * @return a possibly-empty array of runtime type instances {@link IRuntimeType} - */ - public static IRuntimeType[] getRuntimeTypes(String type, String version, String runtimeTypeId) { - List list = new ArrayList(); - IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes(); - if (runtimeTypes != null) { - int size = runtimeTypes.length; - for (int i = 0; i < size; i++) { - if (isSupportedModule(runtimeTypes[i].getModuleTypes(), type, version)) { - if (runtimeTypeId == null || runtimeTypes[i].getId().startsWith(runtimeTypeId)) - list.add(runtimeTypes[i]); - } - } - } - - IRuntimeType[] rt = new IRuntimeType[list.size()]; - list.toArray(rt); - return rt; - } - - /** - * Returns a list of all servers that this deployable is not currently - * configured on, but could be added to. If includeErrors is true, this - * method return servers where the parent deployable may throw errors. For - * instance, this deployable may be the wrong spec level. - * - * @param module a module - * @param includeErrors <code>true</code> to include servers that returned - * errors when trying to add the module, and <code>false</code> otherwise - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a possibly empty array of servers - */ - public static IServer[] getAvailableServersForModule(IModule module, boolean includeErrors, IProgressMonitor monitor) { - if (module == null) - return new IServer[0]; - - // do it the slow way - go through all servers and - // see if this deployable is not configured in it - // but could be added - List list = new ArrayList(); - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (!containsModule(servers[i], module, monitor)) { - try { - IModule[] parents = servers[i].getRootModules(module, monitor); - if (parents != null && parents.length > 0) { - boolean found = false; - if (parents != null) { - int size2 = parents.length; - for (int j = 0; !found && j < size2; j++) { - IModule parent = parents[j]; - IStatus status = servers[i].canModifyModules(new IModule[] { parent }, new IModule[0], monitor); - if (status == null || status.isOK()){ - list.add(servers[i]); - found = true; - } - } - } - } - } catch (Exception se) { - if (includeErrors) - list.add(servers[i]); - } - } - } - } - - // make sure that the preferred server is the first one - //IServer server = ServerCore.getServerPreferences().getDeployableServerPreference(deployable); - //if (server != null && list.contains(server) && list.indexOf(server) != 0) { - // list.remove(server); - // list.add(0, server); - //} - - IServer[] allServers = new IServer[list.size()]; - list.toArray(allServers); - return allServers; - } - - /** - * Returns a list of all servers that this module is configured on. - * - * @param module a module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a possibly-empty array of server instances {@link IServer} - */ - public static IServer[] getServersByModule(IModule module, IProgressMonitor monitor) { - if (module == null) - return new IServer[0]; - - // do it the slow way - go through all servers and - // see if this module is configured in it - List list = new ArrayList(); - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (containsModule(servers[i], module, monitor)) - list.add(servers[i]); - } - } - - IServer[] allServers = new IServer[list.size()]; - list.toArray(allServers); - return allServers; - } - - /** - * Returns true if the given server currently contains the given module. - * - * @param server a server - * @param module a module - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return boolean <code>true</code> if the module is contained on the server, - * or <code>false</code> otherwise - */ - public static boolean containsModule(IServer server, final IModule module, IProgressMonitor monitor) { - if (server == null) - return false; - Trace.trace(Trace.FINEST, "containsModule() " + server + " " + module); - - class Helper { - boolean b; - } - final Helper h = new Helper(); - - ((Server)server).visit(new IModuleVisitor() { - public boolean visit(IModule[] modules) { - int size = modules.length; - if (modules[size - 1].equals(module)) { - h.b = true; - return false; - } - return true; - } - }, null); - return h.b; - } - - /** - * Returns the server associated with the given launch configuration. - * - * @param configuration a launch configuration - * @return the server associated with the launch configuration, or - * <code>null</code> if no server could be found - * @throws CoreException if there is a problem getting the attribute from - * the launch configuration - */ - public static IServer getServer(ILaunchConfiguration configuration) throws CoreException { - String serverId = configuration.getAttribute(Server.ATTR_SERVER_ID, (String) null); - - if (serverId != null) - return ServerCore.findServer(serverId); - return null; - } - - /** - * Validates whether this server can be editted. - * - * @param context the context (Shell) - * @param server the server - * @return a status object with code <code>IStatus.OK</code> if the server - * can be edited, otherwise a status object indicating what when wrong - * with the checkout - */ - public static IStatus validateEdit(Object context, IServer server) { - return ((Server)server).validateEdit(context); - } - - /** - * Returns the port that is being used to monitor the given port on the server. - * This method can be used whenever creating a 'client' for the server, and allows - * the client to seamlessly use a monitored port instead of going directly to the - * server. - * - * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * </p> - * - * @param server a server - * @param port a port on the server - * @param contentType the content type, e.g. "web" - * @return the monitored port, or the original port number if the port is not - * currently being monitored - */ - public static int getMonitoredPort(IServer server, int port, String contentType) { - return ServerMonitorManager.getInstance().getMonitoredPort(server, port, contentType); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java deleted file mode 100644 index 816dbb495..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core; - -import java.util.HashMap; -import java.util.Map; -/** - * A task model represents a model that can be shared between multiple - * tasks in a common workflow. - * <p> - * The task model contains information about the overall task flow and allows - * tasks to store and retreive data. Its usage allows mutliple tasks to be - * chained together and share data from the output of one task to the input - * of another. - * </p> - * - * @since 1.0 - */ -public class TaskModel { - /** - * Task model id for an IRuntime. - * - * @see #getObject(String) - * @see #putObject(String, Object) - */ - public static final String TASK_RUNTIME = "runtime"; - - /** - * Task model id for an IServer. - * - * @see #getObject(String) - * @see #putObject(String, Object) - */ - public static final String TASK_SERVER = "server"; - - /** - * Task model id for an array of modules. - * The value is a List containing IModule[] arrays. - * - * @see #getObject(String) - * @see TaskModel#putObject(String, Object) - */ - public static final String TASK_MODULES = "modules"; - - /** - * Task model id for a launch mode. - * - * @see #getObject(String) - * @see #putObject(String, Object) - */ - public static final String TASK_LAUNCH_MODE = "launch-mode"; - - private Map map = new HashMap(); - - /** - * Returns the object in the task model with the given id. - * <p> - * The id can be any of the predefined ids within TaskModel, or - * any other key to retreive task-specific data. - * </p> - * - * @param id an id for the object - * @return the object with the given id, or <code>null</code> - * if no object could be found with that id - */ - public Object getObject(String id) { - try { - return map.get(id); - } catch (Exception e) { - return null; - } - } - - /** - * Put an object into the task model with the given id. - * <p> - * The id can be any of the predefined ids within TaskModel, or - * any other key to store task-specific data. - * </p> - * - * @param id the id to associate the object with - * @param obj an object, or <code>null</code> to reset (clear) the id - */ - public void putObject(String id, Object obj) { - map.put(id, obj); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java deleted file mode 100644 index d2c154c6b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java +++ /dev/null @@ -1,387 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.FileInputStream; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.*; -import org.eclipse.osgi.util.NLS; -/** - * Helper class for storing runtime and server attributes. - */ -public abstract class Base { - protected static final String PROP_LOCKED = "locked"; - protected static final String PROP_PRIVATE = "private"; - protected static final String PROP_NAME = "name"; - protected static final String PROP_ID = "id"; - - protected Map map = new HashMap(); - - // file loaded from, or null if it is saved in metadata - protected IFile file; - - /** - * Create a new object. - * - * @param file - */ - public Base(IFile file) { - this.file = file; - } - - /** - * Create a new object. - * - * @param file - * @param id - */ - public Base(IFile file, String id) { - this.file = file; - //this.map = map; - map.put(PROP_ID, id); - } - - /** - * Returns the timestamp of this object. - * Timestamps are monotonically increased each time the object is saved - * and can be used to determine if any changes have been made on disk - * since the object was loaded. - * - * @return the object's timestamp - */ - public int getTimestamp() { - return getAttribute("timestamp", -1); - } - - /** - * Returns the file where this server instance is serialized. - * - * @return the file in the workspace where the server instance - * is serialized, or <code>null</code> if the information is - * instead to be persisted with the workspace but not with any - * particular workspace resource - */ - public IFile getFile() { - return file; - } - - public String getAttribute(String attributeName, String defaultValue) { - try { - Object obj = map.get(attributeName); - if (obj == null) - return defaultValue; - return (String) obj; - } catch (Exception e) { - // ignore - } - return defaultValue; - } - - public int getAttribute(String attributeName, int defaultValue) { - try { - Object obj = map.get(attributeName); - if (obj == null) - return defaultValue; - return Integer.parseInt((String) obj); - } catch (Exception e) { - // ignore - } - return defaultValue; - } - - public boolean getAttribute(String attributeName, boolean defaultValue) { - try { - Object obj = map.get(attributeName); - if (obj == null) - return defaultValue; - return Boolean.valueOf((String) obj).booleanValue(); - } catch (Exception e) { - // ignore - } - return defaultValue; - } - - public List getAttribute(String attributeName, List defaultValue) { - try { - Object obj = map.get(attributeName); - if (obj == null) - return defaultValue; - List list = (List) obj; - if (list != null) - return list; - } catch (Exception e) { - // ignore - } - return defaultValue; - } - - public Map getAttribute(String attributeName, Map defaultValue) { - try { - Object obj = map.get(attributeName); - if (obj == null) - return defaultValue; - Map map2 = (Map) obj; - if (map2 != null) - return map2; - } catch (Exception e) { - // ignore - } - return defaultValue; - } - - public String getId() { - return getAttribute(PROP_ID, ""); - } - - public String getName() { - return getAttribute(PROP_NAME, ""); - } - - public boolean isReadOnly() { - return getAttribute(PROP_LOCKED, false); - } - - /** - * Returns <code>true</code> if this runtime is private (not shown - * in the UI to the users), and <code>false</code> otherwise. - * - * @return <code>true</code> if this runtime is private, - * and <code>false</code> otherwise - */ - public boolean isPrivate() { - return getAttribute(PROP_PRIVATE, false); - } - - public boolean isWorkingCopy() { - return false; - } - - protected abstract String getXMLRoot(); - - protected void save(IMemento memento) { - //IMemento child = memento.createChild("properties"); - IMemento child = memento; - Iterator iterator = map.keySet().iterator(); - while (iterator.hasNext()) { - String key = (String) iterator.next(); - Object obj = map.get(key); - if (obj instanceof String) - child.putString(key, (String) obj); - else if (obj instanceof Integer) { - Integer in = (Integer) obj; - child.putInteger(key, in.intValue()); - } else if (obj instanceof Boolean) { - Boolean bool = (Boolean) obj; - child.putBoolean(key, bool.booleanValue()); - } else if (obj instanceof List) { - List list = (List) obj; - saveList(child, key, list); - } else if (obj instanceof Map) { - Map map2 = (Map) obj; - saveMap(child, key, map2); - - } - } - saveState(child); - } - protected void saveMap(IMemento memento, String key, Map map2) { - IMemento child = memento.createChild("map"); - child.putString("key", key); - Iterator iterator = map2.keySet().iterator(); - while (iterator.hasNext()) { - String s = (String) iterator.next(); - child.putString(s, (String)map2.get(s)); - } - } - - protected void saveList(IMemento memento, String key, List list) { - IMemento child = memento.createChild("list"); - child.putString("key", key); - int i = 0; - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - String s = (String) iterator.next(); - child.putString("value" + (i++), s); - } - } - - protected void saveToFile(IProgressMonitor monitor) throws CoreException { - try { - XMLMemento memento = XMLMemento.createWriteRoot(getXMLRoot()); - save(memento); - - InputStream in = memento.getInputStream(); - if (file.exists()) - file.setContents(in, true, true, ProgressUtil.getSubMonitorFor(monitor, 1000)); - else - file.create(in, true, ProgressUtil.getSubMonitorFor(monitor, 1000)); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save " + getXMLRoot(), e); - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorSaving, getFile().toString()), e)); - } - } - - protected void doSave(IProgressMonitor monitor) throws CoreException { - if (file != null) - saveToFile(monitor); - else - saveToMetadata(monitor); - ResourceManager.getInstance().resolveServers(); - } - - protected void saveToMetadata(IProgressMonitor monitor) { - // do nothing - } - - protected abstract void saveState(IMemento memento); - - protected void load(IMemento memento) { - map = new HashMap(); - - Iterator iterator = memento.getNames().iterator(); - while (iterator.hasNext()) { - String key = (String) iterator.next(); - map.put(key, memento.getString(key)); - } - IMemento[] children = memento.getChildren("list"); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - loadList(children[i]); - } - } - IMemento[] maps = memento.getChildren("map"); - if (maps != null) { - for (int i = 0; i <maps.length ; i++) { - loadMap(maps[i]); - } - } - - loadState(memento); - } - - - protected void loadMap(IMemento memento) { - String key = memento.getString("key"); - Map vMap = new HashMap(); - List keys = memento.getNames(); - Iterator iterator = keys.iterator(); - while(iterator.hasNext()) { - String s = (String)iterator.next(); - String v = memento.getString(s); - vMap.put(s,v); - } - map.put(key, vMap); - } - - - protected void loadList(IMemento memento) { - String key = memento.getString("key"); - List list = new ArrayList(); - int i = 0; - String key2 = memento.getString("value" + (i++)); - while (key2 != null) { - list.add(key2); - key2 = memento.getString("value" + (i++)); - } - map.put(key, list); - } - - protected abstract void loadState(IMemento memento); - - protected void resolve() { - // do nothing - } - - public void delete() throws CoreException { - if (isWorkingCopy()) - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "Cannot delete a working copy", null)); - - if (file != null) - file.delete(true, true, new NullProgressMonitor()); - else - deleteFromMetadata(); - } - - protected void deleteFromMetadata() { - // do nothing - } - - public boolean equals(Object obj) { - if (!(obj instanceof Base)) - return false; - - Base base = (Base) obj; - if (getId() == null) - return false; - return getId().equals(base.getId()); - } - - /** - * - */ - protected void loadFromFile(IProgressMonitor monitor) throws CoreException { - InputStream in = null; - try { - in = file.getContents(); - IMemento memento = XMLMemento.loadMemento(in); - load(memento); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load from file" + e.getMessage(), e); - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, getFile().toString()), e)); - } finally { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - } - - protected void loadFromMemento(IMemento memento, IProgressMonitor monitor) { - load(memento); - } - - /** - * - */ - protected void loadFromPath(IPath path, IProgressMonitor monitor) throws CoreException { - FileInputStream fin = null; - try { - fin = new FileInputStream(path.toFile()); - IMemento memento = XMLMemento.loadMemento(fin); - load(memento); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load from path: " + e.getMessage(), e); - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorLoading, path.toString()), e)); - } finally { - try { - fin.close(); - } catch (Exception e) { - // ignore - } - } - } - - public IStatus validateEdit(Object context) { - if (file == null) - return null; - - return file.getWorkspace().validateEdit(new IFile[] { file }, context); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ChainedJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ChainedJob.java deleted file mode 100644 index 37bdead7a..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ChainedJob.java +++ /dev/null @@ -1,100 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.jobs.IJobChangeEvent; -import org.eclipse.core.runtime.jobs.IJobChangeListener; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.core.runtime.jobs.JobChangeAdapter; -import org.eclipse.wst.server.core.IServer; -/** - * A Job that can start another job upon successful completion. - */ -public abstract class ChainedJob extends Job { - private IServer server; - private Job nextJob; - private IJobChangeListener listener; - - /** - * Create a new dependant job. - * - * @param name the name of the job - * @param server the server to publish to - */ - public ChainedJob(String name, IServer server) { - super(name); - this.server = server; - } - - /** - * @see Job#belongsTo(java.lang.Object) - */ - public boolean belongsTo(Object family) { - return ServerPlugin.PLUGIN_ID.equals(family); - } - - /** - * Returns the server that this job was created with. - * - * @return a server - */ - public IServer getServer() { - return server; - } - - /** - * Create a listener for when this job finishes. - */ - protected void createListener() { - if (listener != null) - return; - - listener = new JobChangeAdapter() { - public void done(IJobChangeEvent event) { - jobDone(event.getResult()); - } - }; - - addJobChangeListener(listener); - } - - /** - * Called when this job is complete. - * - * @param status the result of the current job - */ - protected void jobDone(IStatus status) { - if (listener == null) - return; - - removeJobChangeListener(listener); - listener = null; - - if (nextJob != null && status != null && status.getSeverity() != IStatus.ERROR - && status.getSeverity() != IStatus.CANCEL) - nextJob.schedule(); - } - - /** - * Set the next job, which should be scheduled if and only if this job completes - * successfully. The next job will be run as long as the result of this job is - * not an ERROR or CANCEL status. - * This method is not thread-safe. However, the next job can be changed anytime - * up until the current job completes. - * - * @param job the next job that should be scheduled - */ - public void setNextJob(Job job) { - nextJob = job; - createListener(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java deleted file mode 100644 index a648f737f..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java +++ /dev/null @@ -1,129 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.debug.core.ILaunch; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.ClientDelegate; -/** - * - */ -public class Client implements IClient { - private IConfigurationElement element; - private ClientDelegate delegate; - - /** - * Create a new client. - * - * @param element a configuration element - */ - public Client(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * @see IClient#getId() - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the relative priority of this adapter. - * - * @return a priority - */ - public int getPriority() { - try { - return Integer.parseInt(element.getAttribute("priority")); - } catch (Exception e) { - return 0; - } - } - - /** - * @see IClient#getDescription() - */ - public String getDescription() { - return element.getAttribute("description"); - } - - protected String getLaunchable() { - return element.getAttribute("launchable"); - } - - /** - * @see IClient#getName() - */ - public String getName() { - String label = element.getAttribute("name"); - if (label == null) - return "n/a"; - return label; - } - - /** - * Return the delegate. - * - * @return the delegate, or <code>null</code> if it couldn't be loaded - */ - public ClientDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (ClientDelegate) element.createExecutableExtension("class"); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage()); - } - } - return delegate; - } - - /** - * @see IClient#supports(IServer, Object, String) - */ - public boolean supports(IServer server, Object launchable, String launchMode) { - if (launchable == null) - return false; - //if (!launchable.getClass().getName().equals(getLaunchable())) - // return false; - try { - return getDelegate().supports(server, launchable, launchMode); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - return false; - } - } - - /** - * @see IClient#launch(IServer, Object, String, ILaunch) - */ - public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch) { - try { - return getDelegate().launch(server, launchable, launchMode, launch); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - return null; - } - - /** - * Return a string representation of this object. - * - * @return String - */ - public String toString() { - return "Client[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/DeletedModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/DeletedModule.java deleted file mode 100644 index b0e2325a9..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/DeletedModule.java +++ /dev/null @@ -1,84 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 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.internal; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleType; -/** - * - */ -public class DeletedModule implements IModule { - protected String id; - protected String name; - - public DeletedModule(String id, String name) { - this.id = id; - this.name = name; - } - - public String getId() { - return id; - } - - public IStatus validate(IProgressMonitor monitor) { - return null; - } - - public String getName() { - return name; - } - - public IModuleType getModuleType() { - return null; - } - - public IProject getProject() { - return null; - } - - public void addModuleListener(IModuleListener listener) { - // ignore - } - - public void removeModuleListener(IModuleListener listener) { - // ignore - } - - public IModule[] getChildModules(IProgressMonitor monitor) { - return null; - } - - public Object getAdapter(Class adapter) { - return null; - } - - public Object loadAdapter(Class adapter, IProgressMonitor monitor) { - return null; - } - - public boolean equals(Object obj) { - if (!(obj instanceof IModule)) - return false; - - IModule m = (IModule) obj; - if (!getId().equals(m.getId())) - return false; - - return true; - } - - public String toString() { - return "DeletedModule[" + name + "," + id + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IClient.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IClient.java deleted file mode 100644 index 2f9828a62..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IClient.java +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.wst.server.core.IServer; -/** - * A launchable client is a client side application or test - * harness that can be launched (run) against a resource - * running on a server. - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IClient { - /** - * 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 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 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 true if this launchable can be run by this client. - * - * @param server the server - * @param launchable the launchable object - * @param launchMode the mode - * @return boolean - */ - public boolean supports(IServer server, Object launchable, String launchMode); - - /** - * Launches the client. - * - * @param server the server - * @param launchable the launchable object - * @param launchMode the mode - * @param launch the launch - * @return a status object with code <code>IStatus.OK</code> if the launch was - * successful, otherwise a status object indicating what went wrong - */ - public IStatus launch(IServer server, Object 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/internal/IInstallableRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableRuntime.java deleted file mode 100644 index a71ce23da..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableRuntime.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -/** - * Represents an installable runtime. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - */ -public interface IInstallableRuntime { - /** - * Returns the id of this runtime type. - * Each known server runtime type 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 runtime type id - */ - public String getId(); - - /** - * Install this runtime. - * - * @param path the path to install the runtime at - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if an exception occurs while creating this runtime - * or setting it's default values - */ - public void install(IPath path, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableServer.java deleted file mode 100644 index 5180a2976..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IInstallableServer.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -/** - * Represents an installable server adapter. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - */ -public interface IInstallableServer { - /** - * Returns the id of this runtime type. - * Each known server runtime type 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 runtime type id - */ - public String getId(); - - /** - * Returns the displayable name for this runtime type. - * <p> - * Note that this name is appropriate for the current locale. - * </p> - * - * @return a displayable name for this runtime type - */ - public String getName(); - - /** - * Returns the displayable description for this runtime type. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable description for this runtime type - */ - public String getDescription(); - - /** - * Returns the displayable vendor name for this runtime type. If the - * runtime type did not specific a vendor, an empty string is returned. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable vendor name for this runtime type - */ - public String getVendor(); - - /** - * Returns the displayable version name for this runtime type. If the - * runtime type did not specific a vendor, an empty string is returned. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable version name for this runtime type - */ - public String getVersion(); - - /** - * Install this server. - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if an exception occurs while creating this runtime - * or setting it's default values - */ - public void install(IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ILaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ILaunchableAdapter.java deleted file mode 100644 index 0d0e92dab..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ILaunchableAdapter.java +++ /dev/null @@ -1,42 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.wst.server.core.IModuleArtifact; -import org.eclipse.wst.server.core.IServer; -/** - * This interface, typically implemented by the server - * 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 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 a launchable object from this module object. - * - * @param server the server - * @param moduleArtifact an artifact in the module - * @return a launchable object - * @exception CoreException thrown if there is a problem returning the launchable - */ - public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java deleted file mode 100644 index a082439c3..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMemento.java +++ /dev/null @@ -1,189 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.List; -/** - * Interface to a memento used for saving the important state of an object - * in a form that can be persisted in the file system. - * <p> - * Mementos were designed with the following requirements in mind: - * <ol> - * <li>Certain objects need to be saved and restored across platform sessions. - * </li> - * <li>When an object is restored, an appropriate class for an object might not - * be available. It must be possible to skip an object in this case.</li> - * <li>When an object is restored, the appropriate class for the object may be - * different from the one when the object was originally saved. If so, the - * new class should still be able to read the old form of the data.</li> - * </ol> - * </p> - * <p> - * Mementos meet these requirements by providing support for storing a - * mapping of arbitrary string keys to primitive values, and by allowing - * mementos to have other mementos as children (arranged into a tree). - * A robust external storage format based on XML is used. - * </p><p> - * The key for an attribute may be any alpha numeric value. However, the - * value of <code>TAG_ID</code> is reserved for internal use. - * </p><p> - * This interface is not intended to be implemented by clients. - * </p> - */ -public interface IMemento { - /** - * Special reserved key used to store the memento id - * (value <code>"org.eclipse.ui.id"</code>). - * - * @see #getId - */ - public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$ - - /** - * Creates a new child of this memento with the given type. - * <p> - * The <code>getChild</code> and <code>getChildren</code> methods - * are used to retrieve children of a given type. - * </p> - * - * @param type the type - * @return a new child memento - * @see #getChild - * @see #getChildren - */ - public IMemento createChild(String type); - - /** - * Creates a new child of this memento with the given type and id. - * The id is stored in the child memento (using a special reserved - * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>. - * <p> - * The <code>getChild</code> and <code>getChildren</code> methods - * are used to retrieve children of a given type. - * </p> - * - * @param type the type - * @param id the child id - * @return a new child memento with the given type and id - * @see #getId - */ - public IMemento createChild(String type, String id); - - /** - * Returns the first child with the given type id. - * - * @param type the type id - * @return the first child with the given type - */ - public IMemento getChild(String type); - - /** - * Returns all children with the given type id. - * - * @param type the type id - * @return the list of children with the given type - */ - public IMemento[] getChildren(String type); - - /** - * Returns the floating point value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not a floating point number - */ - public Float getFloat(String key); - - /** - * Returns the id for this memento. - * - * @return the memento id, or <code>null</code> if none - * @see #createChild(java.lang.String,java.lang.String) - */ - public String getId(); - - /** - * Returns the name for this memento. - * - * @return the memento name, or <code>null</code> if none - * @see #createChild(java.lang.String,java.lang.String) - */ - public String getName(); - - /** - * Returns the integer value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not an integer - */ - public Integer getInteger(String key); - - /** - * Returns the string value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not an integer - */ - public String getString(String key); - - /** - * Returns the boolean value of the given key. - * - * @param key the key - * @return the value, or <code>null</code> if the key was not found or was found - * but was not a boolean - */ - public Boolean getBoolean(String key); - - public List getNames(); - - /** - * Sets the value of the given key to the given floating point number. - * - * @param key the key - * @param value the value - */ - public void putFloat(String key, float value); - - /** - * Sets the value of the given key to the given integer. - * - * @param key the key - * @param value the value - */ - public void putInteger(String key, int value); - - /** - * Sets the value of the given key to the given boolean value. - * - * @param key the key - * @param value the value - */ - public void putBoolean(String key, boolean value); - - /** - * Copy the attributes and children from <code>memento</code> - * to the receiver. - * - * @param memento the IMemento to be copied. - */ - public void putMemento(IMemento memento); - - /** - * Sets the value of the given key to the given string. - * - * @param key the key - * @param value the value - */ - public void putString(String key, String value); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleListener.java deleted file mode 100644 index ad0329240..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleListener.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; -/** - * - */ -public interface IModuleListener { - /** - * A module has been changed as specified in the event. - * - * @param event org.eclipse.wst.server.core.model.ModuleEvent - */ - public void moduleChanged(ModuleEvent event); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModulePublishHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModulePublishHelper.java deleted file mode 100644 index ea6dfad35..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModulePublishHelper.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.IModule; -/** - * Temporary interface to help the web services team. - */ -public interface IModulePublishHelper { - /** - * Returns the path that the module is published to, or null if the module is not - * published to the server or the location is unknown. - * - * @param module a module on the server - * @return the path that the module is published to, or <code>null</code> if not - * a valid module or the location is unknown - */ - public IPath getPublishDirectory(IModule[] module); -} diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleResourceDeltaVisitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleResourceDeltaVisitor.java deleted file mode 100644 index 45e73252b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleResourceDeltaVisitor.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.wst.server.core.model.IModuleResourceDelta; -/** - * An objects that visits module resource deltas. - * <p> - * Usage: - * <pre> - * class Visitor implements IModuleResourceDeltaVisitor { - * public boolean visit(IModuleResourceDelta delta) { - * switch (delta.getKind()) { - * case IModuleResourceDelta.ADDED : - * // handle added resource - * break; - * case IModuleResourceDelta.REMOVED : - * // handle removed resource - * break; - * case IModuleResourceDelta.CHANGED : - * // handle changed resource - * break; - * } - * return true; - * } - * } - * IModuleResourceDelta rootDelta = ...; - * rootDelta.accept(new Visitor()); - * </pre> - * </p> - * <p> - * Clients may implement this interface. - * </p> - * - * [issue: @see IModuleResourceDelta#accept(IModuleResourceVisitor)] - */ -public interface IModuleResourceDeltaVisitor { - /** - * Visits the given module resource delta. - * - * @param delta the resource delta - * @return <code>true</code> if the resource delta's children should - * be visited; <code>false</code> if they should be skipped. - * @throws CoreException if the visit fails for some reason. - */ - public boolean visit(IModuleResourceDelta delta) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleVisitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleVisitor.java deleted file mode 100644 index 00e362b77..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IModuleVisitor.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.wst.server.core.IModule; -/** - * A visitor on a server's modules. - */ -public interface IModuleVisitor { - /** - * Visit a single module. Returns true to keep visiting, and - * false if it should stop visiting the module. - * - * @param module a module on the server - * @return boolean <code>true</code> to visit the next module, or - * <code>false</code> to stop visiting - */ - public boolean visit(IModule[] module); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java deleted file mode 100644 index 69ae23b79..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IMonitoredServerPort.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; - -/** - * An monitored port on a server. - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IMonitoredServerPort { - /** - * Returns the server that it being monitored. - * - * @return org.eclipse.wst.server.core.IServer - */ - public IServer getServer(); - - /** - * Returns the server port. - * - * @return org.eclipse.wst.server.model.IServerPort - */ - public ServerPort getServerPort(); - - /** - * Return the port that is being used to monitor. - * - * @return int - */ - public int getMonitorPort(); - - /** - * Returns the content types that are being monitored, or null for all content. - * - * @return java.lang.String[] - */ - public String[] getContentTypes(); - - /** - * Returns true if the monitor is currently running/active. - * - * @return boolean - */ - public boolean isStarted(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IOrdered.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IOrdered.java deleted file mode 100644 index e0f30076e..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IOrdered.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; -/** - * An object that has an absolute ordering, and can be ordered against other objects. - * - * <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>This interface is not intended to be implemented by clients.</p> - */ -public interface IOrdered { - /** - * Returns the order (index/priority). - * - * @return int - */ - public int getOrder(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IPublishTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IPublishTask.java deleted file mode 100644 index 50915e3cf..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IPublishTask.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.List; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.PublishOperation; -/** - * A task for a server. - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IPublishTask { - /** - * Returns the id of the adapter. - * - * @return java.lang.String - */ - public String getId(); - - /** - * Returns true if the given type (given by the id) can use this task. This - * result is based on the result of the getTypeIds() method. - * - * @param id a server type id - * @return boolean - */ - public boolean supportsType(String id); - - /** - * Lets the task know that it is about to be used. This method should - * be used to clean out any previously cached information, or start to - * create a new cache. - * - * @param server the server - * @param modules a list containing IModule arrays - * @return a possibly empty array of optional tasks - */ - public PublishOperation[] getTasks(IServer server, List modules); - - /** - * Returns the tasks that should be performed during publishing. - * - * @param server the server - * @param modules a list containing IModule arrays - * @param kind one of the IServer.PUBLISH_XX constants - * @param kindList one of the IServer publish change constants - * @return the tasks that should be performed on the server - */ - public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IRuntimeLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IRuntimeLocator.java deleted file mode 100644 index d5bf9ecba..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IRuntimeLocator.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -/** - * A runtime locator provides the ability to locate or search for additional - * runtimes of a particular type. - * <p> - * Runtime locators are found via ServerCore.getRuntimeLocators(). - * </p> - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IRuntimeLocator { - /** - * A callback listener interface. - */ - public interface IRuntimeSearchListener { - /** - * Called when a new runtime is found by the locator. - * The runtime must never be null. - * - * @param runtime the runtime that was found. - */ - public void runtimeFound(IRuntimeWorkingCopy runtime); - } - - /** - * Returns the id of this runtime locator. - * Each known runtime locator 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 runtime locator id - */ - public String getId(); - - /** - * Returns true if the runtime locator can find runtimes of the given type. - * The id should never be null. - * - * @param runtimeTypeId the id of a runtime type - * @return boolean - */ - public boolean supportsType(String runtimeTypeId); - - /** - * Searches for local runtimes. - * It uses the callback listener to report runtimes that are found. - * The path contains the absolute path of the folder to search in, - * or <code>null</code> to search the entire machine. - * - * @param path the path to search for runtimes in - * @param listener a listener to report status to - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException - */ - public void searchForRuntimes(IPath path, IRuntimeSearchListener listener, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java deleted file mode 100644 index 242cafb97..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerLocator.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * A server locator provides the ability to locate or search for additional - * servers of a particular type, on a particular host. - * <p> - * Server locators are found via ServerCore.getServerLocators(). - * </p> - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IServerLocator { - /** - * A callback listener interface. - */ - public interface IServerSearchListener { - /** - * Called when a new server is found by the locator. - * The server must never be null. - * - * @param server the runtime that was found. - */ - public void serverFound(IServerWorkingCopy server); - } - - /** - * Returns the id of this server locator. - * Each known server locator 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 server locator id - */ - public String getId(); - - /** - * Returns true if the server locator can find servers of the given type. - * The id should never be null. - * - * @param serverTypeId the id of a server type - * @return boolean - */ - public boolean supportsType(String serverTypeId); - - /** - * Returns <code>true</code> if this type of server can run on a remote host. - * Returns <code>false</code> if the server type can only be run on "localhost" - * (the local machine). - * - * @return <code>true</code> if this type of server can run on - * a remote host, and <code>false</code> if it cannot - */ - public boolean supportsRemoteHosts(); - - /** - * Searches for servers. - * It uses the callback listener to report servers that are found. - * - * @param host a host string conforming to RFC 2732 - * @param listener a listener to report status to - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException - */ - public void searchForServers(String host, IServerSearchListener listener, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java deleted file mode 100644 index 780d186b0..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitor.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; -/** - * An interface to a TCP/IP monitor. - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IServerMonitor { - /** - * Returns the id of the monitor. - * - * @return java.lang.String - */ - public String getId(); - - /** - * Returns the label (name) of this monitor. - * - * @return java.lang.String - */ - public String getName(); - - /** - * Returns the description of this monitor. - * - * @return java.lang.String - */ - public String getDescription(); - - /** - * Start monitoring the given port, and return the port number to - * tunnel requests through. The monitorPort is the new port to use, or - * -1 to pick a random port. - * - * @param port - * @return - */ - //public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException; - - /** - * Stop monitoring the given port. - * - * @param port - */ - //public void stopMonitoring(IServer server, ServerPort port); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitorManager.java deleted file mode 100644 index 7d1faf750..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IServerMonitorManager.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; -/** - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IServerMonitorManager { - /** - * Returns the array of ports that are currently being monitored. - * - * @param server a server - * @return an array containing the monitored ports for this server - */ - public IMonitoredServerPort[] getMonitoredPorts(IServer server); - - /** - * Starts monitoring the given port, and returns the new port # to use that will - * route to the monitored port. - * - * @param server - * @param port - * @param monitorPort - the new port number to use for monitoring, or -1 to pick a new port - * @param content - * @return monitor port number - */ - public IMonitoredServerPort createMonitor(IServer server, ServerPort port, int monitorPort, String[] content); - - /** - * Stop monitoring the given port. Throws a CoreException if there was a problem - * stopping the monitoring - * - * @param msp the monitored port - */ - public void removeMonitor(IMonitoredServerPort msp); - - /** - * Start the monitor. If the msp port is -1, it will be updated to the port that is actually in use. - * - * @param msp the monitored port - * @throws CoreException - */ - public void startMonitor(IMonitoredServerPort msp) throws CoreException; - - /** - * Stop monitoring. - * - * @param msp the monitored port - */ - public void stopMonitor(IMonitoredServerPort msp); - - /** - * Returns the monitored port to use when making requests to the given server, port number, - * and content. Returns the existing port number if the port is not being monitored. - * - * @param server - * @param port - * @param contentType - * @return the monitored port number - */ - public int getMonitoredPort(IServer server, int port, String contentType); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IStartup.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IStartup.java deleted file mode 100644 index f8df3267f..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/IStartup.java +++ /dev/null @@ -1,23 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; -/** - * An interface for the startup extension point. - * Plug-ins that register a startup extension will be activated when the server - * core plug-in initializes and have an opportunity to run code that can't be - * implemented using the normal contribution mechanisms. - */ -public interface IStartup { - /** - * Will be called on server core startup. - */ - public void startup(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java deleted file mode 100644 index 2c18430ac..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime.java +++ /dev/null @@ -1,156 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.BufferedInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.net.URL; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Platform; -import org.eclipse.update.standalone.InstallCommand; -import org.osgi.framework.Bundle; -/** - * - */ -public class InstallableRuntime implements IInstallableRuntime { - private IConfigurationElement element; - - public InstallableRuntime(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * - * @return the id - */ - public String getId() { - try { - return element.getAttribute("id"); - } catch (Exception e) { - return null; - } - } - - public String getFeatureVersion() { - try { - return element.getAttribute("featureVersion"); - } catch (Exception e) { - // ignore - } - return null; - } - - public String getFeatureId() { - try { - return element.getAttribute("featureId"); - } catch (Exception e) { - // ignore - } - return null; - } - - public String getBundleId() { - try { - return element.getAttribute("bundleId"); - } catch (Exception e) { - // ignore - } - return null; - } - - public String getPath() { - try { - return element.getAttribute("path"); - } catch (Exception e) { - // ignore - } - return null; - } - - public String getFromSite() { - try { - return element.getAttribute("featureSite"); - } catch (Exception e) { - // ignore - } - return null; - } - - /* - * @see IInstallableServer#install(IProgressMonitor) - */ - public void install(IPath path, IProgressMonitor monitor) throws CoreException { - String featureId = getFeatureId(); - String featureVersion = getFeatureVersion(); - String fromSite = getFromSite(); - - if (featureId == null || featureVersion == null || fromSite == null) - return; - - // download and install plugins - Bundle bundle = Platform.getBundle(getBundleId()); - if (bundle == null) { - try { - monitor.setTaskName("Installing feature"); - InstallCommand command = new InstallCommand(featureId, featureVersion, fromSite, null, "false"); - command.run(monitor); - command.applyChangesNow(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error installing feature", e); - return; - } - } - - // unzip from bundle into path - try { - byte[] buf = new byte[8192]; - bundle = Platform.getBundle(getBundleId()); - URL url = bundle.getEntry(getPath()); - url = Platform.resolve(url); - InputStream in = url.openStream(); - BufferedInputStream bin = new BufferedInputStream(in); - ZipInputStream zin = new ZipInputStream(bin); - ZipEntry entry = zin.getNextEntry(); - while (entry != null) { - String name = entry.getName(); - monitor.setTaskName("Unzipping: " + name); - - if (entry.isDirectory()) { - path.append(name).toFile().mkdirs(); - } else { - FileOutputStream fout = new FileOutputStream(path.append(name).toFile()); - int r = zin.read(buf); - while (r >= 0) { - fout.write(buf, 0, r); - r = zin.read(buf); - } - } - zin.closeEntry(); - entry = zin.getNextEntry(); - } - zin.close(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error installing feature", e); - } - } - - public String toString() { - return "InstallableRuntime[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java deleted file mode 100644 index 69f2b4775..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java +++ /dev/null @@ -1,136 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.update.standalone.InstallCommand; -/** - * - */ -public class InstallableServer implements IInstallableServer { - private IConfigurationElement element; - - public InstallableServer(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * - * @return the id - */ - public String getId() { - try { - return element.getAttribute("id"); - } catch (Exception e) { - return null; - } - } - - /** - * - * @return the name - */ - public String getName() { - try { - return element.getAttribute("name"); - } catch (Exception e) { - return null; - } - } - - /** - * - * @return the description - */ - public String getDescription() { - try { - return element.getAttribute("description"); - } catch (Exception e) { - return null; - } - } - - public String getVendor() { - try { - String vendor = element.getAttribute("vendor"); - if (vendor != null) - return vendor; - } catch (Exception e) { - // ignore - } - return Messages.defaultVendor; - } - - public String getVersion() { - try { - String version = element.getAttribute("version"); - if (version != null) - return version; - } catch (Exception e) { - // ignore - } - return Messages.defaultVersion; - } - - public String getFeatureVersion() { - try { - return element.getAttribute("featureVersion"); - } catch (Exception e) { - // ignore - } - return null; - } - - public String getFeatureId() { - try { - return element.getAttribute("featureId"); - } catch (Exception e) { - // ignore - } - return null; - } - - public String getFromSite() { - try { - return element.getAttribute("featureSite"); - } catch (Exception e) { - // ignore - } - return null; - } - - /* - * @see IInstallableServer#install(IProgressMonitor) - */ - public void install(IProgressMonitor monitor) throws CoreException { - String featureId = getFeatureId(); - String featureVersion = getFeatureVersion(); - String fromSite = getFromSite(); - - if (featureId == null || featureVersion == null || fromSite == null) - return; - - try { - InstallCommand command = new InstallCommand(featureId, featureVersion, fromSite, null, "false"); - command.run(monitor); - command.applyChangesNow(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error installing feature", e); - } - } - - public String toString() { - return "InstallableServer[" + getId() + ", " + getName() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java deleted file mode 100644 index 87e4e5687..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/LaunchableAdapter.java +++ /dev/null @@ -1,75 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IConfigurationElement; - -import org.eclipse.wst.server.core.IModuleArtifact; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.*; -/** - * - */ -public class LaunchableAdapter implements ILaunchableAdapter { - private IConfigurationElement element; - private LaunchableAdapterDelegate delegate; - - /** - * LaunchableAdapter constructor comment. - * - * @param element a configuration element - */ - public LaunchableAdapter(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * Returns the id of this LaunchableAdapter. - * - * @return java.lang.String - */ - public String getId() { - return element.getAttribute("id"); - } - - public LaunchableAdapterDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (LaunchableAdapterDelegate) element.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage()); - } - } - return delegate; - } - - /** - * @see ILaunchableAdapter#getLaunchable(IServer, IModuleArtifact) - */ - public Object getLaunchable(IServer server, IModuleArtifact object) { - try { - return getDelegate().getLaunchable(server, object); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - return null; - } - } - - /** - * Return a string representation of this object. - * - * @return java.lang.String - */ - public String toString() { - return "LaunchableAdapter[" + getId() + "]"; - } -} diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java deleted file mode 100644 index 7329ec272..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.java +++ /dev/null @@ -1,71 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String publishing; - public static String errorRuntimeName; - public static String errorDuplicateRuntimeName; - public static String errorSaving; - public static String errorLoading; - public static String errorCannotAddModule; - public static String defaultVendor; - public static String defaultVersion; - public static String savingTask; - public static String taskPerforming; - public static String deletingTask; - public static String defaultServerProjectName; - public static String defaultRuntimeName; - public static String defaultRuntimeName2; - public static String defaultServerName; - public static String defaultServerName2; - public static String defaultServerName3; - public static String defaultServerName4; - public static String taskModifyModules; - public static String errorWorkingCopyTimestamp; - public static String errorPublishStarting; - public static String errorPublishNoRuntime; - public static String errorPublishNoConfiguration; - public static String errorNoConfiguration; - public static String canPublishOk; - public static String publishingStatusOk; - public static String publishingStatusInfo; - public static String publishingStatusWarning; - public static String publishingStatusError; - public static String errorPublishing; - public static String publishingStop; - public static String publishingModule; - public static String publishedModule; - public static String errorStartTimeout; - public static String errorStartFailed; - public static String errorModuleRestartFailed; - public static String canRestartModuleOk; - public static String errorRestartModule; - public static String canStartErrorState; - public static String errorLaunchMode; - public static String canStartOk; - public static String canRestartOk; - public static String errorRestartNotStarted; - public static String errorStopAlreadyStopped; - public static String canStopOk; - public static String moduleTypeUnknown; - public static String jobStartingServer; - public static String jobRestartingServer; - public static String jobUpdateServer; - - static { - NLS.initializeMessages(ServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties deleted file mode 100644 index 90cd03a00..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Messages.properties +++ /dev/null @@ -1,75 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# --------------- Tasks (progress monitors) --------------- -savingTask=Saving {0} -deletingTask=Deleting {0} - -taskPerforming=Performing Tasks -taskModifyModules=Adding and/or removing projects. - -publishing=Publishing to {0}... -publishingStatusOk=Publishing finished successfully -publishingStatusInfo=Publishing completed with information -publishingStatusWarning=Publishing completed with a warning -publishingStatusError=Publishing failed -publishingStop=Disconnecting from server - -publishingModule=Publishing: {0} -publishedModule={0} published successfully - -jobStartingServer=Starting server - {0} -jobRestartingServer=Restarting server - {0} -jobUpdateServer=Updating status for {0}... - -# --------------- Misc UI --------------- - -# Error Messages -errorPublishing=Could not publish to the server. -errorNoConfiguration=The server has no configuration. -errorLoading=Error loading from {0}. -errorSaving=Could not save to {0}. -errorModuleRestartFailed=Could not restart the module. -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. -errorStartTimeout=Timeout waiting for {0} to start. Server did not start after {1}s. -errorStartFailed=Server {0} failed to start. -errorCannotAddModule=The server does not support version {1} of the {0} specification. - -# Default server creation names -# {0} will be replaced by a number if the given name is already being used -defaultServerProjectName=Servers{0} -defaultRuntimeName={0} -defaultRuntimeName2={0} ({1}) -defaultServerName={0} @ {1} -defaultServerName2={0} @ {1} ({2}) -defaultServerName3={0} -defaultServerName4={0} ({1}) - -# Used when a name can't be found -defaultVendor=Basic -defaultVersion=Basic -moduleTypeUnknown=Unknown module - -canStartOk=The server can be started. -canStopOk=The server can be stopped. -canRestartOk=The server can be restarted. -canPublishOk=The server can be published to. -canRestartModuleOk=The module can be restarted. -canStartErrorState=The server cannot be started because it is current starting or stopping. -errorLaunchMode=The server does not support the given launch mode. -errorRestartNotStarted=Cannot restart the server because it is not currently running. -errorPublishStarting=Cannot publish to the server because it is currently starting or stopping. -errorPublishNoRuntime=Cannot publish to the server because it is missing its runtime. -errorPublishNoConfiguration=Cannot publish to the server because the configuration is missing. -errorStopAlreadyStopped=The server cannot be stopped because it is already stopped. -errorRestartModule=The module cannot be restarted. diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java deleted file mode 100644 index 8ea482b02..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java +++ /dev/null @@ -1,229 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.ModuleDelegate; -/** - * - */ -public class Module implements IModule { - protected String id; - protected String name; - protected ModuleFactory factory; - protected String type; - protected String version; - protected IProject project; - protected ModuleDelegate delegate; - - /** - * Module constructor. - * - * @param factory - * @param id - * @param name - * @param type - * @param version - * @param project - */ - public Module(ModuleFactory factory, String id, String name, String type, String version, IProject project) { - super(); - this.factory = factory; - this.project = project; - this.type = type; - this.version = version; - this.id = id; - this.name = name; - } - - /** - * Returns the id of this module. - * - * @return java.lang.String - */ - public String getId() { - return factory.getId() + ":" + id; - } - - /** - * Returns the internal (partial) id of this module. - * - * @return the id - */ - public String getInternalId() { - return id; - } - - /** - * Returns the type of this module. - * - * @return the module type - */ - public IModuleType getModuleType() { - return new ModuleType(type, version); - } - - /** - * Returns the workbench project that this module is contained in, - * or null if the module is outside of the workspace. - * - * @return the project that the module is contained in - */ - public IProject getProject() { - return project; - } - - /* - * @see IModule#getName() - */ - public String getName() { - return name; - } - - protected ModuleDelegate getDelegate(IProgressMonitor monitor) { - if (delegate != null) - return delegate; - - synchronized (this) { - if (delegate == null) { - try { - long time = System.currentTimeMillis(); - delegate = factory.getDelegate(monitor).getModuleDelegate(this); - delegate.initialize(this); - Trace.trace(Trace.PERFORMANCE, "Module.getDelegate(): <" + (System.currentTimeMillis() - time) + " " + factory.getId()); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t); - } - } - } - return delegate; - } - - /** - * Returns the child modules of this module. - * - * @param monitor a progress monitor - * @return a possibly empty array of modules - */ - public IModule[] getChildModules(IProgressMonitor monitor) { - try { - return getDelegate(monitor).getChildModules(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate getChildModules() " + toString(), e); - return null; - } - } - - /** - * Validates this module. - * <p> - * [issue: Conjecture: Each different type of module prescribes - * legal arrangements of, and the significance of, the files within - * it. This would be spelled out in the spec for the particular - * module types. - * This validate operation is suppose to check the actual - * arrangement of files in this module to see whether they - * meet expectations. - * It's an open question as to how "strenuous" a check this - * is.] - * </p> - * <p> - * [issue: Old comment said: "If there is an error - * that should block the server from starting (e.g. major errors) - * it should be returned from this method. This method can also be used to - * return warning for such things as an open (and dirty) editor."] - * </p> - * <p> - * [issue: All existing implementations of this return null, - * which is illegal.] - * </p> - * <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 - * be associated with any number of servers, "the server" is - * ill-defined.] - * </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 - * difficult in principle for core-level infrastructure to - * detect whether there are open editors with unsaved changes.] - * </p> - * - * @param monitor a progress monitor, or <code>null</code> if no - * progress reporting is required - * @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(IProgressMonitor monitor) { - try { - return getDelegate(monitor).validate(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate validate() " + toString(), e); - return null; - } - } - - /** - * @see IModule#getAdapter(Class) - */ - public Object getAdapter(Class adapter) { - if (delegate != null) { - if (adapter.isInstance(delegate)) - return delegate; - } - return Platform.getAdapterManager().getAdapter(this, adapter); - } - - /** - * @see IModule#loadAdapter(Class, IProgressMonitor) - */ - public Object loadAdapter(Class adapter, IProgressMonitor monitor) { - getDelegate(monitor); - if (adapter.isInstance(delegate)) - return delegate; - return Platform.getAdapterManager().loadAdapter(this, adapter.getName()); - } - - public boolean equals(Object obj) { - if (!(obj instanceof IModule)) - return false; - - IModule m = (IModule) obj; - if (!getId().equals(m.getId())) - return false; - //if (!project.equals(m.getProject())) - // return false; - //if (!getModuleType().equals(m.getModuleType())) - // return false; - - return true; - } - - public int hashCode() { - return getId().hashCode(); - } - - /** - * Return a string representation of this object. - * - * @return java.lang.String - */ - public String toString() { - return "Module[" + name + "," + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java deleted file mode 100644 index dcc4d921a..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleArtifactAdapter.java +++ /dev/null @@ -1,196 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.expressions.*; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.Platform; -import org.eclipse.wst.server.core.IModuleArtifact; -import org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate; -import org.osgi.framework.Bundle; -/** - * - */ -public class ModuleArtifactAdapter { - private IConfigurationElement element; - private Expression fContextualLaunchExpr = null; - private ModuleArtifactAdapterDelegate delegate; - - /** - * ModuleArtifactAdapter constructor comment. - * - * @param element a configuration element - */ - public ModuleArtifactAdapter(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * Returns the id of this ModuleArtifactAdapter. - * - * @return java.lang.String - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the relative priority of this adapter. - * - * @return a priority - */ - public int getPriority() { - try { - return Integer.parseInt(element.getAttribute("priority")); - } catch (Exception e) { - return 0; - } - } - - /** - * Returns true if the plugin that loaded this class has been loaded. - * - * @return boolean - */ - public boolean isPluginActivated() { - String pluginId = element.getDeclaringExtension().getNamespace(); - return Platform.getBundle(pluginId).getState() == Bundle.ACTIVE; - } - - /** - * Returns an expression that represents the enablement logic for the - * contextual launch element of this launch shortcut description or - * <code>null</code> if none. - * @return an evaluatable expression or <code>null</code> - * @throws CoreException if the configuration element can't be - * converted. Reasons include: (a) no handler is available to - * cope with a certain configuration element or (b) the XML - * expression tree is malformed. - */ - public Expression getContextualLaunchEnablementExpression() throws CoreException { - if (fContextualLaunchExpr == null) { - IConfigurationElement[] elements = element.getChildren(ExpressionTagNames.ENABLEMENT); - IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; - - if (enablement != null) - fContextualLaunchExpr = ExpressionConverter.getDefault().perform(enablement); - } - return fContextualLaunchExpr; - } - - /** - * Evaluate the given expression within the given context and return - * the result. Returns <code>true</code> iff result is either TRUE or NOT_LOADED. - * This allows optimistic inclusion of shortcuts before plugins are loaded. - * Returns <code>false</code> if exp is <code>null</code>. - * - * @param exp the enablement expression to evaluate or <code>null</code> - * @param context the context of the evaluation. Usually, the - * user's selection. - * @return the result of evaluating the expression - * @throws CoreException - */ - protected boolean evalEnablementExpression(IEvaluationContext context, Expression exp) throws CoreException { - return (exp != null) ? ((exp.evaluate(context)) != EvaluationResult.FALSE) : false; - } - - /** - * @return an Evaluation context with default variable = selection - */ - /*protected IEvaluationContext createContext(Object obj) { - List list = null; - IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow(); - if (window != null) { - IWorkbenchPage page = window.getActivePage(); - if (page != null) { - IWorkbenchPart activePart = page.getActivePart(); - if (activePart instanceof IEditorPart) { - list = new ArrayList(); - list.add(((IEditorPart)activePart).getEditorInput()); - } else if (activePart != null) { - IWorkbenchPartSite site = activePart.getSite(); - if (site != null) { - ISelectionProvider selectionProvider = site.getSelectionProvider(); - if (selectionProvider != null) { - ISelection selection = selectionProvider.getSelection(); - if (selection instanceof IStructuredSelection) { - list = ((IStructuredSelection)selection).toList(); - } - } - } - } - } - } - // create a default evaluation context with default variable - // of the user selection or editor input - if (list == null) { - list = Collections.EMPTY_LIST; - } - IEvaluationContext context = new EvaluationContext(null, list); - context.addVariable("selection", list); //$NON-NLS-1$ - - return context; - }*/ - - /** - * Returns true if enabled for the given object. - * - * @param obj an object - * @return <code>true</code> if enabled - * @throws CoreException if anything goes wrong - */ - public boolean isEnabled(Object obj) throws CoreException { - IEvaluationContext context = new EvaluationContext(null, obj); - context.addVariable("selection", obj); - return evalEnablementExpression(context, getContextualLaunchEnablementExpression()); - } - - public ModuleArtifactAdapterDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (ModuleArtifactAdapterDelegate) element.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage()); - } - } - return delegate; - } - - public boolean isDelegateLoaded() { - return (delegate != null); - } - - /** - * Returns the module artifact. - * - * @param obj an object - * @return the module artifact, or <code>null</code> - */ - public IModuleArtifact getModuleArtifact(Object obj) { - try { - return getDelegate().getModuleArtifact(obj); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - return null; - } - } - - /** - * Return a string representation of this object. - * - * @return java.lang.String - */ - public String toString() { - return "ModuleArtifactAdapter[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleEvent.java deleted file mode 100644 index 3a0e86911..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleEvent.java +++ /dev/null @@ -1,100 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.IModule; -/** - * An event fired when a module changes. - */ -public class ModuleEvent { - private IModule module; - private boolean isChanged; - private IModule[] added; - private IModule[] changed; - private IModule[] removed; - - class IModuleArtifact { - IPath path; - long timestamp; - } - - /** - * Create a new module event. - * - * @param module the module that has been changed - * @param isChanged true if the module has changed - * @param added added child modules - * @param changed changed child modules - * @param removed removed child modules - */ - public ModuleEvent(IModule module, boolean isChanged, IModule[] added, IModule[] changed, IModule[] removed) { - this.module = module; - this.isChanged = isChanged; - this.added = added; - this.changed = changed; - this.removed = removed; - } - - /** - * Returns the module that has been changed. - * - * @return the module - */ - public IModule getModule() { - return module; - } - - /** - * Returns true if this module's settings have changed. - * - * @return <code>true</code> if the contents have changed - */ - public boolean isChanged() { - return isChanged; - } - - /** - * Returns any child modules that have been added. - * - * @return the added child modules, or null if no modules have been added - */ - public IModule[] getAddedChildModules() { - return added; - } - - /** - * Returns any child modules that have been changed. - * - * @return the changed child modules, or null if no modules have been changed - */ - public IModule[] getChangedChildModules() { - return changed; - } - - /** - * Returns any child modules that have been removed. - * - * @return the removed child modules, or null if no modules have been removed - */ - public IModule[] getRemovedChildModules() { - return removed; - } - - /** - * Returns the module artifacts that have changed. - * - * @return the changed module artifacts - */ - public IModuleArtifact[] getChangedArtifacts() { - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java deleted file mode 100644 index 6bc121264..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java +++ /dev/null @@ -1,160 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IProgressMonitor; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleType; -import org.eclipse.wst.server.core.model.InternalInitializer; -import org.eclipse.wst.server.core.model.ModuleFactoryDelegate; -/** - * - */ -public class ModuleFactory implements IOrdered { - private IConfigurationElement element; - public ModuleFactoryDelegate delegate; - private List moduleTypes; - - private List modules; - - /** - * ModuleFactory constructor comment. - * - * @param element a configuration element - */ - public ModuleFactory(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * Returns the id of this factory. - * - * @return java.lang.String - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the index (ordering) of this task. - * - * @return int - */ - public int getOrder() { - try { - return Integer.parseInt(element.getAttribute("order")); - } catch (NumberFormatException e) { - return -1; - } - } - - /** - * Return the supported module types. - * - * @return an array of module types - */ - public IModuleType[] getModuleTypes() { - if (moduleTypes == null) - moduleTypes = ServerPlugin.getModuleTypes(element.getChildren("moduleType")); - - IModuleType[] mt = new IModuleType[moduleTypes.size()]; - moduleTypes.toArray(mt); - return mt; - } - - /** - * Returns true if this modules factory produces project modules. - * - * @return boolean - */ - public boolean isProjectModuleFactory() { - return "true".equalsIgnoreCase(element.getAttribute("projects")); - } - - /* - * @see IModuleFactoryDelegate#getDelegate() - */ - public ModuleFactoryDelegate getDelegate(IProgressMonitor monitor) { - if (delegate == null) { - try { - delegate = (ModuleFactoryDelegate) element.createExecutableExtension("class"); - //delegate.initialize(this); - InternalInitializer.initializeModuleFactoryDelegate(delegate, this, monitor); - //ResourceManager.getInstance().addModuleFactoryListener(delegate); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage()); - } - } - return delegate; - } - - /* - * @see - */ - public IModule getModule(String id) { - IModule[] modules2 = getModules(); - if (modules2 != null) { - int size = modules2.length; - for (int i = 0; i < size; i++) { - Module module = (Module) modules2[i]; - if (id.equals(module.getInternalId())) - return module; - } - } - return null; - } - - public void clearModuleCache() { - modules = null; - } - - /* - * @see - */ - public IModule[] getModules() { - //Trace.trace(Trace.FINER, "getModules() > " + this); - if (modules == null) { - try { - modules = new ArrayList(); - IModule[] modules2 = getDelegate(null).getModules(); - if (modules2 != null) { - int size = modules2.length; - for (int i = 0; i < size; i++) - modules.add(modules2[i]); - } - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + t.getMessage()); - return null; - } - } - - //Trace.trace(Trace.FINER, "getModules() < " + this); - - IModule[] m = new IModule[modules.size()]; - modules.toArray(m); - return m; - } - - /** - * Return a string representation of this object. - * - * @return java.lang.String - */ - public String toString() { - return "ModuleFactory[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactoryEvent.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactoryEvent.java deleted file mode 100644 index 2aaf57765..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactoryEvent.java +++ /dev/null @@ -1,49 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.wst.server.core.IModule; -/** - * An event fired when a module factory changes. - */ -public class ModuleFactoryEvent { - protected IModule[] added; - protected IModule[] removed; - - /** - * Create a new event. - * - * @param added added modules - * @param removed removed modules - */ - public ModuleFactoryEvent(IModule[] added, IModule[] removed) { - this.added = added; - this.removed = removed; - } - - /** - * Returns any modules that have been added. - * - * @return org.eclipse.wst.server.core.model.IModule[] - */ - public IModule[] getAddedModules() { - return added; - } - - /** - * Returns any modules that have been removed. - * - * @return org.eclipse.wst.server.core.model.IModule[] - */ - public IModule[] getRemovedModules() { - return removed; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.java deleted file mode 100644 index 95c4e0383..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFile.java +++ /dev/null @@ -1,136 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.File; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.model.IModuleFile; -/** - * - */ -public class ModuleFile implements IModuleFile { - protected IFile file; - protected File file2; - protected String name; - protected IPath path; - protected long stamp = -1; - - /** - * Creates a workspace module file with the current modification stamp. - * - * @param file - * @param name - * @param path - */ - public ModuleFile(IFile file, String name, IPath path) { - this.file = file; - this.name = name; - this.path = path; - if (file != null) - stamp = file.getModificationStamp() + file.getLocalTimeStamp(); - } - - /** - * Creates an external module file with the current modification stamp. - * - * @param file - * @param name - * @param path - */ - public ModuleFile(File file, String name, IPath path) { - this.file2 = file; - this.name = name; - this.path = path; - if (file != null) - stamp = file2.lastModified(); - } - - /** - * Creates a workspace module file with a specific modification stamp. - * - * @param file - * @param name - * @param path - * @param stamp - * @deprecated use one of the top two constructors instead - */ - public ModuleFile(IFile file, String name, IPath path, long stamp) { - this.file = file; - this.name = name; - this.path = path; - this.stamp = stamp; - } - - /** - * Creates a module file with a specific modification stamp and no - * file reference. - * - * @param name - * @param path - * @param stamp - */ - public ModuleFile(String name, IPath path, long stamp) { - this.name = name; - this.path = path; - this.stamp = stamp; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleFile#getModificationStamp() - */ - public long getModificationStamp() { - return stamp; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath() - */ - public IPath getModuleRelativePath() { - return path; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResource#getName() - */ - public String getName() { - return name; - } - - public boolean equals(Object obj) { - if (!(obj instanceof IModuleFile)) - return false; - - IModuleFile mf = (IModuleFile) obj; - if (!name.equals(mf.getName())) - return false; - if (!path.equals(mf.getModuleRelativePath())) - return false; - return true; - } - - public int hashCode() { - return name.hashCode() * 37 + path.hashCode(); - } - - public Object getAdapter(Class cl) { - if (IFile.class.equals(cl)) - return file; - if (File.class.equals(cl)) - return file2; - return null; - } - - public String toString() { - return "ModuleFile [" + name + ", " + path + ", " + stamp + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java deleted file mode 100644 index 617f960bb..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java +++ /dev/null @@ -1,106 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.model.IModuleFolder; -import org.eclipse.wst.server.core.model.IModuleResource; -/** - * - */ -public class ModuleFolder implements IModuleFolder { - protected IContainer container; - protected String name; - protected IPath path; - protected IModuleResource[] members; - - /** - * Creates a workspace module folder. - * - * @param container - * @param name - * @param path - */ - public ModuleFolder(IContainer container, String name, IPath path) { - this.container = container; - this.name = name; - this.path = path; - } - - /** - * Creates a workspace module folder with no folder reference. - * - * @param name - * @param path - */ - public ModuleFolder(String name, IPath path) { - this.name = name; - this.path = path; - } - - /** - * Sets the members (contents) of this folder. - * - * @param members - */ - public void setMembers(IModuleResource[] members) { - this.members = members; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath() - */ - public IPath getModuleRelativePath() { - return path; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResource#getName() - */ - public String getName() { - return name; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleFolder#members() - */ - public IModuleResource[] members() { - return members; - } - - public boolean equals(Object obj) { - if (!(obj instanceof ModuleFolder)) - return false; - - ModuleFolder mf = (ModuleFolder) obj; - if (!name.equals(mf.name)) - return false; - if (!path.equals(mf.path)) - return false; - return true; - } - - public int hashCode() { - return name.hashCode() * 37 + path.hashCode(); - } - - public Object getAdapter(Class cl) { - if (IContainer.class.equals(cl) || IFolder.class.equals(cl)) - return container; - return null; - } - - public String toString() { - return "ModuleFolder [" + name + ", " + path + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java deleted file mode 100644 index 7bd8184c8..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleKind.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IConfigurationElement; -/** - * - */ -public class ModuleKind { - protected String id; - protected String name; - - public ModuleKind(IConfigurationElement ce) { - super(); - this.id = ce.getAttribute("id"); - this.name = ce.getAttribute("name"); - } - - public ModuleKind(String id, String name) { - super(); - this.id = id; - this.name = name; - } - - public String getId() { - return id; - } - - public String getName() { - return name; - } - - public String toString() { - return "ModuleType[" + id + ", " + name + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java deleted file mode 100644 index 555563506..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java +++ /dev/null @@ -1,133 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import org.eclipse.core.runtime.*; - -import org.eclipse.wst.server.core.*; -/** - * Helper class that stores preference information for the server tools. - */ -public class ModuleProperties { - private static final String MODULE_DATA_FILE = "modules.xml"; - - protected static ModuleProperties instance; - protected Map modules; - - /** - * ModuleProperties constructor. - */ - protected ModuleProperties() { - super(); - load(); - instance = this; - } - - /** - * Return a static instance. - * - * @return a static instance - */ - public static ModuleProperties getInstance() { - if (instance == null) - new ModuleProperties(); - return instance; - } - - /** - * Load the data. - */ - private void load() { - Trace.trace(Trace.FINEST, "Loading module info"); - String filename = ServerPlugin.getInstance().getStateLocation().append(MODULE_DATA_FILE).toOSString(); - modules = new HashMap(); - - try { - IMemento memento = XMLMemento.loadMemento(filename); - - IMemento[] children = memento.getChildren("module"); - int size = children.length; - - for (int i = 0; i < size; i++) { - String moduleId = children[i].getString("moduleId"); - String serverId = children[i].getString("serverId"); - modules.put(moduleId, serverId); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage()); - } - } - - private void save(IProgressMonitor monitor) throws CoreException { - String filename = ServerPlugin.getInstance().getStateLocation().append(MODULE_DATA_FILE).toOSString(); - - try { - XMLMemento memento = XMLMemento.createWriteRoot("modules"); - - Iterator iterator = modules.keySet().iterator(); - while (iterator.hasNext()) { - String moduleId = (String) iterator.next(); - String serverId = (String) modules.get(moduleId); - - IMemento child = memento.createChild("module"); - child.putString("moduleId", moduleId); - child.putString("serverId", serverId); - } - - memento.saveToFile(filename); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save servers", e); - } - } - - /* - * @see ServerCore#getDefaultServer(IModule) - */ - public IServer getDefaultServer(IModule module) { - if (module == null) - throw new IllegalArgumentException(); - - String serverId = (String) modules.get(module.getId()); - if (serverId == null || serverId.length() == 0) - return null; - - return ServerCore.findServer(serverId); - } - - /* - * @see ServerCore#setDefaultServer(IModule, IServer, IProgressMonitor) - */ - public void setDefaultServer(IModule module, IServer server, IProgressMonitor monitor) throws CoreException { - if (module == null) - throw new IllegalArgumentException(); - - String newServerId = null; - if (server != null) - newServerId = server.getId(); - - String serverId = (String) modules.get(module.getId()); - if (serverId == null && newServerId == null) - return; - if (serverId != null && serverId.equals(newServerId)) - return; - - modules.put(module.getId(), newServerId); - save(monitor); - } - - public String toString() { - return "ModuleProperties[]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java deleted file mode 100644 index 408b6908b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java +++ /dev/null @@ -1,166 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.*; -import org.eclipse.core.runtime.*; -import org.eclipse.wst.server.core.model.IModuleFile; -import org.eclipse.wst.server.core.model.IModuleFolder; -import org.eclipse.wst.server.core.model.IModuleResource; -/** - * Publish information for a specific module on a specific server. - */ -public class ModulePublishInfo { - private static final String MODULE_ID = "module-ids"; - private static final String NAME = "name"; - private static final String PATH = "path"; - private static final String STAMP = "stamp"; - private static final String FILE = "file"; - private static final String FOLDER = "folder"; - - private String moduleId; - private String name; - private IModuleResource[] resources = new IModuleResource[0]; - - /** - * ModulePublishInfo constructor. - * - * @param moduleId a module id - * @param name the module's name - */ - public ModulePublishInfo(String moduleId, String name) { - super(); - - this.moduleId = moduleId; - this.name = name; - } - - /** - * ModulePublishInfo constructor. - * - * @param memento a memento - */ - public ModulePublishInfo(IMemento memento) { - super(); - - load(memento); - } - - public String getModuleId() { - return moduleId; - } - - public String getName() { - return name; - } - - public IModuleResource[] getResources() { - return resources; - } - - public void setResources(IModuleResource[] res) { - resources = res; - } - - /** - * - */ - protected void load(IMemento memento) { - Trace.trace(Trace.FINEST, "Loading module publish info for: " + memento); - - try { - moduleId = memento.getString(MODULE_ID); - name = memento.getString(NAME); - - resources = loadResource(memento); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load module publish info information: " + e.getMessage()); - } - } - - protected IModuleResource[] loadResource(IMemento memento) { - if (memento == null) - return new IModuleResource[0]; - - List list = new ArrayList(5); - - // load files - IMemento[] children = memento.getChildren(FILE); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - String name2 = children[i].getString(NAME); - IPath path = new Path(children[i].getString(PATH)); - long stamp = Long.parseLong(children[i].getString(STAMP)); - ModuleFile file = new ModuleFile(name2, path, stamp); - list.add(file); - } - } - - // load folders - children = memento.getChildren(FOLDER); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - String name2 = children[i].getString(NAME); - IPath path = new Path(children[i].getString(PATH)); - ModuleFolder folder = new ModuleFolder(null, name2, path); - folder.setMembers(loadResource(children[i])); - list.add(folder); - } - } - - IModuleResource[] resources2 = new IModuleResource[list.size()]; - list.toArray(resources2); - return resources2; - } - - /** - * - */ - protected void save(IMemento memento) { - try { - memento.putString(MODULE_ID, moduleId); - if (name != null) - memento.putString(NAME, name); - - saveResource(memento, resources); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save module publish info", e); - } - } - - protected void saveResource(IMemento memento, IModuleResource[] resources2) { - if (resources2 == null) - return; - int size = resources2.length; - for (int i = 0; i < size; i++) { - if (resources2[i] instanceof IModuleFile) { - IModuleFile file = (IModuleFile) resources2[i]; - IMemento child = memento.createChild(FILE); - child.putString(NAME, file.getName()); - child.putString(PATH, file.getModuleRelativePath().toPortableString()); - child.putString(STAMP, "" + file.getModificationStamp()); - } else { - IModuleFolder folder = (IModuleFolder) resources2[i]; - IMemento child = memento.createChild(FOLDER); - child.putString(NAME, folder.getName()); - child.putString(PATH, folder.getModuleRelativePath().toPortableString()); - IModuleResource[] resources3 = folder.members(); - saveResource(child, resources3); - } - } - } - - public String toString() { - return "ModulePublishInfo [" + moduleId + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleResourceDelta.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleResourceDelta.java deleted file mode 100644 index 8479c780c..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleResourceDelta.java +++ /dev/null @@ -1,75 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.model.IModuleResource; -import org.eclipse.wst.server.core.model.IModuleResourceDelta; -/** - * - */ -public class ModuleResourceDelta implements IModuleResourceDelta { - protected IModuleResource resource; - protected int kind; - - protected IModuleResourceDelta[] children; - - public ModuleResourceDelta(IModuleResource resource, int kind) { - this.resource = resource; - this.kind = kind; - } - - public void setChildren(IModuleResourceDelta[] children) { - this.children = children; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath() - */ - public IPath getModuleRelativePath() { - return resource.getModuleRelativePath(); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResourceDelta#getModuleResource() - */ - public IModuleResource getModuleResource() { - return resource; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResourceDelta#getKind() - */ - public int getKind() { - return kind; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.IModuleResourceDelta#getAffectedChildren() - */ - public IModuleResourceDelta[] getAffectedChildren() { - return children; - } - - public String toString() { - return "ModuleResourceDelta [" + resource + ", " + kind + "]"; - } - - public void trace(String indent) { - System.out.println(indent + toString()); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - ((ModuleResourceDelta)children[i]).trace(indent + " "); - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java deleted file mode 100644 index c3f02817e..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleType.java +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.Platform; -import org.eclipse.wst.server.core.IModuleType; -/** - * - */ -public class ModuleType implements IModuleType { - protected String id; - protected String version; - - // cached copy of all module types - private static List moduleTypes; - - public ModuleType(String id, String version) { - super(); - this.id = id; - this.version = version; - } - - public String getId() { - return id; - } - - public String getName() { - ModuleKind mt = findModuleType(id); - if (mt != null) - return mt.getName(); - return Messages.moduleTypeUnknown; - } - - public String getVersion() { - return version; - } - - /** - * Returns an array of all known module types. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return the array of module types {@link IModuleType} - */ - /*public static IModuleType[] getModuleTypes() { - if (moduleTypes == null) - loadModuleTypes(); - - IModuleType[] mt = new IModuleType[moduleTypes.size()]; - moduleTypes.toArray(mt); - return mt; - }*/ - - /** - * Returns the module type with the given id, or <code>null</code> - * if none. This convenience method searches the list of known - * module types for the one a matching - * module type id ({@link ModuleType#getId()}). The id may not be null. - * - * @param id the module type id - * @return the module type, or <code>null</code> if there is no module type - * with the given id - */ - public static ModuleKind findModuleType(String id) { - if (id == null) - throw new IllegalArgumentException(); - - if (moduleTypes == null) - loadModuleTypes(); - - Iterator iterator = moduleTypes.iterator(); - while (iterator.hasNext()) { - ModuleKind moduleType = (ModuleKind) iterator.next(); - if (id.equals(moduleType.getId())) - return moduleType; - } - return null; - } - - /** - * Load the module types. - */ - private static synchronized void loadModuleTypes() { - if (moduleTypes != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleTypes extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleTypes"); - - int size = cf.length; - moduleTypes = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - ModuleKind moduleType = new ModuleKind(cf[i]); - moduleTypes.add(moduleType); - Trace.trace(Trace.EXTENSION_POINT, " Loaded moduleType: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load moduleType: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleTypes extension point -<-"); - } - - public String toString() { - return "ModuleType[" + id + ", " + version + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProgressUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProgressUtil.java deleted file mode 100644 index 5210d1a8a..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProgressUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.*; -/** - * Progress Monitor utility. - */ -public class ProgressUtil { - /** - * ProgressUtil constructor comment. - */ - private ProgressUtil() { - super(); - } - - /** - * Return a valid progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) { - if (monitor == null) - return new NullProgressMonitor(); - return monitor; - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @param ticks int - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks); - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor a progress monitor - * @param ticks the number of ticks - * @param style a style - * @return a progress monitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks, style); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java deleted file mode 100644 index d8310b43f..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ProjectProperties.java +++ /dev/null @@ -1,174 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.util.Properties; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.wst.server.core.IRuntime; -/** - * Helper class that stores preference information for the server tools. - * - * TODO: Currently this class always reads from disk. It should cache the file - * and have a resource listener. - */ -public class ProjectProperties { - private static final String PREFERENCE_FOLDER = ".settings"; - private static final String PREFERENCE_FILE = "org.eclipse.wst.server.core.prefs"; - private static final String SERVER_PROJECT_PREF = "org.eclipse.wst.server.core.isServerProject"; - - protected IProject project; - - protected boolean serverProject = false; - - /** - * ProjectProperties constructor. - * - * @param project a project - */ - public ProjectProperties(IProject project) { - super(); - this.project = project; - } - - /** - * Load the preferences. - */ - private void loadPreferences() { - Trace.trace(Trace.FINEST, "Loading project preferences: " + project); - - if (!project.isAccessible()) - return; - - InputStream in = null; - try { - IFile file = project.getFolder(PREFERENCE_FOLDER).getFile(PREFERENCE_FILE); - if (file == null || !file.isAccessible()) - return; - - in = file.getContents(); - Properties p = new Properties(); - p.load(in); - - String s = p.getProperty(SERVER_PROJECT_PREF); - if (s != null && "true".equals(s)) - serverProject = true; - else - serverProject = false; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load preferences: " + e.getMessage()); - } finally { - try { - if (in != null) - in.close(); - } catch (Exception e) { - // ignore - } - } - } - - private void savePreferences(IProgressMonitor monitor) throws CoreException { - if (project == null || !project.isAccessible()) - return; - - IFolder folder = project.getFolder(PREFERENCE_FOLDER); - if (!folder.exists()) - folder.create(true, true, monitor); - - IFile file = project.getFolder(PREFERENCE_FOLDER).getFile(PREFERENCE_FILE); - - if (file.exists() && file.isReadOnly()) { - IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] { file }, null); - if (status.getSeverity() == IStatus.ERROR) - // didn't work or not under source control - throw new CoreException(status); - } - - Properties p = new Properties(); - p.put("eclipse.preferences.version", "1"); - if (serverProject) - p.put(SERVER_PROJECT_PREF, "true"); - else - p.put(SERVER_PROJECT_PREF, "false"); - - InputStream in = null; - try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - p.store(out, null); - - in = new ByteArrayInputStream(out.toByteArray()); - - if (file.exists()) - file.setContents(in, true, true, monitor); - else - file.create(in, true, monitor); - } catch (Exception e) { - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "", e)); - } finally { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - } - - /** - * Returns the current runtime target type for the given project. - * - * @return the runtime target - */ - public IRuntime getRuntimeTarget() { - return null; - } - - /** - * Returns <code>true</code> if this project can contain server artifacts, and - * <code>false</code> otherwise. - * - * @return <code>true</code> if this project can contain server artifacts, and - * <code>false</code> otherwise - */ - public boolean isServerProject() { - loadPreferences(); - return serverProject; - } - - /** - * Sets whether the project can contain server resources. - * - * @param b <code>true</code> to allow the project to contain server - * resources, or <code>false</code> to not allow the project to contain - * servers - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there is a problem setting the server project - */ - public void setServerProject(boolean b, IProgressMonitor monitor) throws CoreException { - loadPreferences(); - serverProject = b; - savePreferences(monitor); - } - - public String toString() { - return "ProjectProperties[" + project + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java deleted file mode 100644 index 50c6886c2..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishInfo.java +++ /dev/null @@ -1,148 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.*; -import java.io.File; -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.IServer; -/** - * Helper to obtain and store the global publish information. - * (what files were published and when) Delegates to PublishState - * for all server specific publishing information. - */ -public class PublishInfo { - protected static PublishInfo instance; - - protected static final String PUBLISH_DIR = "publish"; - - // map of server ids to Strings of filename containing publish data - protected Map serverIdToPath; - - // map of loaded serverIds to publish info - protected Map serverIdToPublishInfo; - - /** - * PublishInfo constructor comment. - */ - private PublishInfo() { - super(); - - serverIdToPath = new HashMap(); - serverIdToPublishInfo = new HashMap(); - load(); - } - - /** - * Return the publish info. - * - * @return org.eclipse.wst.server.core.internal.PublishInfo - */ - public static PublishInfo getInstance() { - if (instance == null) - instance = new PublishInfo(); - return instance; - } - - /** - * Return the publish state. - * - * @return org.eclipse.wst.server.core.internal.PublishState - * @param server org.eclipse.wst.server.core.IServer - */ - public ServerPublishInfo getServerPublishInfo(IServer server) { - // have we tried loading yet? - String serverId = server.getId(); - if (serverIdToPath.containsKey(serverId)) { - if (!serverIdToPublishInfo.containsKey(serverId)) { - String partialPath = (String) serverIdToPath.get(serverId); - IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath); - ServerPublishInfo spi = new ServerPublishInfo(path); - serverIdToPublishInfo.put(serverId, spi); - return spi; - } - // already loaded - return (ServerPublishInfo) serverIdToPublishInfo.get(serverId); - } - - // first time server is being used - IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR); - File file = new File(path.toOSString()); - if (!file.exists()) - file.mkdir(); - - file = null; - int i = 0; - String partialPath = null; - while (file == null || file.exists()) { - partialPath = "publish" + i + ".xml"; - path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath); - if (serverIdToPath.get(partialPath) == null) - file = new File(path.toOSString()); - i++; - } - - ServerPublishInfo spi = new ServerPublishInfo(path); - serverIdToPath.put(serverId, partialPath); - serverIdToPublishInfo.put(serverId, spi); - save(); - return spi; - } - - /** - * - */ - protected void load() { - Trace.trace(Trace.FINEST, "Loading publish info"); - String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString(); - - try { - IMemento memento = XMLMemento.loadMemento(filename); - - IMemento[] serverChild = memento.getChildren("server"); - int size = serverChild.length; - serverIdToPath = new HashMap(size + 2); - - for (int i = 0; i < size; i++) { - String id = serverChild[i].getString("id"); - String partialPath = serverChild[i].getString("path"); - serverIdToPath.put(id, partialPath); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load global publish info: " + e.getMessage()); - } - } - - /** - * - */ - protected void save() { - String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString(); - - try { - XMLMemento memento = XMLMemento.createWriteRoot("publish-info"); - - Iterator iterator = serverIdToPath.keySet().iterator(); - while (iterator.hasNext()) { - String serverId = (String) iterator.next(); - String partialPath = (String) serverIdToPath.get(serverId); - - IMemento server = memento.createChild("server"); - server.putString("id", serverId); - server.putString("path", partialPath); - } - - memento.saveToFile(filename); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save global publish info", e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java deleted file mode 100644 index c2fd9c724..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java +++ /dev/null @@ -1,147 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.resources.IResourceRuleFactory; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.jobs.ISchedulingRule; -import org.eclipse.core.runtime.jobs.MultiRule; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IServer; -/** - * Job to publish to a particular server. - */ -public class PublishServerJob extends ChainedJob { - protected int kind; - protected boolean check; - - /** - * Create a new publishing job. - * - * @param server the server to publish to - * @param kind the kind of publish - * @param check - */ - public PublishServerJob(IServer server, int kind, boolean check) { - super(NLS.bind(Messages.publishing, server.getName()), server); - this.kind = kind; - this.check = check; - - IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory(); - - // 102227 - lock entire workspace during publish - // TODO will have to revisit post 0.7 to determine if there is a better way to - // do this, since it would be preferrable not to lock the entire workspace, and - // therefore allow multiple servers to publish at once - - // find all projects that modules are in - /*List projectList = new ArrayList(); - Iterator iterator = ((Server)server).getAllModules().iterator(); - while (iterator.hasNext()) { - IModule[] modules = (IModule[]) iterator.next(); - IProject project = modules[modules.length - 1].getProject(); - if (project != null && !projectList.contains(project)) - projectList.add(project); - } - - // add dependant projects - iterator = projectList.iterator(); - List depProjectList = new ArrayList(); // use to avoid concurrent modification - while (iterator.hasNext()) { - IProject project = (IProject) iterator.next(); - try { - IProject[] refs = project.getDescription().getReferencedProjects(); - if (refs != null) { - int size = refs.length; - for (int i = 0; i < size; i++) - if (refs[i] != null && !projectList.contains(refs[i]) && !depProjectList.contains(refs[i])) - depProjectList.add(refs[i]); - } - } catch (CoreException ce) { - Trace.trace(Trace.WARNING, "Could not compute referenced projects", ce); - } - } - - iterator = depProjectList.iterator(); - while (iterator.hasNext()) { - projectList.add(iterator.next()); - } - - // combine and build all the rules - List list = new ArrayList(); - iterator = projectList.iterator(); - while (iterator.hasNext()) { - IProject project = (IProject) iterator.next(); - ISchedulingRule rule = ruleFactory.createRule(project); - if (rule != null && !list.contains(rule)) - list.add(rule); - - rule = ruleFactory.modifyRule(project); - if (rule != null && !list.contains(rule)) - list.add(rule); - - rule = ruleFactory.validateEditRule(new IResource[] { project }); - if (rule != null && !list.contains(rule)) - list.add(rule); - - rule = ruleFactory.markerRule(project); - if (rule != null && !list.contains(rule)) - list.add(rule); - - rule = ruleFactory.refreshRule(project); - if (rule != null && !list.contains(rule)) - list.add(rule); - } - - int size = list.size(); - ISchedulingRule[] rules = new ISchedulingRule[size + 1]; - for (int i = 0; i < size; i++) - rules[i] = (ISchedulingRule) list.get(i); - - rules[size] = new ServerSchedulingRule(server);*/ - - ISchedulingRule[] rules = new ISchedulingRule[2]; - rules[0] = ruleFactory.createRule(ResourcesPlugin.getWorkspace().getRoot()); - rules[1] = new ServerSchedulingRule(server); - - setRule(MultiRule.combine(rules)); - } - - /** - * Create a new publishing job. - * - * @param server the server to publish to - */ - public PublishServerJob(IServer server) { - this(server, IServer.PUBLISH_INCREMENTAL, true); - } - - /** - * @see org.eclipse.core.runtime.jobs.Job#shouldRun() - */ - public boolean shouldRun() { - if (!super.shouldRun()) - return false; - - if (!check) - return true; - return ServerPreferences.getInstance().isAutoPublishing() && ((Server)getServer()).shouldPublish(); - } - - /** - * @see org.eclipse.core.runtime.jobs.Job#run(IProgressMonitor) - */ - protected IStatus run(IProgressMonitor monitor) { - return getServer().publish(kind, monitor); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java deleted file mode 100644 index ec9fbd5af..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.List; - -import org.eclipse.core.runtime.IConfigurationElement; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.*; -/** - * - */ -public class PublishTask implements IPublishTask { - private IConfigurationElement element; - private PublishTaskDelegate delegate; - - /** - * PublishTask constructor comment. - * - * @param element a configuration element - */ - public PublishTask(IConfigurationElement element) { - super(); - this.element = element; - } - - /* - * @see - */ - public String getId() { - return element.getAttribute("id"); - } - - /* - * @see - */ - protected String[] getTypeIds() { - try { - return ServerPlugin.tokenize(element.getAttribute("typeIds"), ","); - } catch (Exception e) { - return null; - } - } - - /* - * @see - */ - public boolean supportsType(String id) { - return ServerPlugin.supportsType(getTypeIds(), id); - } - - /* - * @see IPublishTask#getDelegate() - */ - public PublishTaskDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (PublishTaskDelegate) element.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage()); - } - } - return delegate; - } - - /* - * @see - */ - public PublishOperation[] getTasks(IServer server, List modules) { - try { - Trace.trace(Trace.FINEST, "Task.init " + this); - PublishOperation[] po = getDelegate().getTasks(server, modules); - if (po != null) - return po; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - return new PublishOperation[0]; - } - - /* - * @see - */ - public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) { - try { - Trace.trace(Trace.FINEST, "Task.init " + this); - PublishOperation[] po = getDelegate().getTasks(server, kind, modules, kindList); - if (po != null) - return po; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - return new PublishOperation[0]; - } - - /** - * Return a string representation of this object. - * - * @return java.lang.String - */ - public String toString() { - return "PublishTask[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java deleted file mode 100644 index 414490f24..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java +++ /dev/null @@ -1,1042 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.ByteArrayInputStream; -import java.util.*; - -import org.eclipse.core.runtime.*; -import org.eclipse.core.resources.*; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.ServerDelegate; -import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate; -/** - * ResourceManager handles the mappings between resources - * and servers or server configurations, and creates - * notification of servers or server configurations - * being added and removed. - * - * <p>Servers and server configurations may be a single - * resource, or they may be a folder that contains a group - * of files. Folder-resource may not contain other servers - * or configurations.</p> - */ -public class ResourceManager { - private static final String SERVER_DATA_FILE = "servers.xml"; - - private static final byte EVENT_ADDED = 0; - private static final byte EVENT_CHANGED = 1; - private static final byte EVENT_REMOVED = 2; - - private static ResourceManager instance; - - // currently active runtimes and servers - protected List runtimes; - protected List servers; - protected IRuntime defaultRuntime; - - // lifecycle listeners - protected transient List runtimeListeners; - protected transient List serverListeners; - - // cache for disposing servers & runtimes - protected List activeBundles; - - // resource change listeners - private IResourceChangeListener resourceChangeListener; - private Preferences.IPropertyChangeListener pcl; - protected boolean ignorePreferenceChanges = false; - - /** - * Server resource change listener. - * - * Resource listener - tracks changes on server resources so that - * we can reload/drop server instances and configurations that - * may change outside of our control. - * Listens for two types of changes: - * 1. Servers or configurations being added or removed - * from their respective folders. (in the future, including - * the addition or removal of a full server project, which - * we currently can't listen for because there is no nature - * attached to the project at this point - OTI defect) - * 2. Projects being deleted. - */ - public class ServerResourceChangeListener implements IResourceChangeListener { - /** - * Create a new ServerResourceChangeListener. - */ - public ServerResourceChangeListener() { - super(); - } - - /** - * Listen for projects being added or removed and act accordingly. - * - * @param event org.eclipse.core.resources.IResourceChangeEvent - */ - public void resourceChanged(IResourceChangeEvent event) { - IResourceDelta delta = event.getDelta(); - if (delta == null) - return; - - Trace.trace(Trace.RESOURCES, "->- ServerResourceChangeListener responding to resource change: " + event.getType() + " ->-"); - IResourceDelta[] children = delta.getAffectedChildren(); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - IResource resource = children[i].getResource(); - if (resource != null && resource instanceof IProject) { - projectChanged((IProject) resource, children[i]); - } - } - } - - // search for changes to any project using a visitor - try { - delta.accept(new IResourceDeltaVisitor() { - public boolean visit(IResourceDelta visitorDelta) { - IResource resource = visitorDelta.getResource(); - - // only respond to project changes - if (resource != null && resource instanceof IProject) { - publishHandleProjectChange(visitorDelta); - return false; - } - return true; - } - }); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error responding to resource change", e); - } - - Trace.trace(Trace.RESOURCES, "-<- Done ServerResourceChangeListener responding to resource change -<-"); - } - - /** - * React to a change within a possible server project. - * - * @param delta org.eclipse.core.resources.IResourceDelta - */ - protected void projectChanged(IProject project, IResourceDelta delta) { - if (!ServerPlugin.getProjectProperties(project).isServerProject()) { - Trace.trace(Trace.RESOURCES, "Not a server project: " + project.getName()); - return; - } - - IResourceDelta[] children = delta.getAffectedChildren(); - - int size = children.length; - for (int i = 0; i < size; i++) { - IResourceDelta child = children[i]; - - // look for servers and server configurations - try { - child.accept(new IResourceDeltaVisitor() { - public boolean visit(IResourceDelta delta2) { - return handleResourceDelta(delta2); - } - }); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error responding to resource change", e); - } - } - } - } - - protected List moduleServerEventHandlers; - protected List moduleServerEventHandlerIndexes; - - /** - * Cannot directly create a ResourceManager. Use - * ServersCore.getResourceManager(). - */ - private ResourceManager() { - super(); - instance = this; - - init(); - } - - protected void init() { - servers = new ArrayList(); - activeBundles = new ArrayList(); - loadRuntimesList(); - loadServersList(); - - pcl = new Preferences.IPropertyChangeListener() { - public void propertyChange(Preferences.PropertyChangeEvent event) { - if (ignorePreferenceChanges) - return; - String property = event.getProperty(); - if (property.equals("runtimes")) { - loadRuntimesList(); - saveRuntimesList(); - } - } - }; - - ServerPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl); - - resolveServers(); - - // keep track of future changes to the file system - resourceChangeListener = new ServerResourceChangeListener(); - ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE); - - /*configurationListener = new IServerConfigurationListener() { - public void childProjectChange(IServerConfiguration configuration) { - handleConfigurationChildProjectsChange(configuration); - } - };*/ - - Trace.trace(Trace.FINER, "Loading workspace servers and server configurations"); - IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - if (projects != null) { - int size = projects.length; - for (int i = 0; i < size; i++) { - if (ServerPlugin.getProjectProperties(projects[i]).isServerProject()) - loadFromProject(projects[i]); - } - } - - addServerLifecycleListener(ServerListener.getInstance()); - } - - /** - * Load all of the servers and server configurations from the given project. - */ - protected static void loadFromProject(IProject project) { - Trace.trace(Trace.FINER, "Initial server resource load for " + project.getName(), null); - final ResourceManager rm = ResourceManager.getInstance(); - - try { - project.accept(new IResourceProxyVisitor() { - public boolean visit(IResourceProxy proxy) { - if (proxy.getType() == IResource.FILE && - Server.FILE_EXTENSION.equals(getFileExtension(proxy.getName()))) { - IFile file = (IFile) proxy.requestResource(); - try { - rm.handleNewFile(file, null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error during initial server resource load", e); - } - return false; - } - return true; - } - }, 0); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load server project " + project.getName(), e); - } - } - - protected static String getFileExtension(String name) { - int index = name.lastIndexOf('.'); - if (index == -1) - return null; - if (index == (name.length() - 1)) - return ""; //$NON-NLS-1$ - return name.substring(index + 1); - } - - public static ResourceManager getInstance() { - if (instance == null) - new ResourceManager(); - - return instance; - } - - public static void shutdown() { - if (instance == null) - return; - - try { - instance.shutdownImpl(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error during shutdown", e); - } - } - - protected boolean isActiveBundle(String bundleId) { - return activeBundles.contains(bundleId); - } - - protected void shutdownBundle(String id) { - // dispose servers - Iterator iterator = servers.iterator(); - while (iterator.hasNext()) { - Server server = (Server) iterator.next(); - try { - ServerType serverType = (ServerType) server.getServerType(); - if (id.equals(serverType.getNamespace())) { - //server.stop(true); - server.dispose(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error disposing server", e); - } - } - - // dispose runtimes - iterator = runtimes.iterator(); - while (iterator.hasNext()) { - Runtime runtime = (Runtime) iterator.next(); - try { - RuntimeType runtimeType = (RuntimeType) runtime.getRuntimeType(); - if (id.equals(runtimeType.getNamespace())) { - runtime.dispose(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error disposing server", e); - } - } - try { - Thread.sleep(1000); - } catch (Exception e) { - // ignore - } - } - - protected void shutdownImpl() { - IWorkspace workspace = ResourcesPlugin.getWorkspace(); - if (workspace != null) - workspace.removeResourceChangeListener(resourceChangeListener); - - ServerPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl); - - removeServerLifecycleListener(ServerListener.getInstance()); - } - - /* - * - */ - public void addRuntimeLifecycleListener(IRuntimeLifecycleListener listener) { - Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this); - - if (runtimeListeners == null) - runtimeListeners = new ArrayList(3); - runtimeListeners.add(listener); - } - - /* - * - */ - public void removeRuntimeLifecycleListener(IRuntimeLifecycleListener listener) { - Trace.trace(Trace.LISTENERS, "Removing server resource listener " + listener + " from " + this); - - if (runtimeListeners != null) - runtimeListeners.remove(listener); - } - - /* - * - */ - public void addServerLifecycleListener(IServerLifecycleListener listener) { - Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this); - - if (serverListeners == null) - serverListeners = new ArrayList(3); - serverListeners.add(listener); - } - - /* - * - */ - public void removeServerLifecycleListener(IServerLifecycleListener listener) { - Trace.trace(Trace.LISTENERS, "Removing server resource listener " + listener + " from " + this); - - if (serverListeners != null) - serverListeners.remove(listener); - } - - /** - * Deregister an existing runtime. - * - * @param runtime - */ - protected void deregisterRuntime(IRuntime runtime) { - if (runtime == null) - return; - - Trace.trace(Trace.RESOURCES, "Deregistering runtime: " + runtime.getName()); - if (runtime.equals(getDefaultRuntime())) - setDefaultRuntime(null); - - ((Runtime)runtime).dispose(); - fireRuntimeEvent(runtime, EVENT_REMOVED); - runtimes.remove(runtime); - } - - /** - * Deregister an existing server resource. - * - * @param server - */ - protected void deregisterServer(IServer server) { - if (server == null) - return; - - Trace.trace(Trace.RESOURCES, "Deregistering server: " + server.getName()); - - ((Server) server).deleteLaunchConfigurations(); - ServerPlugin.getInstance().removeTempDirectory(server.getId()); - - ((Server)server).dispose(); - fireServerEvent(server, EVENT_REMOVED); - servers.remove(server); - } - - /** - * Fire a runtime event. - */ - private void fireRuntimeEvent(final IRuntime runtime, byte b) { - Trace.trace(Trace.LISTENERS, "->- Firing runtime event: " + runtime.getName() + " ->-"); - - if (runtimeListeners == null || runtimeListeners.isEmpty()) - return; - - int size = runtimeListeners.size(); - IRuntimeLifecycleListener[] srl = new IRuntimeLifecycleListener[size]; - runtimeListeners.toArray(srl); - - for (int i = 0; i < size; i++) { - Trace.trace(Trace.LISTENERS, " Firing runtime event to " + srl[i]); - try { - if (b == EVENT_ADDED) - srl[i].runtimeAdded(runtime); - else if (b == EVENT_CHANGED) - srl[i].runtimeChanged(runtime); - else - srl[i].runtimeRemoved(runtime); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, " Error firing runtime event to " + srl[i], e); - } - } - Trace.trace(Trace.LISTENERS, "-<- Done firing runtime event -<-"); - } - - /** - * Fire a server event. - */ - private void fireServerEvent(final IServer server, byte b) { - Trace.trace(Trace.LISTENERS, "->- Firing server event: " + server.getName() + " ->-"); - - if (serverListeners == null || serverListeners.isEmpty()) - return; - - int size = serverListeners.size(); - IServerLifecycleListener[] srl = new IServerLifecycleListener[size]; - serverListeners.toArray(srl); - - for (int i = 0; i < size; i++) { - Trace.trace(Trace.LISTENERS, " Firing server event to " + srl[i]); - try { - if (b == EVENT_ADDED) - srl[i].serverAdded(server); - else if (b == EVENT_CHANGED) - srl[i].serverChanged(server); - else - srl[i].serverRemoved(server); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, " Error firing server event to " + srl[i], e); - } - } - Trace.trace(Trace.LISTENERS, "-<- Done firing server event -<-"); - } - - protected void saveRuntimesList() { - try { - ignorePreferenceChanges = true; - XMLMemento memento = XMLMemento.createWriteRoot("runtimes"); - - if (defaultRuntime != null) { - int ind = runtimes.indexOf(defaultRuntime); - if (ind >= 0) - memento.putString("default", ind + ""); - } - - Iterator iterator = runtimes.iterator(); - while (iterator.hasNext()) { - Runtime runtime = (Runtime) iterator.next(); - - IMemento child = memento.createChild("runtime"); - runtime.save(child); - } - - String xmlString = memento.saveToString(); - Preferences prefs = ServerPlugin.getInstance().getPluginPreferences(); - prefs.setValue("runtimes", xmlString); - ServerPlugin.getInstance().savePluginPreferences(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save runtimes", e); - } - ignorePreferenceChanges = false; - } - - protected void saveServersList() { - String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_DATA_FILE).toOSString(); - - try { - XMLMemento memento = XMLMemento.createWriteRoot("servers"); - - Iterator iterator = servers.iterator(); - while (iterator.hasNext()) { - Server server = (Server) iterator.next(); - - IMemento child = memento.createChild("server"); - server.save(child); - } - - memento.saveToFile(filename); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save servers", e); - } - } - - protected void loadRuntimesList() { - Trace.trace(Trace.FINEST, "Loading runtime info"); - Preferences prefs = ServerPlugin.getInstance().getPluginPreferences(); - String xmlString = prefs.getString("runtimes"); - - runtimes = new ArrayList(); - if (xmlString != null && xmlString.length() > 0) { - try { - ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8")); - IMemento memento = XMLMemento.loadMemento(in); - - IMemento[] children = memento.getChildren("runtime"); - int size = children.length; - - for (int i = 0; i < size; i++) { - Runtime runtime = new Runtime(null); - runtime.loadFromMemento(children[i], null); - runtimes.add(runtime); - } - - String s = memento.getString("default"); - try { - int ind = Integer.parseInt(s); - defaultRuntime = (IRuntime) runtimes.get(ind); - } catch (Exception ex) { - // ignore - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load runtimes: " + e.getMessage()); - } - } - } - - protected void loadServersList() { - Trace.trace(Trace.FINEST, "Loading server info"); - String filename = ServerPlugin.getInstance().getStateLocation().append(SERVER_DATA_FILE).toOSString(); - - try { - IMemento memento = XMLMemento.loadMemento(filename); - - IMemento[] children = memento.getChildren("server"); - int size = children.length; - - for (int i = 0; i < size; i++) { - Server server = new Server(null); - server.loadFromMemento(children[i], null); - servers.add(server); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage()); - } - - if (ServerPreferences.getInstance().isSyncOnStartup()) { - Iterator iterator = servers.iterator(); - while (iterator.hasNext()) { - IServer server = (IServer) iterator.next(); - UpdateServerJob job = new UpdateServerJob(server); - job.schedule(); - } - } - } - - protected void addRuntime(IRuntime runtime) { - if (runtime == null) - return; - if (!runtimes.contains(runtime)) - registerRuntime(runtime); - else - fireRuntimeEvent(runtime, EVENT_CHANGED); - saveRuntimesList(); - resolveServers(); - RuntimeWorkingCopy.rebuildRuntime(runtime, true); - } - - protected void removeRuntime(IRuntime runtime) { - if (runtimes.contains(runtime)) { - deregisterRuntime(runtime); - saveRuntimesList(); - resolveServers(); - RuntimeWorkingCopy.rebuildRuntime(runtime, false); - } - } - - protected void addServer(IServer server) { - if (!servers.contains(server)) - registerServer(server); - else - fireServerEvent(server, EVENT_CHANGED); - saveServersList(); - resolveServers(); - } - - protected void removeServer(IServer server) { - if (servers.contains(server)) { - deregisterServer(server); - saveServersList(); - resolveServers(); - } - } - - /** - * Returns an array of all runtimes. - * - * @return an array of runtimes - */ - public IRuntime[] getRuntimes() { - List list = new ArrayList(runtimes); - - if (defaultRuntime != null && list.contains(defaultRuntime)) { - list.remove(defaultRuntime); - list.add(0, defaultRuntime); - } - - IRuntime[] r = new IRuntime[list.size()]; - list.toArray(r); - return r; - } - - /** - * Returns the runtime with the given id. - * - * @param id a runtime id - * @return IRuntime - */ - public IRuntime getRuntime(String id) { - if (id == null) - throw new IllegalArgumentException(); - - Iterator iterator = runtimes.iterator(); - while (iterator.hasNext()) { - IRuntime runtime = (IRuntime) iterator.next(); - if (runtime.getId().equals(id)) - return runtime; - } - return null; - } - - /** - * Returns the default runtime. Test API - do not use. - * - * @return java.util.List - */ - public IRuntime getDefaultRuntime() { - return defaultRuntime; - } - - /** - * Sets the default runtime. Test API - do not use. - * - * @param runtime a runtime - */ - public void setDefaultRuntime(IRuntime runtime) { - defaultRuntime = runtime; - saveRuntimesList(); - } - - public void resolveRuntimes() { - Iterator iterator = runtimes.iterator(); - while (iterator.hasNext()) { - Runtime runtime = (Runtime) iterator.next(); - runtime.resolve(); - } - } - - public void resolveServers() { - Iterator iterator = servers.iterator(); - while (iterator.hasNext()) { - Server server = (Server) iterator.next(); - server.resolve(); - } - } - - /** - * Returns an array containing all servers. - * - * @return an array containing all servers - */ - public IServer[] getServers() { - IServer[] servers2 = new IServer[servers.size()]; - servers.toArray(servers2); - - Arrays.sort(servers2, new Comparator() { - public int compare(Object o1, Object o2) { - IServer a = (IServer) o1; - IServer b = (IServer) o2; - return a.getName().compareToIgnoreCase(b.getName()); - } - }); - - return servers2; - } - - /** - * Returns the server with the given id. - * - * @param id a server id - * @return a server - */ - public IServer getServer(String id) { - if (id == null) - throw new IllegalArgumentException(); - - Iterator iterator = servers.iterator(); - while (iterator.hasNext()) { - Server server = (Server) iterator.next(); - if (id.equals(server.getId())) - return server; - } - return null; - } - - /** - * Returns true if the resource change was handled. - * - * @param delta org.eclipse.core.resources.IResourceDelta - * @return boolean - */ - protected boolean handleResourceDelta(IResourceDelta delta) { - int kind = delta.getKind(); - int flags = delta.getFlags(); - IResource resource2 = delta.getResource(); - - // ignore markers - if (kind == IResourceDelta.CHANGED && (flags & IResourceDelta.MARKERS) != 0) - return false; - - Trace.trace(Trace.RESOURCES, "Resource changed: " + resource2 + " " + kind); - - if (resource2 instanceof IFile) { - IFile file = (IFile) resource2; - if (Server.FILE_EXTENSION.equals(file.getFileExtension())) { - IProgressMonitor monitor = null; - if ((flags & IResourceDelta.MOVED_FROM) != 0 || (flags & IResourceDelta.MOVED_TO) != 0) - handleMovedFile(file, delta, monitor); - else if (kind == IResourceDelta.ADDED) - handleNewFile(file, monitor); - else if (kind == IResourceDelta.REMOVED) - handleRemovedFile(file); - else - handleChangedFile(file, monitor); - if (monitor != null) - monitor.done(); - } - return false; - } - IFolder folder = (IFolder) resource2; - Iterator iterator = servers.iterator(); - while (iterator.hasNext()) { - IServer server = (IServer) iterator.next(); - if (server.getServerType().hasServerConfiguration() && folder.equals(server.getServerConfiguration()) - && server.getAdapter(ServerDelegate.class) != null) { - try { - ((Server)server).getDelegate(null).configurationChanged(); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Server failed on configuration change"); - } - } - } - return true; - } - - protected IServer loadServer(IFile file, IProgressMonitor monitor) throws CoreException { - Server server = new Server(file); - server.loadFromFile(monitor); - return server; - } - - /** - * Tries to load a new server resource from the given resource. - * Returns true if the load and register were successful. - * - * @param file - * @param monitor - * @return boolean - */ - protected boolean handleNewFile(IFile file, IProgressMonitor monitor) { - Trace.trace(Trace.RESOURCES, "handleNewFile: " + file); - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask("", 2000); - - // try loading a server - if (file.getFileExtension().equals(Server.FILE_EXTENSION)) { - try { - IServer server = loadServer(file, ProgressUtil.getSubMonitorFor(monitor, 1000)); - if (server != null) { - if (getServer(server.getId()) == null) - registerServer(server); - monitor.done(); - return true; - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error loading server", e); - } - } - - monitor.done(); - return false; - } - - /** - * Tries to load a new server resource from the given resource. - * Returns true if the load and register were successful. - * - * @param file - * @param monitor - * @return boolean - */ - protected boolean handleMovedFile(IFile file, IResourceDelta delta, IProgressMonitor monitor) { - Trace.trace(Trace.RESOURCES, "handleMovedFile: " + file); - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask("", 2000); - - IPath fromPath = delta.getMovedFromPath(); - if (fromPath != null) { - IFile fromFile = ResourcesPlugin.getWorkspace().getRoot().getFile(fromPath); - if (ServerPlugin.getProjectProperties(fromFile.getProject()).isServerProject()) { - Server server = (Server) findServer(fromFile); - if (server != null) - server.file = file; - } else { - handleNewFile(file, monitor); - } - } else { - IPath toPath = delta.getMovedToPath(); - IFile toFile = ResourcesPlugin.getWorkspace().getRoot().getFile(toPath); - if (ServerPlugin.getProjectProperties(toFile.getProject()).isServerProject()) { - Server server = (Server) findServer(file); - if (server != null) - server.file = toFile; - } else { - handleRemovedFile(file); - } - } - - monitor.done(); - return false; - } - - /** - * Returns the server that came from the given file, or <code>null</code> - * if none. This convenience method searches the list of known - * servers ({@link #getServers()}) for the one with a matching - * location ({@link Server#getFile()}). The file may not be null. - * - * @param file a server file - * @return the server instance, or <code>null</code> if - * there is no server associated with the given file - */ - public static IServer findServer(IFile file) { - if (file == null) - throw new IllegalArgumentException(); - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (file.equals(((Server)servers[i]).getFile())) - return servers[i]; - } - } - return null; - } - - /** - * Tries to handle a resource change. Returns true if the reload - * was successful. - * - * @param file a file - * @param monitor - * @return boolean - */ - protected boolean handleChangedFile(IFile file, IProgressMonitor monitor) { - Trace.trace(Trace.RESOURCES, "handleChangedFile: " + file); - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask("", 1000); - boolean found = false; - - IServer server = findServer(file); - if (server != null) { - found = true; - try { - Trace.trace(Trace.RESOURCES, "Reloading server: " + server); - ((Server) server).loadFromFile(monitor); - fireServerEvent(server, EVENT_CHANGED); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file + ": " + e.getMessage()); - deregisterServer(server); - } - } else - Trace.trace(Trace.RESOURCES, "No server found at: " + file); - - monitor.done(); - return found; - } - - /** - * Tries to remove a current resource. Returns true if the - * deregistering was successful. - * - * @param file a file - * @return boolean - */ - protected boolean handleRemovedFile(IFile file) { - Trace.trace(Trace.RESOURCES, "handleRemovedFile: " + file); - - IServer server = findServer(file); - if (server != null) { - deregisterServer(server); - return true; - } - - Trace.trace(Trace.RESOURCES, "No server found at: " + file); - return false; - } - - /** - * A project has changed. If this is an add or remove, check - * to see if it is part of a current server configuration. - * - * @param delta org.eclipse.core.resources.IResourceDelta - */ - protected void publishHandleProjectChange(IResourceDelta delta) { - Trace.trace(Trace.FINEST, "> publishHandleProjectChange " + delta.getResource()); - IProject project = (IProject) delta.getResource(); - - if (project == null) - return; - - if (!deltaContainsChangedFiles(delta)) - return; - - // process module changes - ProjectModuleFactoryDelegate.handleGlobalProjectChange(project, delta); - - final IModule module = ServerUtil.getModule(project); - if (module == null) - return; - - Trace.trace(Trace.FINEST, "- publishHandleProjectChange"); - - IServer[] servers2 = getServers(); - if (servers2 != null) { - int size = servers2.length; - for (int i = 0; i < size; i++) { - if (servers2[i].getAdapter(ServerDelegate.class) != null) - ((Server) servers2[i]).handleModuleProjectChange(module); - } - } - Trace.trace(Trace.FINEST, "< publishHandleProjectChange"); - } - - /** - * Returns <code>true</code> if at least one file in the delta is changed, - * and <code>false</code> otherwise. - * - * @param delta a resource delta - * @return <code>true</code> if at least one file in the delta is changed, - * and <code>false</code> otherwise - */ - public static boolean deltaContainsChangedFiles(IResourceDelta delta) { - class Temp { - boolean b = false; - } - final Temp t = new Temp(); - try { - delta.accept(new IResourceDeltaVisitor() { - public boolean visit(IResourceDelta delta2) throws CoreException { - if (t.b) - return false; - //Trace.trace(Trace.FINEST, delta2.getResource() + " " + delta2.getKind() + " " + delta2.getFlags()); - if (delta2.getKind() == IResourceDelta.NO_CHANGE) - return false; - if (delta2.getResource() instanceof IFile) { - if (delta2.getKind() == IResourceDelta.CHANGED - && (delta2.getFlags() & IResourceDelta.CONTENT) == 0 - && (delta2.getFlags() & IResourceDelta.REPLACED) == 0 - && (delta2.getFlags() & IResourceDelta.SYNC) == 0) - return true; - //if (delta2.getKind() == IResourceDelta.CHANGED) { // && delta2.getAffectedChildren().length == 0) { - t.b = true; - return false; - //return true; - //} - } - return true; - } - }); - } catch (Exception e) { - // ignore - } - //Trace.trace(Trace.FINEST, "Delta contains change: " + t.b); - return t.b; - } - - /** - * Registers a new runtime. - * - * @param runtime org.eclipse.wst.server.core.IRuntime - */ - protected void registerRuntime(IRuntime runtime) { - if (runtime == null) - return; - - Trace.trace(Trace.RESOURCES, "Registering runtime: " + runtime.getName()); - - runtimes.add(runtime); - fireRuntimeEvent(runtime, EVENT_ADDED); - - RuntimeType runtimeType = (RuntimeType) runtime.getRuntimeType(); - String bundleId = runtimeType.getNamespace(); - if (!activeBundles.contains(bundleId)) - activeBundles.add(bundleId); - } - - /** - * Registers a new server. - * - * @param server org.eclipse.wst.server.core.IServer - */ - protected void registerServer(IServer server) { - if (server == null) - return; - - Trace.trace(Trace.RESOURCES, "Registering server: " + server.getName()); - - servers.add(server); - fireServerEvent(server, EVENT_ADDED); - - ServerType serverType = (ServerType) server.getServerType(); - String bundleId = serverType.getNamespace(); - if (!activeBundles.contains(bundleId)) - activeBundles.add(bundleId); - } - - protected void fireModuleServerEvent(ModuleFactoryEvent[] factoryEvents, ModuleEvent[] events) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java deleted file mode 100644 index 499d3ecf1..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RestartServerJob.java +++ /dev/null @@ -1,58 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.*; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServer.IOperationListener; -import org.eclipse.wst.server.core.internal.ServerSchedulingRule; -/** - * A job for restarting a server. - */ -public class RestartServerJob extends ChainedJob { - protected String launchMode; - protected boolean isRestartCompleted = false; - protected IStatus resultStatus; - - public RestartServerJob(IServer server, String launchMode) { - super(NLS.bind(Messages.jobRestartingServer, server.getName()), server); - this.launchMode = launchMode; - setRule(new ServerSchedulingRule(server)); - } - - /* (non-Javadoc) - * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor) - */ - protected IStatus run(IProgressMonitor monitor) { - IOperationListener listener2 = new IOperationListener() { - public void done(IStatus result) { - isRestartCompleted = true; - resultStatus = result; - } - }; - getServer().restart(launchMode, listener2); - - // block util the restart is completed - while (!isRestartCompleted) { - try { - Thread.sleep(250); - } catch (InterruptedException e) { - // Do nothing. - } - } - - if (resultStatus != null) - return resultStatus; - - return Status.OK_STATUS; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java deleted file mode 100644 index 6a4fcffe9..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java +++ /dev/null @@ -1,212 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.*; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.InternalInitializer; -import org.eclipse.wst.server.core.model.RuntimeDelegate; -/** - * - */ -public class Runtime extends Base implements IRuntime { - protected static final String PROP_RUNTIME_TYPE_ID = "runtime-type-id"; - protected static final String PROP_LOCATION = "location"; - protected static final String PROP_TEST_ENVIRONMENT = "test-environment"; - protected static final String PROP_STUB = "stub"; - - protected IRuntimeType runtimeType; - protected RuntimeDelegate delegate; - - /** - * Create a new runtime. - * - * @param file - */ - public Runtime(IFile file) { - super(file); - } - - /** - * Create a new runtime. - * - * @param file - * @param id - * @param runtimeType - */ - public Runtime(IFile file, String id, IRuntimeType runtimeType) { - super(file, id); - this.runtimeType = runtimeType; - map.put(PROP_NAME, runtimeType.getName()); - } - - /** - * @see IRuntime#getRuntimeType() - */ - public IRuntimeType getRuntimeType() { - return runtimeType; - } - - /** - * @see IRuntime#validate(IProgressMonitor) - */ - public IStatus validate(IProgressMonitor monitor) { - try { - return getDelegate(monitor).validate(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate validate() " + toString(), e); - return null; - } - } - - protected RuntimeDelegate getDelegate(IProgressMonitor monitor) { - if (delegate != null) - return delegate; - - synchronized (this) { - if (delegate == null) { - try { - long time = System.currentTimeMillis(); - delegate = ((RuntimeType) runtimeType).createRuntimeDelegate(); - InternalInitializer.initializeRuntimeDelegate(delegate, this, monitor); - //delegate.initialize(this); - Trace.trace(Trace.PERFORMANCE, "Runtime.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId()); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t); - } - } - } - return delegate; - } - - public void dispose() { - if (delegate != null) { - delegate.dispose(); - delegate = null; - } - } - - /** - * @see IRuntime#createWorkingCopy() - */ - public IRuntimeWorkingCopy createWorkingCopy() { - return new RuntimeWorkingCopy(this); - } - - /** - * @see IRuntime#isWorkingCopy() - */ - public boolean isWorkingCopy() { - return false; - } - - /** - * @see IRuntime#getLocation() - */ - public IPath getLocation() { - String temp = getAttribute(PROP_LOCATION, (String)null); - if (temp == null) - return null; - return new Path(temp); - } - - protected void deleteFromMetadata() { - ResourceManager.getInstance().removeRuntime(this); - } - - protected void saveToMetadata(IProgressMonitor monitor) { - super.saveToMetadata(monitor); - ResourceManager.getInstance().addRuntime(this); - } - - protected String getXMLRoot() { - return "runtime"; - } - - public boolean isTestEnvironment() { - return getAttribute(PROP_TEST_ENVIRONMENT, false); - } - - /** - * @see IRuntime#isStub() - */ - public boolean isStub() { - return getAttribute(PROP_STUB, false); - } - - protected void setInternal(RuntimeWorkingCopy wc) { - map = wc.map; - runtimeType = wc.runtimeType; - file = wc.file; - delegate = wc.delegate; - - int timestamp = wc.getTimestamp(); - map.put("timestamp", Integer.toString(timestamp+1)); - } - - protected void loadState(IMemento memento) { - resolve(); - } - - protected void resolve() { - String runtimeTypeId = getAttribute(PROP_RUNTIME_TYPE_ID, (String) null); - if (runtimeTypeId != null) - runtimeType = ServerCore.findRuntimeType(runtimeTypeId); - else - runtimeType = null; - } - - protected void saveState(IMemento memento) { - if (runtimeType != null) - memento.putString(PROP_RUNTIME_TYPE_ID, runtimeType.getId()); - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (!(obj instanceof Runtime)) - return false; - - Runtime runtime = (Runtime) obj; - return runtime.getId().equals(getId()); - } - - /** - * @see IRuntime#getAdapter(Class) - */ - public Object getAdapter(Class adapter) { - if (delegate != null) { - if (adapter.isInstance(delegate)) - return delegate; - } - return Platform.getAdapterManager().getAdapter(this, adapter); - } - - /** - * @see IRuntime#loadAdapter(Class, IProgressMonitor) - */ - public Object loadAdapter(Class adapter, IProgressMonitor monitor) { - getDelegate(monitor); - if (adapter.isInstance(delegate)) - return delegate; - - return Platform.getAdapterManager().loadAdapter(this, adapter.getName()); - } - - /** - * @see Object#toString() - */ - public String toString() { - return "Runtime[" + getId() + ", " + getName() + ", " + getLocation() + ", " + getRuntimeType() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java deleted file mode 100644 index 0f83e7890..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeLocator.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.core.model.RuntimeLocatorDelegate; -/** - * - */ -public class RuntimeLocator implements IRuntimeLocator { - private IConfigurationElement element; - private RuntimeLocatorDelegate delegate; - - public RuntimeLocator(IConfigurationElement element) { - super(); - this.element = element; - } - - protected IConfigurationElement getElement() { - return element; - } - - /* - * @see IRuntimeLocator#getId() - */ - public String getId() { - return element.getAttribute("id"); - } - - /* - * @see IRuntimeLocator - */ - protected String[] getTypeIds() { - try { - return ServerPlugin.tokenize(element.getAttribute("typeIds"), ","); - } catch (Exception e) { - return null; - } - } - - /* - * @see IRuntimeLocator - */ - public boolean supportsType(String id) { - return ServerPlugin.supportsType(getTypeIds(), id); - } - - protected RuntimeLocatorDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (RuntimeLocatorDelegate) element.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage()); - } - } - return delegate; - } - - /* - * @see IRuntimeLocator#searchForRuntimes() - */ - public void searchForRuntimes(IPath path, final IRuntimeSearchListener found, IProgressMonitor monitor) { - try { - //getDelegate().searchForRuntimes(path, found, monitor); - getDelegate().searchForRuntimes(path, new RuntimeLocatorDelegate.IRuntimeSearchListener() { - public void runtimeFound(IRuntimeWorkingCopy runtime) { - found.runtimeFound(runtime); - } - }, monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - } - - public String toString() { - return "RuntimeLocator[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java deleted file mode 100644 index b12ee1e39..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.RuntimeDelegate; -/** - * - */ -public class RuntimeType implements IRuntimeType { - private IConfigurationElement element; - private List moduleTypes; - - public RuntimeType(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * - * @return the id - */ - public String getId() { - try { - return element.getAttribute("id"); - } catch (Exception e) { - return null; - } - } - - /** - * - * @return the name - */ - public String getName() { - try { - return element.getAttribute("name"); - } catch (Exception e) { - return null; - } - } - - /** - * - * @return the description - */ - public String getDescription() { - try { - return element.getAttribute("description"); - } catch (Exception e) { - return null; - } - } - - public String getVendor() { - try { - String vendor = element.getAttribute("vendor"); - if (vendor != null) - return vendor; - } catch (Exception e) { - // ignore - } - return Messages.defaultVendor; - } - - public String getVersion() { - try { - String version = element.getAttribute("version"); - if (version != null) - return version; - } catch (Exception e) { - // ignore - } - return Messages.defaultVersion; - } - - protected RuntimeDelegate createRuntimeDelegate() throws CoreException { - try { - return (RuntimeDelegate) element.createExecutableExtension("class"); - } catch (Exception e) { - return null; - } - } - - /** - * Return the supported module types. - * - * @return an array of module types - */ - public IModuleType[] getModuleTypes() { - try { - if (moduleTypes == null) - moduleTypes = ServerPlugin.getModuleTypes(element.getChildren("moduleType")); - - IModuleType[] mt = new IModuleType[moduleTypes.size()]; - moduleTypes.toArray(mt); - return mt; - } catch (Exception e) { - return new IModuleType[0]; - } - } - - public boolean canCreate() { - try { - String a = element.getAttribute("class"); - return a != null && a.length() > 0; - } catch (Exception e) { - return false; - } - } - - public IRuntimeWorkingCopy createRuntime(String id, IProgressMonitor monitor) { - if (element == null) - return null; - - RuntimeWorkingCopy rwc = new RuntimeWorkingCopy(null, id, this); - rwc.setDefaults(monitor); - return rwc; - } - - public void dispose() { - element = null; - } - - public String getNamespace() { - if (element == null) - return null; - return element.getDeclaringExtension().getNamespace(); - } - - public String toString() { - return "RuntimeType[" + getId() + ", " + getName() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java deleted file mode 100644 index 8f9de4c73..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeWorkingCopy.java +++ /dev/null @@ -1,362 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.beans.PropertyChangeListener; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.core.model.InternalInitializer; -import org.eclipse.wst.server.core.model.RuntimeDelegate; -/** - * - */ -public class RuntimeWorkingCopy extends Runtime implements IRuntimeWorkingCopy { - protected String PROP_ID_SET = "id-set"; - protected Runtime runtime; - protected WorkingCopyHelper wch; - - protected RuntimeDelegate workingCopyDelegate; - - /** - * Create a new runtime working copy from existing runtime. - * - * @param runtime - */ - public RuntimeWorkingCopy(Runtime runtime) { - super(runtime.getFile()); - this.runtime = runtime; - - runtimeType = runtime.getRuntimeType(); - - map = new HashMap(runtime.map); - wch = new WorkingCopyHelper(this); - } - - /** - * Create a new runtime working copy for a new runtime. - * - * @param file - * @param id - * @param runtimeType - */ - public RuntimeWorkingCopy(IFile file, String id, IRuntimeType runtimeType) { - super(file, id, runtimeType); - wch = new WorkingCopyHelper(this); - wch.setDirty(true); - - if (id == null || id.length() == 0) { - id = ServerPlugin.generateId(); - map.put(PROP_ID, id); - } else - setAttribute(PROP_ID_SET, true); - - // throw CoreException if the id already exists - } - - /** - * @see IRuntime#isWorkingCopy() - */ - public boolean isWorkingCopy() { - return true; - } - - /** - * @see IRuntime#createWorkingCopy() - */ - public IRuntimeWorkingCopy createWorkingCopy() { - return this; - } - - public void setAttribute(String attributeName, int value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, boolean value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, String value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, List value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, Map value) { - wch.setAttribute(attributeName, value); - } - - /** - * @see IRuntimeWorkingCopy#setName(String) - */ - public void setName(String name) { - wch.setName(name); - boolean set = getAttribute(PROP_ID_SET, false); - if (runtime == null && !set) - setAttribute("id", name); - } - - public void setTestEnvironment(boolean b) { - setAttribute(PROP_TEST_ENVIRONMENT, b); - } - - /** - * @see IRuntimeWorkingCopy#setStub(boolean) - */ - public void setStub(boolean b) { - setAttribute(PROP_STUB, b); - } - - /** - * @see IRuntimeWorkingCopy#isDirty() - */ - public boolean isDirty() { - return wch.isDirty(); - } - - /** - * @see IRuntimeWorkingCopy#getOriginal() - */ - public IRuntime getOriginal() { - return runtime; - } - - /** - * @see IRuntimeWorkingCopy#setReadOnly(boolean) - */ - public void setReadOnly(boolean b) { - wch.setLocked(b); - } - - public void setPrivate(boolean b) { - wch.setPrivate(b); - } - - /** - * @see IRuntimeWorkingCopy#setLocation(IPath) - */ - public void setLocation(IPath path) { - if (path == null) - setAttribute(PROP_LOCATION, (String)null); - else - setAttribute(PROP_LOCATION, path.toString()); - } - - /** - * @see IRuntimeWorkingCopy#save(boolean, IProgressMonitor) - */ - public IRuntime save(boolean force, IProgressMonitor monitor) throws CoreException { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.subTask(NLS.bind(Messages.savingTask, getName())); - - if (!force && getOriginal() != null) - wch.validateTimestamp(((Runtime) getOriginal()).getTimestamp()); - - IRuntime origRuntime = runtime; - if (runtime == null) - runtime = new Runtime(file); - - String oldId = getId(); - String name = getName(); - boolean set = getAttribute(PROP_ID_SET, false); - if (!oldId.equals(name) && !set) { - setAttribute("id", name); - } else - oldId = null; - - runtime.setInternal(this); - runtime.saveToMetadata(monitor); - wch.setDirty(false); - - if (oldId != null) - updateRuntimeReferences(oldId, name, origRuntime); - - return runtime; - } - - protected void updateRuntimeReferences(final String oldId, final String newId, final IRuntime origRuntime) { - // TODO fix me - /*class UpdateRuntimeReferencesJob extends Job { - public UpdateRuntimeReferencesJob() { - super(NLS.bind(Messages.savingTask, newId)); - } - - public IStatus run(IProgressMonitor monitor) { - // fix .runtime files - IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - if (projects != null) { - int size = projects.length; - for (int i = 0; i < size; i++) { - ProjectProperties props = (ProjectProperties) ServerCore.getProjectProperties(projects[i]); - if (oldId.equals(props.getRuntimeTargetId())) { - try { - props.setRuntimeTargetId(newId, monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error setting runtime target", e); - } - } - } - } - - // save servers - if (runtime != null) { - ResourceManager rm = ResourceManager.getInstance(); - IServer[] servers = rm.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (oldId.equals(((Server)servers[i]).getRuntimeId())) { - try { - ServerWorkingCopy wc = (ServerWorkingCopy) servers[i].createWorkingCopy(); - wc.setRuntimeId(newId); - wc.save(false, monitor); - } catch (Exception e) { - // ignore - } - } - } - } - } - - return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, "", null); - } - } - UpdateRuntimeReferencesJob job = new UpdateRuntimeReferencesJob(); - job.schedule();*/ - } - - /** - * Rebuild any projects that are targetted to this runtime. - * - * @param runtime - * @param add - */ - protected static void rebuildRuntime(final IRuntime runtime, final boolean add) { - if (runtime == null) - return; - - // TODO fix me - /*class RebuildRuntimeReferencesJob extends Job { - public RebuildRuntimeReferencesJob() { - super(Messages.taskPerforming); - } - - public IStatus run(IProgressMonitor monitor) { - String id = runtime.getId(); - - IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - if (projects != null) { - int size = projects.length; - for (int i = 0; i < size; i++) { - ProjectProperties props = (ProjectProperties) ServerCore.getProjectProperties(projects[i]); - if (id.equals(props.getRuntimeTargetId())) { - try { - if (add) - props.setRuntimeTarget(null, runtime, false, monitor); - else - props.setRuntimeTarget(runtime, null, false, monitor); - projects[i].build(IncrementalProjectBuilder.FULL_BUILD, monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error setting runtime target", e); - } - } - } - } - - return new Status(IStatus.OK, ServerPlugin.PLUGIN_ID, 0, "", null); - } - } - RebuildRuntimeReferencesJob job = new RebuildRuntimeReferencesJob(); - job.schedule();*/ - } - - protected RuntimeDelegate getWorkingCopyDelegate(IProgressMonitor monitor) { - if (workingCopyDelegate != null) - return workingCopyDelegate; - - synchronized (this) { - if (workingCopyDelegate == null) { - try { - long time = System.currentTimeMillis(); - workingCopyDelegate = ((RuntimeType) runtimeType).createRuntimeDelegate(); - InternalInitializer.initializeRuntimeDelegate(workingCopyDelegate, this, monitor); - Trace.trace(Trace.PERFORMANCE, "RuntimeWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getRuntimeType().getId()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e); - } - } - } - return workingCopyDelegate; - } - - public void dispose() { - super.dispose(); - if (workingCopyDelegate != null) - workingCopyDelegate.dispose(); - } - - /** - * Add a property change listener to this server. - * - * @param listener java.beans.PropertyChangeListener - */ - public void addPropertyChangeListener(PropertyChangeListener listener) { - if (listener == null) - throw new IllegalArgumentException("Listener cannot be null"); - wch.addPropertyChangeListener(listener); - } - - /** - * Remove a property change listener from this server. - * - * @param listener java.beans.PropertyChangeListener - */ - public void removePropertyChangeListener(PropertyChangeListener listener) { - if (listener == null) - throw new IllegalArgumentException("Listener cannot be null"); - wch.removePropertyChangeListener(listener); - } - - /** - * Fire a property change event. - * - * @param propertyName a property name - * @param oldValue the old value - * @param newValue the new value - */ - public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) { - wch.firePropertyChangeEvent(propertyName, oldValue, newValue); - } - - /** - * Set the defaults. - * - * @param monitor - */ - protected void setDefaults(IProgressMonitor monitor) { - try { - getWorkingCopyDelegate(monitor).setDefaults(monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate setDefaults() " + toString(), e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java deleted file mode 100644 index a5ebe887b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java +++ /dev/null @@ -1,2276 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.*; - -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.*; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.debug.core.*; - -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.*; -import org.eclipse.wst.server.core.util.SocketUtil; -/** - * - */ -public class Server extends Base implements IServer { - /** - * Server id attribute (value "server-id") of launch configurations. - * This attribute is used to tag a launch configuration with the - * id of the corresponding server. - * - * @see ILaunchConfiguration - */ - public static final String ATTR_SERVER_ID = "server-id"; - - protected static final List EMPTY_LIST = new ArrayList(0); - - /** - * File extension (value "server") for serialized representation of - * server instances. - * <p> - * [issue: What is relationship between this file extension and - * the file passed to IServerType.create(...) or returned by - * IServer.getFile()? That is, are server files expected to end - * in ".server", or is this just a default? If the former - * (as I suspect), then IServerType.create needs to say so, - * and the implementation should enforce the restriction.] - * </p> - */ - public static final String FILE_EXTENSION = "server"; - - public static final int AUTO_PUBLISH_DEFAULT = 0; - public static final int AUTO_PUBLISH_DISABLE = 1; - public static final int AUTO_PUBLISH_OVERRIDE = 2; - - protected static final String PROP_HOSTNAME = "hostname"; - protected static final String SERVER_ID = "server-id"; - protected static final String RUNTIME_ID = "runtime-id"; - protected static final String CONFIGURATION_ID = "configuration-id"; - protected static final String MODULE_LIST = "modules"; - protected static final String PROP_DISABLED_PERFERRED_TASKS = "disabled-preferred-publish-tasks"; - protected static final String PROP_ENABLED_OPTIONAL_TASKS = "enabled-optional-publish-tasks"; - public static final String PROP_AUTO_PUBLISH_TIME = "auto-publish-time"; - public static final String PROP_AUTO_PUBLISH_SETTING = "auto-publish-setting"; - - protected static final char[] INVALID_CHARS = new char[] {'\\', '/', ':', '*', '?', '"', '<', '>', '|', '\0', '@', '&'}; - - protected IServerType serverType; - protected ServerDelegate delegate; - protected ServerBehaviourDelegate behaviourDelegate; - - protected IRuntime runtime; - protected IFolder configuration; - - // the list of modules that are to be published to the server - protected List modules; - - // transient fields - protected transient String mode = ILaunchManager.RUN_MODE; - protected transient int serverState = STATE_UNKNOWN; - protected transient int serverSyncState; - protected transient boolean serverRestartNeeded; - - protected transient Map moduleState = new HashMap(); - protected transient Map modulePublishState = new HashMap(); - protected transient Map moduleRestartState = new HashMap(); - - protected transient IStatus serverStatus; - protected transient Map moduleStatus = new HashMap(); - - protected transient ServerPublishInfo publishInfo; - protected transient AutoPublishThread autoPublishThread; - -/* private static final String[] stateStrings = new String[] { - "unknown", "starting", "started", "started_debug", - "stopping", "stopped", "started_unsupported", "started_profile" - };*/ - - // publish listeners - protected transient List publishListeners; - - // Server listeners - protected transient ServerNotificationManager notificationManager; - - public class AutoPublishThread extends Thread { - public boolean stop; - public int time = 0; - - public AutoPublishThread() { - super("Automatic Publishing"); - } - - public void run() { - Trace.trace(Trace.FINEST, "Auto-publish thread starting for " + Server.this + " - " + time + "s"); - if (stop) - return; - - try { - sleep(time * 1000); - } catch (Exception e) { - // ignore - } - - if (stop) - return; - - Trace.trace(Trace.FINEST, "Auto-publish thread publishing " + Server.this); - - PublishServerJob publishJob = new PublishServerJob(Server.this, IServer.PUBLISH_AUTO, false); - publishJob.schedule(); - } - } - - private static final Comparator PUBLISH_OPERATION_COMPARTOR = new Comparator() { - public int compare(Object leftOp, Object rightOp) { - PublishOperation left = (PublishOperation) leftOp; - PublishOperation right = (PublishOperation) rightOp; - if (left.getOrder() > right.getOrder()) - return 1; - if (left.getOrder() < right.getOrder()) - return -1; - return 0; - } - }; - - // working copy, loaded resource - public Server(IFile file) { - super(file); - map.put(PROP_HOSTNAME, "localhost"); - } - - // creation (working copy) - public Server(String id, IFile file, IRuntime runtime, IServerType serverType) { - super(file, id); - this.runtime = runtime; - this.serverType = serverType; - map.put("server-type-id", serverType.getId()); - map.put(PROP_HOSTNAME, "localhost"); - if (runtime != null && runtime.getRuntimeType() != null) { - String name = runtime.getRuntimeType().getName(); - map.put(PROP_NAME, name); - } - serverState = ((ServerType)serverType).getInitialState(); - } - - public IServerType getServerType() { - return serverType; - } - - public IServerWorkingCopy createWorkingCopy() { - return new ServerWorkingCopy(this); - } - - public boolean isWorkingCopy() { - return false; - } - - protected void deleteFromMetadata() { - ResourceManager.getInstance().removeServer(this); - } - - protected void saveToMetadata(IProgressMonitor monitor) { - super.saveToMetadata(monitor); - ResourceManager.getInstance().addServer(this); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServerAttributes#getRuntime() - */ - public IRuntime getRuntime() { - return runtime; - } - - protected String getRuntimeId() { - return getAttribute(RUNTIME_ID, (String) null); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServerAttributes#getServerConfiguration() - */ - public IFolder getServerConfiguration() { - return configuration; - } - - protected ServerDelegate getDelegate(IProgressMonitor monitor) { - if (delegate != null || serverType == null) - return delegate; - - synchronized (this) { - if (delegate == null) { - try { - long time = System.currentTimeMillis(); - delegate = ((ServerType) serverType).createServerDelegate(); - InternalInitializer.initializeServerDelegate(delegate, Server.this, monitor); - Trace.trace(Trace.PERFORMANCE, "Server.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId()); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t); - } - } - } - return delegate; - } - - protected ServerBehaviourDelegate getBehaviourDelegate(IProgressMonitor monitor) { - if (behaviourDelegate != null || serverType == null) - return behaviourDelegate; - - synchronized (this) { - if (behaviourDelegate == null) { - try { - long time = System.currentTimeMillis(); - behaviourDelegate = ((ServerType) serverType).createServerBehaviourDelegate(); - InternalInitializer.initializeServerBehaviourDelegate(behaviourDelegate, Server.this, monitor); - Trace.trace(Trace.PERFORMANCE, "Server.getBehaviourDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId()); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create behaviour delegate " + toString(), t); - } - } - } - return behaviourDelegate; - } - - public void dispose() { - if (delegate != null) { - delegate.dispose(); - delegate = null; - } - if (behaviourDelegate != null) { - behaviourDelegate.dispose(); - behaviourDelegate = null; - } - } - - public String getHost() { - return getAttribute(PROP_HOSTNAME, "localhost"); - } - - public int getAutoPublishTime() { - return getAttribute(PROP_AUTO_PUBLISH_TIME, -1); - } - - public int getAutoPublishSetting() { - return getAttribute(PROP_AUTO_PUBLISH_SETTING, AUTO_PUBLISH_DEFAULT); - } - - /** - * Returns a list of id (String) of preferred publish operations that will not be run - * during publish. - * - * @return a list of publish operation ids - */ - public List getDisabledPreferredPublishOperationIds() { - return getAttribute(PROP_DISABLED_PERFERRED_TASKS, EMPTY_LIST); - } - - /** - * Returns a list of id (String) of optional publish operations that are enabled to - * be run during publish. - * - * @return a list of publish operation ids - */ - public List getEnabledOptionalPublishOperationIds() { - return getAttribute(PROP_ENABLED_OPTIONAL_TASKS, EMPTY_LIST); - } - - /** - * Returns the current state of the server. (see SERVER_XXX constants) - * - * @return int - */ - public int getServerState() { - return serverState; - } - - public String getMode() { - return mode; - } - - public void setServerState(int state) { - if (state == serverState) - return; - - this.serverState = state; - fireServerStateChangeEvent(); - } - - /** - * Add a listener to this server. - * - * @param listener org.eclipse.wst.server.model.IServerListener - */ - public void addServerListener(IServerListener listener) { - if (listener == null) - throw new IllegalArgumentException("Module cannot be null"); - Trace.trace(Trace.LISTENERS, "Adding server listener " + listener + " to " + this); - getServerNotificationManager().addListener(listener); - } - - /** - * Add a listener to this server with the given event mask. - * - * @param listener org.eclipse.wst.server.model.IServerListener - * @param eventMask to limit listening to certain types of events - */ - public void addServerListener(IServerListener listener, int eventMask) { - if (listener == null) - throw new IllegalArgumentException("Module cannot be null"); - Trace.trace(Trace.LISTENERS, "Adding server listener " + listener + " to " + this + " with eventMask " + eventMask); - getServerNotificationManager().addListener(listener, eventMask); - } - - /** - * Remove a listener from this server. - * - * @param listener org.eclipse.wst.server.model.IServerListener - */ - public void removeServerListener(IServerListener listener) { - if (listener == null) - throw new IllegalArgumentException("Module cannot be null"); - Trace.trace(Trace.LISTENERS, "Removing server listener " + listener + " from " + this); - getServerNotificationManager().removeListener(listener); - } - - /** - * Fire a server listener restart state change event. - */ - protected void fireRestartStateChangeEvent() { - Trace.trace(Trace.LISTENERS, "->- Firing server restart change event: " + getName() + " ->-"); - - if (notificationManager == null || notificationManager.hasListenerEntries()) - return; - - notificationManager.broadcastChange( - new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.RESTART_STATE_CHANGE, this, getServerState(), - getServerPublishState(), getServerRestartState())); - } - - /** - * Fire a server listener state change event. - */ - protected void fireServerStateChangeEvent() { - Trace.trace(Trace.LISTENERS, "->- Firing server state change event: " + getName() + ", " + getServerState() + " ->-"); - - if (notificationManager == null || notificationManager.hasListenerEntries()) - return; - - notificationManager.broadcastChange( - new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE, this, getServerState(), - getServerPublishState(), getServerRestartState())); - } - - /** - * Fire a server listener module state change event. - */ - protected void fireModuleStateChangeEvent(IModule[] module) { - Trace.trace(Trace.LISTENERS, "->- Firing module state change event: " + getName() + ", " + getServerState() + " ->-"); - - if (notificationManager == null || notificationManager.hasListenerEntries()) - return; - - notificationManager.broadcastChange( - new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.STATE_CHANGE, this, module, getModuleState(module), - getModulePublishState(module), getModuleRestartState(module))); - } - - /** - * Fire a server listener module publish state change event. - */ - protected void fireModulePublishStateChangeEvent(IModule[] module) { - Trace.trace(Trace.LISTENERS, "->- Firing module publish state change event: " + getName() + ", " + getServerState() + " ->-"); - - if (notificationManager == null || notificationManager.hasListenerEntries()) - return; - - notificationManager.broadcastChange( - new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.PUBLISH_STATE_CHANGE, this, module, getModuleState(module), - getModulePublishState(module), getModuleRestartState(module))); - } - - /** - * Fire a server listener module state change event. - */ - protected void fireModuleRestartChangeEvent(IModule[] module) { - Trace.trace(Trace.LISTENERS, "->- Firing module restart change event: " + getName() + ", " + getServerState() + " ->-"); - - if (notificationManager == null || notificationManager.hasListenerEntries()) - return; - - notificationManager.broadcastChange( - new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.RESTART_STATE_CHANGE, this, module, getModuleState(module), - getModulePublishState(module), getModuleRestartState(module))); - } - - public void setMode(String m) { - if (m == mode) - return; - - this.mode = m; - fireServerStateChangeEvent(); - } - - public void setModuleState(IModule[] module, int state) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - Integer in = new Integer(state); - moduleState.put(getKey(module), in); - fireModuleStateChangeEvent(module); - } - - public void setModulePublishState(IModule[] module, int state) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - Integer in = new Integer(state); - if (state == -1) - modulePublishState.remove(getKey(module)); - modulePublishState.put(getKey(module), in); - fireModulePublishStateChangeEvent(module); - } - - public void setModuleRestartState(IModule[] module, boolean r) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - Boolean b = new Boolean(r); - moduleState.put(getKey(module), b); - fireModuleRestartChangeEvent(module); - } - - protected void handleModuleProjectChange(final IModule module) { - Trace.trace(Trace.FINEST, "> handleDeployableProjectChange() " + this + " " + module); - - class Helper { - boolean changed; - } - final Helper helper = new Helper(); - - final List modules2 = new ArrayList(); - - IModuleVisitor visitor = new IModuleVisitor() { - public boolean visit(IModule[] module2) { - modules2.add(module2); - - int size = module2.length; - IModule m = module2[size - 1]; - if (m.getProject() == null) - return true; - - if (module.equals(m)) { - if (hasPublishedResourceDelta(module2)) { - helper.changed = true; - setModulePublishState(module2, IServer.PUBLISH_STATE_INCREMENTAL); - } - } - return true; - } - }; - - visit(visitor, null); - - if (getServerPublishInfo().hasStructureChanged(modules2)) - setServerPublishState(IServer.PUBLISH_STATE_INCREMENTAL); - - if (!helper.changed) - return; - - if (getServerState() != IServer.STATE_STOPPED && behaviourDelegate != null) - behaviourDelegate.handleResourceChange(); - - if (getServerState() != IServer.STATE_STOPPED) - autoPublish(); - - Trace.trace(Trace.FINEST, "< handleDeployableProjectChange()"); - } - - protected void stopAutoPublish() { - if (autoPublishThread == null) - return; - - autoPublishThread.stop = true; - autoPublishThread.interrupt(); - autoPublishThread = null; - } - - /** - * Reset automatic publish thread if it is running and start a new - * thread if automatic publishing is currently enabled. - */ - protected void autoPublish() { - stopAutoPublish(); - - if (getAutoPublishSetting() == AUTO_PUBLISH_DISABLE) - return; - - int time = 0; - if (getAutoPublishSetting() == AUTO_PUBLISH_DEFAULT) { - ServerPreferences pref = ServerPreferences.getInstance(); - boolean local = SocketUtil.isLocalhost(getHost()); - if (local && pref.getAutoPublishLocal()) - time = pref.getAutoPublishLocalTime(); - else if (!local && pref.getAutoPublishRemote()) - time = pref.getAutoPublishRemoteTime(); - } else - time = getAutoPublishTime(); - - if (time > 0) { - autoPublishThread = new AutoPublishThread(); - autoPublishThread.time = time; - autoPublishThread.setPriority(Thread.MIN_PRIORITY + 1); - autoPublishThread.start(); - } - } - - private ServerNotificationManager getServerNotificationManager() { - if (notificationManager == null) { - notificationManager = new ServerNotificationManager(); - } - return notificationManager; - } - - /** - * Returns the configuration's sync state. - * - * @return int - */ - public int getServerPublishState() { - return serverSyncState; - } - - /** - * Sets the configuration sync state. - * - * @param state int - */ - public void setServerPublishState(int state) { - if (state == serverSyncState) - return; - serverSyncState = state; - firePublishStateChange(); - } - - /** - * Adds a publish listener to this server. - * Has no effect if an identical listener is already registered. - * - * @param listener the publish listener - * @see #removePublishListener(IPublishListener) - */ - public void addPublishListener(IPublishListener listener) { - if (listener == null) - throw new IllegalArgumentException("Listener cannot be null"); - Trace.trace(Trace.LISTENERS, "Adding publish listener " + listener + " to " + this); - - if (publishListeners == null) - publishListeners = new ArrayList(); - publishListeners.add(listener); - } - - /** - * Removes a publish listener from this server. - * Has no effect if the listener is not registered. - * - * @param listener the publish listener - * @see #addPublishListener(IPublishListener) - */ - public void removePublishListener(IPublishListener listener) { - if (listener == null) - throw new IllegalArgumentException("Listener cannot be null"); - Trace.trace(Trace.LISTENERS, "Removing publish listener " + listener + " from " + this); - - if (publishListeners != null) - publishListeners.remove(listener); - } - - /** - * Fire a publish start event. - */ - private void firePublishStarted() { - Trace.trace(Trace.FINEST, "->- Firing publish started event ->-"); - - if (publishListeners == null || publishListeners.isEmpty()) - return; - - int size = publishListeners.size(); - IPublishListener[] srl = new IPublishListener[size]; - publishListeners.toArray(srl); - - for (int i = 0; i < size; i++) { - Trace.trace(Trace.FINEST, " Firing publish started event to " + srl[i]); - try { - srl[i].publishStarted(this); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, " Error firing publish started event to " + srl[i], e); - } - } - - Trace.trace(Trace.FINEST, "-<- Done firing publish started event -<-"); - } - - /** - * Fire a publish stop event. - * - * @param status publishing status - */ - private void firePublishFinished(IStatus status) { - Trace.trace(Trace.FINEST, "->- Firing publishing finished event: " + status + " ->-"); - - if (publishListeners == null || publishListeners.isEmpty()) - return; - - int size = publishListeners.size(); - IPublishListener[] srl = new IPublishListener[size]; - publishListeners.toArray(srl); - - for (int i = 0; i < size; i++) { - Trace.trace(Trace.FINEST, " Firing publishing finished event to " + srl[i]); - try { - srl[i].publishFinished(this, status); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, " Error firing publishing finished event to " + srl[i], e); - } - } - - Trace.trace(Trace.FINEST, "-<- Done firing publishing finished event -<-"); - } - - /** - * Fire a publish state change event. - */ - protected void firePublishStateChange() { - Trace.trace(Trace.FINEST, "->- Firing publish state change event ->-"); - - if (notificationManager == null || notificationManager.hasListenerEntries()) - return; - - notificationManager.broadcastChange( - new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.PUBLISH_STATE_CHANGE, this, getServerState(), - getServerPublishState(), getServerRestartState())); - } - - /** - * Fire a publish state change event. - */ - protected void firePublishStateChange(IModule[] module) { - Trace.trace(Trace.FINEST, "->- Firing publish state change event: " + module + " ->-"); - - if (notificationManager == null || notificationManager.hasListenerEntries()) - return; - - notificationManager.broadcastChange( - new ServerEvent(ServerEvent.MODULE_CHANGE | ServerEvent.PUBLISH_STATE_CHANGE, this, module, getModuleState(module), - getModulePublishState(module), getModuleRestartState(module))); - } - - /** - * Returns true if the server is in a state that it can - * be published to. - * - * @return boolean - */ - public IStatus canPublish() { - // can't publish if the server is starting or stopping - int state = getServerState(); - if (state == STATE_STARTING || state == STATE_STOPPING) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishStarting, null); - - // can't publish if there is no configuration - if (getServerType() == null || getServerType().hasServerConfiguration() && configuration == null) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoConfiguration, null); - - return Status.OK_STATUS; - } - - /** - * Returns true if the server should be published to. This is <code>true</code> when the server - * can be published to and the server's publish state or any module's publish state is not - * PUBLISH_STATE_NONE. - * - * @return boolean - */ - public boolean shouldPublish() { - if (!canPublish().isOK()) - return false; - - if (getServerPublishState() != PUBLISH_STATE_NONE) - return true; - - class Temp { - boolean publish; - } - final Temp temp = new Temp(); - - visit(new IModuleVisitor() { - public boolean visit(IModule[] module) { - if (getModulePublishState(module) != PUBLISH_STATE_NONE) { - temp.publish = true; - return false; - } - return true; - } - }, null); - - return temp.publish; - } - - /** - * Returns true if the server should be restarted. This is <code>true</code> when the server - * can be restarted and the server's restart state or any module's restart states is not - * false. - * - * @return boolean - */ - public boolean shouldRestart() { - if (!canPublish().isOK()) - return false; - - if (getServerRestartState()) - return true; - - class Temp { - boolean publish; - } - final Temp temp = new Temp(); - - visit(new IModuleVisitor() { - public boolean visit(IModule[] module) { - if (getModuleRestartState(module)) { - temp.publish = true; - return false; - } - return true; - } - }, null); - - return temp.publish; - } - - public ServerPublishInfo getServerPublishInfo() { - if (publishInfo == null) { - publishInfo = PublishInfo.getInstance().getServerPublishInfo(this); - } - return publishInfo; - } - - /* - * Publish to the server using the progress monitor. The result of the - * publish operation is returned as an IStatus. - */ - public IStatus publish(final int kind, IProgressMonitor monitor) { - if (getServerType() == null) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, null); - - // check what is out of sync and publish - if (getServerType().hasServerConfiguration() && configuration == null) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorNoConfiguration, null); - - // make sure that the delegate is loaded and the server state is correct - loadAdapter(ServerBehaviourDelegate.class, monitor); - - if (((ServerType)getServerType()).startBeforePublish() && (getServerState() == IServer.STATE_STOPPED)) { - try { - synchronousStart(ILaunchManager.RUN_MODE, monitor); - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Error starting server", ce); - return ce.getStatus(); - } - } - - firePublishStarted(); - IStatus status = doPublish(kind, monitor); - firePublishFinished(status); - return status; - } - - protected IStatus doPublish(int kind, IProgressMonitor monitor) { - Trace.trace(Trace.FINEST, "-->-- Publishing to server: " + toString() + " -->--"); - - stopAutoPublish(); - - try { - IStatus status = getBehaviourDelegate(monitor).publish(kind, monitor); - - final List modules2 = new ArrayList(); - visit(new IModuleVisitor() { - public boolean visit(IModule[] module) { - if (getModulePublishState(module) == IServer.PUBLISH_STATE_NONE) - getServerPublishInfo().fill(module); - - modules2.add(module); - return true; - } - }, monitor); - - getServerPublishInfo().removeDeletedModulePublishInfo(modules2); - getServerPublishInfo().save(); - - return status; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate publish() " + toString(), e); - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e); - } - } - - /** - * Returns the publish tasks that have been targetted to this server. - * These tasks should be run during publishing and will be initialized - * with a task model. - * - * @param kind one of the IServer.PUBLISH_XX constants - * @param moduleList a list of modules - * @param kindList one of the IServer publish change constants - * @return a possibly empty array of IOptionalTasks - */ - public PublishOperation[] getTasks(int kind, List moduleList, List kindList) { - List tasks = new ArrayList(); - - String serverTypeId = getServerType().getId(); - - IPublishTask[] publishTasks = ServerPlugin.getPublishTasks(); - if (publishTasks != null) { - List enabledTasks = getEnabledOptionalPublishOperationIds(); - List disabledTasks = getDisabledPreferredPublishOperationIds(); - - TaskModel taskModel = new TaskModel(); - taskModel.putObject(TaskModel.TASK_SERVER, this); - - int size = publishTasks.length; - for (int i = 0; i < size; i++) { - IPublishTask task = publishTasks[i]; - if (task.supportsType(serverTypeId)) { - PublishOperation[] tasks2 = task.getTasks(this, kind, moduleList, kindList); - if (tasks2 != null) { - int size2 = tasks2.length; - for (int j = 0; j < size2; j++) { - if (tasks2[j].getKind() == PublishOperation.REQUIRED) { - tasks.add(tasks2[j]); - tasks2[j].setTaskModel(taskModel); - } else if (tasks2[j].getKind() == PublishOperation.PREFERRED) { - String opId = getPublishOperationId(tasks2[j]); - if (!disabledTasks.contains(opId)) { - tasks.add(tasks2[j]); - tasks2[j].setTaskModel(taskModel); - } - } else if (tasks2[j].getKind() == PublishOperation.OPTIONAL) { - String opId = getPublishOperationId(tasks2[j]); - if (enabledTasks.contains(opId)) { - tasks.add(tasks2[j]); - tasks2[j].setTaskModel(taskModel); - } - } - } - } - } - } - } - - Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR); - - return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]); - } - - /** - * Returns all publish tasks that have been targetted to this server type. - * The tasks will not be initialized with a task model. - * - * @param moduleList a list of modules - * @return an array of publish operations - */ - public PublishOperation[] getAllTasks(List moduleList) { - String serverTypeId = getServerType().getId(); - if (serverTypeId == null) - return new PublishOperation[0]; - - List tasks = new ArrayList(); - - IPublishTask[] publishTasks = ServerPlugin.getPublishTasks(); - if (publishTasks != null) { - int size = publishTasks.length; - for (int i = 0; i < size; i++) { - IPublishTask task = publishTasks[i]; - if (task.supportsType(serverTypeId)) { - PublishOperation[] tasks2 = task.getTasks(this, moduleList); - tasks.addAll(Arrays.asList(tasks2)); - } - } - } - - Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR); - - return (PublishOperation[])tasks.toArray(new PublishOperation[tasks.size()]); - } - - public String getPublishOperationId(PublishOperation op) { - return getId()+"|"+op.getLabel(); - } - - public List getAllModules() { - final List moduleList = new ArrayList(); - - IModuleVisitor visitor = new IModuleVisitor() { - public boolean visit(IModule[] module) { - if (!moduleList.contains(module)) - moduleList.add(module); - return true; - } - }; - - visit(visitor, null); - - return moduleList; - } - - /* - * Returns the module resources that have been published. - * - * @see ServerBehaviourDelegate.getPublishedResources(IModule[], IModule) - */ - public IModuleResource[] getPublishedResources(IModule[] module) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - return getServerPublishInfo().getModulePublishInfo(module).getResources(); - } - - /* - * Returns the delta of the current module resources that have been - * published compared to the current state of the module. - * - * @see ServerBehaviourDelegate.getPublishedResourceDelta(IModule[], IModule) - */ - public IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - return getServerPublishInfo().getDelta(module); - } - - /* - * Returns the delta of the current module resources that have been - * published compared to the current state of the module. - * - * @see ServerBehaviourDelegate.getPublishedResourceDelta(IModule[], IModule) - */ - public boolean hasPublishedResourceDelta(IModule[] module) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - return getServerPublishInfo().hasDelta(module); - } - - /** - * @see IServer#getAdapter(Class) - */ - public Object getAdapter(Class adapter) { - if (delegate != null) { - if (adapter.isInstance(delegate)) - return delegate; - } - if (behaviourDelegate != null) { - if (adapter.isInstance(behaviourDelegate)) - return behaviourDelegate; - } - return Platform.getAdapterManager().getAdapter(this, adapter); - } - - /** - * @see IServer#loadAdapter(Class, IProgressMonitor) - */ - public Object loadAdapter(Class adapter, IProgressMonitor monitor) { - getDelegate(monitor); - if (adapter.isInstance(delegate)) - return delegate; - - getBehaviourDelegate(monitor); - if (adapter.isInstance(behaviourDelegate)) - return behaviourDelegate; - - return Platform.getAdapterManager().loadAdapter(this, adapter.getName()); - } - - public String toString() { - return getName(); - } - - /** - * Returns true if the server is in a state that it can - * be started, and supports the given mode. - * - * @param mode2 - * @return status - */ - public IStatus canStart(String mode2) { - int state = getServerState(); - if (state != STATE_STOPPED && state != STATE_UNKNOWN) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.canStartErrorState, null); - - if (getServerType() == null || !getServerType().supportsLaunchMode(mode2)) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null); - - return Status.OK_STATUS; - } - - public ILaunch getExistingLaunch() { - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - - ILaunch[] launches = launchManager.getLaunches(); - int size = launches.length; - for (int i = 0; i < size; i++) { - ILaunchConfiguration launchConfig = launches[i].getLaunchConfiguration(); - try { - if (launchConfig != null) { - String serverId = launchConfig.getAttribute(SERVER_ID, (String) null); - if (getId().equals(serverId)) { - if (!launches[i].isTerminated()) - return launches[i]; - } - } - } catch (CoreException e) { - // ignore - } - } - - return null; - } - - public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) { - try { - getBehaviourDelegate(monitor).setupLaunchConfiguration(workingCopy, monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate setLaunchDefaults() " + toString(), e); - } - } - - /** - * Return the launch configuration for this server. If one does not exist, it - * will be created if "create" is true, and otherwise will return null. - * - * @param create <code>true</code> if a new launch configuration should be - * created if there are none already - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return the launch configuration, no <code>null</code> if there was no - * existing launch configuration and <code>create</code> was false - * @throws CoreException - */ - public ILaunchConfiguration getLaunchConfiguration(boolean create, IProgressMonitor monitor) throws CoreException { - ILaunchConfigurationType launchConfigType = ((ServerType) getServerType()).getLaunchConfigurationType(); - - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfiguration[] launchConfigs = null; - try { - launchConfigs = launchManager.getLaunchConfigurations(launchConfigType); - } catch (CoreException e) { - // ignore - } - - if (launchConfigs != null) { - int size = launchConfigs.length; - for (int i = 0; i < size; i++) { - try { - String serverId = launchConfigs[i].getAttribute(SERVER_ID, (String) null); - if (getId().equals(serverId)) { - final ILaunchConfigurationWorkingCopy wc = launchConfigs[i].getWorkingCopy(); - setupLaunchConfiguration(wc, monitor); - if (wc.isDirty()) { - class Temp { - ILaunchConfiguration lc = null; - } - final Temp temp = new Temp(); - class SaveLaunchJob extends Job { - public SaveLaunchJob() { - super(NLS.bind(Messages.savingTask, wc.getName())); - } - - public IStatus run(IProgressMonitor monitor2) { - try { - temp.lc = wc.doSave(); - } catch (Exception e) { - // ignore - } - return Status.OK_STATUS; - } - } - SaveLaunchJob job = new SaveLaunchJob(); - job.schedule(); - try { - job.join(); - } catch (Exception e) { - // ignore - } - return temp.lc; - } - return launchConfigs[i]; - } - } catch (CoreException e) { - Trace.trace(Trace.SEVERE, "Error configuring launch", e); - } - } - } - - if (!create) - return null; - - // create a new launch configuration - String launchName = getValidLaunchConfigurationName(getName()); - launchName = launchManager.generateUniqueLaunchConfigurationNameFrom(launchName); - ILaunchConfigurationWorkingCopy wc = launchConfigType.newInstance(null, launchName); - wc.setAttribute(SERVER_ID, getId()); - setupLaunchConfiguration(wc, monitor); - return wc.doSave(); - } - - protected String getValidLaunchConfigurationName(String s) { - if (s == null || s.length() == 0) - return "1"; - int size = INVALID_CHARS.length; - for (int i = 0; i < size; i++) { - s = s.replace(INVALID_CHARS[i], '_'); - } - return s; - } - - /** - * @see IServer#start(String, IProgressMonitor) - */ - public void start(String mode2, IProgressMonitor monitor) throws CoreException { - Trace.trace(Trace.FINEST, "Starting server: " + toString() + ", launchMode: " + mode2); - - try { - ILaunchConfiguration launchConfig = getLaunchConfiguration(true, monitor); - ILaunch launch = launchConfig.launch(mode2, monitor); // , true); - causes workspace lock - Trace.trace(Trace.FINEST, "Launch: " + launch); - } catch (CoreException e) { - Trace.trace(Trace.SEVERE, "Error starting server " + toString(), e); - throw e; - } - } - - /** - * Clean up any old launch configurations with the current server's id. - */ - protected void deleteLaunchConfigurations() { - if (getServerType() == null) - return; - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfigurationType launchConfigType = ((ServerType) getServerType()).getLaunchConfigurationType(); - - ILaunchConfiguration[] configs = null; - try { - configs = launchManager.getLaunchConfigurations(launchConfigType); - int size = configs.length; - for (int i = 0; i < size; i++) { - try { - if (getId().equals(configs[i].getAttribute(SERVER_ID, (String) null))) - configs[i].delete(); - } catch (Exception e) { - // ignore - } - } - } catch (Exception e) { - // ignore - } - } - - /** - * @see IServer#canRestart(String) - */ - public IStatus canRestart(String mode2) { - if (!getServerType().supportsLaunchMode(mode2)) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null); - - int state = getServerState(); - if (state == STATE_STARTED) - return Status.OK_STATUS; - - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartNotStarted, null); - } - - /** - * Returns the current restart state of the server. This - * implementation will always return false when the server - * is stopped. - * - * @return boolean - */ - public boolean getServerRestartState() { - if (getServerState() == STATE_STOPPED) - return false; - return serverRestartNeeded; - } - - /** - * Sets the server restart state. - * - * @param state boolean - */ - public synchronized void setServerRestartState(boolean state) { - if (state == serverRestartNeeded) - return; - serverRestartNeeded = state; - fireRestartStateChangeEvent(); - } - - /** - * @see IServer#restart(String, IProgressMonitor) - */ - public void restart(final String mode2, final IProgressMonitor monitor) { - if (getServerState() == STATE_STOPPED) - return; - - Trace.trace(Trace.FINEST, "Restarting server: " + getName()); - - try { - try { - getBehaviourDelegate(null).restart(mode2); - return; - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Error calling delegate restart() " + toString()); - } - - // add listener to start it as soon as it is stopped - addServerListener(new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - if (server.getServerState() == STATE_STOPPED) { - server.removeServerListener(this); - - // restart in a quarter second (give other listeners a chance - // to hear the stopped message) - Thread t = new Thread() { - public void run() { - try { - Thread.sleep(250); - } catch (Exception e) { - // ignore - } - try { - Server.this.start(mode2, monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error while restarting server", e); - } - } - }; - t.setDaemon(true); - t.setPriority(Thread.NORM_PRIORITY - 2); - t.start(); - } - } - - } - }); - - // stop the server - stop(false); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error restarting server", e); - } - } - - /** - * Returns true if the server is in a state that it can - * be stopped. - * - * @return boolean - */ - public IStatus canStop() { - if (getServerState() == STATE_STOPPED) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorStopAlreadyStopped, null); - - return Status.OK_STATUS; - } - - /** - * @see IServer#stop(boolean) - */ - public void stop(boolean force) { - if (getServerState() == STATE_STOPPED) - return; - - Trace.trace(Trace.FINEST, "Stopping server: " + toString()); - - try { - getBehaviourDelegate(null).stop(force); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Error calling delegate stop() " + toString(), t); - } - } - - /** - * @see IServer#start(String, IOperationListener) - */ - public void start(String mode2, IOperationListener listener2) { - Trace.trace(Trace.FINEST, "synchronousStart 1"); - final Object mutex = new Object(); - - // add listener to the server - IServerListener listener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - int state = server.getServerState(); - if (state == IServer.STATE_STARTED || state == IServer.STATE_STOPPED) { - // notify waiter - synchronized (mutex) { - try { - Trace.trace(Trace.FINEST, "synchronousStart notify"); - mutex.notifyAll(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server start", e); - } - } - } - } - } - }; - addServerListener(listener); - - final int serverTimeout = ((ServerType) getServerType()).getStartTimeout(); - class Timer { - boolean timeout; - boolean alreadyDone; - } - final Timer timer = new Timer(); - - Thread thread = new Thread() { - public void run() { - try { - Thread.sleep(serverTimeout * 1000); - if (!timer.alreadyDone) { - timer.timeout = true; - // notify waiter - synchronized (mutex) { - Trace.trace(Trace.FINEST, "synchronousStart notify timeout"); - mutex.notifyAll(); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e); - } - } - }; - thread.setDaemon(true); - thread.start(); - - Trace.trace(Trace.FINEST, "synchronousStart 2"); - - // start the server - try { - start(mode2, (IProgressMonitor)null); - } catch (CoreException e) { - removeServerListener(listener); - timer.alreadyDone = true; - listener2.done(e.getStatus()); - return; - } - - Trace.trace(Trace.FINEST, "synchronousStart 3"); - - // wait for it! wait for it! ... - synchronized (mutex) { - try { - while (!timer.timeout && !(getServerState() == IServer.STATE_STARTED || getServerState() == IServer.STATE_STOPPED)) - mutex.wait(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error waiting for server start", e); - } - } - removeServerListener(listener); - timer.alreadyDone = true; - - if (timer.timeout) { - listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), serverTimeout + "" }), null)); - return; - } - timer.alreadyDone = true; - - if (getServerState() == IServer.STATE_STOPPED) { - listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null)); - return; - } - - Trace.trace(Trace.FINEST, "synchronousStart 4"); - listener2.done(Status.OK_STATUS); - } - - public void synchronousStart(String mode2, IProgressMonitor monitor) throws CoreException { - Trace.trace(Trace.FINEST, "synchronousStart 1"); - final Object mutex = new Object(); - - monitor = ProgressUtil.getMonitorFor(monitor); - - // add listener to the server - IServerListener listener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - int state = server.getServerState(); - if (state == IServer.STATE_STARTED || state == IServer.STATE_STOPPED) { - // notify waiter - synchronized (mutex) { - try { - Trace.trace(Trace.FINEST, "synchronousStart notify"); - mutex.notifyAll(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server start", e); - } - } - } - } - } - }; - addServerListener(listener); - - final int serverTimeout = ((ServerType) getServerType()).getStartTimeout(); - class Timer { - boolean timeout; - boolean alreadyDone; - } - final Timer timer = new Timer(); - - final IProgressMonitor monitor2 = monitor; - Thread thread = new Thread("Synchronous Server Start") { - public void run() { - try { - int totalTimeout = serverTimeout; - boolean userCancelled = false; - int retryPeriod = 2500; - while (totalTimeout > 0 && !userCancelled && !timer.alreadyDone) { - Thread.sleep(retryPeriod); - totalTimeout -= retryPeriod; - if (monitor2.isCanceled()) { - // user cancelled - set the server state to stopped - userCancelled = true; - setServerState(IServer.STATE_STOPPED); - // notify waiter - synchronized (mutex) { - Trace.trace(Trace.FINEST, "synchronousStart user cancelled."); - mutex.notifyAll(); - } - } - } - if (!userCancelled && !timer.alreadyDone) { - timer.timeout = true; - // notify waiter - synchronized (mutex) { - Trace.trace(Trace.FINEST, "synchronousStart notify timeout"); - mutex.notifyAll(); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e); - } - } - }; - thread.setDaemon(true); - thread.start(); - - Trace.trace(Trace.FINEST, "synchronousStart 2"); - - // start the server - try { - start(mode2, monitor); - } catch (CoreException e) { - removeServerListener(listener); - timer.alreadyDone = true; - throw e; - } - - Trace.trace(Trace.FINEST, "synchronousStart 3"); - - // wait for it! wait for it! ... - synchronized (mutex) { - try { - while (!monitor.isCanceled() && !timer.timeout && !(getServerState() == IServer.STATE_STARTED || getServerState() == IServer.STATE_STOPPED)) - mutex.wait(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error waiting for server start", e); - } - } - removeServerListener(listener); - timer.alreadyDone = true; - - if (timer.timeout) - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), serverTimeout + "" }), null)); - timer.alreadyDone = true; - - if (getServerState() == IServer.STATE_STOPPED) - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null)); - - Trace.trace(Trace.FINEST, "synchronousStart 4"); - } - - /* - * @see IServer#synchronousRestart(String, IProgressMonitor) - */ - public void synchronousRestart(String mode2, IProgressMonitor monitor) throws CoreException { - synchronousStop(true); - synchronousStart(mode2, monitor); - } - - /* - * @see IServer#restart(String, IOperationListener) - */ - public void restart(String mode2, IOperationListener listener) { - if (getServerState() == STATE_STOPPED) - return; - - Trace.trace(Trace.FINEST, "Restarting server: " + getName()); - - try { - final IOperationListener listener2 = listener; - IServerListener curListener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - if (server.getServerState() == STATE_STARTED) { - server.removeServerListener(this); - listener2.done(Status.OK_STATUS); - } - } - } - }; - try { - addServerListener(curListener); - getBehaviourDelegate(null).restart(mode2); - return; - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Error calling delegate restart() " + toString()); - removeServerListener(curListener); - } - - final String mode3 = mode2; - // add listener to start it as soon as it is stopped - addServerListener(new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - if (server.getServerState() == STATE_STOPPED) { - server.removeServerListener(this); - - // restart in a quarter second (give other listeners a chance - // to hear the stopped message) - Thread t = new Thread("Restart thread") { - public void run() { - try { - Thread.sleep(250); - } catch (Exception e) { - // ignore - } - if (ServerPreferences.getInstance().isAutoPublishing()) { - // TODO publish here!! - } - try { - Server.this.start(mode3, listener2); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error while restarting server", e); - } - } - }; - t.setDaemon(true); - t.setPriority(Thread.NORM_PRIORITY - 2); - t.start(); - } - } - - } - }); - - // stop the server - stop(false); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error restarting server", e); - listener.done(null); - } - } - - /* - * @see IServer#stop(boolean, IOperationListener) - */ - public void stop(boolean force, IOperationListener listener2) { - if (getServerState() == IServer.STATE_STOPPED) - return; - - final Object mutex = new Object(); - - // add listener to the server - IServerListener listener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - int state = server.getServerState(); - if (Server.this == server && state == IServer.STATE_STOPPED) { - // notify waiter - synchronized (mutex) { - try { - mutex.notifyAll(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server stop", e); - } - } - } - } - } - }; - addServerListener(listener); - - class Timer { - boolean timeout; - boolean alreadyDone; - } - final Timer timer = new Timer(); - - Thread thread = new Thread() { - public void run() { - try { - Thread.sleep(120000); - if (!timer.alreadyDone) { - timer.timeout = true; - // notify waiter - synchronized (mutex) { - Trace.trace(Trace.FINEST, "stop notify timeout"); - mutex.notifyAll(); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e); - } - } - }; - thread.setDaemon(true); - thread.start(); - - // stop the server - stop(force); - - // wait for it! wait for it! - synchronized (mutex) { - try { - while (!timer.timeout && getServerState() != IServer.STATE_STOPPED) - mutex.wait(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error waiting for server stop", e); - } - } - removeServerListener(listener); - - /* - //can't throw exceptions - if (timer.timeout) - throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null)); - else - timer.alreadyDone = true; - - if (getServerState() == IServer.STATE_STOPPED) - throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));*/ - listener2.done(Status.OK_STATUS); - } - - /* - * @see IServer#synchronousStop() - */ - public void synchronousStop(boolean force) { - if (getServerState() == IServer.STATE_STOPPED) - return; - - final Object mutex = new Object(); - - // add listener to the server - IServerListener listener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - int state = server.getServerState(); - if (Server.this == server && state == IServer.STATE_STOPPED) { - // notify waiter - synchronized (mutex) { - try { - mutex.notifyAll(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server stop", e); - } - } - } - } - } - }; - addServerListener(listener); - - class Timer { - boolean timeout; - boolean alreadyDone; - } - final Timer timer = new Timer(); - - Thread thread = new Thread() { - public void run() { - try { - Thread.sleep(120000); - if (!timer.alreadyDone) { - timer.timeout = true; - // notify waiter - synchronized (mutex) { - Trace.trace(Trace.FINEST, "stop notify timeout"); - mutex.notifyAll(); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e); - } - } - }; - thread.setDaemon(true); - thread.start(); - - // stop the server - stop(force); - - // wait for it! wait for it! - synchronized (mutex) { - try { - while (!timer.timeout && getServerState() != IServer.STATE_STOPPED) - mutex.wait(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error waiting for server stop", e); - } - } - removeServerListener(listener); - - /* - //can't throw exceptions - if (timer.timeout) - throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null)); - else - timer.alreadyDone = true; - - if (getServerState() == IServer.STATE_STOPPED) - throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));*/ - } - - /* - * Trigger a restart of the given module and wait until it has finished restarting. - * - * @param module org.eclipse.wst.server.core.IModule - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @exception org.eclipse.core.runtime.CoreException - thrown if an error occurs while trying to restart the module - * - public void synchronousRestartModule(final IModule[] module, IProgressMonitor monitor) throws CoreException { - Trace.trace(Trace.FINEST, "synchronousModuleRestart 1"); - - final Object mutex = new Object(); - - // add listener to the module - IServerListener listener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.MODULE_CHANGE | ServerEvent.STATE_CHANGE)) { - int state = server.getModuleState(module); - if (state == IServer.STATE_STARTED || state == IServer.STATE_STOPPED) { - // notify waiter - synchronized (mutex) { - try { - Trace.trace(Trace.FINEST, "synchronousModuleRestart notify"); - mutex.notifyAll(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying module restart", e); - } - } - } - } - } - }; - addServerListener(listener); - - // make sure it times out after 30s - class Timer { - boolean timeout; - boolean alreadyDone; - } - final Timer timer = new Timer(); - - Thread thread = new Thread() { - public void run() { - try { - Thread.sleep(30000); - if (!timer.alreadyDone) { - timer.timeout = true; - // notify waiter - synchronized (mutex) { - Trace.trace(Trace.FINEST, "synchronousModuleRestart notify timeout"); - mutex.notifyAll(); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error notifying module restart timeout", e); - } - } - }; - thread.setDaemon(true); - thread.start(); - - Trace.trace(Trace.FINEST, "synchronousModuleRestart 2"); - - // restart the module - try { - getBehaviourDelegate(null).restartModule(module, monitor); - } catch (CoreException e) { - removeServerListener(listener); - throw e; - } - - Trace.trace(Trace.FINEST, "synchronousModuleRestart 3"); - - // wait for it! wait for it! ... - synchronized (mutex) { - try { - while (!timer.timeout && !(getModuleState(module) == IServer.STATE_STARTED || getModuleState(module) == IServer.STATE_STOPPED)) - mutex.wait(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error waiting for server start", e); - } - } - removeServerListener(listener); - if (timer.timeout) - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorModuleRestartFailed, getName()), null)); - timer.alreadyDone = true; - - if (getModuleState(module) == IServer.STATE_STOPPED) - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorModuleRestartFailed, getName()), null)); - - Trace.trace(Trace.FINEST, "synchronousModuleRestart 4"); - }*/ - - public IPath getTempDirectory() { - return ServerPlugin.getInstance().getTempDirectory(getId()); - } - - protected String getXMLRoot() { - return "server"; - } - - protected void loadState(IMemento memento) { - resolve(); - } - - protected void resolve() { - IServerType oldServerType = serverType; - String serverTypeId = getAttribute("server-type-id", (String)null); - if (serverTypeId != null) - serverType = ServerCore.findServerType(serverTypeId); - else - serverType = null; - if (serverType != null && !serverType.equals(oldServerType)) - serverState = ((ServerType)serverType).getInitialState(); - - String runtimeId = getAttribute(RUNTIME_ID, (String)null); - if (runtimeId != null) - runtime = ServerCore.findRuntime(runtimeId); - - String configPath = getAttribute(CONFIGURATION_ID, (String)null); - configuration = null; - if (configPath != null) - configuration = ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(configPath)); - } - - protected void setInternal(ServerWorkingCopy wc) { - map = new HashMap(wc.map); - configuration = wc.configuration; - runtime = wc.runtime; - serverSyncState = wc.serverSyncState; - //restartNeeded = wc.restartNeeded; - serverType = wc.serverType; - modules = wc.modules; - - // can never modify the following properties via the working copy - //serverState = wc.serverState; - delegate = wc.delegate; - - autoPublish(); - } - - protected void saveState(IMemento memento) { - if (serverType != null) - memento.putString("server-type", serverType.getId()); - - if (configuration != null) - memento.putString(CONFIGURATION_ID, configuration.getFullPath().toString()); - else - memento.putString(CONFIGURATION_ID, null); - - if (runtime != null) - memento.putString(RUNTIME_ID, runtime.getId()); - else - memento.putString(RUNTIME_ID, null); - } - - /*public void updateConfiguration() { - try { - getDelegate(null).updateConfiguration(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate updateConfiguration() " + toString(), e); - } - }*/ - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServerConfiguration#canModifyModule(org.eclipse.wst.server.core.model.IModule) - */ - public IStatus canModifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) { - if ((add == null || add.length == 0) && (remove == null || remove.length == 0)) - throw new IllegalArgumentException("Add and remove cannot both be null/empty"); - - if (add != null && add.length > 0) { - int size = add.length; - for (int i = 0; i < size; i++) - if (!ServerUtil.isSupportedModule(getServerType().getRuntimeType().getModuleTypes(), add[i].getModuleType())) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorCannotAddModule, null); - } - - try { - return getDelegate(monitor).canModifyModules(add, remove); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate canModifyModules() " + toString(), e); - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "", null); - } - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServer#getModules() - */ - public IModule[] getModules() { - if (modules == null) { - // convert from attribute - List list = getAttribute(MODULE_LIST, (List) null); - if (list == null) - list = new ArrayList(1); - - modules = new ArrayList(list.size() + 1); - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - String moduleId = (String) iterator.next(); - String name = "<unknown>"; - int index = moduleId.indexOf("::"); - if (index > 0) { - name = moduleId.substring(0, index); - moduleId = moduleId.substring(index+2); - } - - IModule module = ServerUtil.getModule(moduleId); - if (module == null) - module = new DeletedModule(moduleId, name); - if (module != null) - modules.add(module); - } - } - - IModule[] modules2 = new IModule[modules.size()]; - modules.toArray(modules2); - return modules2; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServer#getModuleState() - */ - public int getModuleState(IModule[] module) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - Integer in = (Integer) moduleState.get(getKey(module)); - if (in != null) - return in.intValue(); - } catch (Exception e) { - // ignore - } - return STATE_UNKNOWN; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServer#getModuleState() - */ - public int getModulePublishState(IModule[] module) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - Integer in = (Integer) modulePublishState.get(getKey(module)); - if (in != null) - return in.intValue(); - } catch (Exception e) { - // ignore - } - return PUBLISH_STATE_UNKNOWN; - } - - /* - * @see IServer#getChildModule(IModule[]) - */ - public IModule[] getChildModules(IModule[] module, IProgressMonitor monitor) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - IModule[] children = getDelegate(monitor).getChildModules(module); - if (children != null && children.length == 1 && children[0].equals(module[module.length - 1])) - return null; - return children; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate getChildModules() " + toString(), e); - return null; - } - } - - /* - * @see IServer#getRootModules(IModule) - */ - public IModule[] getRootModules(IModule module, IProgressMonitor monitor) throws CoreException { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - return getDelegate(monitor).getRootModules(module); - } catch (CoreException se) { - //Trace.trace(Trace.FINER, "CoreException calling delegate getParentModules() " + toString() + ": " + se.getMessage()); - throw se; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate getParentModules() " + toString(), e); - return null; - } - } - - /** - * Returns whether the given module can be restarted. - * - * @param module the module - * @param monitor - * @return <code>true</code> if the given module can be - * restarted, and <code>false</code> otherwise - */ - public IStatus canControlModule(IModule[] module, IProgressMonitor monitor) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - boolean b = getBehaviourDelegate(monitor).canControlModule(module); - if (b) - return Status.OK_STATUS; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate canRestartRuntime() " + toString(), e); - } - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRestartModule, null); - } - - /** - * Check if the given module is in sync on the server. It should - * return true if the module should be restarted (is out of - * sync) or false if the module does not need to be restarted. - * - * @param module org.eclipse.wst.server.core.model.IModule - * @return boolean - */ - public boolean getModuleRestartState(IModule[] module) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - Boolean b = (Boolean) moduleRestartState.get(getKey(module)); - if (b != null) - return b.booleanValue(); - } catch (Exception e) { - // ignore - } - return false; - } - - /* - * @see IServer#startModule(IModule[], IOperationListener) - */ - public void startModule(IModule[] module, IOperationListener listener) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - getBehaviourDelegate(null).startModule(module, null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e); - } - } - - /* - * @see IServer#stopModule(IModule[], IOperationListener) - */ - public void stopModule(IModule[] module, IOperationListener listener) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - getBehaviourDelegate(null).stopModule(module, null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e); - } - } - - /* - * @see IServer#restartModule(IModule[], IOperationListener, IProgressMonitor) - */ - public void restartModule(IModule[] module, IOperationListener listener) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - getBehaviourDelegate(null).stopModule(module, null); - getBehaviourDelegate(null).startModule(module, null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e); - } - } - - /** - * Returns an array of IServerPorts that this server has. - * - * @param monitor - * @return a possibly empty array of servers ports - */ - public ServerPort[] getServerPorts(IProgressMonitor monitor) { - try { - return getDelegate(monitor).getServerPorts(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate getServerPorts() " + toString(), e); - return null; - } - } - - /** - * Visit all the modules in the server with the given module visitor. - * - * @param visitor the visitor - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - public void visit(IModuleVisitor visitor, IProgressMonitor monitor) { - if (visitor == null) - throw new IllegalArgumentException("Visitor cannot be null"); - IModule[] modules2 = getModules(); - if (modules2 != null) { - int size = modules2.length; - for (int i = 0; i < size; i++) { - if (!visitModule(new IModule[] { modules2[i] }, visitor, monitor)) - return; - } - } - } - - /** - * Returns true to keep visiting, and false to stop. - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - private boolean visitModule(IModule[] module, IModuleVisitor visitor, IProgressMonitor monitor) { - if (module == null) - return true; - - if (!visitor.visit(module)) - return false; - - IModule[] children = getChildModules(module, monitor); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - IModule[] module2 = new IModule[module.length + 1]; - System.arraycopy(module, 0, module2, 0, module.length); - module2[module.length] = children[i]; - - if (!visitModule(module2, visitor, monitor)) - return false; - } - } - - return true; - } - - protected String getKey(IModule[] module) { - StringBuffer sb = new StringBuffer(); - - if (module != null) { - int size = module.length; - for (int i = 0; i < size; i++) { - if (i != 0) - sb.append("#"); - sb.append(module[i].getId()); - } - } - - return sb.toString(); - } - - public void setModuleStatus(IModule[] module, IStatus status) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - moduleStatus.put(getKey(module), status); - //fireServerModuleStateChangeEvent(module); - } - - public IStatus getModuleStatus(IModule[] module) { - if (module == null) - throw new IllegalArgumentException("Module cannot be null"); - try { - return (IStatus) moduleStatus.get(getKey(module)); - } catch (Exception e) { - return null; - } - } - - public void setServerStatus(IStatus status) { - serverStatus = status; - //fireServerStateChangeEvent(); - } - - public IStatus getServerStatus() { - return serverStatus; - } - - /** - * Switch the server's location between the workspace and .metadata. - * - * @param server a server - * @param monitor a progress monitor - * @throws CoreException if something goes wrong - */ - public static void switchLocation(Server server, IProgressMonitor monitor) throws CoreException { - IFile file = server.getFile(); - ServerWorkingCopy wc = (ServerWorkingCopy) server.createWorkingCopy(); - server.delete(); - if (file == null) { - IProject project = ServerType.getServerProject(); - file = ServerUtil.getUnusedServerFile(project, wc); - wc.setFile(file); - server.file = file; - } else { - wc.setFile(null); - server.file = null; - } - wc.save(true, monitor); - } - - /** - * Returns the current state of the server (see SERVER_XXX constants) after - * refreshing the state of the server. The only difference between this method - * and the method without a progress monitor is that this method may cause - * plugin loading and not return immediately. However, the server will always - * be updated and in sync, so the IServer.STATE_UNKNOWN state should never be - * returned. - * - * @param monitor - * @return the server state - */ - public int getServerState(IProgressMonitor monitor) { - loadAdapter(ServerBehaviourDelegate.class, monitor); - return getServerState(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java deleted file mode 100644 index c1e48d1ec..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerListener.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.util.ServerLifecycleAdapter; -/** - * Listens for messages from the servers. This class keeps - * track of server instances current state and any clients - * that are waiting to run on the server. - */ -public class ServerListener extends ServerLifecycleAdapter implements IServerListener { - // static instance - protected static ServerListener listener; - - /** - * ServerListener constructor comment. - */ - private ServerListener() { - super(); - } - - /** - * Get the static instance. - * - * @return org.eclipse.wst.server.core.internal.plugin.ServerListener - */ - public static ServerListener getInstance() { - if (listener == null) - listener = new ServerListener(); - return listener; - } - - /** - * Called when the server configuration's sync state changes. - * - * @param server org.eclipse.wst.server.model.IServer - */ - public void configurationSyncStateChange(IServer server) { - // do nothing - } - - /** - * A new resource has been added. - * - * @param server org.eclipse.wst.server.core.IServer - */ - public void serverAdded(IServer server) { - server.addServerListener(this); - } - - /** - * A existing resource has been removed. - * - * @param server org.eclipse.wst.server.core.IServer - */ - public void serverRemoved(IServer server) { - server.removeServerListener(this); - } - - public void serverChanged(ServerEvent event) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java deleted file mode 100644 index 23a009a7b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; -/** - * - */ -public class ServerMonitor implements IServerMonitor { - private IConfigurationElement element; - private ServerMonitorDelegate delegate; - - /** - * Monitor constructor comment. - * - * @param element a configuration element - */ - public ServerMonitor(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * Returns the id of this default server. - * - * @return java.lang.String - */ - public String getId() { - return element.getAttribute("id"); - } - - /* - * @see IMonitor#getDescription() - */ - public String getDescription() { - return element.getAttribute("description"); - } - - /* - * @see IMonitor#getLabel() - */ - public String getName() { - String label = element.getAttribute("name"); - if (label == null) - return "n/a"; - return label; - } - - /* - * @see IMonitor#getDelegate() - */ - public ServerMonitorDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (ServerMonitorDelegate) element.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage()); - } - } - return delegate; - } - - /** - * Start monitoring the given port, and return the port number to - * tunnel requests through. - * - * @param server a server - * @param port a port - * @param monitorPort the port used for monitoring - * @return the port used for monitoring - * @throws CoreException if anything goes wrong - */ - public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException { - try { - return getDelegate().startMonitoring(server, port, monitorPort); - } catch (CoreException ce) { - throw ce; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - return -1; - } - } - - /** - * Stop monitoring the given port. - * - * @param server a server - * @param port a port - */ - public void stopMonitoring(IServer server, ServerPort port) { - try { - getDelegate().stopMonitoring(server, port); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage()); - } - } - - /** - * Return a string representation of this object. - * - * @return java.lang.String - */ - public String toString() { - return "Monitor[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java deleted file mode 100644 index 0cc3d6742..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorDelegate.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.CoreException; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; -/** - * An interface to a TCP/IP monitor. - */ -public abstract class ServerMonitorDelegate { - /** - * Start monitoring the given port, and return the port number to - * tunnel requests through. The monitorPort is the new port to use, or - * -1 to pick a random port. - * - * @param server a server - * @param port a port - * @param monitorPort the port used for monitoring - * @return the port used for monitoring - * @throws CoreException if anything goes wrong - */ - public abstract int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException; - - /** - * Stop monitoring the given port. - * - * @param server a server - * @param port a port - */ - public abstract void stopMonitoring(IServer server, ServerPort port); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java deleted file mode 100644 index 996b78e98..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java +++ /dev/null @@ -1,371 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.*; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.wst.server.core.*; -/** - * - */ -public class ServerMonitorManager implements IServerMonitorManager { - private static final String MONITOR_DATA_FILE = "monitors.xml"; - - protected static ServerMonitorManager instance; - - protected List ports = new ArrayList(); - protected ServerMonitor monitor; - - class MonitoredPort implements IMonitoredServerPort { - protected IServer server; - protected ServerPort port; - protected int newPort = -1; - protected String[] content; - public boolean started; - - public MonitoredPort(IServer server, ServerPort port, int newPort, String[] content) { - this.server = server; - this.port = port; - this.newPort = newPort; - this.content = content; - } - - public MonitoredPort(IMemento memento, IProgressMonitor monitor) { - load(memento, monitor); - } - - public IServer getServer() { - return server; - } - - public ServerPort getServerPort() { - return port; - } - - public int getMonitorPort() { - return newPort; - } - - public void setMonitorPort(int p) { - newPort = p; - } - - public String[] getContentTypes() { - if (content == null) - return new String[0]; - return content; - } - - public boolean isStarted() { - return started; - } - - protected void setStarted(boolean s) { - started = s; - } - - public boolean equals(Object obj) { - if (!(obj instanceof MonitoredPort)) - return false; - MonitoredPort mp = (MonitoredPort) obj; - if (!mp.server.equals(server)) - return false; - if (!mp.port.equals(port)) - return false; - if (newPort != mp.newPort) - return false; - if (content == null && mp.content != null) - return false; - if (content != null && mp.content == null) - return false; - if (content != null) { - int size = content.length; - if (size != mp.content.length) - return false; - for (int i = 0; i < size; i++) - if (!content[i].equals(mp.content[i])) - return false; - } - return true; - } - - protected boolean canSave() { - return (port.getId() != null); - } - - protected void save(IMemento memento) { - memento.putString("serverId", server.getId()); - if (newPort != -1) - memento.putString("port", newPort + ""); - memento.putString("portId", port.getId()); - memento.putBoolean("started", started); - - if (content != null) { - StringBuffer sb = new StringBuffer(); - int size = content.length; - for (int i = 0; i < size; i++) { - if (i > 0) - sb.append(","); - sb.append(content[i]); - } - memento.putString("contentTypes", sb.toString()); - } - } - - protected void load(IMemento memento, IProgressMonitor monitor2) { - String serverId = memento.getString("serverId"); - server = null; - if (serverId != null) - server = ServerCore.findServer(serverId); - if (server == null) - throw new RuntimeException("Server could not be found: " + serverId + " " + server); - String newPortStr = memento.getString("port"); - if (newPortStr != null && newPortStr.length() > 0) - newPort = Integer.parseInt(newPortStr); - String portId = memento.getString("portId"); - - ServerPort[] ports2 = server.getServerPorts(monitor2); - if (ports2 != null) { - int size = ports2.length; - for (int i = 0; port == null && i < size; i++) { - ServerPort sp = ports2[i]; - if (sp.getId() != null && sp.getId().equals(portId)) - port = sp; - } - } - if (port == null) - throw new RuntimeException("Could not relocate port: " + serverId + " " + server + " " + portId); - - String s = memento.getString("contentTypes"); - if (s != null) - content = ServerPlugin.tokenize(s, ","); - - Boolean b = memento.getBoolean("started"); - if (b != null && b.booleanValue()) { - try { - newPort = monitor.startMonitoring(server, port, newPort); - started = true; - } catch (CoreException e) { - Trace.trace(Trace.WARNING, "Could not restart server monitor", e); - } - } - } - } - - public ServerMonitorManager() { - IServerMonitor[] monitors = ServerPlugin.getServerMonitors(); - if (monitors != null && monitors.length > 0) - monitor = (ServerMonitor) monitors[0]; - - instance = this; - loadMonitors(); - } - - public static ServerMonitorManager getInstance() { - if (instance == null) - new ServerMonitorManager(); - return instance; - } - - public static void shutdown() { - if (instance == null) - return; - instance.saveMonitors(); - } - - /** - * Returns the monitor that is currently being used. - * - * @return the current server monitor - */ - public IServerMonitor getCurrentServerMonitor() { - return monitor; - } - - /** - * Switch to use a different server monitor. All existing monitors will be - * removed from the current monitor and added to the new monitor. - * - * @param newMonitor - * @throws org.eclipse.core.runtime.CoreException - */ - public void setServerMonitor(IServerMonitor newMonitor) throws CoreException { - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "Not implemented yet", null)); - } - - /** - * Returns the list of ports that are currently being monitored. - * - * @param server a server - * @return a possibly empty array of monitored server ports - */ - public IMonitoredServerPort[] getMonitoredPorts(IServer server) { - List list = new ArrayList(); - Iterator iterator = ports.iterator(); - while (iterator.hasNext()) { - MonitoredPort mp = (MonitoredPort) iterator.next(); - if (mp.server.equals(server)) - list.add(mp); - } - - IMonitoredServerPort[] msp = new IMonitoredServerPort[list.size()]; - list.toArray(msp); - return msp; - } - - /** - * Starts monitoring the given port, and returns the new port # to use that will - * route to the monitored port. - * - * @param server a server - * @param port a port - * @param monitorPort the port used for monitoring - * @param content the content - * @return a monitored server port - */ - public IMonitoredServerPort createMonitor(IServer server, ServerPort port, int monitorPort, String[] content) { - if (port == null || monitor == null) - return null; - - MonitoredPort mp = new MonitoredPort(server, port, monitorPort, content); - ports.add(mp); - return mp; - } - - /** - * Stop monitoring the given port. Throws a CoreException if there was a problem - * stopping the monitoring - * - * @param port - */ - public void removeMonitor(IMonitoredServerPort port) { - if (port == null) - return; - - try { - ports.remove(port); - if (port.isStarted()) - monitor.stopMonitoring(port.getServer(), port.getServerPort()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not remove monitor", e); - } - } - - /** - * Start the monitor. If the msp port is -1, it will be updated to the port that is actually in use. - * - * @param msp - * @throws CoreException - */ - public void startMonitor(IMonitoredServerPort msp) throws CoreException { - if (msp == null || msp.isStarted()) - return; - - MonitoredPort port = (MonitoredPort) msp; - port.setMonitorPort(monitor.startMonitoring(msp.getServer(), msp.getServerPort(), msp.getMonitorPort())); - port.setStarted(true); - } - - /** - * Stop monitoring. - * - * @param msp - */ - public void stopMonitor(IMonitoredServerPort msp) { - if (msp == null || !msp.isStarted()) - return; - MonitoredPort port = (MonitoredPort) msp; - monitor.stopMonitoring(msp.getServer(), msp.getServerPort()); - port.setStarted(false); - } - - /** - * Returns the mapped port to use when making requests to the given server - * and port number. Returns the existing port number if the port is not being - * monitored. - * - * @param server a server - * @param port a port number - * @param content the content - * @return the port used for monitoring - */ - public int getMonitoredPort(IServer server, int port, String content) { - try { - Iterator iterator = ports.iterator(); - while (iterator.hasNext()) { - MonitoredPort mp = (MonitoredPort) iterator.next(); - if (mp.isStarted() && mp.server.equals(server) && mp.port.getPort() == port) { - String[] contentTypes = mp.getContentTypes(); - boolean found = false; - if (content != null && contentTypes != null && contentTypes.length > 0) { - int size = contentTypes.length; - for (int i = 0; i < size; i++) - if (content.equals(contentTypes[i])) - found = true; - } else - found = true; - if (found && mp.newPort != -1) - return mp.newPort; - } - } - } catch (Exception e) { - // ignore - } - return port; - } - - protected void saveMonitors() { - String filename = ServerPlugin.getInstance().getStateLocation().append(MONITOR_DATA_FILE).toOSString(); - try { - XMLMemento memento = XMLMemento.createWriteRoot("monitors"); - - Iterator iterator = ports.iterator(); - while (iterator.hasNext()) { - MonitoredPort mp = (MonitoredPort) iterator.next(); - if (mp.canSave()) { - IMemento child = memento.createChild("monitor"); - mp.save(child); - } - } - - memento.saveToFile(filename); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error saving monitor info", e); - } - } - - protected void loadMonitors() { - Trace.trace(Trace.FINEST, "Loading monitor info"); - String filename = ServerPlugin.getInstance().getStateLocation().append(MONITOR_DATA_FILE).toOSString(); - - try { - IMemento memento = XMLMemento.loadMemento(filename); - - IMemento[] children = memento.getChildren("monitor"); - int size = children.length; - - for (int i = 0; i < size; i++) { - try { - MonitoredPort mp = new MonitoredPort(children[i], null); - ports.add(mp); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load monitor: " + e); - } - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load monitor info: " + e.getMessage()); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java deleted file mode 100644 index 38f2d4ae9..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java +++ /dev/null @@ -1,153 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.wst.server.core.IServerListener; -import org.eclipse.wst.server.core.ServerEvent; -/** - * Notification manager for server. - */ -public class ServerNotificationManager { - private List listenerList = new ArrayList(); - - /** - * For masking event on all changes. - */ - public static final int ALL_EVENTS = 0xFFFF; - - private class ListenerEntry { - private IServerListener listener; - private int eventMask; - - private ListenerEntry(IServerListener curListener, int curEventMask) { - listener = curListener; - eventMask = curEventMask; - } - - protected IServerListener getListener() { - return listener; - } - - protected int getEventMask() { - return eventMask; - } - } - - /** - * Create a new notification manager. - */ - public ServerNotificationManager() { - super(); - } - - /** - * Add listener for all events. - * - * @param curListener - */ - public void addListener(IServerListener curListener) { - addListener(curListener, ALL_EVENTS); - } - - /** - * Add listener for the events specified by the mask. - * - * @param curListener - * @param eventMask - */ - public void addListener(IServerListener curListener, int eventMask) { - Trace.trace(Trace.FINEST, "->- Adding server listener to notification manager: " + curListener + " " + eventMask + " ->-"); - if (curListener == null) { - return; - } - - synchronized (listenerList) { - listenerList.add(new ListenerEntry(curListener, eventMask)); - } - } - - protected void broadcastChange(ServerEvent event) { - Trace.trace(Trace.FINEST, "->- Broadcasting server event: " + event + " ->-"); - if (event == null) { - return; - } - int eventKind = event.getKind(); - Trace.trace(Trace.FINEST, " Server event kind: " + eventKind + " ->-"); - - // only notify listeners that listen to module event - int size; - ListenerEntry[] listeners; - synchronized (listenerList) { - size = listenerList.size(); - listeners = (ListenerEntry[]) listenerList.toArray(new ListenerEntry[size]); - } - for (int i = 0; i < size; i++) { - ListenerEntry curEntry = listeners[i]; - int mask = curEntry.getEventMask(); - - // check if the type of the event matches the mask, e.g. server or module change - boolean isTypeMatch = ((mask & eventKind & ServerEvent.SERVER_CHANGE) != 0) - || ((mask & eventKind & ServerEvent.MODULE_CHANGE) != 0); - // check the kind of change - boolean isKindMatch = (mask & eventKind ^ ServerEvent.SERVER_CHANGE ^ ServerEvent.MODULE_CHANGE) != 0; - - if (isTypeMatch && isKindMatch) { - Trace.trace(Trace.FINEST, "->- Firing server event to listener: " + curEntry.getListener() + " ->-"); - try { - Trace.trace(Trace.LISTENERS, " Firing server event to listener: " + curEntry.getListener()); - curEntry.getListener().serverChanged(event); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, " Error firing server event: " + curEntry.getListener(), e); - } - Trace.trace(Trace.LISTENERS, "-<- Done Firing server event -<-"); - } - } - Trace.trace(Trace.FINEST, "-<- Done broadcasting server event -<-"); - } - - /** - * Returns true if the listener list is not empty; otherwise, returns false. - * - * @return true if the listener list is not empty; otherwise, returns false - */ - protected boolean hasListenerEntries() { - return listenerList.size() == 0; - } - - /** - * Remove a listener from notification. - * - * @param curListener - */ - public void removeListener(IServerListener curListener) { - Trace.trace(Trace.FINEST, "->- Removing server listener from notification manager: " + curListener + " ->-"); - if (curListener == null) { - return; - } - ListenerEntry matchedListenerEntry = null; - Iterator listenerIter = listenerList.iterator(); - while (matchedListenerEntry == null && listenerIter.hasNext()) { - ListenerEntry curEntry = (ListenerEntry)listenerIter.next(); - if (curListener.equals(curEntry.getListener())) { - matchedListenerEntry = curEntry; - } - } - if (matchedListenerEntry != null) { - synchronized (listenerList) { - listenerList.remove(matchedListenerEntry); - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java deleted file mode 100644 index 3d081d57d..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPlugin.java +++ /dev/null @@ -1,1078 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.*; -import java.util.*; -import java.text.DateFormat; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.*; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IModuleArtifact; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.ServerCore; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleEvent; -import org.osgi.framework.BundleListener; -/** - * The main server plugin class. - */ -public class ServerPlugin extends Plugin { - public static final String PROJECT_PREF_FILE = ".serverPreference"; - - private static final String SHUTDOWN_JOB_FAMILY = "org.eclipse.wst.server.core.family"; - - protected static final DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); - protected static int num = 0; - - // cached copy of all launchable adapters - private static List launchableAdapters; - - // cached copy of all launchable clients - private static List clients; - - // cached copy of all module factories - private static List moduleFactories; - - // singleton instance of this class - private static ServerPlugin singleton; - - // cached copy of all publish tasks - private static List publishTasks; - - // cached copy of all server monitors - private static List monitors; - - // cached copy of all runtime locators - private static List runtimeLocators; - - // cached copy of all module artifact adapters - private static List moduleArtifactAdapters; - - // cached copy of all installable servers - private static List installableServers; - - // cached copy of all installable runtimes - private static List installableRuntimes; - - // registry listener - private static IRegistryChangeListener registryListener; - - public static BundleContext bundleContext; - - // bundle listener - private BundleListener bundleListener; - - private static final String TEMP_DATA_FILE = "tmp-data.xml"; - - class TempDir { - String path; - int age; - } - - // temp directories - String key to TempDir - protected Map tempDirHash; - - /** - * server core plugin id - */ - public static final String PLUGIN_ID = "org.eclipse.wst.server.core"; - - /** - * Create the ServerPlugin. - */ - public ServerPlugin() { - super(); - singleton = this; - } - - /** - * Returns the singleton instance of this plugin. - * - * @return org.eclipse.wst.server.core.internal.plugin.ServerPlugin - */ - public static ServerPlugin getInstance() { - return singleton; - } - - /** - * Returns a temporary directory that the requestor can use - * throughout it's lifecycle. This is primary to be used by - * server instances for working directories, instance specific - * files, etc. - * - * <p>As long as the same key is used to call this method on - * each use of the workbench, this method directory will return - * the same directory. If the directory is not requested over a - * period of time, the directory may be deleted and a new one - * will be assigned on the next request. For this reason, a - * server instance should request the temp directory on startup - * if it wants to store files there. In all cases, the instance - * should have a backup plan anyway, as this directory may be - * deleted accidentally.</p> - * - * @param key - * @return java.io.File - */ - public IPath getTempDirectory(String key) { - if (key == null) - return null; - - // first, look through hash of current directories - IPath statePath = ServerPlugin.getInstance().getStateLocation(); - try { - TempDir dir = (TempDir) tempDirHash.get(key); - if (dir != null) { - dir.age = 0; - return statePath.append(dir.path); - } - } catch (Exception e) { - // ignore - } - - // otherwise, create a new directory - - // find first free directory - String path = null; - File dir = null; - int count = 0; - while (dir == null || dir.exists()) { - path = "tmp" + count; - dir = statePath.append(path).toFile(); - count ++; - } - - dir.mkdirs(); - - TempDir d = new TempDir(); - d.path = path; - tempDirHash.put(key, d); - saveTempDirInfo(); - return statePath.append(path); - } - - /** - * Remove a temp directory. - * @param key - */ - public void removeTempDirectory(String key) { - if (key == null) - return; - - IPath statePath = ServerPlugin.getInstance().getStateLocation(); - try { - TempDir dir = (TempDir) tempDirHash.get(key); - if (dir != null) { - tempDirHash.remove(key); - saveTempDirInfo(); - deleteDirectory(statePath.append(dir.path).toFile(), null); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not remove temp directory", e); - } - } - - /** - * Load the temporary directory information. - */ - private void loadTempDirInfo() { - Trace.trace(Trace.FINEST, "Loading temporary directory information"); - IPath statePath = ServerPlugin.getInstance().getStateLocation(); - String filename = statePath.append(TEMP_DATA_FILE).toOSString(); - - tempDirHash = new HashMap(); - try { - IMemento memento = XMLMemento.loadMemento(filename); - - IMemento[] children = memento.getChildren("temp-directory"); - int size = children.length; - for (int i = 0; i < size; i++) { - String key = children[i].getString("key"); - - TempDir d = new TempDir(); - d.path = children[i].getString("path"); - d.age = children[i].getInteger("age").intValue(); - d.age++; - - tempDirHash.put(key, d); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not load temporary directory information: " + e.getMessage()); - } - } - - /** - * Convenience method for logging. - * - * @param status org.eclipse.core.runtime.IStatus - */ - public static void log(IStatus status) { - getInstance().getLog().log(status); - } - - /** - * Save the temporary directory information. - */ - private void saveTempDirInfo() { - // save remaining directories - IPath statePath = ServerPlugin.getInstance().getStateLocation(); - String filename = statePath.append(TEMP_DATA_FILE).toOSString(); - - try { - XMLMemento memento = XMLMemento.createWriteRoot("temp-directories"); - - Iterator iterator = tempDirHash.keySet().iterator(); - while (iterator.hasNext()) { - String key = (String) iterator.next(); - TempDir d = (TempDir) tempDirHash.get(key); - - if (d.age < 5) { - IMemento child = memento.createChild("temp-directory"); - child.putString("key", key); - child.putString("path", d.path); - child.putInteger("age", d.age); - } else - deleteDirectory(statePath.append(d.path).toFile(), null); - } - - memento.saveToFile(filename); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save temporary directory information", e); - } - } - - protected void initializeDefaultPluginPreferences() { - ServerPreferences.getInstance().setDefaults(); - } - - /** - * @see Plugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - Trace.trace(Trace.CONFIG, "----->----- Server Core plugin startup ----->-----"); - super.start(context); - bundleContext = context; - - initializeDefaultPluginPreferences(); - - // load temp directory information - loadTempDirInfo(); - - bundleListener = new BundleListener() { - public void bundleChanged(BundleEvent event) { - String bundleId = event.getBundle().getSymbolicName(); - //System.out.println(event.getType() + " " + bundleId); - // TODO should also look for UNINSTALLED and UNRESOLVED - if (BundleEvent.STOPPED == event.getType() && ResourceManager.getInstance().isActiveBundle(bundleId)) - stopBundle(bundleId); - } - }; - context.addBundleListener(bundleListener); - } - - protected void stopBundle(final String bundleId) { - class StopJob extends Job { - public StopJob() { - super("Disposing servers"); - } - - public boolean belongsTo(Object family) { - return SHUTDOWN_JOB_FAMILY.equals(family); - } - - public IStatus run(IProgressMonitor monitor2) { - ResourceManager.getInstance().shutdownBundle(bundleId); - return Status.OK_STATUS; - } - } - - StopJob job = new StopJob(); - job.setUser(false); - job.schedule(); - } - - /** - * @see Plugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - Trace.trace(Trace.CONFIG, "-----<----- Server Core plugin shutdown -----<-----"); - super.stop(context); - - if (registryListener != null) - Platform.getExtensionRegistry().removeRegistryChangeListener(registryListener); - - ResourceManager.shutdown(); - ServerMonitorManager.shutdown(); - - try { - Platform.getJobManager().join(SHUTDOWN_JOB_FAMILY, null); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error waiting for shutdown job", e); - } - context.removeBundleListener(bundleListener); - } - - public static String[] tokenize(String param, String delim) { - if (param == null) - return new String[0]; - - List list = new ArrayList(); - - StringTokenizer st = new StringTokenizer(param, delim); - while (st.hasMoreTokens()) { - String str = st.nextToken(); - if (str != null && str.length() > 0) - list.add(str.trim()); - } - - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } - - protected static List getModuleTypes(IConfigurationElement[] elements) { - List list = new ArrayList(); - if (elements == null) - return list; - - int size = elements.length; - for (int i = 0; i < size; i++) { - String[] types = tokenize(elements[i].getAttribute("types"), ","); - String[] versions = tokenize(elements[i].getAttribute("versions"), ","); - int sizeT = types.length; - int sizeV = versions.length; - for (int j = 0; j < sizeT; j++) { - for (int k = 0; k < sizeV; k++) { - ModuleType module = new ModuleType(types[j], versions[k]); - list.add(module); - } - } - } - return list; - } - - public static String generateId() { - String s = df.format(new Date()).toString() + num++; - s = s.replace(' ', '_'); - s = s.replace(':', '_'); - s = s.replace('/', '_'); - s = s.replace('\\', '_'); - return s; - } - - /** - * Returns true if ids contains id. - * - * @param ids - * @param id - * @return true if the id is supported - */ - public static boolean supportsType(String[] ids, String id) { - if (id == null || id.length() == 0) - return false; - - if (ids == null) - return true; - - int size = ids.length; - for (int i = 0; i < size; i++) { - if (ids[i].endsWith("*")) { - if (id.length() >= ids[i].length() && id.startsWith(ids[i].substring(0, ids[i].length() - 1))) - return true; - } else if (id.equals(ids[i])) - return true; - } - return false; - } - - /** - * Recursively delete a directory. - * - * @param dir java.io.File - * @param monitor a progress monitor, or <code>null</code> if no progress - * reporting is required - */ - public static void deleteDirectory(File dir, IProgressMonitor monitor) { - try { - if (!dir.exists() || !dir.isDirectory()) - return; - - File[] files = dir.listFiles(); - int size = files.length; - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(NLS.bind(Messages.deletingTask, new String[] {dir.getAbsolutePath()}), size * 10); - - // cycle through files - for (int i = 0; i < size; i++) { - File current = files[i]; - if (current.isFile()) { - current.delete(); - monitor.worked(10); - } else if (current.isDirectory()) { - monitor.subTask(NLS.bind(Messages.deletingTask, new String[] {current.getAbsolutePath()})); - deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10)); - } - } - dir.delete(); - monitor.done(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error deleting directory " + dir.getAbsolutePath(), e); - } - } - - /** - * Returns an array of all known launchable adapters. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of launchable adapters {@link ILaunchableAdapter} - */ - public static ILaunchableAdapter[] getLaunchableAdapters() { - if (launchableAdapters == null) - loadLaunchableAdapters(); - ILaunchableAdapter[] la = new ILaunchableAdapter[launchableAdapters.size()]; - launchableAdapters.toArray(la); - return la; - } - - /** - * Returns an array of all known client instances. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of client instances {@link IClient} - */ - public static IClient[] getClients() { - if (clients == null) - loadClients(); - IClient[] c = new IClient[clients.size()]; - clients.toArray(c); - return c; - } - - /** - * Load the launchable adapters extension point. - */ - private static synchronized void loadLaunchableAdapters() { - if (launchableAdapters != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .launchableAdapters extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "launchableAdapters"); - - int size = cf.length; - launchableAdapters = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - launchableAdapters.add(new LaunchableAdapter(cf[i])); - Trace.trace(Trace.EXTENSION_POINT, " Loaded launchableAdapter: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load launchableAdapter: " + cf[i].getAttribute("id"), t); - } - } - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .launchableAdapters extension point -<-"); - } - - /** - * Load the client extension point. - */ - private static synchronized void loadClients() { - if (clients != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .clients extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "clients"); - - int size = cf.length; - clients = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - clients.add(new Client(cf[i])); - Trace.trace(Trace.EXTENSION_POINT, " Loaded clients: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load clients: " + cf[i].getAttribute("id"), t); - } - } - - // sort by index to put lower numbers first in order - size = clients.size(); - for (int i = 0; i < size-1; i++) { - for (int j = i+1; j < size; j++) { - Client a = (Client) clients.get(i); - Client b = (Client) clients.get(j); - if (a.getPriority() < b.getPriority()) { - clients.set(i, b); - clients.set(j, a); - } - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .clients extension point -<-"); - } - - /** - * Returns an array of all known publish tasks. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of publish tasks instances {@link IPublishTask} - */ - public static IPublishTask[] getPublishTasks() { - if (publishTasks == null) - loadPublishTasks(); - IPublishTask[] st = new IPublishTask[publishTasks.size()]; - publishTasks.toArray(st); - return st; - } - - /** - * Load the publish task extension point. - */ - private static synchronized void loadPublishTasks() { - if (publishTasks != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .publishTasks extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishTasks"); - - int size = cf.length; - publishTasks = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - publishTasks.add(new PublishTask(cf[i])); - Trace.trace(Trace.EXTENSION_POINT, " Loaded publishTask: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load publishTask: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .publishTasks extension point -<-"); - } - - /** - * Sort the given list of IOrdered items into indexed order. - * - * @param list java.util.List - * @return java.util.List - */ - private static List sortOrderedList(List list) { - if (list == null) - return null; - - int size = list.size(); - for (int i = 0; i < size - 1; i++) { - for (int j = i + 1; j < size; j++) { - IOrdered a = (IOrdered) list.get(i); - IOrdered b = (IOrdered) list.get(j); - if (a.getOrder() > b.getOrder()) { - Object temp = a; - list.set(i, b); - list.set(j, temp); - } - } - } - return list; - } - - /** - * Returns an array of all known module module factories. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return the array of module factories {@link ModuleFactory} - */ - public static ModuleFactory[] getModuleFactories() { - if (moduleFactories == null) - loadModuleFactories(); - - ModuleFactory[] mf = new ModuleFactory[moduleFactories.size()]; - moduleFactories.toArray(mf); - return mf; - } - - /** - * Returns the module factory with the given id, or <code>null</code> - * if none. This convenience method searches the list of known - * module factories ({@link #getModuleFactories()}) for the one a matching - * module factory id ({@link ModuleFactory#getId()}). The id may not be null. - * - * @param id the module factory id - * @return the module factory, or <code>null</code> if there is no module factory - * with the given id - */ - public static ModuleFactory findModuleFactory(String id) { - if (id == null) - throw new IllegalArgumentException(); - - if (moduleFactories == null) - loadModuleFactories(); - - Iterator iterator = moduleFactories.iterator(); - while (iterator.hasNext()) { - ModuleFactory factory = (ModuleFactory) iterator.next(); - if (id.equals(factory.getId())) - return factory; - } - return null; - } - - /** - * Load the module factories extension point. - */ - private static synchronized void loadModuleFactories() { - if (moduleFactories != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleFactories extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleFactories"); - - int size = cf.length; - moduleFactories = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - moduleFactories.add(new ModuleFactory(cf[i])); - Trace.trace(Trace.EXTENSION_POINT, " Loaded moduleFactories: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load moduleFactories: " + cf[i].getAttribute("id"), t); - } - } - sortOrderedList(moduleFactories); - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleFactories extension point -<-"); - } - - /** - * Returns all projects contained by the server. This included the - * projects that are in the configuration, as well as their - * children, and their children... - * - * @param server a server - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return a possibly-empty array of module instances {@link IModule} - */ - /*public static IModule[] getAllContainedModules(IServer server, IProgressMonitor monitor) { - //Trace.trace("> getAllContainedModules: " + getName(configuration)); - List modules = new ArrayList(); - if (server == null) - return new IModule[0]; - - // get all of the directly contained projects - IModule[] deploys = server.getModules(); - if (deploys == null || deploys.length == 0) - return new IModule[0]; - - int size = deploys.length; - for (int i = 0; i < size; i++) { - if (deploys[i] != null && !modules.contains(deploys[i])) - modules.add(deploys[i]); - } - - //Trace.trace(" getAllContainedModules: root level done"); - - // get all of the module's children - int count = 0; - while (count < modules.size()) { - IModule module = (IModule) modules.get(count); - try { - IModule[] children = server.getChildModules(module, monitor); - if (children != null) { - size = children.length; - for (int i = 0; i < size; i++) { - if (children[i] != null && !modules.contains(children[i])) - modules.add(children[i]); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting child modules for: " + module.getName(), e); - } - count ++; - } - - //Trace.trace("< getAllContainedModules"); - - IModule[] modules2 = new IModule[modules.size()]; - modules.toArray(modules2); - return modules2; - }*/ - - /** - * Returns an array of all known server monitor instances. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of server monitor instances {@link IServerMonitor} - */ - public static IServerMonitor[] getServerMonitors() { - if (monitors == null) - loadServerMonitors(); - IServerMonitor[] sm = new IServerMonitor[monitors.size()]; - monitors.toArray(sm); - return sm; - } - - /** - * Load the server monitor extension point. - */ - private static synchronized void loadServerMonitors() { - if (monitors != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .serverMonitors extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalServerMonitors"); - - int size = cf.length; - monitors = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - monitors.add(new ServerMonitor(cf[i])); - Trace.trace(Trace.EXTENSION_POINT, " Loaded serverMonitor: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load serverMonitor: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .serverMonitors extension point -<-"); - } - - /** - * Returns an array of all known runtime locator instances. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of runtime locator instances {@link IRuntimeLocator} - */ - public static IRuntimeLocator[] getRuntimeLocators() { - if (runtimeLocators == null) - loadRuntimeLocators(); - IRuntimeLocator[] rl = new IRuntimeLocator[runtimeLocators.size()]; - runtimeLocators.toArray(rl); - return rl; - } - - /** - * Load the runtime locators. - */ - private static synchronized void loadRuntimeLocators() { - if (runtimeLocators != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .runtimeLocators extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeLocators"); - - int size = cf.length; - runtimeLocators = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - RuntimeLocator runtimeLocator = new RuntimeLocator(cf[i]); - runtimeLocators.add(runtimeLocator); - Trace.trace(Trace.EXTENSION_POINT, " Loaded runtimeLocator: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load runtimeLocator: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .runtimeLocators extension point -<-"); - } - - /** - * Returns an array of all module artifact adapters. - * - * @return a possibly empty array of module artifact adapters - */ - protected static ModuleArtifactAdapter[] getModuleArtifactAdapters() { - if (moduleArtifactAdapters == null) - loadModuleArtifactAdapters(); - - ModuleArtifactAdapter[] moa = new ModuleArtifactAdapter[moduleArtifactAdapters.size()]; - moduleArtifactAdapters.toArray(moa); - return moa; - } - - /** - * Load the module artifact adapters extension point. - */ - private static synchronized void loadModuleArtifactAdapters() { - if (moduleArtifactAdapters != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .moduleArtifactAdapters extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleArtifactAdapters"); - - int size = cf.length; - moduleArtifactAdapters = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - moduleArtifactAdapters.add(new ModuleArtifactAdapter(cf[i])); - Trace.trace(Trace.EXTENSION_POINT, " Loaded moduleArtifactAdapter: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load moduleArtifactAdapter: " + cf[i].getAttribute("id"), t); - } - } - - // sort by index to put lower numbers first in order - size = moduleArtifactAdapters.size(); - for (int i = 0; i < size-1; i++) { - for (int j = i+1; j < size; j++) { - ModuleArtifactAdapter a = (ModuleArtifactAdapter) moduleArtifactAdapters.get(i); - ModuleArtifactAdapter b = (ModuleArtifactAdapter) moduleArtifactAdapters.get(j); - if (a.getPriority() < b.getPriority()) { - moduleArtifactAdapters.set(i, b); - moduleArtifactAdapters.set(j, a); - } - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .moduleArtifactAdapters extension point -<-"); - } - - /** - * Returns <code>true</code> if a module artifact may be available for the given object, - * and <code>false</code> otherwise. - * - * @param obj an object - * @return <code>true</code> if there is a module artifact adapter - */ - public static boolean hasModuleArtifact(Object obj) { - Trace.trace(Trace.FINEST, "ServerPlugin.hasModuleArtifact() " + obj); - ModuleArtifactAdapter[] adapters = getModuleArtifactAdapters(); - if (adapters != null) { - int size = adapters.length; - for (int i = 0; i < size; i++) { - try { - if (adapters[i].isEnabled(obj)) { - Trace.trace(Trace.FINER, "Run On Server for " + obj + " is enabled by " + adapters[i].getId()); - return true; - } - } catch (CoreException ce) { - Trace.trace(Trace.WARNING, "Could not use moduleArtifactAdapter", ce); - } - } - } - - return false; - } - - /** - * Returns a module artifact if one can be found without loading plugins. - * - * @param obj - * @return a module artifact, or null - */ - public static IModuleArtifact getModuleArtifact(Object obj) { - Trace.trace(Trace.FINEST, "ServerPlugin.getModuleArtifact() " + obj); - ModuleArtifactAdapter[] adapters = getModuleArtifactAdapters(); - if (adapters != null) { - int size = adapters.length; - for (int i = 0; i < size; i++) { - try { - if (adapters[i].isEnabled(obj)) { - IModuleArtifact ma = adapters[i].getModuleArtifact(obj); - if (ma != null) - return ma; - /*if (Platform.getAdapterManager().hasAdapter(obj, MODULE_ARTIFACT_CLASS)) { - return (IModuleArtifact) Platform.getAdapterManager().getAdapter(obj, MODULE_ARTIFACT_CLASS); - }*/ - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not use moduleArtifactAdapter " + adapters[i], e); - } - } - } - - return null; - } - - /** - * Returns a module artifact if possible, loading any plugins required. - * - * @param obj - * @return a module artifact, or null - */ - public static IModuleArtifact loadModuleArtifact(Object obj) { - Trace.trace(Trace.FINEST, "ServerPlugin.loadModuleArtifact() " + obj); - ModuleArtifactAdapter[] adapters = getModuleArtifactAdapters(); - if (adapters != null) { - int size = adapters.length; - for (int i = 0; i < size; i++) { - try { - if (adapters[i].isEnabled(obj)) { - IModuleArtifact ma = adapters[i].getModuleArtifact(obj); - if (ma != null) - return ma; - /*if (Platform.getAdapterManager().hasAdapter(obj, MODULE_ARTIFACT_CLASS)) { - return (IModuleArtifact) Platform.getAdapterManager().loadAdapter(obj, MODULE_ARTIFACT_CLASS); - }*/ - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not use moduleArtifactAdapter " + adapters[i], e); - } - } - } - - return null; - } - - /** - * Returns an array of all known installable servers. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return the array of installable servers {@link IInstallableServer} - */ - public static IInstallableServer[] getInstallableServers() { - if (installableServers == null) - loadInstallableServers(); - - List availableServers = new ArrayList(); - Iterator iterator = installableServers.iterator(); - IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes(); - int size = runtimeTypes.length; - while (iterator.hasNext()) { - IInstallableServer server = (IInstallableServer) iterator.next(); - boolean found = false; - for (int i = 0; i < size; i++) { - if (server.getId().equals(runtimeTypes[i].getId())) - found = true; - } - if (!found) - availableServers.add(server); - } - - IInstallableServer[] is = new IInstallableServer[availableServers.size()]; - availableServers.toArray(is); - return is; - } - - /** - * Returns an array of all known installable runtimes. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return the array of installable runtimes {@link IInstallableRuntime} - */ - public static IInstallableRuntime[] getInstallableRuntimes() { - //if (installableRuntimes == null) - loadInstallableRuntimes(); - - IInstallableRuntime[] ir = new IInstallableRuntime[installableRuntimes.size()]; - installableRuntimes.toArray(ir); - return ir; - } - - /** - * Returns the installable runtime for the given runtime type, or <code>null</code> - * if none exists. - * - * @param runtimeTypeId a runtime type id - * @return the installable runtime for the given runtime type, or <code>null</code> - * if none exists {@link IInstallableRuntime} - */ - public static IInstallableRuntime findInstallableRuntime(String runtimeTypeId) { - if (runtimeTypeId == null) - throw new IllegalArgumentException(); - - //if (installableRuntimes == null) - loadInstallableRuntimes(); - - Iterator iterator = installableRuntimes.iterator(); - IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes(); - int size = runtimeTypes.length; - while (iterator.hasNext()) { - IInstallableRuntime runtime = (IInstallableRuntime) iterator.next(); - for (int i = 0; i < size; i++) { - if (runtime.getId().equals(runtimeTypeId)) - return runtime; - } - } - - return null; - } - - /** - * Load the installable servers. - */ - private static synchronized void loadInstallableServers() { - if (installableServers != null) - return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .installableServers extension point ->-"); - - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableServers"); - - int size = cf.length; - installableServers = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - InstallableServer is = new InstallableServer(cf[i]); - installableServers.add(is); - Trace.trace(Trace.EXTENSION_POINT, " Loaded installableServer: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load installableServer: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .installableServers extension point -<-"); - } - - /** - * Load the installable runtimes. - */ - private static synchronized void loadInstallableRuntimes() { - //if (installableRuntimes != null) - // return; - Trace.trace(Trace.EXTENSION_POINT, "->- Loading .installableRuntimes extension point ->-"); - - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableRuntimes"); - - int size = cf.length; - installableRuntimes = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - InstallableRuntime ir = new InstallableRuntime(cf[i]); - installableRuntimes.add(ir); - Trace.trace(Trace.EXTENSION_POINT, " Loaded installableRuntime: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load installableRuntime: " + cf[i].getAttribute("id"), t); - } - } - - Trace.trace(Trace.EXTENSION_POINT, "-<- Done loading .installableRuntimes extension point -<-"); - } - - public static void setRegistryListener(IRegistryChangeListener listener) { - registryListener = listener; - } - - /** - * Returns the preference information for the project. The project may not - * be null. - * - * @param project a project - * @return the properties of the project - */ - public static ProjectProperties getProjectProperties(IProject project) { - if (project == null) - throw new IllegalArgumentException(); - return new ProjectProperties(project); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java deleted file mode 100644 index 3a0002bd3..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java +++ /dev/null @@ -1,314 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.*; -/** - * Helper class that stores preference information for server tools. - */ -public class ServerPreferences { - private static final String PREF_AUTO_RESTART = "auto-restart"; - private static final String PREF_AUTO_PUBLISH = "auto-publish"; - private static final String PREF_MODULE_START_TIMEOUT = "module-start-timeout"; - - private static final String PREF_AUTO_PUBLISH_LOCAL = "auto-publish-local"; - private static final String PREF_AUTO_PUBLISH_LOCAL_TIME = "auto-publish-local-time"; - private static final String PREF_AUTO_PUBLISH_REMOTE = "auto-publish-remote"; - private static final String PREF_AUTO_PUBLISH_REMOTE_TIME = "auto-publish-remote-time"; - - private static final String PREF_MACHINE_SPEED = "machine-speed"; - - private static final String PREF_SYNC_ON_STARTUP = "sync-on-startup"; - - private Preferences preferences; - - protected static ServerPreferences instance; - - /** - * ServerPreference constructor comment. - */ - private ServerPreferences() { - super(); - preferences = ServerPlugin.getInstance().getPluginPreferences(); - } - - /** - * Returns the static instance. - * - * @return the static instance - */ - public static ServerPreferences getInstance() { - if (instance == null) - instance = new ServerPreferences(); - return instance; - } - - /** - * Returns whether servers will be automatically restarted when - * required. - * - * @return boolean - */ - public boolean isAutoRestarting() { - return preferences.getBoolean(PREF_AUTO_RESTART); - } - - /** - * Returns whether servers will be automatically restarted when - * required. - * - * @return boolean - */ - public boolean isDefaultAutoRestarting() { - return false; - } - - /** - * Returns whether publishing should occur before starting the - * server. - * - * @return boolean - */ - public boolean isAutoPublishing() { - return preferences.getBoolean(PREF_AUTO_PUBLISH); - } - - /** - * Returns whether publishing should occur before starting the - * server. - * - * @return boolean - */ - public boolean isDefaultAutoPublishing() { - return true; - } - - /** - * Set whether servers will be automatically restarted when - * they need a restart. - * - * @param value - */ - public void setAutoRestarting(boolean value) { - preferences.setValue(PREF_AUTO_RESTART, value); - ServerPlugin.getInstance().savePluginPreferences(); - } - - /** - * Set whether publishing should happen before the server starts. - * - * @param value - */ - public void setAutoPublishing(boolean value) { - preferences.setValue(PREF_AUTO_PUBLISH, value); - ServerPlugin.getInstance().savePluginPreferences(); - } - - /** - * Returns the module start timeout. - * - * @return the module start timeout - */ - public int getModuleStartTimeout() { - return preferences.getInt(PREF_MODULE_START_TIMEOUT); - } - - /** - * Return the machine speed index, from 1 to 10. - * - * @return the relative speed - */ - public int getMachineSpeed() { - return preferences.getInt(PREF_MACHINE_SPEED); - } - - /** - * Return the default machine speed index, 5. - * - * @return the default speed index - */ - public int getDefaultMachineSpeed() { - return 5; - } - - /** - * Sets the relative machine speed index, from 1 to 10. - * - * @param speed the relative speed - */ - public void setMachineSpeed(int speed) { - preferences.setValue(PREF_MACHINE_SPEED, speed); - } - - /** - * Return the sync on startup value. - * - * @return the sync on startup value - */ - public boolean isSyncOnStartup() { - return preferences.getBoolean(PREF_SYNC_ON_STARTUP); - } - - /** - * Return the default sync on startup value. - * - * @return the default sync on startup value - */ - public boolean getDefaultSyncOnStartup() { - return false; - } - - /** - * Sets the sync on startup value. - * - * @param sync the sync on startup value - */ - public void setSyncOnStartup(boolean sync) { - preferences.setValue(PREF_SYNC_ON_STARTUP, sync); - } - - /** - * Returns the default setting for local auto-publishing. - * - * @return int - */ - public boolean getDefaultAutoPublishLocal() { - return false; - } - - /** - * Returns the setting for local auto-publishing. - * - * @return int - */ - public boolean getAutoPublishLocal() { - return preferences.getBoolean(PREF_AUTO_PUBLISH_LOCAL); - } - - /** - * Sets the value for local auto-publishing. - * - * @param auto - */ - public void setAutoPublishLocal(boolean auto) { - preferences.setValue(PREF_AUTO_PUBLISH_LOCAL, auto); - ServerPlugin.getInstance().savePluginPreferences(); - } - - /** - * Returns the default setting for local auto-publishing. - * - * @return int - */ - public int getDefaultAutoPublishLocalTime() { - return 15; - } - - /** - * Returns the setting for local auto-publishing. - * - * @return int - */ - public int getAutoPublishLocalTime() { - return preferences.getInt(PREF_AUTO_PUBLISH_LOCAL_TIME); - } - - /** - * Sets the value for local auto-publishing. - * - * @param auto - */ - public void setAutoPublishLocalTime(int auto) { - preferences.setValue(PREF_AUTO_PUBLISH_LOCAL_TIME, auto); - ServerPlugin.getInstance().savePluginPreferences(); - } - - /** - * Returns the default setting for remote auto-publishing. - * - * @return int - */ - public boolean getDefaultAutoPublishRemote() { - return false; - } - - /** - * Returns the setting for remote auto-publishing. - * - * @return int - */ - public boolean getAutoPublishRemote() { - return preferences.getBoolean(PREF_AUTO_PUBLISH_REMOTE); - } - - /** - * Sets the value for remote auto-publishing. - * - * @param auto - */ - public void setAutoPublishRemote(boolean auto) { - preferences.setValue(PREF_AUTO_PUBLISH_REMOTE, auto); - ServerPlugin.getInstance().savePluginPreferences(); - } - - /** - * Returns the default setting for remote auto-publishing. - * - * @return int - */ - public int getDefaultAutoPublishRemoteTime() { - return 60; - } - - /** - * Returns the setting for remote auto-publishing. - * - * @return int - */ - public int getAutoPublishRemoteTime() { - return preferences.getInt(PREF_AUTO_PUBLISH_REMOTE_TIME); - } - - /** - * Sets the value for remote auto-publishing. - * - * @param auto - */ - public void setAutoPublishRemoteTime(int auto) { - preferences.setValue(PREF_AUTO_PUBLISH_REMOTE_TIME, auto); - ServerPlugin.getInstance().savePluginPreferences(); - } - - /** - * Set the default values. - */ - public void setDefaults() { - preferences.setDefault(PREF_AUTO_PUBLISH, isDefaultAutoPublishing()); - preferences.setDefault(PREF_AUTO_RESTART, isDefaultAutoRestarting()); - preferences.setDefault(PREF_MACHINE_SPEED, getDefaultMachineSpeed()); - - preferences.setDefault(PREF_AUTO_PUBLISH_LOCAL, getDefaultAutoPublishLocal()); - preferences.setDefault(PREF_AUTO_PUBLISH_LOCAL_TIME, getDefaultAutoPublishLocalTime()); - preferences.setDefault(PREF_AUTO_PUBLISH_REMOTE, getDefaultAutoPublishRemote()); - preferences.setDefault(PREF_AUTO_PUBLISH_REMOTE_TIME, getDefaultAutoPublishRemoteTime()); - - preferences.setDefault(PREF_SYNC_ON_STARTUP, getDefaultSyncOnStartup()); - - preferences.setDefault(PREF_MODULE_START_TIMEOUT, 300001); - boolean save = false; - if (preferences.isDefault(PREF_MODULE_START_TIMEOUT)) { - preferences.setValue(PREF_MODULE_START_TIMEOUT, 300000); - save = true; - } - if (save) - ServerPlugin.getInstance().savePluginPreferences(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java deleted file mode 100644 index 82b8d2c4b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java +++ /dev/null @@ -1,423 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.core.model.IModuleFile; -import org.eclipse.wst.server.core.model.IModuleFolder; -import org.eclipse.wst.server.core.model.IModuleResource; -import org.eclipse.wst.server.core.model.IModuleResourceDelta; -import org.eclipse.wst.server.core.model.ModuleDelegate; -import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; -/** - * Helper to obtain and store the publishing information (what files - * were published and when) for a single server. - */ -public class ServerPublishInfo { - protected IPath path; - - // map of module ids to ModulePublishInfo - protected Map modulePublishInfo; - - /** - * ServerPublishInfo constructor comment. - */ - protected ServerPublishInfo(IPath path) { - super(); - - this.path = path; - modulePublishInfo = new HashMap(); - load(); - } - - private String getKey(IModule[] module) { - StringBuffer sb = new StringBuffer(); - - if (module != null) { - int size = module.length; - for (int i = 0; i < size; i++) { - if (i != 0) - sb.append("#"); - sb.append(module[i].getId()); - } - } - - return sb.toString(); - } - - private String getKey(String moduleId) { - return moduleId; - } - - private IModule[] getModule(String moduleId) { - if (moduleId == null || moduleId.length() == 0) - return new IModule[0]; - - List list = new ArrayList(); - StringTokenizer st = new StringTokenizer(moduleId, "#"); - while (st.hasMoreTokens()) { - String mid = st.nextToken(); - if (mid != null && mid.length() > 0) { - IModule m = ServerUtil.getModule(mid); - if (m == null) - return null; - list.add(m); - } - } - - IModule[] modules = new IModule[list.size()]; - list.toArray(modules); - return modules; - } - - public boolean hasModulePublishInfo(IModule[] module) { - String key = getKey(module); - return modulePublishInfo.containsKey(key); - } - - /*public void removeModulePublishInfo(IModule[] module) { - String key = getKey(module); - modulePublishInfo.remove(key); - - save(); - }*/ - - /** - * - * Note: save() must be called manually after making this call. - */ - public void removeDeletedModulePublishInfo(List moduleList) { - int size = moduleList.size(); - List removed = new ArrayList(); - - Iterator iterator = modulePublishInfo.keySet().iterator(); - while (iterator.hasNext()) { - String key = (String) iterator.next(); - - boolean found = false; - for (int i = 0; i < size; i++) { - IModule[] module = (IModule[]) moduleList.get(i); - String key2 = getKey(module); - if (key != null && key.equals(key2)) - found = true; - } - if (!found) - removed.add(key); - } - - iterator = removed.iterator(); - while (iterator.hasNext()) { - String key = (String) iterator.next(); - modulePublishInfo.remove(key); - } - } - - /** - * Return the publish state. - */ - protected ModulePublishInfo getModulePublishInfo(IModule[] module) { - String key = getKey(module); - - // check if it now exists - if (modulePublishInfo.containsKey(key)) - return (ModulePublishInfo) modulePublishInfo.get(key); - - // have to create a new one - ModulePublishInfo mpi = new ModulePublishInfo(getKey(module), module[module.length - 1].getName()); - modulePublishInfo.put(key, mpi); - return mpi; - } - - public void addRemovedModules(List moduleList, List kindList) { - int size = moduleList.size(); - List removed = new ArrayList(); - Iterator iterator = modulePublishInfo.keySet().iterator(); - while (iterator.hasNext()) { - String key = (String) iterator.next(); - - boolean found = false; - for (int i = 0; i < size; i++) { - IModule[] module = (IModule[]) moduleList.get(i); - String key2 = getKey(module); - if (key != null && key.equals(key2)) - found = true; - } - if (!found) { - ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(key); - removed.add(mpi); - } - } - - iterator = removed.iterator(); - while (iterator.hasNext()) { - ModulePublishInfo mpi = (ModulePublishInfo) iterator.next(); - IModule[] module2 = getModule(mpi.getModuleId()); - if (module2 == null || module2.length == 0) { - String moduleId = mpi.getModuleId(); - if (moduleId != null) { - int index = moduleId.lastIndexOf("#"); - module2 = new IModule[] { new DeletedModule(moduleId.substring(index + 1), mpi.getName()) }; - } - } - if (module2 != null && module2.length > 0) { - moduleList.add(module2); - kindList.add(new Integer(ServerBehaviourDelegate.REMOVED)); - } - } - } - - /** - * - */ - public void load() { - String filename = path.toOSString(); - if (!(new File(filename).exists())) - return; - - Trace.trace(Trace.FINEST, "Loading publish info from " + filename); - - try { - IMemento memento2 = XMLMemento.loadMemento(filename); - IMemento[] children = memento2.getChildren("module"); - - int size = children.length; - for (int i = 0; i < size; i++) { - ModulePublishInfo mpi = new ModulePublishInfo(children[i]); - modulePublishInfo.put(getKey(mpi.getModuleId()), mpi); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not load publish information: " + e.getMessage()); - } - } - - /** - * - */ - public void save() { - String filename = path.toOSString(); - Trace.trace(Trace.FINEST, "Saving publish info to " + filename); - - try { - XMLMemento memento = XMLMemento.createWriteRoot("server"); - - Iterator iterator = modulePublishInfo.keySet().iterator(); - while (iterator.hasNext()) { - String controlRef = (String) iterator.next(); - ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(controlRef); - IMemento child = memento.createChild("module"); - mpi.save(child); - } - memento.saveToFile(filename); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save publish information", e); - } - } - - /** - * - * Note: save() must be called manually after making this call. - * @param module - */ - public void fill(IModule[] module) { - ModulePublishInfo mpi = getModulePublishInfo(module); - int size = module.length; - ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null); - try { - if (pm != null) - mpi.setResources(pm.members()); - } catch (CoreException ce) { - // ignore - } - } - - protected IModuleResourceDelta[] getDelta(IModule[] module) { - if (module == null) - return new IModuleResourceDelta[0]; - - ModulePublishInfo mpi = getModulePublishInfo(module); - int size = module.length; - ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null); - IModuleResource[] resources = null; - try { - if (pm != null) - resources = pm.members(); - } catch (CoreException ce) { - // ignore - } - if (resources == null) - resources = new IModuleResource[0]; - return getDelta(mpi.getResources(), resources); - } - - protected IModuleResourceDelta[] getDelta(IModuleResource[] original, IModuleResource[] current) { - if (original == null || current == null) - return new IModuleResourceDelta[0]; - - List list = new ArrayList(); - int size = original.length; - int size2 = current.length; - - Map originalMap = new HashMap(size); - for (int i = 0; i < size; i++) - originalMap.put(original[i], original[i]); - - // added and changed resources - for (int i = 0; i < size2; i++) { - IModuleResource old = (IModuleResource) originalMap.remove(current[i]); - if (old == null) { - ModuleResourceDelta delta = new ModuleResourceDelta(current[i], IModuleResourceDelta.ADDED); - if (current[i] instanceof IModuleFolder) { - IModuleFolder currentFolder = (IModuleFolder) current[i]; - delta.setChildren(getDeltaTree(currentFolder.members(), IModuleResourceDelta.ADDED)); - } - list.add(delta); - } else { - if (current[i] instanceof IModuleFile) { - // include files only if the modification stamp has changed - IModuleFile mf1 = (IModuleFile) old; - IModuleFile mf2 = (IModuleFile) current[i]; - if (mf1.getModificationStamp() != mf2.getModificationStamp()) { - list.add(new ModuleResourceDelta(current[i], IModuleResourceDelta.CHANGED)); - } - } else { - // include folders only if their contents have changed - IModuleFolder mf1 = (IModuleFolder) old; - IModuleFolder mf2 = (IModuleFolder) current[i]; - IModuleResourceDelta[] mrdc = getDelta(mf1.members(), mf2.members()); - if (mrdc.length > 0) { - ModuleResourceDelta mrd = new ModuleResourceDelta(current[i], IModuleResourceDelta.NO_CHANGE); - mrd.setChildren(mrdc); - list.add(mrd); - } - } - } - } - - // removed resources - for (int i = 0; i < size; i++) { - if (originalMap.containsKey(original[i])) { - ModuleResourceDelta delta = new ModuleResourceDelta(original[i], IModuleResourceDelta.REMOVED); - if (original[i] instanceof IModuleFolder) { - IModuleFolder removedFolder = (IModuleFolder) original[i]; - delta.setChildren(getDeltaTree(removedFolder.members(), IModuleResourceDelta.REMOVED)); - } - list.add(delta); - } - } - - return (IModuleResourceDelta[]) list.toArray(new IModuleResourceDelta[list.size()]); - } - - protected boolean hasDelta(IModule[] module) { - if (module == null) - return false; - - ModulePublishInfo mpi = getModulePublishInfo(module); - int size = module.length; - ModuleDelegate pm = (ModuleDelegate) module[size - 1].loadAdapter(ModuleDelegate.class, null); - IModuleResource[] resources = null; - try { - if (pm != null) - resources = pm.members(); - } catch (CoreException ce) { - // ignore - } - if (resources == null) - resources = new IModuleResource[0]; - return hasDelta(mpi.getResources(), resources); - } - - protected boolean hasDelta(IModuleResource[] original, IModuleResource[] current) { - if (original == null || current == null) - return false; - - int size = original.length; - int size2 = current.length; - - Map originalMap = new HashMap(size); - for (int i = 0; i < size; i++) - originalMap.put(original[i], original[i]); - - // added and changed resources - for (int i = 0; i < size2; i++) { - IModuleResource old = (IModuleResource) originalMap.remove(current[i]); - if (old == null) - return true; - - if (current[i] instanceof IModuleFile) { - // include files only if the modification stamp has changed - IModuleFile mf1 = (IModuleFile) old; - IModuleFile mf2 = (IModuleFile) current[i]; - if (mf1.getModificationStamp() != mf2.getModificationStamp()) - return true; - } else { - // include folders only if their contents have changed - IModuleFolder mf1 = (IModuleFolder) old; - IModuleFolder mf2 = (IModuleFolder) current[i]; - if (hasDelta(mf1.members(), mf2.members())) - return true; - } - } - - // removed resources - return !originalMap.isEmpty(); - } - - /** - * Create a resource delta for an entire tree. - */ - protected IModuleResourceDelta[] getDeltaTree(IModuleResource[] resources, int kind) { - if (resources == null) - return new IModuleResourceDelta[0]; - - List list = new ArrayList(); - - // look for duplicates - int size = resources.length; - for (int i = 0; i < size; i++) { - ModuleResourceDelta mrd = new ModuleResourceDelta(resources[i], kind); - if (resources[i] instanceof IModuleFolder) { - IModuleFolder mf = (IModuleFolder) resources[i]; - mrd.setChildren(getDeltaTree(mf.members(), kind)); - } - list.add(mrd); - } - - IModuleResourceDelta[] delta = new IModuleResourceDelta[list.size()]; - list.toArray(delta); - return delta; - } - - /** - * Returns true if the list of modules being published does not match the previous - * list of published modules. - * - * TODO: This method should compare the modules. For now, comparing the size is fine. - * - * @param modules a list of modules - * @return <code>true</code> if the structure of published modules has changed, or - * <code>false</code> otherwise - */ - protected boolean hasStructureChanged(List modules) { - return modules.size() != modulePublishInfo.keySet().size(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerSchedulingRule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerSchedulingRule.java deleted file mode 100644 index 9a5aaf2fa..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerSchedulingRule.java +++ /dev/null @@ -1,44 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.jobs.ISchedulingRule; -import org.eclipse.wst.server.core.IServer; -/** - * Simple job scheduling rule that stops a server from starting, - * publishing, or stopping at the same time. - */ -public class ServerSchedulingRule implements ISchedulingRule { - protected IServer server; - - public ServerSchedulingRule(IServer server) { - this.server = server; - } - - public boolean contains(ISchedulingRule rule) { - if (!(rule instanceof ServerSchedulingRule)) - return false; - - return true; - } - - public boolean isConflicting(ISchedulingRule rule) { - if (!(rule instanceof ServerSchedulingRule)) - return false; - - ServerSchedulingRule ssrule = (ServerSchedulingRule) rule; - return ssrule.server.equals(server); - } - - public String toString() { - return "Server scheduling rule for " + server; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java deleted file mode 100644 index 28ba83f1f..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java +++ /dev/null @@ -1,359 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchManager; - -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; -import org.eclipse.wst.server.core.model.ServerDelegate; -/** - * - */ -public class ServerType implements IServerType { - private static final int DEFAULT_TIMEOUT = 1000 * 60 * 5; - private IConfigurationElement element; - - /** - * ServerType constructor comment. - * - * @param element a configuration element - */ - public ServerType(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * Returns the id of this factory. - * - * @return java.lang.String - */ - public String getId() { - try { - return element.getAttribute("id"); - } catch (Exception e) { - return null; - } - } - - public String getName() { - try { - return element.getAttribute("name"); - } catch (Exception e) { - return null; - } - } - - public boolean startBeforePublish() { - try { - return "true".equals(element.getAttribute("startBeforePublish")); - } catch (Exception e) { - return false; - } - } - - public String getDescription() { - try { - return element.getAttribute("description"); - } catch (Exception e) { - return null; - } - } - - protected ServerDelegate createServerDelegate() throws CoreException { - try { - return (ServerDelegate) element.createExecutableExtension("class"); - } catch (Exception e) { - return null; - } - } - - protected ServerBehaviourDelegate createServerBehaviourDelegate() throws CoreException { - try { - return (ServerBehaviourDelegate) element.createExecutableExtension("behaviourClass"); - } catch (Exception e) { - return null; - } - } - - public IRuntimeType getRuntimeType() { - try { - String typeId = element.getAttribute("runtimeTypeId"); - if (typeId == null) - return null; - return ServerCore.findRuntimeType(typeId); - } catch (Exception e) { - return null; - } - } - - public boolean hasRuntime() { - try { - String s = element.getAttribute("runtime"); - return "true".equals(s); - } catch (Exception e) { - return false; - } - } - - public ILaunchConfigurationType getLaunchConfigurationType() { - try { - String launchConfigId = element.getAttribute("launchConfigId"); - if (launchConfigId == null) - return null; - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - return launchManager.getLaunchConfigurationType(launchConfigId); - } catch (Exception e) { - return null; - } - } - - /** - * Returns true if this server can start or may already be started - * in the given mode, and false if not. Uses the launchMode attribute, - * which may contain the strings "run", "debug", and/or "profile". - * - * @param launchMode String - * @return boolean - */ - public boolean supportsLaunchMode(String launchMode) { - try { - ILaunchConfigurationType configType = getLaunchConfigurationType(); - if (configType != null) - return configType.supportsMode(launchMode); - - String mode = element.getAttribute("launchModes"); - if (mode == null) - return false; - return mode.indexOf(launchMode) >= 0; - } catch (Exception e) { - return false; - } - } - - public boolean supportsRemoteHosts() { - try { - String hosts = element.getAttribute("supportsRemoteHosts"); - return (hosts != null && hosts.toLowerCase().equals("true")); - } catch (Exception e) { - return false; - } - } - - public byte getInitialState() { - try { - String stateString = element.getAttribute("initialState"); - if (stateString != null) - stateString = stateString.toLowerCase(); - if ("stopped".equals(stateString)) - return IServer.STATE_STOPPED; - else if ("started".equals(stateString)) - return IServer.STATE_STARTED; - } catch (Exception e) { - // ignore - } - return IServer.STATE_UNKNOWN; - } - - public boolean hasServerConfiguration() { - try { - return ("true".equalsIgnoreCase(element.getAttribute("hasConfiguration"))); - } catch (Exception e) { - return false; - } - } - - public IServerWorkingCopy createServer(String id, IFile file, IRuntime runtime, IProgressMonitor monitor) throws CoreException { - if (element == null) - return null; - - if (id == null || id.length() == 0) - id = ServerPlugin.generateId(); - ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this); - swc.setRuntime(runtime); - swc.setDefaults(monitor); - - // TODO - if (swc.getServerType().hasServerConfiguration()) - swc.importConfiguration(runtime, null); - - return swc; - } - - /** - * Returns an array of all known runtime instances of - * the given runtime type. This convenience method filters the list of known - * runtime ({@link ServerCore#getRuntimes()}) for ones with a matching - * runtime type ({@link IRuntime#getRuntimeType()}). The array will not - * contain any working copies. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @param runtimeType the runtime type - * @return a possibly-empty list of runtime instances {@link IRuntime} - * of the given runtime type - */ - protected static IRuntime[] getRuntimes(IRuntimeType runtimeType) { - List list = new ArrayList(); - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (runtimes[i].getRuntimeType() != null && runtimes[i].getRuntimeType().equals(runtimeType)) - list.add(runtimes[i]); - } - } - - IRuntime[] r = new IRuntime[list.size()]; - list.toArray(r); - return r; - } - - public IServerWorkingCopy createServer(String id, IFile file, IProgressMonitor monitor) throws CoreException { - if (element == null) - return null; - - if (id == null || id.length() == 0) - id = ServerPlugin.generateId(); - - IRuntime runtime = null; - if (hasRuntime()) { - // look for existing runtime - IRuntimeType runtimeType = getRuntimeType(); - IRuntime[] runtimes = getRuntimes(runtimeType); - if (runtimes != null && runtimes.length > 0) - runtime = runtimes[0]; - else { - // create runtime - try { - IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(id + "-runtime", monitor); - ServerUtil.setRuntimeDefaultName(runtimeWC); - runtime = runtimeWC; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Couldn't create runtime", e); - } - } - } - - ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this); - ServerUtil.setServerDefaultName(swc); - if (runtime != null) - swc.setRuntime(runtime); - - swc.setDefaults(monitor); - if (swc.getServerType().hasServerConfiguration()) - swc.importConfiguration(runtime, null); - - return swc; - } - - public static IProject getServerProject() throws CoreException { - IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - if (projects != null) { - int size = projects.length; - for (int i = 0; i < size; i++) { - if (ServerPlugin.getProjectProperties(projects[i]).isServerProject()) - return projects[i]; - } - } - - String s = findUnusedServerProjectName(); - IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(s); - project.create(null); - project.open(null); - ServerPlugin.getProjectProperties(project).setServerProject(true, null); - return project; - } - - /** - * Finds an unused project name to use as a server project. - * - * @return java.lang.String - */ - protected static String findUnusedServerProjectName() { - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - String name = NLS.bind(Messages.defaultServerProjectName, "").trim(); - int count = 1; - while (root.getProject(name).exists()) { - name = NLS.bind(Messages.defaultServerProjectName, ++count + "").trim(); - } - return name; - } - - /** - * Return the timeout (in ms) that should be used to wait for the server to start. - * The default is 2 minutes. - * - * @return the server startup timeout - */ - public int getStartTimeout() { - int timeout = -1; - try { - int i = Integer.parseInt(element.getAttribute("startTimeout")); - int s = ServerPreferences.getInstance().getMachineSpeed(); - timeout = i * (10 - s) / 5; - return i; - } catch (NumberFormatException e) { - // ignore - } - if (timeout <= 0) - timeout = DEFAULT_TIMEOUT; - return timeout; - } - - /** - * Return the timeout (in ms) to wait before assuming that the server - * has failed to stop. The default is 2 minutes. - * - * @return the server shutdown timeout - */ - public int getStopTimeout() { - int timeout = -1; - try { - timeout = Integer.parseInt(element.getAttribute("stopTimeout")); - } catch (NumberFormatException e) { - // ignore - } - if (timeout <= 0) - timeout = DEFAULT_TIMEOUT; - return timeout; - } - - public void dispose() { - element = null; - } - - public String getNamespace() { - if (element == null) - return null; - return element.getDeclaringExtension().getNamespace(); - } - - /** - * Return a string representation of this object. - * - * @return java.lang.String - */ - public String toString() { - return "ServerType[" + getId() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java deleted file mode 100644 index 7eecc81c8..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java +++ /dev/null @@ -1,585 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.beans.PropertyChangeListener; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.*; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.model.InternalInitializer; -import org.eclipse.wst.server.core.model.PublishOperation; -import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; -import org.eclipse.wst.server.core.model.ServerDelegate; -/** - * - */ -public class ServerWorkingCopy extends Server implements IServerWorkingCopy { - protected Server server; - protected WorkingCopyHelper wch; - - protected ServerDelegate workingCopyDelegate; - - // working copy - public ServerWorkingCopy(Server server) { - super(server.getFile()); - this.server = server; - - map = new HashMap(server.map); - wch = new WorkingCopyHelper(this); - - resolve(); - } - - // creation - public ServerWorkingCopy(String id, IFile file, IRuntime runtime, IServerType serverType) { - super(id, file, runtime, serverType); - //server = this; - wch = new WorkingCopyHelper(this); - wch.setDirty(true); - serverState = ((ServerType)serverType).getInitialState(); - } - - public boolean isWorkingCopy() { - return true; - } - - public IServer getOriginal() { - return server; - } - - public IServerWorkingCopy createWorkingCopy() { - return this; - } - - public int getServerState() { - if (server != null) - return server.getServerState(); - return serverState; - } - - public void setServerState(int state) { - if (server != null) - server.setServerState(state); - else - super.setServerState(state); - } - - public int getServerPublishState() { - if (server != null) - return server.getServerPublishState(); - return serverState; - } - - public void setServerPublishState(int state) { - if (server != null) - server.setServerPublishState(state); - else - super.setServerPublishState(state); - } - - public String getMode() { - if (server != null) - return server.getMode(); - return mode; - } - - public void setMode(String mode) { - if (server != null) - server.setMode(mode); - else - super.setMode(mode); - } - - public void setAttribute(String attributeName, int value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, boolean value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, String value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, List value) { - wch.setAttribute(attributeName, value); - } - - public void setAttribute(String attributeName, Map value) { - wch.setAttribute(attributeName, value); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServerWorkingCopy#setName(java.lang.String) - */ - public void setName(String name) { - setAttribute(PROP_NAME, name); - } - - public void setReadOnly(boolean b) { - setAttribute(PROP_LOCKED, b); - } - - /** - * Sets whether this element is private. - * Generally speaking, elements marked private are internal ones - * that should not be shown to users (because they won't know - * anything about them). - * - * @param b <code>true</code> if this element is private, - * and <code>false</code> otherwise - * @see #isPrivate() - */ - public void setPrivate(boolean b) { - setAttribute(PROP_PRIVATE, b); - } - - public void setHost(String host) { - setAttribute(PROP_HOSTNAME, host); - } - - public void setAutoPublishTime(int p) { - setAttribute(PROP_AUTO_PUBLISH_TIME, p); - } - - public void setAutoPublishSetting(int s) { - setAttribute(PROP_AUTO_PUBLISH_SETTING, s); - } - - public void setServerConfiguration(IFolder config) { - this.configuration = config; - if (configuration == null) - setAttribute(CONFIGURATION_ID, (String)null); - else - setAttribute(CONFIGURATION_ID, configuration.getFullPath().toString()); - } - - /** - * Disable the preferred publish operation. - * - * @param op a publish operation - * @return true if change is made. - */ - public boolean disablePreferredPublishOperations(PublishOperation op) { - List list = getAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null); - if (list == null) - list = new ArrayList(); - - String opId = getPublishOperationId(op); - if (list.contains(opId)) - return false; - list.add(opId); - setAttribute(PROP_DISABLED_PERFERRED_TASKS, list); - return true; - } - - /** - * Enable the optional publish operation. Optional publish operation is not ran by default. - * - * @param op a publish operation - * @return true if change is made. - */ - public boolean enableOptionalPublishOperations(PublishOperation op) { - List list = getAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null); - if (list == null) - list = new ArrayList(); - - String opId = getPublishOperationId(op); - if (list.contains(opId)) - return false; - list.add(opId); - setAttribute(PROP_ENABLED_OPTIONAL_TASKS, list); - return true; - } - - /** - * Reset all preferred operations to default - */ - public void resetPreferredPublishOperations() { - setAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null); - } - - /** - * Reset all optional operations to default - */ - public void resetOptionalPublishOperations() { - setAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null); - } - - /** - * Sets the file where this server instance is serialized. - * - * @param file the file in the workspace where the server instance - * is serialized, or <code>null</code> if the information is - * instead to be persisted with the workspace but not with any - * particular workspace resource - */ - public void setFile(IFile file) { - this.file = file; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServerWorkingCopy#isDirty() - */ - public boolean isDirty() { - return wch.isDirty(); - } - - public ServerDelegate getWorkingCopyDelegate(IProgressMonitor monitor) { - // make sure that the regular delegate is loaded - //getDelegate(); - - if (workingCopyDelegate != null || serverType == null) - return workingCopyDelegate; - - synchronized (this) { - if (workingCopyDelegate == null) { - try { - long time = System.currentTimeMillis(); - workingCopyDelegate = ((ServerType) serverType).createServerDelegate(); - InternalInitializer.initializeServerDelegate(workingCopyDelegate, this, monitor); - Trace.trace(Trace.PERFORMANCE, "ServerWorkingCopy.getWorkingCopyDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), e); - } - } - } - return workingCopyDelegate; - } - - protected ServerBehaviourDelegate getBehaviourDelegate(IProgressMonitor monitor) { - if (server == null) - return null; - - if (behaviourDelegate != null) - return behaviourDelegate; - - synchronized (this) { - if (behaviourDelegate == null) - behaviourDelegate = server.getBehaviourDelegate(monitor); - } - return behaviourDelegate; - } - - public void dispose() { - // behaviour delegate is cached from the original server - behaviourDelegate = null; - - super.dispose(); - if (workingCopyDelegate != null) - workingCopyDelegate.dispose(); - } - - public IServer save(boolean force, IProgressMonitor monitor) throws CoreException { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.subTask(NLS.bind(Messages.savingTask, getName())); - - if (!force && getOriginal() != null) - wch.validateTimestamp(((Server)getOriginal()).getTimestamp()); - - if (server == null) { - server = new Server(file); - server.setServerState(serverState); - server.publishListeners = publishListeners; - server.notificationManager = notificationManager; - } - - if (getServerType().hasServerConfiguration()) { - IFolder folder = getServerConfiguration(); - if (folder == null) { - folder = ServerType.getServerProject().getFolder(getName() + "-config"); - if (!folder.exists()) - folder.create(true, true, null); - setServerConfiguration(folder); - } - } - - server.setInternal(this); - server.doSave(monitor); - if (getServerType().hasServerConfiguration()) { - IFolder folder = getServerConfiguration(); - if (folder != null) { - IProject project = folder.getProject(); - if (project != null && !project.exists()) { - project.create(null); - project.open(null); - ServerPlugin.getProjectProperties(project).setServerProject(true, monitor); - } - if (!folder.exists()) - folder.create(IResource.FORCE, true, null); - } - } - getWorkingCopyDelegate(monitor).saveConfiguration(monitor); - wch.setDirty(false); - - return server; - } - - public IServer saveAll(boolean force, IProgressMonitor monitor) throws CoreException { - if (runtime != null && runtime.isWorkingCopy()) { - IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) runtime; - wc.save(force, monitor); - } - - return save(force, monitor); - } - - /** - * Add a property change listener to this server. - * - * @param listener java.beans.PropertyChangeListener - */ - public void addPropertyChangeListener(PropertyChangeListener listener) { - if (listener == null) - throw new IllegalArgumentException("Listener cannot be null"); - wch.addPropertyChangeListener(listener); - } - - /** - * Remove a property change listener from this server. - * - * @param listener java.beans.PropertyChangeListener - */ - public void removePropertyChangeListener(PropertyChangeListener listener) { - if (listener == null) - throw new IllegalArgumentException("Listener cannot be null"); - wch.removePropertyChangeListener(listener); - } - - /** - * Fire a property change event. - * - * @param propertyName a property name - * @param oldValue the old value - * @param newValue the new value - */ - public void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) { - wch.firePropertyChangeEvent(propertyName, oldValue, newValue); - } - - public void addServerListener(IServerListener listener) { - if (server != null) - server.addServerListener(listener); - else - super.addServerListener(listener); - } - - public void removeServerListener(IServerListener listener) { - if (server != null) - server.removeServerListener(listener); - else - super.removeServerListener(listener); - } - - public void addPublishListener(IPublishListener listener) { - if (server != null) - server.addPublishListener(listener); - else - super.addPublishListener(listener); - } - - public void removePublishListener(IPublishListener listener) { - if (server != null) - server.removePublishListener(listener); - else - super.removePublishListener(listener); - } - - public void setRuntime(IRuntime runtime) { - this.runtime = runtime; - if (runtime != null) - setAttribute(RUNTIME_ID, runtime.getId()); - else - setAttribute(RUNTIME_ID, (String)null); - } - - public void setRuntimeId(String runtimeId) { - setAttribute(RUNTIME_ID, runtimeId); - resolve(); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServer#modifyModule(org.eclipse.wst.server.core.model.IModule) - */ - public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException { - if ((add == null || add.length == 0) && (remove == null || remove.length == 0)) - throw new IllegalArgumentException("Add and remove cannot both be null/empty"); - - try { - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.subTask(Messages.taskModifyModules); - getWorkingCopyDelegate(monitor).modifyModules(add, remove, monitor); - wch.setDirty(true); - - // trigger load of modules list - getModules(); - - if (add != null) { - int size = add.length; - for (int i = 0; i < size; i++) { - if (!modules.contains(add[i])) { - modules.add(add[i]); - resetPublishState(new IModule[] { add[i] }, monitor); - } - } - } - - if (remove != null) { - int size = remove.length; - for (int i = 0; i < size; i++) { - if (modules.contains(remove[i])) { - modules.remove(remove[i]); - resetPublishState(new IModule[] { remove[i] }, monitor); - } - } - } - - // convert to attribute - List list = new ArrayList(); - Iterator iterator = modules.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - list.add(module.getName() + "::" + module.getId()); - } - setAttribute(MODULE_LIST, list); - resetOptionalPublishOperations(); - resetPreferredPublishOperations(); - } catch (CoreException ce) { - throw ce; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate modifyModule() " + toString(), e); - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "" + e.getLocalizedMessage(), e)); - } - } - - protected void resetPublishState(IModule[] module, IProgressMonitor monitor) { - setModulePublishState(module, -1); - try { - IModule[] children = getChildModules(module, monitor); - int size = children.length; - int size2 = module.length; - for (int i = 0; i < size; i++) { - IModule[] child = new Module[size2 + 1]; - System.arraycopy(module, 0, child, 0, size2); - child[size2] = children[i]; - resetPublishState(child, monitor); - } - } catch (Exception e) { - // ignore - } - } - - public void setDefaults(IProgressMonitor monitor) { - try { - getWorkingCopyDelegate(monitor).setDefaults(monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate setDefaults() " + toString(), e); - } - } - - public void renameFiles(IProgressMonitor monitor) throws CoreException { - if (getServerConfiguration() != null) { - IFolder folder = getServerConfiguration(); - IFolder folder2 = ServerType.getServerProject().getFolder(getName() + "-config"); - folder.move(folder2.getFullPath(), true, true, monitor); - setServerConfiguration(folder2); - save(true, monitor); - } - - if (file != null) { - IFile file2 = ServerUtil.getUnusedServerFile(file.getProject(), this); - file.move(file2.getFullPath(), true, true, monitor); - } - } - - /* - * Publish to the server using the progress monitor. The result of the - * publish operation is returned as an IStatus. - */ - public IStatus publish(int kind, IProgressMonitor monitor) { - if (server != null) - return server.publish(kind, monitor); - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, null); - } - - /** - * Sets the server restart state. - * - * @param state boolean - */ - public void setServerRestartState(boolean state) { - if (server != null) - server.setServerRestartState(state); - else - super.setServerRestartState(state); - } - - /** - * @see IServer#getAdapter(Class) - */ - public Object getAdapter(Class adapter) { - if (workingCopyDelegate != null) { - if (adapter.isInstance(workingCopyDelegate)) - return workingCopyDelegate; - } - if (delegate != null) { - if (adapter.isInstance(delegate)) - return delegate; - } - if (behaviourDelegate != null) { - if (adapter.isInstance(behaviourDelegate)) - return behaviourDelegate; - } - return Platform.getAdapterManager().getAdapter(this, adapter); - } - - /** - * @see IServer#loadAdapter(Class, IProgressMonitor) - */ - public Object loadAdapter(Class adapter, IProgressMonitor monitor) { - getWorkingCopyDelegate(monitor); - if (adapter.isInstance(workingCopyDelegate)) - return workingCopyDelegate; - - getDelegate(monitor); - if (adapter.isInstance(delegate)) - return delegate; - - getBehaviourDelegate(monitor); - if (adapter.isInstance(behaviourDelegate)) - return behaviourDelegate; - - return Platform.getAdapterManager().loadAdapter(this, adapter.getName()); - } - - public void importConfiguration(IRuntime runtime2, IProgressMonitor monitor) { - try { - getWorkingCopyDelegate(monitor).importConfiguration(runtime2, monitor); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate setLaunchDefaults() " + toString(), e); - } - } - - public String toString() { - return "ServerWorkingCopy " + getId(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java deleted file mode 100644 index 2f65e6731..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/StartServerJob.java +++ /dev/null @@ -1,40 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.*; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.ServerSchedulingRule; -/** - * A job for starting the server. - */ -public class StartServerJob extends ChainedJob { - protected String launchMode; - - public StartServerJob(IServer server, String launchMode) { - super(NLS.bind(Messages.jobStartingServer, server.getName()), server); - this.launchMode = launchMode; - setRule(new ServerSchedulingRule(server)); - } - - /* (non-Javadoc) - * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor) - */ - protected IStatus run(IProgressMonitor monitor) { - try { - getServer().synchronousStart(launchMode, monitor); - } catch (CoreException ce) { - return ce.getStatus(); - } - return Status.OK_STATUS; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java deleted file mode 100644 index 04bb5fedb..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java +++ /dev/null @@ -1,100 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.text.SimpleDateFormat; -import java.util.Date; -/** - * Helper class to route trace output. - */ -public class Trace { - public static int CONFIG = 0; - public static int INFO = 1; - public static int WARNING = 2; - public static int SEVERE = 3; - public static int FINER = 4; - public static int FINEST = 5; - - public static int RESOURCES = 6; - public static int EXTENSION_POINT = 7; - public static int LISTENERS = 8; - public static int RUNTIME_TARGET = 9; - public static int PERFORMANCE = 10; - - private static final String[] levelNames = new String[] { - "CONFIG ", "INFO ", "WARNING ", "SEVERE ", "FINER ", "FINEST ", - "RESOURCES", "EXTENSION", "LISTENERS", "TARGET ", "PERF "}; - private static final String spacer = " "; - - private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS"); - - protected static int pluginLength = -1; - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level a trace level - * @param s a message - */ - public static void trace(int level, String s) { - trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level a trace level - * @param s a message - * @param t a throwable - */ - public static void trace(int level, String s, Throwable t) { - trace(ServerPlugin.PLUGIN_ID, level, s, t); - } - - /** - * Trace the given message and exception. - * - * @param level a trace level - * @param s a message - * @param t a throwable - */ - private static void trace(String pluginId, int level, String s, Throwable t) { - if (pluginId == null || s == null) - return; - - if (!ServerPlugin.getInstance().isDebugging()) - return; - - StringBuffer sb = new StringBuffer(pluginId); - if (pluginId.length() > pluginLength) - pluginLength = pluginId.length(); - else if (pluginId.length() < pluginLength) - sb.append(spacer.substring(0, pluginLength - pluginId.length())); - sb.append(" "); - sb.append(levelNames[level]); - sb.append(" "); - sb.append(sdf.format(new Date())); - sb.append(" "); - sb.append(s); - //Platform.getDebugOption(ServerCore.PLUGIN_ID + "/" + "resources"); - - System.out.println(sb.toString()); - if (t != null) - t.printStackTrace(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/UpdateServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/UpdateServerJob.java deleted file mode 100644 index 91428ea7d..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/UpdateServerJob.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; -/** - * Action to update a server's status. - */ -public class UpdateServerJob extends ChainedJob { - /** - * An action to update the status of a server. - * - * @param server a server - */ - public UpdateServerJob(IServer server) { - super(NLS.bind(Messages.jobUpdateServer, server.getName()), server); - } - - public IStatus run(IProgressMonitor monitor) { - getServer().loadAdapter(ServerBehaviourDelegate.class, monitor); - - return Status.OK_STATUS; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java deleted file mode 100644 index fd78205b5..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java +++ /dev/null @@ -1,170 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * - */ -public class WorkingCopyHelper { - protected Base base; - protected boolean isDirty; - - // property change listeners - private transient List propertyListeners; - - public WorkingCopyHelper(Base base) { - this.base = base; - } - - public void setAttribute(String attributeName, int value) { - int current = base.getAttribute(attributeName, 0); - if (current != 0 && current == value) - return; - - isDirty = true; - base.map.put(attributeName, Integer.toString(value)); - firePropertyChangeEvent(attributeName, new Integer(current), new Integer(value)); - } - - public void setAttribute(String attributeName, boolean value) { - boolean current = base.getAttribute(attributeName, false); - - isDirty = true; - base.map.put(attributeName, Boolean.toString(value)); - firePropertyChangeEvent(attributeName, new Boolean(current), new Boolean(value)); - } - - public void setAttribute(String attributeName, String value) { - String current = base.getAttribute(attributeName, (String)null); - if (current != null && current.equals(value)) - return; - - isDirty = true; - if (value == null) - base.map.remove(attributeName); - else - base.map.put(attributeName, value); - firePropertyChangeEvent(attributeName, current, value); - } - - public void setAttribute(String attributeName, List value) { - List current = base.getAttribute(attributeName, (List)null); - if (current != null && current.equals(value)) - return; - - isDirty = true; - if (value == null) - base.map.remove(attributeName); - else - base.map.put(attributeName, value); - firePropertyChangeEvent(attributeName, current, value); - } - - public void setAttribute(String attributeName, Map value) { - Map current = base.getAttribute(attributeName, (Map)null); - if (current != null && current.equals(value)) - return; - - isDirty = true; - if (value == null) - base.map.remove(attributeName); - else - base.map.put(attributeName, value); - firePropertyChangeEvent(attributeName, current, value); - } - - public void setName(String name) { - setAttribute(Base.PROP_NAME, name); - } - - public void setLocked(boolean b) { - setAttribute(Base.PROP_LOCKED, b); - } - - public void setPrivate(boolean b) { - setAttribute(Base.PROP_PRIVATE, b); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.IServerWorkingCopy#isDirty() - */ - public boolean isDirty() { - return isDirty; - } - - protected void validateTimestamp(int timestamp) throws CoreException { - if (base.getTimestamp() != timestamp) - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IServerWorkingCopy.SAVE_CONFLICT, Messages.errorWorkingCopyTimestamp, null)); - } - - /** - * Add a property change listener to this server. - * - * @param listener java.beans.PropertyChangeListener - */ - public void addPropertyChangeListener(PropertyChangeListener listener) { - if (propertyListeners == null) - propertyListeners = new ArrayList(2); - propertyListeners.add(listener); - } - - /** - * Remove a property change listener from this server. - * - * @param listener java.beans.PropertyChangeListener - */ - public void removePropertyChangeListener(PropertyChangeListener listener) { - if (propertyListeners != null) - propertyListeners.remove(listener); - } - - /** - * Fire a property change event. - * - * @param propertyName a property name - * @param oldValue the old value - * @param newValue the new value - */ - public void firePropertyChangeEvent(String propertyName, Object oldValue, Object 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(Trace.SEVERE, "Error firing property change event", e); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error in property event", e); - } - } - - protected void setDirty(boolean dirty) { - isDirty = dirty; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java deleted file mode 100644 index 3d0960cf6..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java +++ /dev/null @@ -1,412 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal; - -import java.io.*; -import java.util.*; -import org.w3c.dom.*; -import org.xml.sax.*; - -import javax.xml.parsers.*; -import javax.xml.transform.*; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -/** - * A Memento is a class independent container for persistence - * info. It is a reflection of 3 storage requirements. - * - * 1) We need the ability to persist an object and restore it. - * 2) The class for an object may be absent. If so we would - * like to skip the object and keep reading. - * 3) The class for an object may change. If so the new class - * should be able to read the old persistence info. - * - * We could ask the objects to serialize themselves into an - * ObjectOutputStream, DataOutputStream, or Hashtable. However - * all of these approaches fail to meet the second requirement. - * - * Memento supports binary persistance with a version ID. - */ -public final class XMLMemento implements IMemento { - private Document factory; - private Element element; - - /** - * Answer a memento for the document and element. For simplicity - * you should use createReadRoot and createWriteRoot to create the initial - * mementos on a document. - */ - private XMLMemento(Document doc, Element el) { - factory = doc; - element = el; - } - - /* - * @see IMemento - */ - public IMemento createChild(String type) { - Element child = factory.createElement(type); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /* - * @see IMemento - */ - public IMemento createChild(String type, String id) { - Element child = factory.createElement(type); - child.setAttribute(TAG_ID, id); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /** - * Create a Document from a Reader and answer a root memento for reading - * a document. - */ - protected static XMLMemento createReadRoot(InputStream in) { - Document document = null; - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder parser = factory.newDocumentBuilder(); - document = parser.parse(new InputSource(in)); - Node node = document.getFirstChild(); - if (node instanceof Element) - return new XMLMemento(document, (Element) node); - } catch (Exception e) { - // ignore - } finally { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - return null; - } - - /** - * Answer a root memento for writing a document. - * - * @param type a type - * @return a memento - */ - public static XMLMemento createWriteRoot(String type) { - Document document; - try { - document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); - Element element = document.createElement(type); - document.appendChild(element); - return new XMLMemento(document, element); - } catch (ParserConfigurationException e) { - throw new Error(e); - } - } - - /* - * @see IMemento - */ - public IMemento getChild(String type) { - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return null; - - // Find the first node which is a child of this node. - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - return new XMLMemento(factory, element2); - } - } - - // A child was not found. - return null; - } - - /* - * @see IMemento - */ - public IMemento [] getChildren(String type) { - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return new IMemento[0]; - - // Extract each node with given type. - ArrayList list = new ArrayList(size); - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - list.add(element2); - } - } - - // Create a memento for each node. - size = list.size(); - IMemento [] results = new IMemento[size]; - for (int x = 0; x < size; x ++) { - results[x] = new XMLMemento(factory, (Element)list.get(x)); - } - return results; - } - - /** - * Return the contents of this memento as a byte array. - * - * @return byte[] - * @throws IOException if anything goes wrong - */ - public byte[] getContents() throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - save(out); - return out.toByteArray(); - } - - /** - * Returns an input stream for writing to the disk with a local locale. - * - * @return java.io.InputStream - * @throws IOException if anything goes wrong - */ - public InputStream getInputStream() throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - save(out); - return new ByteArrayInputStream(out.toByteArray()); - } - - /* - * @see IMemento - */ - public Float getFloat(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Float(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /* - * @see IMemento - */ - public String getId() { - return element.getAttribute(TAG_ID); - } - - /* - * @see IMemento - */ - public String getName() { - return element.getNodeName(); - } - - /* - * @see IMemento - */ - public Integer getInteger(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Integer(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /* - * @see IMemento - */ - public String getString(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - return attr.getValue(); - } - - public List getNames() { - NamedNodeMap map = element.getAttributes(); - int size = map.getLength(); - List list = new ArrayList(); - for (int i = 0; i < size; i++) { - Node node = map.item(i); - String name = node.getNodeName(); - list.add(name); - } - return list; - } - - /** - * Loads a memento from the given filename. - * - * @param in java.io.InputStream - * @return org.eclipse.ui.IMemento - */ - public static IMemento loadMemento(InputStream in) { - return createReadRoot(in); - } - - /** - * Loads a memento from the given filename. - * - * @param filename java.lang.String - * @return org.eclipse.ui.IMemento - * @exception java.io.IOException - */ - public static IMemento loadMemento(String filename) throws IOException { - FileInputStream fin = null; - try { - fin = new FileInputStream(filename); - return XMLMemento.createReadRoot(fin); - } finally { - try { - if (fin != null) - fin.close(); - } catch (Exception e) { - // ignore - } - } - } - - /* - * @see IMemento - */ - private void putElement(Element element2) { - NamedNodeMap nodeMap = element2.getAttributes(); - int size = nodeMap.getLength(); - for (int i = 0; i < size; i++){ - Attr attr = (Attr)nodeMap.item(i); - putString(attr.getName(),attr.getValue()); - } - - NodeList nodes = element2.getChildNodes(); - size = nodes.getLength(); - for (int i = 0; i < size; i ++) { - Node node = nodes.item(i); - if (node instanceof Element) { - XMLMemento child = (XMLMemento)createChild(node.getNodeName()); - child.putElement((Element)node); - } - } - } - - /* - * @see IMemento - */ - public void putFloat(String key, float f) { - element.setAttribute(key, String.valueOf(f)); - } - - /* - * @see IMemento - */ - public void putInteger(String key, int n) { - element.setAttribute(key, String.valueOf(n)); - } - - /* - * @see IMemento - */ - public void putMemento(IMemento memento) { - XMLMemento xmlMemento = (XMLMemento) memento; - putElement(xmlMemento.element); - } - - /* - * @see IMemento - */ - public void putString(String key, String value) { - if (value == null) - return; - element.setAttribute(key, value); - } - - /** - * Save this Memento to a Writer. - */ - protected void save(OutputStream os) throws IOException { - Result result = new StreamResult(os); - Source source = new DOMSource(factory); - try { - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); - transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2"); - transformer.transform(source, result); - } catch (Exception e) { - throw (IOException) (new IOException().initCause(e)); - } - } - - /** - * Saves the memento to the given file. - * - * @param filename java.lang.String - * @exception java.io.IOException - */ - public void saveToFile(String filename) throws IOException { - FileOutputStream w = null; - try { - w = new FileOutputStream(filename); - save(w); - } catch (IOException e) { - throw e; - } catch (Exception e) { - throw new IOException(e.getLocalizedMessage()); - } finally { - if (w != null) { - try { - w.close(); - } catch (Exception e) { - // ignore - } - } - } - } - - public String saveToString() throws IOException { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - save(out); - return out.toString("UTF-8"); - } - - /* - * @see IMemento#getBoolean(String) - */ - public Boolean getBoolean(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - if ("true".equalsIgnoreCase(strValue)) - return new Boolean(true); - return new Boolean(false); - } - - /* - * @see IMemento#putBoolean(String, boolean) - */ - public void putBoolean(String key, boolean value) { - element.setAttribute(key, value ? "true" : "false"); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/provisional/ServerLocatorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/provisional/ServerLocatorDelegate.java deleted file mode 100644 index 04b9a67ca..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/provisional/ServerLocatorDelegate.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.internal.provisional; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * A server locator provides the ability to locate or search for additional - * server of a particular type, on a particular host. - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>serverLocators</code> extension point. - * </p> - * - * @plannedfor 1.0 - */ -public abstract class ServerLocatorDelegate { - /** - * A callback listener used to report progress. - */ - public interface IServerSearchListener { - /** - * Called when a new server is found by the locator. - * The server must never be null. - * - * @param server the runtime that was found. - */ - public void serverFound(IServerWorkingCopy server); - } - - /** - * Searches for servers. - * It uses the callback listener to report servers that are found. - * - * @param host a host string conforming to RFC 2732 - * @param listener a listener to report status to - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - public abstract void searchForServers(String host, IServerSearchListener listener, IProgressMonitor monitor); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java deleted file mode 100644 index c4031de0a..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ClientDelegate.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.wst.server.core.IServer; -/** - * A launchable client is a client side application or test harness that can - * be launched (run) against a resource running on a server. - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>clients</code> extension point. - * </p> - * - * @since 1.0 - */ -public abstract class ClientDelegate { - /** - * Returns true if this launchable can be run by this client. - * - * @param server the server that the client is being run against - * @param launchable the object to run on the server - * @param launchMode the launch mode - * @return <code>true</code> if the client supports this combination, and <code>false</code> - * otherwise - */ - public boolean supports(IServer server, Object launchable, String launchMode) { - return true; - } - - /** - * Opens or executes on the launchable. - * - * @param server the server that the client is being run against - * @param launchable the object to run on the server - * @param launchMode the launch mode - * @param launch the launch of the server, if available - * @return status indicating what (if anything) went wrong - */ - public abstract IStatus launch(IServer server, Object 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/model/IModuleFile.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFile.java deleted file mode 100644 index 6b8f0eae4..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFile.java +++ /dev/null @@ -1,25 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.model; -/** - * A file within a module. - * - * @since 1.0 - */ -public interface IModuleFile extends IModuleResource { - /** - * Returns a modification stamp. Whenever the modification - * stamp changes, there may have been a change to the file. - * - * @return the modification stamp - */ - public long getModificationStamp(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFolder.java deleted file mode 100644 index b8c082040..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleFolder.java +++ /dev/null @@ -1,24 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.model; -/** - * A folder within a module. - * - * @since 1.0 - */ -public interface IModuleFolder extends IModuleResource { - /** - * Returns the members (contents) of this folder. - * - * @return an array containing the module resources contained in this folder - */ - public IModuleResource[] members(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResource.java deleted file mode 100644 index fceca3d11..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResource.java +++ /dev/null @@ -1,34 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IPath; -/** - * A resource (file or folder) within a module. - * - * @since 1.0 - */ -public interface IModuleResource extends IAdaptable { - /** - * Returns the module relative path to this resource. - * - * @return the module relative path to this resource - */ - public IPath getModuleRelativePath(); - - /** - * Returns the name of this resource. - * - * @return the name of this resource - */ - public String getName(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java deleted file mode 100644 index 3650270f8..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IModuleResourceDelta.java +++ /dev/null @@ -1,161 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.IPath; -/** - * A module resource delta. - * - * @since 1.0 - */ -public interface IModuleResourceDelta { - /** - * Kind constant (value 0) for no change. - * - * @see #getKind() - */ - public static final int NO_CHANGE = 0; - - /** - * Kind constant (value 1) for added resources. - * - * @see #getKind() - */ - public static final int ADDED = 1; - - /** - * Kind constant (value 2) for changed resources. - * - * @see #getKind() - */ - public static final int CHANGED = 2; - - /** - * Kind constant (value 3) for removed resources. - * - * @see #getKind() - */ - public static final int REMOVED = 3; - - /** - * Returns the module resource represented by this delta. - * - * @return the corresponding module resource - */ - public IModuleResource getModuleResource(); - - /** - * Returns the kind of this resource delta. - * Normally, one of <code>ADDED</code>, - * <code>REMOVED</code>, <code>CHANGED</code>. - * - * @return the kind of this resource delta - * - * @see IModuleResourceDelta#ADDED - * @see IModuleResourceDelta#REMOVED - * @see IModuleResourceDelta#CHANGED - */ - public int getKind(); - - /** - * Returns module resource deltas for all children of this resource - * which were added, removed, or changed. Returns an empty - * array if there are no affected children. - * <p> - * This is a convenience method, fully equivalent to: - * <pre> - * getAffectedChildren(ADDED | REMOVED | CHANGED, IResource.NONE); - * </pre> - * </p> - * - * @return the resource deltas for all affected children - * @see IModuleResourceDelta#ADDED - * @see IModuleResourceDelta#REMOVED - * @see IModuleResourceDelta#CHANGED - */ - public IModuleResourceDelta[] getAffectedChildren(); - - /** - * Returns the module-relative path of this resource delta. - * Returns the empty path for resources in the module root. - * <p> - * A resource's module-relative path indicates the route from the module - * to the resource. Within a module, there is exactly one such path - * for any given resource. The returned path never has a trailing separator. - * </p> - * @return the module-relative path of this resource delta - * @see IModuleResource#getModuleRelativePath() - */ - public IPath getModuleRelativePath(); - - /** - * Finds and returns the descendent delta identified by the given path in - * this delta, or <code>null</code> if no such descendent exists. - * The supplied path may be absolute or relative; in either case, it is - * interpreted as relative to this delta. Trailing separators are ignored. - * If the path is empty this delta is returned. - * <p> - * This is a convenience method to avoid manual traversal of the delta - * tree in cases where the listener is only interested in changes to - * particular resources. Calling this method will generally be - * faster than manually traversing the delta to a particular descendent. - * </p> - * @param path the path of the desired descendent delta - * @return the descendent delta, or <code>null</code> if no such - * descendent exists in the delta - * @plannedfor 2.0 - */ - //public IModuleResourceDelta findMember(IPath path); - - /** - * Returns resource deltas for all children of this resource - * whose kind is included in the given mask. Kind masks are formed - * by the bitwise or of <code>IResourceDelta</code> kind constants. - * Returns an empty array if there are no affected children. - * <p> - * This is a convenience method, fully equivalent to: - * <pre> - * getAffectedChildren(kindMask, IResource.NONE); - * </pre> - * Team-private member resources are <b>not</b> included in the result. - * </p> - * - * @param kindMask a mask formed by the bitwise or of <code>IResourceDelta </code> - * delta kind constants - * @return the resource deltas for all affected children - * @see IResourceDelta#ADDED - * @see IResourceDelta#REMOVED - * @see IResourceDelta#CHANGED - * @see #getAffectedChildren(int) - */ - //public IModuleResourceDelta[] getAffectedChildren(int kindMask); - - /** - * Accepts the given visitor. - * The only kinds of resource deltas visited - * are <code>ADDED</code>, <code>REMOVED</code>, - * and <code>CHANGED</code>. - * The visitor's <code>visit</code> method is called with this - * resource delta if applicable. If the visitor returns <code>true</code>, - * the resource delta's children are also visited. - * <p> - * This is a convenience method, fully equivalent to - * <code>accept(visitor, IResource.NONE)</code>. - * Although the visitor will be invoked for this resource delta, it will not be - * invoked for any team-private member resources. - * </p> - * - * @param visitor the visitor - * @exception CoreException if the visitor failed with this exception. - * @see IResourceDeltaVisitor#visit(IResourceDelta) - */ - //public void accept(IModuleResourceDeltaVisitor visitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java deleted file mode 100644 index c8573e946..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/IURLProvider.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import java.net.URL; - -import org.eclipse.wst.server.core.IModule; -/** - * An interface for a server delegate that can provide URLs for a module published - * to the server. - * - * @since 1.0 - */ -public interface IURLProvider { - /** - * Return the base URL of this module on the server. (e.g. - * "http://localhost:8080/myProject") - * <p> - * This method may return null if this server does not have a valid configuration - * or if the server is not running. The returned URL must not end in a trailing - * slash. - * </p> - * <p> - * If the module is null, the returned URL will just be to the root of - * the server (e.g. "http://localhost:8080") - * </p> - * <p> - * If the module is not already added to the server, the method will return - * as close an approximation as possible. (for instance, for a J2EE web project - * it may use the project's context root, which may not be the same when deployed - * to a server) - * </p> - * - * @param module com.ibm.etools.server.core.IModule - * @return java.net.URL - */ - public URL getModuleRootURL(IModule module); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/InternalInitializer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/InternalInitializer.java deleted file mode 100644 index dfe441d73..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/InternalInitializer.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.internal.ModuleFactory; -import org.eclipse.wst.server.core.internal.Runtime; -import org.eclipse.wst.server.core.internal.Server; -/** - * This is an internal utility class that is used by the server framework. - * It is not API and should never be used by clients. - */ -public class InternalInitializer { - /** - * Internal method - do not call. - * - * @param delegate - * @param newServer - * @param monitor - */ - public static void initializeServerDelegate(ServerDelegate delegate, Server newServer, IProgressMonitor monitor) { - delegate.initialize(newServer, monitor); - } - - /** - * Internal method - do not call. - * - * @param delegate - * @param newServer - * @param monitor - */ - public static void initializeServerBehaviourDelegate(ServerBehaviourDelegate delegate, Server newServer, IProgressMonitor monitor) { - delegate.initialize(newServer, monitor); - } - - /** - * Internal method - do not call. - * - * @param delegate - * @param newRuntime - * @param monitor - */ - public static void initializeRuntimeDelegate(RuntimeDelegate delegate, Runtime newRuntime, IProgressMonitor monitor) { - delegate.initialize(newRuntime, monitor); - } - - /** - * Internal method - do not call. - * - * @param delegate - * @param newModuleFactory - * @param monitor - */ - public static void initializeModuleFactoryDelegate(ModuleFactoryDelegate delegate, ModuleFactory newModuleFactory, IProgressMonitor monitor) { - delegate.initialize(newModuleFactory, monitor); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java deleted file mode 100644 index 47fd4e813..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/LaunchableAdapterDelegate.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.wst.server.core.IModuleArtifact; -import org.eclipse.wst.server.core.IServer; -/** - * This interface, typically implemented by the server code, converts from - * an IModuleArtifact to an object launchable on the server. - * - * <p>This is the implementation of a launchableAdapter extension point.</p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>launchableAdapters</code> extension point. - * </p> - * - * @since 1.0 - */ -public abstract class LaunchableAdapterDelegate { - /** - * Returns a launchable object from this module artifact. - * - * @param server the server - * @param moduleArtifact a module artifact - * [issue: if the launchable object cannot be found, should it throw a CoreExcpetion or return null?] - * @return the launchable object - * @throws CoreException if there was an error doing the conversion - */ - public abstract Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactAdapterDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactAdapterDelegate.java deleted file mode 100644 index c3528b75e..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleArtifactAdapterDelegate.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.wst.server.core.IModuleArtifact; -/** - * A module artifact adapter converts from some view's model - * object into a module artifact that is recognized by one or - * more server types. - * - * <p>This is the implementation of a moduleArtifactAdapter - * extension point.</p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>moduleArtifactAdapters</code> extension point. - * </p> - * - * @since 1.0 - */ -public abstract class ModuleArtifactAdapterDelegate { - /** - * Converts from an arbitrary object to an module artifact. - * - * @param obj an arbitrary object from a view or editor - * @return an module artifact, or <code>null</code> if this - * adapter does not recognize or cannot adapt the object - */ - public abstract IModuleArtifact getModuleArtifact(Object obj); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java deleted file mode 100644 index d63f7cd91..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleDelegate.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.wst.server.core.IModule; -/** - * A module delegate provides a mechanism for discovering information - * about individual modules. Modules are returned from module factory - * delegates; their delegates are created when - * ModuleFactoryDelegate.createModule() is called. - * <p> - * When the module needs to be given a delegate, the delegate class - * specified for the module is instantiated with a 0-argument - * constructor. - * </p> - * <p> - * Module delegates may keep state in instance fields, but that state is - * transient and will not be persisted across workbench sessions. - * </p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>moduleFactories</code> extension point. - * </p> - * - * @see org.eclipse.wst.server.core.IModule - * @see ModuleFactoryDelegate - * @since 1.0 - */ -public abstract class ModuleDelegate { - private IModule module; - - /** - * Delegates must have a public 0-arg constructor. - */ - public ModuleDelegate() { - // do nothing - } - - /** - * Initializes this module delegate with its life-long module instance. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - * - * @param newModule the module instance - */ - public final void initialize(IModule newModule) { - this.module = newModule; - initialize(); - } - - /** - * Initializes this module delegate. This method gives delegates a chance - * to do their own initialization. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - */ - public void initialize() { - // do nothing - } - - /** - * Returns the module that this module delegate corresponds to. - * - * @return the module - */ - public IModule getModule() { - return module; - } - - /** - * Validates this module instance. Subclasses should - * override and call super.validate() for basic validation. - * <p> - * This method is called by the web server core framework. - * Clients should never call this method. - * </p> - * - * @return a status object with code <code>IStatus.OK</code> if this - * module is valid, otherwise a status object indicating what is - * wrong with it - */ - public abstract IStatus validate(); - - /** - * Returns the child modules of this module. - * - * @return a possibly empty array of child modules - */ - public abstract IModule[] getChildModules(); - - /** - * Returns the current array of module artifacts. - * - * @return a possibly empty array containing the module resources - * @throws CoreException thrown if there is a problem getting the members - */ - public abstract IModuleResource[] members() throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java deleted file mode 100644 index 2ebee805e..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.internal.Module; -import org.eclipse.wst.server.core.internal.ModuleFactory; -/** - * A module factory delegate provides a mechanism for discovering - * modules. A module factory delegate is specified by the - * <code>class</code> attribute of a <code>moduleFactories</code> extension. - * <p> - * When the module factory needs to be given a delegate, the delegate class - * specified for the module factory is instantiated with a 0-argument - * constructor. - * </p> - * <p> - * Module factory delegates may keep state in instance fields, but that state is - * transient and will not be persisted across workbench sessions. - * </p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>moduleFactories</code> extension point. - * </p> - * - * @see org.eclipse.wst.server.core.IModule - * @see ModuleDelegate - * @since 1.0 - */ -public abstract class ModuleFactoryDelegate { - private ModuleFactory factory; - - /** - * Delegates must have a public 0-arg constructor. - */ - public ModuleFactoryDelegate() { - // do nothing - } - - /** - * Initializes this module factory delegate with its life-long module - * factory instance. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - * - * @param newFactory the module factory instance - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - final void initialize(ModuleFactory newFactory, IProgressMonitor monitor) { - factory = newFactory; - } - - /** - * Returns the id of this factory. - * Each factory has a distinct id, fixed for its lifetime. Ids are intended to - * be used internally as keys; they are not intended to be shown to end users. - * - * @return the factory id - */ - protected final String getId() { - return factory.getId(); - } - - /** - * Creates a module instance with the given static information. This method is used - * by module factory delegates to create module instances. - * - * @param id the module id - * @param name the module name - * @param type the module type id - * @param version the module version id - * @param project the project that the module is contained in - * @return a module instance - */ - protected final IModule createModule(String id, String name, String type, String version, IProject project) { - return new Module(factory, id, name, type, version, project); - } - - /** - * Creates the module delegate for a module with the given information. - * This method is called when a client needs to access the module delegate - * associated with the given module. - * - * @param module a module - * @return the module delegate - */ - public abstract ModuleDelegate getModuleDelegate(IModule module); - - /** - * Return all modules created by this factory. - * <p> - * This method is normally called by the web server core framework. - * Clients (other than the delegate) should never call this method. - * </p> - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @return a possibly-empty array of modules {@link IModule} - */ - public abstract IModule[] getModules(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishOperation.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishOperation.java deleted file mode 100644 index 2922f62a7..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishOperation.java +++ /dev/null @@ -1,164 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.TaskModel; -/** - * An operation that will be executed during publishing. - * - * [issue: EY It is not clear to me that when this task will be run. Will the place where the - * task is being run depend on the server, e.g. the TDC tasks for the v6 server should be run - * after the server is started the modules are added to the server; however, the EJB deploy task - * makes more sense to be run before adding the project to the server.] - * - * @since 1.0 - */ -public abstract class PublishOperation { - private TaskModel model; - private String label; - private String description; - - /** - * Operation kind constant (value 0) indicating that the operation - * does not need be executed. - * - * @see #getKind() - */ - public static final int OPTIONAL = 0; - - /** - * Operation kind constant (value 1) indicating that the operation - * should be executed. - * - * @see #getKind() - */ - public static final int PREFERRED = 1; - - /** - * Operation kind constant (value 2) indicating that the operation - * must be executed. - * - * @see #getKind() - */ - public static final int REQUIRED = 2; - - /** - * Create a new operation. The label and description must be supplied - * by overriding the getLabel() and getDescription() methods. - */ - public PublishOperation() { - // do nothing - } - - /** - * Create a new operation with the given label and description. - * - * @param label a translated label for the operation - * @param description the operation description - */ - public PublishOperation(String label, String description) { - this.label = label; - this.description = description; - } - - /** - * Returns the kind of this operation. Operations can either be OPTIONAL - * (do not have to be executed), PREFERRED (should be executed), or - * REQUIRED (must be executed). - * - * @return one of the kind constants (e.g. <code>REQUIRED</code>) - * declared on {@link PublishOperation} - */ - public int getKind() { - return OPTIONAL; - } - - /** - * Returns the order (index/priority) of the task that will be run. The task with - * a smaller order value will be run before the task with a bigger order value. - * For tasks that have the same order value, the order of running those task are - * not guaranteed. - * - * @return the order (index/priority) of the task that will be run. - */ - public abstract int getOrder(); - - /** - * Returns the displayable label for this operation. - * <p> - * Note that this label is appropriate for the current locale. - * </p> - * - * @return a displayable label for this operation - */ - public String getLabel() { - return label; - } - - /** - * Returns the displayable description for this operation. - * <p> - * Note that this description is appropriate for the current locale. - * </p> - * - * @return a displayable description for this operation - */ - public String getDescription() { - return description; - } - - /** - * Return the task model. - * <p> - * A task model contains information about the overall task flow and allows - * tasks to store and retreive data. Its usage allows mutliple tasks to be - * chained together and share data from the output of one task to the input - * of another. - * </p> - * - * @return the task model - */ - public TaskModel getTaskModel() { - return model; - } - - /** - * Set the task model. - * <p> - * A task model contains information about the overall task flow and allows - * tasks to store and retreive data. Its usage allows mutliple tasks to be - * chained together and share data from the output of one task to the input - * of another. - * </p> - * - * @param taskModel the task model - */ - public void setTaskModel(TaskModel taskModel) { - this.model = taskModel; - } - - /** - * Execute (perform) the operation. - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @param info the IAdaptable (or <code>null</code>) provided by the - * caller in order to supply UI information for prompting the - * user if necessary. When this parameter is not - * <code>null</code>, it should minimally contain an adapter - * for the org.eclipse.swt.widgets.Shell.class. - * @throws CoreException if there was an error while executing the task - */ - public abstract void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishTaskDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishTaskDelegate.java deleted file mode 100644 index 38527363e..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/PublishTaskDelegate.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import java.util.List; - -import org.eclipse.wst.server.core.IServer; -/** - * A publish task delegate. - * - * <p>This is the implementation of a publishTask extension point.</p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>publishTask</code> extension point. - * </p> - * - * @since 1.0 - */ -public abstract class PublishTaskDelegate { - /** - * Returns the tasks that should be performed during publishing. - * - * @param server the server - * @param modules a list containing IModule arrays - * @return the tasks that should be performed on the server. - */ - public PublishOperation[] getTasks(IServer server, List modules) { - return null; - } - - /** - * Returns the tasks that should be performed during publishing. - * - * @param server the server - * @param modules a list containing IModule arrays - * @param kind one of the IServer.PUBLISH_XX constants. - * @param kindList one of the IServer publish change constants. - * @return the tasks that should be performed on the server. - */ - public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) { - return getTasks(server, modules); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java deleted file mode 100644 index 3cac8f57f..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java +++ /dev/null @@ -1,311 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import java.util.List; -import java.util.Map; - -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.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.internal.Messages; -import org.eclipse.wst.server.core.internal.Runtime; -import org.eclipse.wst.server.core.internal.RuntimeWorkingCopy; -import org.eclipse.wst.server.core.internal.ServerPlugin; -/** - * A runtime delegate provides the implementation for various - * generic and server-type-specific operations for a specific type of runtime. - * A runtime delegate is specified by the - * <code>class</code> attribute of a <code>runtimeTypes</code> extension. - * <p> - * When the runtime instance needs to be given a delegate, the delegate class - * specified for the runtime type is instantiated with a 0-argument constructor - * and primed with <code>delegate.initialize(runtime)</code>, - * which it is expected to hang on to. Later, when - * <code>delegate.dispose()</code> is called as the runtime instance is - * being discarded, the delegate is expected to let go of the runtime instance. - * </p> - * <p> - * RuntimeDelegate supports an open-ended set of attribute-value pairs. All - * state stored in this manner will be saved when the runtime working copy is - * saved, and persisted across workbench sessions. - * Runtime delegates may keep state in instance fields, but that state is - * transient and will not be persisted across workbench sessions. To save state - * across workbench sessions, it must be persisted using the attributes. - * </p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>runtimeTypes</code> extension point. - * </p> - * - * @see IRuntime - * @see IRuntimeWorkingCopy - * @since 1.0 - */ -public abstract class RuntimeDelegate { - private Runtime runtime; - private RuntimeWorkingCopy runtimeWC; - - /** - * Delegates must have a public 0-arg constructor. - */ - public RuntimeDelegate() { - // do nothing - } - - /** - * Initializes this runtime delegate with its life-long runtime instance. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - * - * @param newRuntime the runtime instance - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - final void initialize(Runtime newRuntime, IProgressMonitor monitor) { - runtime = newRuntime; - if (runtime instanceof RuntimeWorkingCopy) - runtimeWC = (RuntimeWorkingCopy) runtime; - initialize(); - } - - /** - * Initializes this runtime delegate. This method gives delegates a chance - * to do their own initialization. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - */ - protected void initialize() { - // do nothing - } - - /** - * Returns the runtime that this runtime delegate corresponds to. - * - * @return the runtime - */ - public final IRuntime getRuntime() { - return runtime; - } - - /** - * Returns the runtime working copy that this runtime delegate corresponds to. - * - * @return the runtime - */ - public final IRuntimeWorkingCopy getRuntimeWorkingCopy() { - return runtimeWC; - } - - /** - * Validates this runtime instance. Subclasses should - * override and call super.validate() for basic validation. - * <p> - * This method is called by the web server core framework, - * in response to a call to <code>IRuntime.validate(IProgressMonitor)</code>. - * Clients should never call this method. - * </p> - * - * @return a status object with code <code>IStatus.OK</code> if this - * runtime is valid, otherwise a status object indicating what is - * wrong with it - */ - public IStatus validate() { - if (runtime.getName() == null || runtime.getName().length() == 0) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorRuntimeName, null); - - if (isNameInUse()) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorDuplicateRuntimeName, null); - - IPath path = runtime.getLocation(); - if (path == null || path.isEmpty()) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "", null); - - return Status.OK_STATUS; - } - - /** - * Returns <code>true</code> if the current name is already in use. - * - * @return <code>true</code> if the name is in use, and <code>false</code> - * otherwise - */ - private boolean isNameInUse() { - IRuntime orig = runtime; - if (runtimeWC != null) - orig = runtimeWC.getOriginal(); - - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (orig != runtimes[i] && runtime.getName().equals(runtimes[i].getName())) - return true; - } - } - return false; - } - - /** - * Returns the value of the specified int-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, int) - */ - protected final int getAttribute(String id, int defaultValue) { - return runtime.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified boolean-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, boolean) - */ - protected final boolean getAttribute(String id, boolean defaultValue) { - return runtime.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified String-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, String) - */ - protected final String getAttribute(String id, String defaultValue) { - return runtime.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified List-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, List) - */ - protected final List getAttribute(String id, List defaultValue) { - return runtime.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified Map-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, Map) - */ - protected final Map getAttribute(String id, Map defaultValue) { - return runtime.getAttribute(id, defaultValue); - } - - /** - * Disposes of this runtime delegate. - * <p> - * This method is called by the web server core framework. - * Clients should never call this method. - * </p> - * <p> - * Implementations are expected to let go of the delegate's reference - * to the runtime, deregister listeners, etc. - * </p> - */ - public void dispose() { - // do nothing - } - - /** - * Initializes this runtime with default values. This method is called when - * a new runtime is created so that the runtime can be initialized with - * meaningful values. - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - public void setDefaults(IProgressMonitor monitor) { - // do nothing - } - - /** - * 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 #getAttribute(String, int) - */ - protected final void setAttribute(String id, int value) { - runtimeWC.setAttribute(id, 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 #getAttribute(String, boolean) - */ - protected final void setAttribute(String id, boolean value) { - runtimeWC.setAttribute(id, 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 #getAttribute(String, String) - */ - protected final void setAttribute(String id, String value) { - runtimeWC.setAttribute(id, value); - } - - /** - * Sets the value of the specified list-valued attribute of this - * element. The list may only contain String values. - * - * @param id the attribute id - * @param value the value of the specified attribute - * @see #getAttribute(String, List) - */ - protected final void setAttribute(String id, List value) { - runtimeWC.setAttribute(id, value); - } - - /** - * Sets the value of the specified map-valued attribute of this - * element. The map may only contain String values. - * - * @param id the attribute id - * @param value the value of the specified attribute - * @see #getAttribute(String, Map) - */ - protected final void setAttribute(String id, Map value) { - runtimeWC.setAttribute(id, value); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java deleted file mode 100644 index c2a9027d1..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -/** - * A runtime locator provides the ability to locate or search for additional - * runtimes of a particular type. - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>runtimeLocators</code> extension point. - * </p> - * - * @since 1.0 - */ -public abstract class RuntimeLocatorDelegate { - /** - * A callback listener used to report progress. - * - * @since 1.0 - */ - public interface IRuntimeSearchListener { - /** - * Called when a new runtime is found by the locator. - * The runtime must never be null. - * - * @param runtime the runtime that was found. - */ - public void runtimeFound(IRuntimeWorkingCopy runtime); - } - - /** - * Searches for local runtimes. - * It uses the callback listener to report runtimes that are found. - * The path contains the absolute path of the folder to search in, - * or <code>null</code> to search the entire machine. - * - * @param path the path to search for runtimes in - * @param listener a listener to report status to - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - public abstract void searchForRuntimes(IPath path, IRuntimeSearchListener listener, IProgressMonitor monitor); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.java deleted file mode 100644 index 941392e34..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.model; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeTargetHandler; -/** - * A runtime target handler is used when associating a runtime with - * a particular project. It has the ability to make any changes it requires - * on the projects - adding or removing files, setting up the classpath, etc. - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>runtimeTargetHandlers</code> extension point. - * </p> - * <p> - * - * @deprecated This function is deprecated. - */ -public abstract class RuntimeTargetHandlerDelegate { - /** - * Initializes the runtime target handler. - * - * @param newHandler the new handler - */ - public final void initialize(IRuntimeTargetHandler newHandler) { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Returns the runtime target handler that this delegate is associated with. - * - * @return the runtime target handler - */ - public IRuntimeTargetHandler getRuntimeTargetHandler() { - throw new RuntimeException("Attempt to use deprecated code"); - } - - /** - * Set the runtime target on the given project. - * - * @param project the project to set the runtime on - * @param runtime the target runtime - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException thrown if there is a problem setting the runtime - */ - public abstract void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException; - - /** - * Remove the runtime target from the given project. - * - * @param project the project to remove the runtime from - * @param runtime the target runtime - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException thrown if there is a problem removing the runtime - */ - public abstract void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java deleted file mode 100644 index 466b37468..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java +++ /dev/null @@ -1,809 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.model; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import org.eclipse.core.runtime.*; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.Messages; -import org.eclipse.wst.server.core.internal.ProgressUtil; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.core.internal.Trace; -/** - * A server delegate provides the implementation for various - * generic and server-type-specific operations for a specific type of server. - * A server delegate is specified by the - * <code>class</code> attribute of a <code>serverTypes</code> extension. - * <p> - * When the server instance needs to be given a delegate, the delegate class - * specified for the server type is instantiated with a 0-argument constructor - * and primed with <code>delegate.initialize(((IServerState)server)</code>, - * which it is expected to hang on to. Later, when - * <code>delegate.dispose()</code> is called as the server instance is - * being discarded, the delegate is expected to let go of the server instance. - * </p> - * <p> - * Server delegates may keep state in instance fields, but that state is - * transient and will not be persisted across workbench sessions. - * </p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>serverTypes</code> extension point. - * </p> - * - * @see org.eclipse.wst.server.core.IServer - * @see org.eclipse.wst.server.core.IServerWorkingCopy - * @since 1.0 - */ -public abstract class ServerBehaviourDelegate { - private Server server; - - /** - * Publish kind constant (value 0) for no change. - * - * @see #publishModule(int, int, IModule[], IProgressMonitor) - */ - public static final int NO_CHANGE = 0; - - /** - * Publish kind constant (value 1) for added resources. - * - * @see #publishModule(int, int, IModule[], IProgressMonitor) - */ - public static final int ADDED = 1; - - /** - * Publish kind constant (value 2) for changed resources. - * - * @see #publishModule(int, int, IModule[], IProgressMonitor) - */ - public static final int CHANGED = 2; - - /** - * Publish kind constant (value 3) for removed resources. - * - * @see #publishModule(int, int, IModule[], IProgressMonitor) - */ - public static final int REMOVED = 3; - - /** - * Delegates must have a public 0-arg constructor. - */ - public ServerBehaviourDelegate() { - // do nothing - } - - /** - * Initializes this server delegate with its life-long server instance. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - * - * @param newServer the server instance - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - final void initialize(Server newServer, IProgressMonitor monitor) { - server = newServer; - initialize(monitor); - } - - /** - * Initializes this server delegate. This method gives delegates a chance - * to do their own initialization. - * <p> - * If the server state is initially unknown, this method should attempt - * to connect to the server and update the state. On servers where the - * state may change, this is also an excellent place to create a background - * thread that will constantly ping the server (or have a listener) to - * update the server state as changes occur. - * </p> - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - protected void initialize(IProgressMonitor monitor) { - // do nothing - } - - /** - * Returns the server that this server delegate corresponds to. - * - * @return the server - */ - public final IServer getServer() { - return server; - } - - /** - * Sets the current state of this server. - * - * @param state the current state of the server, one of the state - * constants defined by {@link IServer} - * @see IServer#getServerState() - */ - protected final void setServerState(int state) { - server.setServerState(state); - } - - /** - * Sets the ILaunchManager mode that the server is running in. The server - * implementation will automatically return <code>null</code> to clients - * when the server is stopped, so you only need to update the mode when - * it changes. - * - * @param mode the mode in which a server is running, one of the mode constants - * defined by {@link org.eclipse.debug.core.ILaunchManager} - */ - protected final void setMode(String mode) { - server.setMode(mode); - } - - /** - * Sets the server restart state. - * - * @param state <code>true</code> if the server needs to be restarted, - * and <code>false</code> otherwise - */ - protected final void setServerRestartState(boolean state) { - server.setServerRestartState(state); - } - - /** - * Sets the server publish state. - * - * @param state the current publish state of the server, one of the - * publish constants defined by {@link IServer} - */ - protected final void setServerPublishState(int state) { - server.setServerPublishState(state); - } - - /** - * Hook to fire an event when a module state changes. - * - * @param module the module - * @param state the current state of the module, one of the state - * constants defined by {@link IServer} - */ - protected final void setModuleState(IModule[] module, int state) { - server.setModuleState(module, state); - } - - /** - * Sets the module publish state. - * - * @param module the module - * @param state the current publish state of the module, one of the - * publish constants defined by {@link IServer} - */ - protected final void setModulePublishState(IModule[] module, int state) { - server.setModulePublishState(module, state); - } - - /** - * Sets the module restart state. - * - * @param module the module - * @param state <code>true</code> if the module needs to be restarted, - * and <code>false</code> otherwise - */ - protected final void setModuleRestartState(IModule[] module, boolean state) { - server.setModuleRestartState(module, state); - } - - /** - * Disposes of this server delegate. - * <p> - * This method is called by the web server core framework. - * Clients should never call this method. - * </p> - * <p> - * Implementations are expected to let go of the delegate's reference - * to the server, deregister listeners, etc. - * </p> - */ - public void dispose() { - // do nothing - } - - /** - * 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. - * <p> - * This method is called by the server core framework, - * in response to a call to <code>IServer.publish()</code>. - * Clients should never call this method. - * </p> - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there is a problem starting the publish - */ - protected void publishStart(IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Publish the server. - * <p> - * This method is called by the server core framework, - * in response to a call to <code>IServer.publish()</code>. - * Clients should never call this method. - * </p> - * - * @param kind one of the IServer.PUBLISH_XX constants. Valid values are - * <ul> - * <li><code>PUBLSIH_FULL</code>- indicates a full publish.</li> - * <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish. - * <li><code>PUBLSIH_AUTO</code>- indicates an automatic incremental publish.</li> - * <li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws - * out all state and cleans up the module on the server before doing a - * full publish. - * </ul> - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there is a problem publishing the server - */ - protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Publish a single module to the server. - * <p> - * This method is called by the server core framework, - * in response to a call to <code>IServer.publish()</code>. - * Clients should never call this method directly. - * </p> - * <p> - * If the deltaKind is IServer.REMOVED, the module may have been completely - * deleted and does not exist anymore. In this case, a dummy module (with the - * correct id) will be passed to this method. - * </p> - * - * @param kind one of the IServer.PUBLISH_XX constants. Valid values are: - * <ul> - * <li><code>PUBLSIH_FULL</code>- indicates a full publish.</li> - * <li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish. - * <li><code>PUBLSIH_AUTO</code>- indicates an automatic incremental publish.</li> - * <li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws - * out all state and cleans up the module on the server before doing a - * full publish. - * </ul> - * @param module the module to publish - * @param deltaKind one of the IServer publish change constants. Valid values are: - * <ul> - * <li><code>ADDED</code>- indicates the module has just been added to the server - * and this is the first publish. - * <li><code>NO_CHANGE</code>- indicates that nothing has changed in the module - * since the last publish.</li> - * <li><code>CHANGED</code>- indicates that the module has been changed since - * the last publish. Call <code>getPublishedResourceDelta()</code> for - * details of the change. - * <li><code>REMOVED</code>- indicates the module has been removed and should be - * removed/cleaned up from the server. - * </ul> - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there is a problem publishing the module - */ - protected void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Methods called to notify that publishing has finished. - * The server can close any open connections to the server - * and do any cleanup operations. - * <p> - * This method is called by the server core framework, - * in response to a call to <code>IServer.publish()</code>. - * Clients should never call this method. - * </p> - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there is a problem stopping the publish - */ - protected void publishFinish(IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Configure the given launch configuration to start this server. This method is called whenever - * the server is started to ensure that the launch configuration is accurate and up to date. - * This method should not blindly update the launch configuration in cases where the user has - * access to change the launch configuration by hand. - * - * @param workingCopy a launch configuration working copy - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there is an error setting up the configuration - */ - public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Restart this server. The server should use the server - * listener to notify progress. It must use the same debug - * flags as was originally passed into the start() method. - * - * This method is used if there is a quick/better way to restart - * the server. If it throws a CoreException, the normal stop/start - * actions will be used. - * - * @param launchMode the mode to restart in, one of the mode constants - * defined by {@link org.eclipse.debug.core.ILaunchManager} - * @throws CoreException if there was a problem restarting - */ - public void restart(String launchMode) throws CoreException { - throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "Could not restart", null)); - } - - /** - * Returns whether the given module can be restarted. - * <p> - * [issue: It's unclear whether this operations is guaranteed to be fast - * or whether it could involve communication with any actual - * server. If it is not fast, the method should take a progress - * monitor.] - * </p> - * - * @param module the module - * @return <code>true</code> if the given module can be - * restarted, and <code>false</code> otherwise - */ - public boolean canControlModule(IModule[] module) { - return false; - } - - /** - * Starts the given module on the server. See the specification of - * {@link IServer#startModule(IModule[], IServer.IOperationListener)} - * for further details. - * <p> - * The implementation should update the module sync state and fire - * an event for the module. - * </p> - * <p> - * This method will throw an exception if the module does not exist on - * the server. - * </p> - * <p> - * [issue: Since this method is ascynchronous, is there - * any need for the progress monitor?] - * </p> - * - * @param module the module to be started - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @exception CoreException if an error occurs while trying to restart the module - */ - public void startModule(IModule[] module, IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Stops the given module on the server. See the specification of - * {@link IServer#stopModule(IModule[], IServer.IOperationListener)} - * for further details. - * <p> - * The implementation should update the module sync state and fire - * an event for the module. - * </p> - * <p> - * This method will throw an exception if the module does not exist on - * the server. - * </p> - * <p> - * [issue: Since this method is ascynchronous, is there - * any need for the progress monitor?] - * </p> - * - * @param module the module to be stopped - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @exception CoreException if an error occurs while trying to restart the module - */ - public void stopModule(IModule[] module, IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Shuts down and stops this server. The server should return from this method - * quickly and use the server listener to notify shutdown progress. - * <p> - * If force is <code>false</code>, it will attempt to stop the server - * normally/gracefully. If force is <code>true</code>, then the server - * process will be terminated any way that it can. - * </p> - * <p> - * [issue: There is no way to communicate failure to the - * client. Given that this operation can go awry, there probably - * should be a mechanism that allows failing asynch operations - * to be diagnosed.] - * </p> - * @param force <code>true</code> to kill the server, or <code>false</code> - * to stop normally - */ - public abstract void stop(boolean force); - - /** - * Returns the module resources that have been published to the server. - * - * <p> - * If the module has just been added to the server, an empty list will - * be returned. If the module has never existed on the server, a CoreException - * will be thrown. - * </p> - * - * @param module the module - * @return an array containing the published module resource - */ - protected IModuleResource[] getPublishedResources(IModule[] module) { - return server.getPublishedResources(module); - } - - /** - * Returns the delta of the current module resources that have been - * published compared to the current state of the module. - * - * @param module the module - * @return an array containing the publish resource delta - */ - protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) { - return server.getPublishedResourceDelta(module); - } - - /** - * Returns a temporary directory that the requestor can use - * throughout it's lifecycle. This is primary to be used by - * servers for working directories, server specific - * files, etc. - * <p> - * This method directory will return the same directory on - * each use of the workbench. If the directory is not requested - * over a period of time, the directory may be deleted and a - * new one will be assigned on the next request. For this - * reason, a server may want to request the temp directory on - * startup if it wants to store files there. In any case, the - * server should have a backup plan to refill the directory - * in case it has been deleted since last use.</p> - * - * @return a temporary directory - */ - protected IPath getTempDirectory() { - return server.getTempDirectory(); - } - - /** - * Set a global status on the server. - * - * @param status the status - */ - protected final void setServerStatus(IStatus status) { - server.setServerStatus(status); - } - - /** - * Set a status on a specific module. - * - * @param module the module - * @param status the status - */ - protected final void setModuleStatus(IModule[] module, IStatus status) { - server.setModuleStatus(module, status); - } - - /** - * Publish to the server. - * - * @param kind the publish kind - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return the publish status - */ - public IStatus publish(int kind, IProgressMonitor monitor) { - Trace.trace(Trace.FINEST, "-->-- Publishing to server: " + toString() + " -->--"); - - if (getServer().getServerType().hasRuntime() && getServer().getRuntime() == null) - return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoRuntime, null); - - final List moduleList = getAllModules(); - final List deltaKindList = new ArrayList(); - - Iterator iterator = moduleList.iterator(); - while (iterator.hasNext()) { - IModule[] module = (IModule[]) iterator.next(); - if (hasBeenPublished(module)) { - if (getPublishedResourceDelta(module).length == 0) - deltaKindList.add(new Integer(ServerBehaviourDelegate.NO_CHANGE)); - else - deltaKindList.add(new Integer(ServerBehaviourDelegate.CHANGED)); - } else - deltaKindList.add(new Integer(ServerBehaviourDelegate.ADDED)); - } - - addRemovedModules(moduleList, deltaKindList); - - while (moduleList.size() > deltaKindList.size()) { - deltaKindList.add(new Integer(ServerBehaviourDelegate.REMOVED)); - } - - PublishOperation[] tasks = getTasks(kind, moduleList, deltaKindList); - int size = 2000 + 3500 * moduleList.size() + 500 * tasks.length; - - monitor = ProgressUtil.getMonitorFor(monitor); - monitor.beginTask(NLS.bind(Messages.publishing, getServer().getName()), size); - - MultiStatus tempMulti = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, "", null); - - if (monitor.isCanceled()) - return Status.CANCEL_STATUS; - - // start publishing - Trace.trace(Trace.FINEST, "Calling publishStart()"); - try { - publishStart(ProgressUtil.getSubMonitorFor(monitor, 1000)); - } catch (CoreException ce) { - Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce); - return ce.getStatus(); - } - - // perform tasks - MultiStatus taskStatus = performTasks(tasks, monitor); - if (taskStatus != null) - tempMulti.addAll(taskStatus); - - // publish the server - try { - if (!monitor.isCanceled()) { - publishServer(kind, ProgressUtil.getSubMonitorFor(monitor, 1000)); - } - } catch (CoreException ce) { - Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce); - tempMulti.add(ce.getStatus()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error publishing configuration to " + toString(), e); - tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e)); - } - - // publish modules - if (!monitor.isCanceled()) { - try { - publishModules(kind, moduleList, deltaKindList, tempMulti, monitor); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error while publishing modules", e); - tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e)); - } - } - - // end the publishing - Trace.trace(Trace.FINEST, "Calling publishFinish()"); - try { - publishFinish(ProgressUtil.getSubMonitorFor(monitor, 500)); - } catch (CoreException ce) { - Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce); - tempMulti.add(ce.getStatus()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error stopping publish to " + toString(), e); - tempMulti.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e)); - } - - if (monitor.isCanceled()) - return Status.CANCEL_STATUS; - - monitor.done(); - - Trace.trace(Trace.FINEST, "--<-- Done publishing --<--"); - - if (tempMulti.getChildren().length == 1) - return tempMulti.getChildren()[0]; - - MultiStatus multi = null; - if (tempMulti.getSeverity() == IStatus.OK) - multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusOk, null); - else if (tempMulti.getSeverity() == IStatus.INFO) - multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusInfo, null); - else if (tempMulti.getSeverity() == IStatus.WARNING) - multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusWarning, null); - else if (tempMulti.getSeverity() == IStatus.ERROR) - multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusError, null); - multi.addAll(tempMulti); - - return multi; - } - - /** - * Publish a single module. - * - * @param kind a publish kind - * @param module a module - * @param deltaKind the delta kind - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return the status - */ - protected IStatus publishModule(int kind, IModule[] module, int deltaKind, IProgressMonitor monitor) { - Trace.trace(Trace.FINEST, "Publishing module: " + module); - - int size = module.length; - IModule m = module[size - 1]; - monitor.beginTask(NLS.bind(Messages.publishingModule, m.getName()), 1000); - - IStatus status = Status.OK_STATUS; - try { - publishModule(kind, deltaKind, module, monitor); - } catch (CoreException ce) { - status = ce.getStatus(); - } catch (Exception e) { - status = new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishing, e); - } - - /*Trace.trace(Trace.FINEST, "Delta:"); - IModuleResourceDelta[] delta = getServerPublishInfo().getDelta(parents, module); - int size = delta.length; - for (int i = 0; i < size; i++) { - ((ModuleResourceDelta)delta[i]).trace("> "); - }*/ - - monitor.done(); - - Trace.trace(Trace.FINEST, "Done publishing: " + module); - return status; - } - - /** - * Returns <code>true</code> if the given module has been published, and - * <code>false</code> otherwise. - * - * @param module a module - * @return <code>true</code> if the given module has been published, and - * <code>false</code> otherwise - */ - protected boolean hasBeenPublished(IModule[] module) { - return server.getServerPublishInfo().hasModulePublishInfo(module); - } - - /** - * Adds removed modules. - * - * @param moduleList a list of modules - * @param kindList a list of publish kinds - */ - protected void addRemovedModules(List moduleList, List kindList) { - server.getServerPublishInfo().addRemovedModules(moduleList, kindList); - } - - /** - * Update the stored publish info for the given module. - * - * @deprecated should never need to be called directly. Will be removed - * in a future version of WTP - * @param deltaKind a publish delta kind - * @param module a module - */ - protected void updatePublishInfo(int deltaKind, IModule[] module) { - // TODO remove - } - - /** - * Publishes the given modules. Returns true if the publishing - * should continue, or false if publishing has failed or is cancelled. - * - * Uses 500 ticks plus 3500 ticks per module - * - * @param kind the publish kind - * @param modules a list of modules - * @param deltaKind a list of delta kinds - * @param multi a multistatus to add the status to - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - protected void publishModules(int kind, List modules, List deltaKind, MultiStatus multi, IProgressMonitor monitor) { - if (modules == null) - return; - - int size = modules.size(); - if (size == 0) - return; - - if (monitor.isCanceled()) - return; - - // publish modules - for (int i = 0; i < size; i++) { - IStatus status = publishModule(kind, (IModule[]) modules.get(i), ((Integer)deltaKind.get(i)).intValue(), ProgressUtil.getSubMonitorFor(monitor, 3000)); - multi.add(status); - } - } - - /** - * Returns the publish tasks that have been targetted to this server. - * These tasks should be run during publishing. - * - * @param kind one of the IServer.PUBLISH_XX constants - * @param moduleList a list of modules - * @param kindList list of one of the IServer publish change constants - * @return a possibly empty array of IOptionalTasks - */ - protected final PublishOperation[] getTasks(int kind, List moduleList, List kindList) { - return server.getTasks(kind, moduleList, kindList); - } - - /** - * Returns all the modules that are on the server, including root - * modules and all their children. - * - * @return a list of IModule[]s - */ - protected final List getAllModules() { - return server.getAllModules(); - } - - /** - * Perform (execute) all the given tasks. - * - * @param tasks an array of tasks - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @return the status - */ - protected MultiStatus performTasks(PublishOperation[] tasks, IProgressMonitor monitor) { - int size = tasks.length; - Trace.trace(Trace.FINEST, "Performing tasks: " + size); - - if (size == 0) - return null; - - MultiStatus multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.taskPerforming, null); - - for (int i = 0; i < size; i++) { - PublishOperation task = tasks[i]; - monitor.subTask(NLS.bind(Messages.taskPerforming, task.toString())); - try { - task.execute(ProgressUtil.getSubMonitorFor(monitor, 500), null); - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Task failed", ce); - multi.add(ce.getStatus()); - } - - // return early if the monitor has been cancelled - if (monitor.isCanceled()) - return multi; - } - - return multi; - } - - /** - * Called when resources change within the workspace. - * This gives the server an opportunity to update the server or module - * restart state. - */ - public void handleResourceChange() { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java deleted file mode 100644 index cddd7e23a..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java +++ /dev/null @@ -1,392 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.model; - -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.internal.ServerWorkingCopy; -/** - * A server delegate provides the implementation for various - * generic and server-type-specific operations for a specific type of server. - * A server delegate is specified by the - * <code>class</code> attribute of a <code>serverTypes</code> extension. - * <p> - * When the server instance needs to be given a delegate, the delegate class - * specified for the server type is instantiated with a 0-argument constructor - * and primed with <code>delegate.initialize(((IServerState)server)</code>, - * which it is expected to hang on to. Later, when - * <code>delegate.dispose()</code> is called as the server instance is - * being discarded, the delegate is expected to let go of the server instance. - * </p> - * <p> - * ServerDelegate supports an open-ended set of attribute-value pairs. All - * state stored in this manner will be saved when the server working copy is - * saved, and persisted across workbench sessions. - * Server delegates may keep state in instance fields, but that state is - * transient and will not be persisted across workbench sessions. To save - * state across workbench sessions, it must be persisted using the - * attributes. - * </p> - * <p> - * This abstract class is intended to be extended only by clients - * to extend the <code>serverTypes</code> extension point. - * </p> - * - * @see IServer - * @see IServerWorkingCopy - * @since 1.0 - */ -public abstract class ServerDelegate { - private Server server; - private ServerWorkingCopy serverWC; - - /** - * Delegates must have a public 0-arg constructor. - */ - public ServerDelegate() { - // do nothing - } - - /** - * Initializes this server delegate with its life-long server instance. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - * - * @param newServer the server instance - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - final void initialize(Server newServer, IProgressMonitor monitor) { - server = newServer; - if (newServer instanceof ServerWorkingCopy) - serverWC = (ServerWorkingCopy) newServer; - initialize(); - } - - /** - * Initializes this server delegate. This method gives delegates a chance - * to do their own initialization. - * <p> - * This method is called by the server core framework. - * Clients should never call this method. - * </p> - */ - protected void initialize() { - // do nothing - } - - /** - * Returns the server that this server delegate corresponds to. - * - * @return the server - */ - public final IServer getServer() { - return server; - } - - /** - * Returns the server working copy that this server delegate corresponds to. - * - * @return the server - */ - public final IServerWorkingCopy getServerWorkingCopy() { - return serverWC; - } - - /** - * Returns the value of the specified int-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, int) - */ - protected final int getAttribute(String id, int defaultValue) { - return server.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified boolean-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, boolean) - */ - protected final boolean getAttribute(String id, boolean defaultValue) { - return server.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified String-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, String) - */ - protected final String getAttribute(String id, String defaultValue) { - return server.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified List-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, List) - */ - protected final List getAttribute(String id, List defaultValue) { - return server.getAttribute(id, defaultValue); - } - - /** - * Returns the value of the specified Map-valued attribute. - * - * @param id the attribute id - * @param defaultValue the default value of the specified attribute - * @return the attribute value - * @see #setAttribute(String, Map) - */ - protected final Map getAttribute(String id, Map defaultValue) { - return server.getAttribute(id, defaultValue); - } - - /** - * Disposes of this server delegate. - * <p> - * This method is called by the web server core framework. - * Clients should never call this method. - * </p> - * <p> - * Implementations are expected to let go of the delegate's reference - * to the server, deregister listeners, etc. - * </p> - */ - public void dispose() { - // do nothing - } - - /** - * Returns whether the specified module modifications could be made to this - * server at this time. See the specification of - * {@link IServerAttributes#canModifyModules(IModule[], IModule[], IProgressMonitor)} - * for further details. - * <p> - * This method is called by the web server core framework, - * in response to a call to <code>IServer.canModifyModules</code>. - * Clients should never call this method. - * </p> - * <p> - * [issue: See IServerAttributes.canModifyModules(IModule[], IModule[], IProgressMonitor).] - * </p> - * [issue: doc that it should be quick] - * - * @param add a possibly-empty list of modules to add - * @param remove a possibly-empty list of modules to remove - * @return a status object with code <code>IStatus.OK</code> if the modules - * can be modified, otherwise a status object indicating why they can't - */ - public abstract IStatus canModifyModules(IModule[] add, IModule[] remove); - - /** - * Returns the child module(s) of this module. If this - * module contains other modules, it should list those - * modules. If not, it should return an empty list. - * - * <p>This method should only return the direct children. - * To obtain the full module tree, this method may be - * recursively called on the children.</p> - * - * @param module a module - * @return the child modules - * @see IServerAttributes#getChildModules(IModule[], IProgressMonitor) - */ - public abstract IModule[] getChildModules(IModule[] module); - - /** - * Returns the parent module(s) of this module. When determining if a given - * project can run on a server, this method will be used to find the actual - * module(s) that may be run on the server. For instance, a Web module may - * return a list of EAR modules that it is contained in if the server only - * supports configuring EAR modules. - * - * <p>If the module type is not supported, this method will return null. - * If the type is normally supported but there is a configuration - * problem or missing parent, etc., this method will fire a CoreException - * that may then be presented to the user.</p> - * - * <p>If it does return valid parent(s), this method will always return - * the topmost parent module(s), even if there are a few levels - * (a heirarchy) of modules.</p> - * - * [issue: should the parameter be IModule[]?] - * - * @param module a module - * @return an array of possible root modules - * @throws CoreException if anything went wrong - * - * @see org.eclipse.wst.server.core.IServerAttributes#getRootModules(IModule, IProgressMonitor) - */ - public abstract IModule[] getRootModules(IModule module) throws CoreException; - - /** - * Returns an array of ServerPorts that this server has. - * - * @return the server's ports - */ - public ServerPort[] getServerPorts() { - return null; - } - - /** - * Initializes this server with default values. This method is called when - * a new server is created so that the server can be initialized with - * meaningful values. - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - public void setDefaults(IProgressMonitor monitor) { - // do nothing - } - - /** - * 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 #getAttribute(String, int) - */ - protected final void setAttribute(String id, int value) { - serverWC.setAttribute(id, 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 #getAttribute(String, boolean) - */ - protected final void setAttribute(String id, boolean value) { - serverWC.setAttribute(id, 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 #getAttribute(String, String) - */ - protected final void setAttribute(String id, String value) { - serverWC.setAttribute(id, value); - } - - /** - * Sets the value of the specified list-valued attribute of this - * element. The list may only contain String values. - * - * @param id the attribute id - * @param value the value of the specified attribute - * @see #getAttribute(String, List) - */ - protected final void setAttribute(String id, List value) { - serverWC.setAttribute(id, value); - } - - /** - * Sets the value of the specified map-valued attribute of this - * element. The map may only contain String values. - * - * @param id the attribute id - * @param value the value of the specified attribute - * @see #getAttribute(String, Map) - */ - protected final void setAttribute(String id, Map value) { - serverWC.setAttribute(id, value); - } - - /** - * Modifies the list of modules associated with the server. - * See the specification of - * {@link IServerWorkingCopy#modifyModules(IModule[], IModule[], IProgressMonitor)} - * for further details. - * <p> - * This method is called by the web server core framework, - * in response to a call to <code>IServerWorkingCopy.modifyModules</code>. - * Clients should never call this method. - * </p> - * <p> - * This method is called to update the server configuration (if any) - * or update the delegates internal state. Note that the actual list - * of modules is stored on the server and can be accessed at any time - * using server.getModules(). getModules() will not be updated until - * after this method successfully returns. - * </p> - * <p> - * This method will not communicate with the server. After saving, - * publish() can be used to sync up with the server. - * </p> - * - * @param add a possibly-empty list of modules to add - * @param remove a possibly-empty list of modules to remove - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException [missing] - */ - public abstract void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException; - - /** - * This method is called to import the server configuration from the given - * runtime. - * - * @param runtime a server runtime - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - */ - public void importConfiguration(IRuntime runtime, IProgressMonitor monitor) { - // do nothing - } - - /** - * This method is called whenever the server configuration should be saved. - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if there was a problem saving - */ - public void saveConfiguration(IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * This method is called whenever the server configuration folder has changed. - * It gives the server a chance to throw out any old data and be ready to - * reload the server configuration when it is needed next. - */ - public void configurationChanged() { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.html b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.html deleted file mode 100644 index d0fe41200..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.html +++ /dev/null @@ -1,30 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>SPI support for the server tools framework.</p> -<table width="500"> -<tr> -<td> -<p>The classes in this package would typically be extended or used by -SPI clients of the server tools framework who are providing a new server -type, runtime type, or other extension. These delegates are never visible -to regular API clients unless explicitly exposed by the provider.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>The majority of these classes are delegates to implement one of the -extension points. View the extension point documentation for further -details.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.xml b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.xml deleted file mode 100644 index 4e3120321..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/package.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - -<abstract>SPI support for the server tools framework.</abstract> - -<p>The classes in this package would typically be extended or used by -SPI clients of the server tools framework who are providing a new server -type, runtime type, or other extension. These delegates are never visible -to regular API clients unless explicitly exposed by the provider.</p> - -<p>The majority of these classes are delegates to implement one of the -extension points. View the extension point documentation for further -details.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.html b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.html deleted file mode 100644 index 236cdb5ec..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.html +++ /dev/null @@ -1,58 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>The main server tools framework client API.</p> -<table width="500"> -<tr> -<td> -<p>ServerCore is the main entry-point and provides access to most of the -remaining API. From here, you can get the existing server runtimes and -servers, get the available server types, and access interfaces for all -extension points.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>ServerUtil provides utility and convenience methods for dealing with -server tools. It provides easy access to modules, server runtimes, and -what combinations are supported (e.g. which runtimes can be used to -target a particular project).</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>IRuntime and IServer are the two main API objects. IRuntime is used -to target projects to a particular server installation and compile/build -against them. When a runtime is targetted to a particular runtime, -all of the applicable IRuntimeTargetHandler extensions are called to -set the classpath or modify other project settings for the runtime.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>IServer is the main server class that clients can use to start/stop -and publish to servers.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>IModules provide the "content" that can be published to servers. -See the server tools API overview for more information.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.xml b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.xml deleted file mode 100644 index 9a254d3ae..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/package.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - -<abstract>The main server tools framework client API.</abstract> - -<p>ServerCore is the main entry-point and provides access to most of the -remaining API. From here, you can get the existing server runtimes and -servers, get the available server types, and access interfaces for all -extension points.</p> - -<p>ServerUtil provides utility and convenience methods for dealing with -server tools. It provides easy access to modules, server runtimes, and -what combinations are supported (e.g. which runtimes can be used to -target a particular project).</p> - -<p>IRuntime and IServer are the two main API objects. IRuntime is used -to target projects to a particular server installation and compile/build -against them. When a runtime is targetted to a particular runtime, -all of the applicable IRuntimeTargetHandler extensions are called to -set the classpath or modify other project settings for the runtime.</p> - -<p>IServer is the main server class that clients can use to start/stop -and publish to servers.</p> - -<p>IModules provide the "content" that can be published to servers. -See the server tools API overview for more information.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java deleted file mode 100644 index da4acc55e..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/HttpLaunchable.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; - -import java.net.URL; -/** - * An HTTP launchable object. Encapsulates a launch of a URL for the Run on Server - * support. - * - * @since 1.0 - */ -public class HttpLaunchable { - private URL url; - - /** - * Create a reference to something accessible via HTTP. - * - * @param url the URL to the object - */ - public HttpLaunchable(URL url) { - this.url = url; - } - - /** - * Return the URL to the object. - * - * @return the URL to the object - */ - public URL getURL() { - return url; - } - - /** - * @see Object#toString() - */ - public String toString() { - return "HttpLaunchable[url=" + url.toString() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/IStaticWeb.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/IStaticWeb.java deleted file mode 100644 index 97471a445..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/IStaticWeb.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; -/** - * A static Web module that could be deployed to Apache or another - * HTTP server. - * - * @since 1.0 - */ -public interface IStaticWeb { - /** - * Returns the context root of the Web. - * - * @return java.lang.String - */ - public String getContextRoot(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java deleted file mode 100644 index 88bf49b97..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/NullModuleArtifact.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleArtifact; -/** - * A dummy module artifact. - * - * @since 1.0 - */ -public class NullModuleArtifact implements IModuleArtifact { - private IModule module; - - /** - * Create a new reference to a module. - * - * @param module the module - */ - public NullModuleArtifact(IModule module) { - this.module = module; - } - - /** - * @see IModuleArtifact#getModule() - */ - public IModule getModule() { - return module; - } - - /** - * @see Object#toString() - */ - public String toString() { - return "NullModuleArtifact [module=" + module + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java deleted file mode 100644 index 122e93507..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java +++ /dev/null @@ -1,168 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.util; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.*; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.internal.ModuleFile; -import org.eclipse.wst.server.core.internal.ModuleFolder; -import org.eclipse.wst.server.core.model.*; -/** - * A simple IModuleProject that maps a folder within a project - * (or the root of the project itself) to the module. - * - * @since 1.0 - */ -public abstract class ProjectModule extends ModuleDelegate { - private IProject project; - - /** - * Create a new project module. - */ - public ProjectModule() { - // do nothing - } - - /** - * Create a new project module in the given project. - * - * @param project the project containing the module - */ - public ProjectModule(IProject project) { - this.project = project; - } - - /** - * Returns the project that the module is contained in. - * - * @return the project that the module is contained in - */ - public IProject getProject() { - return project; - } - - /** - * Helper method - returns the module's id. - * - * @return the module id - */ - public String getId() { - return getProject().getName(); - //return getModule().getId(); - } - - /** - * @see ModuleDelegate#validate() - */ - public IStatus validate() { - return null; - } - - /** - * Helper method - returns the module's name. - * - * @return the module name - */ - public String getName() { - return getProject().getName(); - //return getModule().getName(); - } - - /** - * Returns true if this module currently exists, and false if it has - * been deleted or moved and is no longer represented by this module. - * - * @return boolean - */ - public boolean exists() { - return (getProject() != null && getProject().exists()); - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (obj == null || !(obj instanceof ProjectModule)) - return false; - - ProjectModule dp = (ProjectModule) obj; - //if (getFactoryId() != null && !getFactoryId().equals(dp.getFactoryId())) - // return false; - - if (project != null && project.exists() && !project.equals(dp.getProject())) - return false; - - if (getId() != null && !getId().equals(dp.getId())) - return false; - - return true; - } - - /** - * Returns the child modules of this module. - * - * @return org.eclipse.wst.server.core.model.IModule[] - */ - public IModule[] getChildModules() { - return null; - } - - /** - * Basic implementation of members() method. Assumes that the entire project should - * be published to a server. - * - * @see ModuleDelegate#members() - */ - public IModuleResource[] members() throws CoreException { - return getModuleResources(Path.EMPTY, getProject()); - } - - /** - * Return the module resources for a given path. - * - * @param path a path - * @param container a container - * @return an array of module resources - * @throws CoreException - */ - private IModuleResource[] getModuleResources(IPath path, IContainer container) throws CoreException { - List list = new ArrayList(); - - IResource[] resources = container.members(); - if (resources != null) { - int size = resources.length; - for (int i = 0; i < size; i++) { - IResource resource = resources[i]; - if (resource instanceof IContainer) { - IContainer container2 = (IContainer) resource; - if (container2 != null && container2.exists()) { - ModuleFolder mf = new ModuleFolder(container, container2.getName(), path); - mf.setMembers(getModuleResources(path.append(container2.getName()), container2)); - list.add(mf); - } - } else if (resource instanceof IFile) { - IFile file = (IFile) resource; - if (file != null && file.exists()) - list.add(new ModuleFile(file, file.getName(), path, file.getModificationStamp())); - } - } - } - - IModuleResource[] moduleResources = new IModuleResource[list.size()]; - list.toArray(moduleResources); - return moduleResources; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java deleted file mode 100644 index 34d8a259d..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java +++ /dev/null @@ -1,185 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.core.util; - -import java.util.*; - -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.internal.ModuleFactory; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.core.internal.Trace; -import org.eclipse.wst.server.core.model.ModuleFactoryDelegate; -/** - * A helper class for defining a module factory that provides modules - * based on projects. - * - * @since 1.0 - */ -public abstract class ProjectModuleFactoryDelegate extends ModuleFactoryDelegate { - private static List factories = new ArrayList(); - - // list of IModules - private List modules; - - /** - * Construct a new ProjectModuleFactoryDelegate. - */ - public ProjectModuleFactoryDelegate() { - super(); - - factories.add(this); - } - - /** - * Cache any preexisting modules. - */ - private final void cacheModules() { - if (modules != null) - return; - - try { - clearCache(); - IProject[] projects2 = getWorkspaceRoot().getProjects(); - int size = projects2.length; - modules = new ArrayList(size); - for (int i = 0; i < size; i++) { - //Trace.trace("caching: " + this + " " + projects[i] + " " + isValidModule(projects[i])); - if (projects2[i].isAccessible()) { - try { - IModule module = createModule(projects2[i]); - if (module != null) - modules.add(module); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Error creating module", t); - } - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error caching modules", e); - } - } - - /** - * Return the workspace root. - * - * @return the workspace root - */ - private static IWorkspaceRoot getWorkspaceRoot() { - return ResourcesPlugin.getWorkspace().getRoot(); - } - - /** - * Return the modules provided by this factory. - * - * @return a possibly-empty array of modules - */ - public final IModule[] getModules() { - cacheModules(); - - IModule[] modules2 = new IModule[modules.size()]; - modules.toArray(modules2); - return modules2; - } - - /** - * Handle changes to a project. - * - * @param project a project - * @param delta a resource delta - */ - public final static void handleGlobalProjectChange(final IProject project, IResourceDelta delta) { - ModuleFactory[] factories2 = ServerPlugin.getModuleFactories(); - int size = factories2.length; - for (int i = 0; i < size; i++) { - if (factories2[i].delegate != null && factories2[i].delegate instanceof ProjectModuleFactoryDelegate) { - ProjectModuleFactoryDelegate pmfd = (ProjectModuleFactoryDelegate) factories2[i].delegate; - if (pmfd.deltaAffectsModules(delta)) { - pmfd.modules = null; - factories2[i].clearModuleCache(); - } - } - } - } - - /** - * Returns <code>true</code> if the delta may have changed modules, - * and <code>false</code> otherwise. - * - * @param delta a resource delta - * @return <code>true</code> if the delta may have changed modules, - * and <code>false</code> otherwise - */ - private final boolean deltaAffectsModules(IResourceDelta delta) { - class Temp { - boolean b = false; - } - final Temp t = new Temp(); - - final IPath[] listenerPaths = getListenerPaths(); - if (listenerPaths == null || listenerPaths.length == 0) - return false; - final int size = listenerPaths.length; - - try { - delta.accept(new IResourceDeltaVisitor() { - public boolean visit(IResourceDelta delta2) throws CoreException { - if (t.b) - return false; - //Trace.trace(Trace.FINEST, delta2.getResource() + " " + delta2.getKind() + " " + delta2.getFlags()); - boolean ok = false; - IPath path = delta2.getProjectRelativePath(); - for (int i = 0; i < size; i++) { - if (listenerPaths[i].equals(path)) { - t.b = true; - return false; - } else if (path.isPrefixOf(listenerPaths[i])) { - ok = true; - } - } - return ok; - } - }); - } catch (Exception e) { - // ignore - } - //Trace.trace(Trace.FINEST, "Delta contains change: " + t.b); - return t.b; - } - - /** - * Clear and cached metadata. - */ - protected void clearCache() { - // ignore - } - - /** - * Creates the module for a given project. - * - * @param project a project to create modules for - * @return a module, or <code>null</code> if there was no module in the project - */ - protected abstract IModule createModule(IProject project); - - /** - * Returns the list of resources that the module should listen to - * for state changes. The paths should be project relative paths. - * Subclasses can override this method to provide the paths. - * - * @return a possibly empty array of paths - */ - protected IPath[] getListenerPaths() { - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java deleted file mode 100644 index 276467bc6..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishAdapter.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.wst.server.core.IPublishListener; -import org.eclipse.wst.server.core.IServer; -/** - * Helper class which implements the IPublishListener interface - * with empty methods. - * - * @see org.eclipse.wst.server.core.IPublishListener - * @since 1.0 - */ -public class PublishAdapter implements IPublishListener { - /** - * @see IPublishListener#publishStarted(IServer) - */ - public void publishStarted(IServer server) { - // do nothing - } - - /** - * @see IPublishListener#publishFinished(IServer, IStatus) - */ - public void publishFinished(IServer server, IStatus status) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/RuntimeLifecycleAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/RuntimeLifecycleAdapter.java deleted file mode 100644 index 9c6cf8ae7..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/RuntimeLifecycleAdapter.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; - -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeLifecycleListener; -/** - * Helper class which implements the IRuntimeLifecycleListener interface - * with empty methods. - * - * @see org.eclipse.wst.server.core.IRuntimeLifecycleListener - * @since 1.0 - */ -public class RuntimeLifecycleAdapter implements IRuntimeLifecycleListener { - /** - * @see IRuntimeLifecycleListener#runtimeAdded(IRuntime) - */ - public void runtimeAdded(IRuntime runtime) { - // do nothing - } - - /** - * @see IRuntimeLifecycleListener#runtimeChanged(IRuntime) - */ - public void runtimeChanged(IRuntime runtime) { - // do nothing - } - - /** - * @see IRuntimeLifecycleListener#runtimeRemoved(IRuntime) - */ - public void runtimeRemoved(IRuntime runtime) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerLifecycleAdapter.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerLifecycleAdapter.java deleted file mode 100644 index d55279da1..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ServerLifecycleAdapter.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerLifecycleListener; -/** - * Helper class which implements the IServerLifecycleListener interface - * with empty methods. - * - * @see org.eclipse.wst.server.core.IServerLifecycleListener - * @since 1.0 - */ -public class ServerLifecycleAdapter implements IServerLifecycleListener { - /** - * @see IServerLifecycleListener#serverAdded(IServer) - */ - public void serverAdded(IServer server) { - // do nothing - } - - /** - * @see IServerLifecycleListener#serverChanged(IServer) - */ - public void serverChanged(IServer server) { - // do nothing - } - - /** - * @see IServerLifecycleListener#serverRemoved(IServer) - */ - public void serverRemoved(IServer server) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java deleted file mode 100644 index 1c09a4c4c..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java +++ /dev/null @@ -1,179 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; - -import java.io.IOException; -import java.lang.reflect.Method; -import java.net.InetAddress; -import java.net.ServerSocket; -import java.net.SocketException; -import java.util.Random; - -import org.eclipse.wst.server.core.internal.Trace; -/** - * A utility class for socket-related function. It's main purposes are to find - * unused ports, check whether a port is in use, and check whether a given - * address is a local(host) address. - * - * @since 1.0 - */ -public class SocketUtil { - private static final Random rand = new Random(System.currentTimeMillis()); - - private static String dnsHostname; - - private static final String DNSNAMESERVICE_CLASS = "sun.net.spi.nameservice.dns.DNSNameService"; - - /** - * Static utility class - cannot create an instance. - */ - private SocketUtil() { - // cannot create - } - - /** - * Finds an unused port between the given from and to values. - * - * @param low lowest possible port number - * @param high highest possible port number - * @return an usused port number, or <code>-1</code> if no used ports could be found - */ - public static int findUnusedPort(int low, int high) { - if (high < low) - return -1; - - for (int i = 0; i < 10; i++) { - int port = getRandomPort(low, high); - if (!isPortInUse(port)) - return port; - } - return -1; - } - - /** - * Return a random port number in the given range. - * - * @param low lowest possible port number - * @param high highest possible port number - * @return a random port number in the given range - */ - private static int getRandomPort(int low, int high) { - return rand.nextInt(high - low) + low; - } - - /** - * Checks to see if the given port number is being used. - * Returns <code>true</code> if the given port is in use, and <code>false</code> - * otherwise. Retries every 500ms for "count" tries. - * - * @param port the port number to check - * @param count the number of times to retry - * @return boolean <code>true</code> if the port is in use, and - * <code>false</code> otherwise - */ - public static boolean isPortInUse(int port, int count) { - boolean inUse = isPortInUse(port); - while (inUse && count > 0) { - try { - Thread.sleep(500); - } catch (Exception e) { - // ignore - } - inUse = isPortInUse(port); - count --; - } - - return inUse; - } - - /** - * Checks to see if the given port number is being used. - * Returns <code>true</code> if the given port is in use, and <code>false</code> - * otherwise. - * - * @param port the port number to check - * @return boolean <code>true</code> if the port is in use, and - * <code>false</code> otherwise - */ - public static boolean isPortInUse(int port) { - ServerSocket s = null; - try { - s = new ServerSocket(port); - } catch (SocketException e) { - return true; - } catch (IOException e) { - return true; - } catch (Exception e) { - return true; - } finally { - if (s != null) { - try { - s.close(); - } catch (Exception e) { - // ignore - } - } - } - - return false; - } - - /** - * Checks if the given host (name or IP address) is pointing to the local - * machine. - * Although this method is not foolproof (especially if the network - * configuration of the current machine is incorrect or failing), it will - * correctly identify just about all loopback adapters and the local hostname - * or IP address. - * <p> - * This method will not attempt to make an external network connection, so - * it returns quickly and is safe to use in UI interfaces. - * </p> - * - * @param host a hostname or IP address - * @return <code>true</code> if the given host is localhost, and - * <code>false</code> otherwise - */ - public static boolean isLocalhost(String host) { - if (host == null) - return false; - try { - if ("localhost".equals(host) || "127.0.0.1".equals(host)) - return true; - - InetAddress localHostaddr = InetAddress.getLocalHost(); - if (localHostaddr.getHostName().equals(host) || host.equals(localHostaddr.getCanonicalHostName())) - return true; - - if (localHostaddr.getHostAddress().equals(host)) - return true; - - if (dnsHostname == null) - try { - // workaround to break dependency with Sun's classes - Class cl = Class.forName(DNSNAMESERVICE_CLASS); - Method getHostByAddrMeth = cl.getMethod("getHostByAddr", new Class[] {byte[].class}); - Object dns = cl.newInstance(); - - dnsHostname = (String)getHostByAddrMeth.invoke(dns, - new Object[] { localHostaddr.getAddress() }); - } catch (Throwable t) { - dnsHostname = "*****************"; - } - - if (dnsHostname != null && dnsHostname.equals(host)) - return true; - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error checking for localhost", e); - } - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/WebResource.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/WebResource.java deleted file mode 100644 index 4863f750b..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/WebResource.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.core.util; - -import org.eclipse.core.runtime.IPath; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleArtifact; -/** - * A Web module resource. - * - * @since 1.0 - */ -public class WebResource implements IModuleArtifact { - private IModule module; - private IPath path; - - /** - * Create a new reference to a Web resource (HTML, GIF, etc. on a server). - * - * @param module a module - * @param path a relative path within the module - */ - public WebResource(IModule module, IPath path) { - this.module = module; - this.path = path; - } - - /** - * @see IModuleArtifact#getModule() - */ - public IModule getModule() { - return module; - } - - /** - * Return the relative path to the artifact within the module. - * - * @return the relative path - */ - public IPath getPath() { - return path; - } - - /** - * @see Object#toString() - */ - public String toString() { - return "WebResource [module=" + module + ", path=" + path + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.html b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.html deleted file mode 100644 index 41d3ed62f..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.html +++ /dev/null @@ -1,45 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>Utility classes for the server tools framework.</p> -<table width="500"> -<tr> -<td> -<p>PingThread is a utility class for pinging a server to determine if -it is running and updating the server's state.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>SocketUtil contains utility methods for determining if ports are -free and whether a given hostname is a local hostname.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>The four XXXAdapter classes are implementations of server tools -listener interfaces with the method bodies stubbed in; they can be -subclassed by clients who only want to implement a single listener -interface method.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>ServerPort, Task, and TaskModel are standard implementations of -other interface classes.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.xml b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.xml deleted file mode 100644 index ffb244455..000000000 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/package.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - -<abstract>Utility classes for the server tools framework.</abstract> - -<p>PingThread is a utility class for pinging a server to determine if -it is running and updating the server's state.</p> - -<p>SocketUtil contains utility methods for determining if ports are -free and whether a given hostname is a local hostname.</p> - -<p>The four XXXAdapter classes are implementations of server tools -listener interfaces with the method bodies stubbed in; they can be -subclassed by clients who only want to implement a single listener -interface method.</p> - -<p>ServerPort, Task, and TaskModel are standard implementations of -other interface classes.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/.classpath b/plugins/org.eclipse.wst.server.ui/.classpath deleted file mode 100644 index e058d4527..000000000 --- a/plugins/org.eclipse.wst.server.ui/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="serverui/"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/plugins/org.eclipse.wst.server.ui/.cvsignore b/plugins/org.eclipse.wst.server.ui/.cvsignore deleted file mode 100644 index e1e4e9e81..000000000 --- a/plugins/org.eclipse.wst.server.ui/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -bin -serverui.jar -build.xml -temp.folder -org.eclipse.wst.server.ui_3.0.0.jar -@dot -src.zip diff --git a/plugins/org.eclipse.wst.server.ui/.options b/plugins/org.eclipse.wst.server.ui/.options deleted file mode 100644 index b6047e11d..000000000 --- a/plugins/org.eclipse.wst.server.ui/.options +++ /dev/null @@ -1,7 +0,0 @@ -# Debugging options for the org.eclipse.wst.server.ui plugin - -# Turn on general debugging -org.eclipse.wst.server.ui/debug=true - -# Prints out values -org.eclipse.wst.server.ui/editor=false diff --git a/plugins/org.eclipse.wst.server.ui/.project b/plugins/org.eclipse.wst.server.ui/.project deleted file mode 100644 index eeeba70af..000000000 --- a/plugins/org.eclipse.wst.server.ui/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.wst.server.ui</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF deleted file mode 100644 index de4997ce3..000000000 --- a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,34 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.wst.server.ui; singleton:=true -Bundle-Version: 1.0.0 -Bundle-Activator: org.eclipse.wst.server.ui.internal.ServerUIPlugin -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.wst.server.ui, - org.eclipse.wst.server.ui.editor, - org.eclipse.wst.server.ui.internal;x-internal:=true, - org.eclipse.wst.server.ui.internal.actions;x-internal:=true, - org.eclipse.wst.server.ui.internal.command;x-internal:=true, - org.eclipse.wst.server.ui.internal.editor;x-internal:=true, - org.eclipse.wst.server.ui.internal.provisional;x-internal:=true, - org.eclipse.wst.server.ui.internal.view.servers;x-internal:=true, - org.eclipse.wst.server.ui.internal.viewers;x-internal:=true, - org.eclipse.wst.server.ui.internal.wizard;x-internal:=true, - org.eclipse.wst.server.ui.internal.wizard.fragment;x-internal:=true, - org.eclipse.wst.server.ui.internal.wizard.page;x-internal:=true, - org.eclipse.wst.server.ui.wizard -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.core.resources, - org.eclipse.core.expressions, - org.eclipse.ui, - org.eclipse.ui.ide, - org.eclipse.ui.forms, - org.eclipse.ui.workbench.texteditor, - org.eclipse.ui.browser, - org.eclipse.debug.core, - org.eclipse.debug.ui, - org.eclipse.wst.server.core, - org.eclipse.wst.internet.monitor.core -Eclipse-AutoStart: true diff --git a/plugins/org.eclipse.wst.server.ui/about.html b/plugins/org.eclipse.wst.server.ui/about.html deleted file mode 100644 index 6f6b96c4c..000000000 --- a/plugins/org.eclipse.wst.server.ui/about.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>February 24, 2005</p> -<h3>License</h3> - -<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. -For purposes of the EPL, "Program" will mean the Content.</p> - -<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/build.properties b/plugins/org.eclipse.wst.server.ui/build.properties deleted file mode 100644 index b08a26ce7..000000000 --- a/plugins/org.eclipse.wst.server.ui/build.properties +++ /dev/null @@ -1,22 +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 Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = plugin.xml,\ - plugin.properties,\ - .,\ - icons/,\ - .options,\ - META-INF/,\ - about.html -bin.excludes = bin/**,\ - @dot/**,\ - temp.folder/** -src.includes = schema/ -source.. = serverui/ diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif Binary files differdeleted file mode 100644 index 5714d7a8c..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_debug.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif Binary files differdeleted file mode 100644 index 6e0d38347..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_disconnect.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif Binary files differdeleted file mode 100644 index 89c33404b..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_profile.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif Binary files differdeleted file mode 100644 index 87827af37..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_publish.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif Binary files differdeleted file mode 100644 index bc0ac6ef4..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_restart.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif Binary files differdeleted file mode 100644 index 57f410224..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_run.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif Binary files differdeleted file mode 100644 index fbf1686e4..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/clcl16/launch_stop.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif Binary files differdeleted file mode 100644 index d4650bb94..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/debug_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif Binary files differdeleted file mode 100644 index aca952208..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/profile_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif Binary files differdeleted file mode 100644 index 5ed7d9880..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/run_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif Binary files differdeleted file mode 100644 index a4f6b31aa..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_import_configuration.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif Binary files differdeleted file mode 100644 index d50701245..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_modify_modules.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif Binary files differdeleted file mode 100644 index 55bacb216..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif Binary files differdeleted file mode 100644 index 1cfd11a1d..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ctool16/wiz_new_server_project.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif b/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif Binary files differdeleted file mode 100644 index 88b648c8b..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/cview16/server_perspective.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif b/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif Binary files differdeleted file mode 100644 index fbabfbb8c..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif Binary files differdeleted file mode 100644 index 02f9c3a18..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_debug.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif Binary files differdeleted file mode 100644 index 095609546..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_disconnect.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif Binary files differdeleted file mode 100644 index 8309b0dfb..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_profile.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif Binary files differdeleted file mode 100644 index 78ba7cb3c..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_publish.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif Binary files differdeleted file mode 100644 index 49d908e11..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_restart.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif Binary files differdeleted file mode 100644 index 9362e6739..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_run.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif Binary files differdeleted file mode 100644 index 13c5faf17..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dlcl16/launch_stop.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif Binary files differdeleted file mode 100644 index 3b4cf270d..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/debug_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif Binary files differdeleted file mode 100644 index d14c89dea..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/profile_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif Binary files differdeleted file mode 100644 index b422a8664..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/run_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif Binary files differdeleted file mode 100644 index 45f57b312..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_import_configuration.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif Binary files differdeleted file mode 100644 index 314fed193..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_modify_modules.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif Binary files differdeleted file mode 100644 index 116fcb054..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif Binary files differdeleted file mode 100644 index fc52314c3..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/dtool16/wiz_new_server_project.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif Binary files differdeleted file mode 100644 index 5714d7a8c..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_debug.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif Binary files differdeleted file mode 100644 index 6e0d38347..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_disconnect.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif Binary files differdeleted file mode 100644 index 89c33404b..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_profile.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif Binary files differdeleted file mode 100644 index 87827af37..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_publish.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif Binary files differdeleted file mode 100644 index bc0ac6ef4..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_restart.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif Binary files differdeleted file mode 100644 index 57f410224..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_run.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif b/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif Binary files differdeleted file mode 100644 index fbf1686e4..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/elcl16/launch_stop.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif Binary files differdeleted file mode 100644 index d4650bb94..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/etool16/debug_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif Binary files differdeleted file mode 100644 index aca952208..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/etool16/profile_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif Binary files differdeleted file mode 100644 index 5ed7d9880..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/etool16/run_on_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif Binary files differdeleted file mode 100644 index a4f6b31aa..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_import_configuration.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif Binary files differdeleted file mode 100644 index d50701245..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_modify_modules.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif Binary files differdeleted file mode 100644 index 55bacb216..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif b/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif Binary files differdeleted file mode 100644 index 1cfd11a1d..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/etool16/wiz_new_server_project.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif b/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif Binary files differdeleted file mode 100644 index 88b648c8b..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/eview16/server_perspective.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif b/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif Binary files differdeleted file mode 100644 index fbabfbb8c..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/eview16/servers_view.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_category.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_category.gif Binary files differdeleted file mode 100644 index 74a5388f5..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_category.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_sound.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_sound.gif Binary files differdeleted file mode 100644 index 5ed8553df..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/audio_sound.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif Binary files differdeleted file mode 100644 index f0ef4c93f..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_missing.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif Binary files differdeleted file mode 100644 index cbd275670..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/configuration_none.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/internal_browser.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/internal_browser.gif Binary files differdeleted file mode 100644 index 09f609d6c..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/internal_browser.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif Binary files differdeleted file mode 100644 index 42e5f318a..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOff.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif Binary files differdeleted file mode 100644 index 2ff3974ef..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/monitorOn.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif Binary files differdeleted file mode 100644 index 0cb4c163c..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/project_missing.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif Binary files differdeleted file mode 100644 index 519b84648..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_disabled.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif Binary files differdeleted file mode 100644 index bb900edbf..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/publish_enabled.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif Binary files differdeleted file mode 100644 index e5690ecb1..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/repair_config.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif Binary files differdeleted file mode 100644 index b51ae39b8..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif Binary files differdeleted file mode 100644 index d370054b6..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif Binary files differdeleted file mode 100644 index f1e177867..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_debug.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif Binary files differdeleted file mode 100644 index 47e2584df..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_started_profile.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif Binary files differdeleted file mode 100644 index 66263aa52..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting1.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif Binary files differdeleted file mode 100644 index 703bbfe97..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting2.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif Binary files differdeleted file mode 100644 index 5151e545d..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_starting3.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif Binary files differdeleted file mode 100644 index d6c3b6513..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopped.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif Binary files differdeleted file mode 100644 index 306c57d55..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping1.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif Binary files differdeleted file mode 100644 index d6c3b6513..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping2.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif b/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif Binary files differdeleted file mode 100644 index 306c57d55..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/obj16/server_stopping3.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif Binary files differdeleted file mode 100644 index dbfcbc017..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/default_server_ovr.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif b/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif Binary files differdeleted file mode 100644 index aa8d52ef9..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/ovr16/server_ovr.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.gif Binary files differdeleted file mode 100644 index f46e4e068..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/wizban/import_configuration_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.gif Binary files differdeleted file mode 100644 index 30de91f23..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/wizban/new_server_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/pub_resource_server_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/pub_resource_server_wiz.gif Binary files differdeleted file mode 100644 index c74d61a63..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/wizban/pub_resource_server_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.gif Binary files differdeleted file mode 100644 index 5b13db220..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_client_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.gif b/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.gif Binary files differdeleted file mode 100644 index 3a9dadbf2..000000000 --- a/plugins/org.eclipse.wst.server.ui/icons/wizban/select_server_wiz.gif +++ /dev/null diff --git a/plugins/org.eclipse.wst.server.ui/plugin.properties b/plugins/org.eclipse.wst.server.ui/plugin.properties deleted file mode 100644 index ec096e53b..000000000 --- a/plugins/org.eclipse.wst.server.ui/plugin.properties +++ /dev/null @@ -1,85 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -pluginName=Server UI -providerName=Eclipse.org - -extensionPointEditorPages=Editor Pages -extensionPointEditorPageSections=Editor Page Sections -extensionPointEditorActions=Editor Actions -extensionPointServerImages=Server Images -extensionPointWizardFragments=Wizard Fragments -extensionPointInitialSelectionProvider=Initial Selection Provider -extensionPointAudio=Audio - -# --------------- Wizards and Views --------------- - -category=Server -newServer=Server -newServerDescription=Define a new server - -viewServers=Servers - -# --------------- Action Sets (toolbar icon groups) --------------- - -# Servers action set -actionSetTitle=Server -actionSetNewServer=Create Server - -# Run on Server actions -actionRunOnServer=Run on Server -actionDebugOnServer=Debug on Server -actionProfileOnServer=Profile on Server - -# --------------- Preferences --------------- - -preferenceServersTitle=Server -preferenceRuntimesTitle=Installed Runtimes -preferenceServerKeywords=servers runtime environment build installed publishing deploy assembly - -# Project properties preferences -propertiesServer=Server - -# --------------- Editor --------------- - -serverEditor=Server Editor -serverEditorOverviewPage=Overview - -# --------------- Audio --------------- - -extensionPointAudio=Audio - -audioPreferenceTitle=Audio -preferenceAudioKeywords=sound volume - -launchableWebBrowser=Web browser -launchableWebBrowserDescription=Open the Resource in a Web Browser - -audioCategoryServer=Server -audioServerStarted=Server Started -audioServerStopped=Server Stopped - -audioCategoryPublish=Publishing -audioPublishFinished=Publish Finished - -monitorLabel=TCP/IP monitor -monitorDescription=Uses the internal TCP/IP monitor to monitor server requests. - -# --------------- Action Sets (toolbar icon groups) --------------- - -# Web Browser action set -actionSetWebBrowserTitle=Web Browser -actionSetOpenWebBrowser=Open Web Browser -actionSetSwitchBrowser=Web Browser - -# --------------- Preferences --------------- - -# Name of the preference pages -preferenceInternetTitle=Internet diff --git a/plugins/org.eclipse.wst.server.ui/plugin.xml b/plugins/org.eclipse.wst.server.ui/plugin.xml deleted file mode 100644 index d56510143..000000000 --- a/plugins/org.eclipse.wst.server.ui/plugin.xml +++ /dev/null @@ -1,336 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - <extension-point id="editorPages" name="%extensionPointEditorPages" schema="schema/editorPages.exsd"/> - <extension-point id="editorPageSections" name="%extensionPointEditorPageSections" schema="schema/editorPageSections.exsd"/> - <extension-point id="editorActions" name="%extensionPointEditorActions" schema="schema/editorActions.exsd"/> - <extension-point id="serverImages" name="%extensionPointServerImages" schema="schema/serverImages.exsd"/> - <extension-point id="wizardFragments" name="%extensionPointWizardFragments" schema="schema/wizardFragments.exsd"/> - <extension-point id="initialSelectionProvider" name="%extensionPointInitialSelectionProvider" schema="schema/initialSelectionProvider.exsd"/> - <extension-point id="audio" name="%extensionPointAudio" schema="schema/audio.exsd"/> - -<extension point="org.eclipse.ui.newWizards"> - <category - id="org.eclipse.wst.server.ui" - name="%category"/> - - <wizard - id="org.eclipse.wst.server.ui.new.server" - name="%newServer" - class="org.eclipse.wst.server.ui.internal.wizard.NewServerWizard" - category="org.eclipse.wst.server.ui" - icon="icons/ctool16/wiz_new_server.gif"> - <description>%newServerDescription</description> - </wizard> -</extension> - -<extension point="org.eclipse.ui.views"> - <category - id="org.eclipse.wst.server.ui" - name="%category"/> - - <view - id="org.eclipse.wst.server.ui.ServersView" - name="%viewServers" - category="org.eclipse.wst.server.ui" - class="org.eclipse.wst.server.ui.internal.view.servers.ServersView" - icon="icons/cview16/servers_view.gif"/> -</extension> - -<extension point="org.eclipse.ui.perspectiveExtensions"> - <perspectiveExtension - targetID="org.eclipse.debug.ui.DebugPerspective"> - <view - relative="org.eclipse.debug.ui.DebugView" - relationship="stack" - id="org.eclipse.wst.server.ui.ServersView"> - </view> - </perspectiveExtension> -</extension> - -<extension point="org.eclipse.ui.preferencePages"> - <page - id="org.eclipse.wst.server.ui.preferencePage" - name="%preferenceServersTitle" - class="org.eclipse.wst.server.ui.internal.ServerPreferencePage"> - <keywordReference id="org.eclipse.wst.server.preferenceKeywords"/> - </page> - <page - id="org.eclipse.wst.server.ui.runtime.preferencePage" - name="%preferenceRuntimesTitle" - category="org.eclipse.wst.server.ui.preferencePage" - class="org.eclipse.wst.server.ui.internal.RuntimePreferencePage"> - <keywordReference id="org.eclipse.wst.server.preferenceKeywords"/> - </page> - <page - id="org.eclipse.wst.audio.preferencePage" - category="org.eclipse.wst.server.ui.preferencePage" - name="%audioPreferenceTitle" - class="org.eclipse.wst.server.ui.internal.audio.AudioPreferencePage"> - <keywordReference id="org.eclipse.wst.server.audio.preferenceKeywords"/> - </page> - <page - id="org.eclipse.internet" - name="%preferenceInternetTitle" - class="org.eclipse.wst.server.ui.internal.webbrowser.InternetPreferencePage"/> -</extension> - -<extension point="org.eclipse.ui.keywords"> - <keyword - label="%preferenceServerKeywords" - id="org.eclipse.wst.server.preferenceKeywords"/> - <keyword - label="%preferenceAudioKeywords" - id="org.eclipse.wst.server.audio.preferenceKeywords"/> -</extension> - -<extension point="org.eclipse.ui.editors"> - <editor id="org.eclipse.wst.server.ui.editor" - name="%serverEditor" - icon="icons/obj16/server.gif" - extensions="server" - default="true" - class="org.eclipse.wst.server.ui.internal.editor.ServerEditor" - contributorClass="org.eclipse.wst.server.ui.internal.editor.ServerEditorActionBarContributor"/> -</extension> - -<extension point="org.eclipse.ui.elementFactories"> - <factory id="org.eclipse.wst.server.ui.editor.input.factory" - class="org.eclipse.wst.server.ui.internal.editor.ServerEditorInputFactory"/> -</extension> - -<extension point="org.eclipse.ui.propertyPages"> - <page - id="org.eclipse.wst.server.ui.project.properties" - name="%propertiesServer" - objectClass="org.eclipse.core.resources.IProject" - adaptable="true" - class="org.eclipse.wst.server.ui.internal.ProjectPropertyPage"/> -</extension> - -<extension point="org.eclipse.ui.actionSets"> - <actionSet - id="org.eclipse.wst.server.ui.new.actionSet" - label="%actionSetTitle" - visible="false"> - <action - id="org.eclipse.wst.server.ui.action.new.server" - toolbarPath="servers" - label="%actionSetNewServer" - tooltip="%actionSetNewServer" - icon="icons/ctool16/wiz_new_server.gif" - class="org.eclipse.wst.server.ui.internal.actions.NewServerAction"/> - </actionSet> -</extension> - -<extension point="org.eclipse.debug.ui.launchShortcuts"> - <shortcut id="org.eclipse.wst.server.launchShortcut" - label="%actionRunOnServer" - class="org.eclipse.wst.server.ui.internal.ServerLaunchShortcut" - modes="run, debug, profile" - path="aa" - icon="icons/etool16/run_on_server.gif"> - <contextualLaunch> - <enablement> - <with variable="selection"> - <count value="1"/> - <iterate> - <test property="org.eclipse.wst.server.ui.isRunnable" value="true"/> - </iterate> - </with> - </enablement> - - <contextLabel - mode="run" - label="%actionRunOnServer"/> - <contextLabel - mode="debug" - label="%actionDebugOnServer"/> - <contextLabel - mode="profile" - label="%actionProfileOnServer"/> - </contextualLaunch> - <perspective id="org.eclipse.wst.server.ui.perspective"/> - <perspective id="org.eclipse.jdt.ui.JavaPerspective"/> - <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/> - <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/> - <perspective id="org.eclipse.debug.ui.DebugPerspective"/> - <perspective id="com.ibm.etools.j2ee.J2EEPerspective"/> - <perspective id="org.eclipse.ui.resourcePerspective"/> - </shortcut> -</extension> - -<extension point="org.eclipse.core.expressions.propertyTesters"> - <propertyTester - id="org.eclipse.wst.server.ui.propertyTester" - namespace="org.eclipse.wst.server.ui" - properties="isRunnable" - type="java.lang.Object" - class="org.eclipse.wst.server.ui.internal.ServerPropertyTester"> - </propertyTester> - <propertyTester - id="org.eclipse.wst.server.ui.propertyTester" - namespace="org.eclipse.wst.server.ui" - properties="serverType" - type="org.eclipse.wst.server.core.IServer" - class="org.eclipse.wst.server.ui.internal.ServerPropertyTester"> - </propertyTester> -</extension> - - <extension point="org.eclipse.wst.server.ui.editorPages"> - <page - id="org.eclipse.wst.server.editor.overview" - order="-10000" - name="%serverEditorOverviewPage" - typeIds="*" - insertionIds="org.eclipse.wst.server.editor.overview.left, org.eclipse.wst.server.editor.overview.right" - class="org.eclipse.wst.server.ui.internal.editor.OverviewEditorPart"/> - </extension> - - <extension point="org.eclipse.core.runtime.adapters"> - <factory - class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory" - adaptableType="org.eclipse.wst.server.core.IServer"> - <adapter type="org.eclipse.ui.IActionFilter"/> - </factory> - </extension> - -<extension point="org.eclipse.wst.server.core.clients"> - <client - id="org.eclipse.wst.server.ui.web" - name="%launchableWebBrowser" - description="%launchableWebBrowserDescription" - launchable="org.eclipse.wst.server.core.util.HttpLaunchable" - class="org.eclipse.wst.server.ui.internal.WebLaunchableClient"/> -</extension> - -<extension point="org.eclipse.ui.perspectiveExtensions"> - <perspectiveExtension - targetID="org.eclipse.wst.server.ui.perspective"> - <actionSet id="org.eclipse.wst.webbrowser.actionSet"/> - </perspectiveExtension> -</extension> - -<extension point="org.eclipse.wst.server.core.internalStartup"> - <startup - id="org.eclipse.wst.server.ui.startup" - class="org.eclipse.wst.server.ui.internal.Startup"/> -</extension> - -<extension point="org.eclipse.wst.server.ui.audio"> - <category id="org.eclipse.wst.server.sound.server" - name="%audioCategoryServer"/> - <sound id="org.eclipse.wst.server.sound.serverStart" - category="org.eclipse.wst.server.sound.server" - name="%audioServerStarted"/> - <sound id="org.eclipse.wst.server.sound.serverStop" - category="org.eclipse.wst.server.sound.server" - name="%audioServerStopped"/> - <category id="org.eclipse.wst.server.sound.publish" - name="%audioCategoryPublish"/> - <sound id="org.eclipse.wst.server.sound.publishFinished" - category="org.eclipse.wst.server.sound.publish" - name="%audioPublishFinished"/> -</extension> - -<extension point="org.eclipse.wst.server.core.internalServerMonitors"> - <monitor - id="org.eclipse.wst.server.ui.monitor" - name="%monitorLabel" - description="%monitorDescription" - class="org.eclipse.wst.server.ui.internal.DefaultMonitorDelegate"/> -</extension> - -<extension point="org.eclipse.ui.actionSets"> - <actionSet - id="org.eclipse.wst.server.ui.internal.webbrowser.actionSet" - label="%actionSetWebBrowserTitle" - visible="true"> - <action - id="org.eclipse.wst.server.ui.internal.webbrowser.action.open" - toolbarPath="browser" - label="%actionSetOpenWebBrowser" - tooltip="%actionSetOpenWebBrowser" - icon="icons/obj16/internal_browser.gif" - class="org.eclipse.wst.server.ui.internal.webbrowser.OpenBrowserWorkbenchAction"/> - <action - id="org.eclipse.wst.server.ui.internal.webbrowser.action.switch" - menubarPath="window/browser" - label="%actionSetSwitchBrowser" - tooltip="%actionSetSwitchBrowser" - style="pulldown" - class="org.eclipse.wst.server.ui.internal.webbrowser.SwitchBrowserWorkbenchAction"/> - </actionSet> -</extension> - -<!-- -<extension point="org.eclipse.debug.ui.launchGroups"> - <launchGroup - label="%ExternalToolsLaunchGroup.label" - bannerImage="icons/full/wizban/ext_tools_wiz.gif" - category="org.eclipse.ui.externaltools" - image="icons/full/obj16/external_tools.gif" - mode="run" - id="org.eclipse.ui.externaltools.launchGroup" - title="%ExternalToolsLaunchGroup.title"> - </launchGroup> - <launchGroup - label="%ExternalToolsLaunchGroup.label" - bannerImage="icons/full/wizban/ext_tools_wiz.gif" - category="org.eclipse.ui.externaltools.builder" - image="icons/full/obj16/external_tools.gif" - public="false" - mode="run" - id="org.eclipse.ui.externaltools.launchGroup.builder"> - </launchGroup> -</extension> ---> - -<!-- commands and their bindings -NOTE: -M1 = CTRL/COMMAND -M2 = SHIFT -M3 = ALT -M4 = Platform-specific fourth key ---> -<extension point="org.eclipse.ui.commands"> - <command - name="%actionDebugOnServer" - description="%actionDebugOnServer" - categoryId="org.eclipse.debug.ui.category.run" - id="org.eclipse.wst.server.launchShortcut.debug"> - </command> - <command - name="%actionRunOnServer" - description="%actionRunOnServer" - categoryId="org.eclipse.debug.ui.category.run" - id="org.eclipse.wst.server.launchShortcut.run"> - </command> - <command - name="%actionProfileOnServer" - description="%actionProfileOnServer" - categoryId="org.eclipse.debug.ui.category.run" - id="org.eclipse.wst.server.launchShortcut.profile"> - </command> -</extension> - -<extension point="org.eclipse.ui.bindings"> - <key - sequence="M3+M2+D R" - contextId="org.eclipse.ui.globalScope" - commandId="org.eclipse.wst.server.launchShortcut.debug" - schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/> - <key - sequence="M3+M2+X R" - contextId="org.eclipse.ui.globalScope" - commandId="org.eclipse.wst.server.launchShortcut.run" - schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/> - <key - sequence="M3+M2+P R" - contextId="org.eclipse.ui.globalScope" - commandId="org.eclipse.wst.server.launchShortcut.profile" - schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/> -</extension> - -</plugin>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/schema/audio.exsd b/plugins/org.eclipse.wst.server.ui/schema/audio.exsd deleted file mode 100644 index 1d3376bc0..000000000 --- a/plugins/org.eclipse.wst.server.ui/schema/audio.exsd +++ /dev/null @@ -1,153 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.wst.server.ui"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.wst.server.ui" id="audio" name="Audio"/> - </appInfo> - <documentation> - This extension point provides a way to sort runtime types, runtimes, server types, and servers. The first extension found is always used and it is expected that only one comparator exists in an installation. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <choice> - <element ref="category" minOccurs="0" maxOccurs="unbounded"/> - <element ref="sound" minOccurs="0" maxOccurs="unbounded"/> - </choice> - <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="category"> - <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="name" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <element name="sound"> - <complexType> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="category" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - <b>This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.</b> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of a sorter extension point: - -<pre> - <extension - point="org.eclipse.wst.server.ui.sorter"> - <image - id="com.example" - class="com.example.runtime.MyComparator"/> - </extension> -</pre> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2000, 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd deleted file mode 100644 index ec5143d87..000000000 --- a/plugins/org.eclipse.wst.server.ui/schema/editorActions.exsd +++ /dev/null @@ -1,153 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.ui" id="editorActions" name="Editor Actions"/>
- </appInfo>
- <documentation>
- This extension point provides a way to add actions to the toolbar of an existing server editor.
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="editorAction" 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="editorAction">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="enablement"/>
- </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>org.eclipse.wst.server.ui.internal.provisional.ServerEditorActionFactoryDelegate</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.internal.provisional.ServerEditorActionFactoryDelegate"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="order" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- <b>This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.</b>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- <!--
-The following is an example of an editor action extension point:
-
-<pre>
-
-</pre>
--->
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd deleted file mode 100644 index f98b295d6..000000000 --- a/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd +++ /dev/null @@ -1,156 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.ui" id="editorPageSections" name="Editor Page Sections"/>
- </appInfo>
- <documentation>
- This extension point provides a way to add additional sections into an existing server editor page that contains insertion points.
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <choice>
- <element ref="section"/>
- </choice>
- <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="section">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="enablement"/>
- </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>org.eclipse.wst.server.ui.editor.IServerEditorSection</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.editor.IServerEditorSection"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="order" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="insertionId" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of an editor page section extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.ui.editorPageSections">
- <section
- id="com.example"
- order="0"
- insertionId="com.example.left"
- typeIds="com.example.*"
- class="com.example.ExampleEditorSectionFactory"/>
- </extension>
-</pre>
- </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 <code>org.eclipse.wst.server.ui.editor.ServerEditorPageSectionFactoryDelegate</code>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd deleted file mode 100644 index 961642c9c..000000000 --- a/plugins/org.eclipse.wst.server.ui/schema/editorPages.exsd +++ /dev/null @@ -1,166 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.ui" id="editorPages" name="Editor Pages"/>
- </appInfo>
- <documentation>
- This extension point provides a way to add an additional page to a server or server configuration editor.
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <choice>
- <element ref="page"/>
- </choice>
- <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="page">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="enablement"/>
- </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>org.eclipse.ui.IEditorPart</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorPart"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="order" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="insertionIds" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of an editor page extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.ui.editorPages">
- <page
- id="com.example"
- order="20"
- name="%editorPage"
- typeIds="com.example.*"
- class="com.example.ExampleEditorFactory"/>
- </extension>
-</pre>
- </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 <code>org.eclipse.wst.server.ui.editor.ServerEditorPartFactoryDelegate</code>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.ui/schema/initialSelectionProvider.exsd b/plugins/org.eclipse.wst.server.ui/schema/initialSelectionProvider.exsd deleted file mode 100644 index 0494e1d82..000000000 --- a/plugins/org.eclipse.wst.server.ui/schema/initialSelectionProvider.exsd +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.wst.server.ui"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.wst.server.ui" id="initialSelectionProvider" name="Initial Selection Provider"/> - </appInfo> - <documentation> - This extension point provides a way to initially select runtime types, runtimes, server types, and servers in the server wizards. The first extension found is always used and it is expected that only one initialSelectionProvider exists in an installation. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence> - <element ref="selectionProvider"/> - </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="selectionProvider"> - <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 extends <samp>org.eclipse.wst.server.ui.internal.viewers.InitialSelectionProvider</samp>. The class must have a public 0-arg constructor. - </documentation> - <appInfo> - <meta.attribute kind="java"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - <b>This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.</b> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - The following is an example of the extension point: - -<pre> - <extension - point="org.eclipse.wst.server.ui.initialSelectionProvider"> - <selectionProvider - id="com.example" - class="com.example.runtime.MySelectionProvider"/> - </extension> -</pre> - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - Copyright (c) 2005 IBM Corporation and others.<br> -All rights reserved. This program and the accompanying materials are made -available under the terms of the Eclipse Public License v1.0 which accompanies -this distribution, and is available at -<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> - </documentation> - </annotation> - -</schema> diff --git a/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd deleted file mode 100644 index 58b2f95da..000000000 --- a/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd +++ /dev/null @@ -1,137 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.ui" id="serverImages" name="Server Images"/>
- </appInfo>
- <documentation>
- This extension point provides a way to provide an image for a runtime, server, server configuration or module type.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <choice>
- <element ref="image" minOccurs="0" maxOccurs="unbounded"/>
- </choice>
- <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="image">
- <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="icon" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="resource"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a server image extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.ui.serverImages">
- <image
- id="com.example"
- icon="icons/obj16/runtime.gif"
- typeIds="com.example.runtime"/>
- </extension>
-</pre>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd b/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd deleted file mode 100644 index 91a27347d..000000000 --- a/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd +++ /dev/null @@ -1,137 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.server.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.server.ui" id="wizardFragments" name="Wizard Fragments"/>
- </appInfo>
- <documentation>
- This extension point provides a way to add pages or logic into wizards for a specific runtime, server, or server configuration type.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="fragment" 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="fragment">
- <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>org.eclipse.wst.server.ui.wizard.WizardFragment</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.wst.server.ui.wizard.WizardFragment"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="typeIds" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a wizard fragment extension point:
-
-<pre>
- <extension
- point="org.eclipse.wst.server.ui.wizardFragments">
- <fragment
- id="com.example"
- typeIds="com.example.runtime"
- class="com.example.ExampleWizardFragment"/>
- </extension>
-</pre>
- </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 <code>org.eclipse.wst.server.ui.wizard.WizardFragment</code>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at
-<a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java deleted file mode 100644 index 477733fc7..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java +++ /dev/null @@ -1,291 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.ui.AbstractLaunchConfigurationTab; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.PlatformUI; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.ui.internal.*; -/** - * Server launch configuration tab. - * - * @since 1.0 - */ -public class ServerLaunchConfigurationTab extends AbstractLaunchConfigurationTab { - private String[] serverTypeIds; - - private Combo serverCombo; - - private Label runtimeLabel; - private Label hostname; - - private IServer server; - - // list of servers that are in combo - private List servers; - - // flag to be used to decide whether to enable combo in launch config dialog - // after the user requests a launch, they cannot change it - private static final String READ_ONLY = "read-only"; - - /** - * Create a new server launch configuration tab. - */ - public ServerLaunchConfigurationTab() { - this(new String[] {"*"}); - } - - /** - * Create a new server launch configuration tab with the given server type ids. - * - * @param serverTypeIds an array of server type ids - */ - public ServerLaunchConfigurationTab(String[] serverTypeIds) { - this.serverTypeIds = serverTypeIds; - } - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite) - */ - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.marginWidth = 5; - layout.marginHeight = 5; - layout.numColumns = 2; - composite.setLayout(layout); - - //GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - //data.widthHint = 200; - //composite.setLayoutData(data); - - Label label = new Label(composite, SWT.WRAP); - label.setText(Messages.serverLaunchDescription); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 2; - data.grabExcessHorizontalSpace = false; - data.widthHint = 300; - label.setLayoutData(data); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.serverLaunchServer); - serverCombo = new Combo(composite, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); - serverCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - serverCombo.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - public void widgetSelected(SelectionEvent e) { - handleServerSelection(); - } - }); - PlatformUI.getWorkbench().getHelpSystem().setHelp(serverCombo, ContextIds.LAUNCH_CONFIGURATION_SERVER_COMBO); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.serverLaunchRuntime); - runtimeLabel = new Label(composite, SWT.NONE); - runtimeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.serverLaunchHost); - hostname = new Label(composite, SWT.NONE); - hostname.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - // initialize - IServer[] servers2 = ServerCore.getServers(); - servers = new ArrayList(); - if (servers2 != null) { - int size = servers2.length; - for (int i = 0; i < size; i++) { - IServer server2 = servers2[i]; - if (server2.getServerType() != null && isSupportedServer(server2.getServerType().getId())) { - serverCombo.add(server2.getName()); - servers.add(server2); - } - } - } - - // select first item in list - if (serverCombo.getItemCount() > 0) - serverCombo.select(0); - - handleServerSelection(); - - serverCombo.forceFocus(); - - Dialog.applyDialogFont(composite); - setControl(composite); - } - - private boolean isSupportedServer(String serverTypeId) { - if (serverTypeIds == null) - return true; - int size = serverTypeIds.length; - for (int i = 0; i < size; i++) { - if (matches(serverTypeId, serverTypeIds[i])) - return true; - } - return false; - } - - private static boolean matches(String a, String b) { - if (a == null || b == null || "*".equals(a) || "*".equals(b) || a.startsWith(b) || b.startsWith(a)) - return true; - return false; - } - - /** - * Called when a server is selected. - * This method should not be called directly. - */ - protected void handleServerSelection() { - if (servers.isEmpty()) - server = null; - else - server = (IServer) servers.get(serverCombo.getSelectionIndex()); - IRuntime runtime = null; - if (server != null) { - runtime = server.getRuntime(); - hostname.setText(server.getHost()); - } else - hostname.setText(""); - - if (runtime != null) - runtimeLabel.setText(runtime.getName()); - else - runtimeLabel.setText(""); - - if (server == null) - setErrorMessage(Messages.errorNoServerSelected); - else if (server.getServerState() != IServer.STATE_STOPPED) - setErrorMessage(Messages.errorServerAlreadyRunning); - else - setErrorMessage(null); - /*if (server != null) { - server.setLaunchDefaults(configuration); - }*/ - updateLaunchConfigurationDialog(); - } - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy) - */ - public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { - setErrorMessage(null); - if (serverCombo != null) { - serverCombo.setEnabled(true); - if (serverCombo.getItemCount() > 0) - serverCombo.select(0); - } - - if (servers != null) { - server = (IServer) servers.get(serverCombo.getSelectionIndex()); - if (server != null) - ((Server) server).setupLaunchConfiguration(configuration, null); - } - } - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration) - */ - public void initializeFrom(ILaunchConfiguration configuration) { - serverCombo.setEnabled(true); - //remove error message that other instances may have set - setErrorMessage(null); - - try { - String serverId = configuration.getAttribute(Server.ATTR_SERVER_ID, ""); - if (serverId != null && !serverId.equals("")) { - server = ServerCore.findServer(serverId); - - if (server == null) { //server no longer exists - setErrorMessage(Messages.errorInvalidServer); - //serverCombo.clearSelection(); //appears to be broken...doesn't work with read only? - serverCombo.setEnabled(false); - return; - } - - serverCombo.setText(server.getName()); - if (server.getServerState() != IServer.STATE_STOPPED) - setErrorMessage(Messages.errorServerAlreadyRunning); - } else { - if (serverCombo.getItemCount() > 0) - serverCombo.select(0); - } - //flag should only be set if launch has been attempted on the config - if (configuration.getAttribute(READ_ONLY, false)) - serverCombo.setEnabled(false); - } catch (CoreException e) { - // ignore - } - } - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy) - */ - public void performApply(ILaunchConfigurationWorkingCopy configuration) { - if (server != null) - configuration.setAttribute(Server.ATTR_SERVER_ID, server.getId()); - else - configuration.setAttribute(Server.ATTR_SERVER_ID, (String)null); - } - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration) - */ - public boolean isValid(ILaunchConfiguration launchConfig) { - try { - String id = launchConfig.getAttribute(Server.ATTR_SERVER_ID, ""); - if (id != null && !id.equals("")) { - IServer server2 = ServerCore.findServer(id); - if (server2 == null) - return false; - if (server2.getServerState() == IServer.STATE_STOPPED) - return true; - } - } catch (CoreException e) { - // ignore - } - return false; - } - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage() - */ - public Image getImage() { - return ImageResource.getImage(ImageResource.IMG_SERVER); - } - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName() - */ - public String getName() { - return Messages.serverLaunchConfigurationTab; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java deleted file mode 100644 index 5a1bc0e58..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui; - -import org.eclipse.jface.viewers.ILabelProvider; - -import org.eclipse.wst.server.ui.internal.ServerLabelProvider; -/** - * Server UI core. - * - * @since 1.0 - */ -public class ServerUICore { - private static ServerLabelProvider labelProvider; - - /** - * ServerUICore constructor comment. - */ - private ServerUICore() { - super(); - } - - /** - * Returns a label provider that can be used for all server - * objects in the UI. - * - * @return a label provider - */ - public static ILabelProvider getLabelProvider() { - if (labelProvider == null) - labelProvider = new ServerLabelProvider(); - return labelProvider; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java deleted file mode 100644 index 927eb8464..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui; - -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; - -import org.eclipse.swt.widgets.Shell; -/** - * Server UI utility methods. - * - * @since 1.0 - */ -public class ServerUIUtil { - /** - * ServerUIUtil constructor comment. - */ - private ServerUIUtil() { - super(); - } - - /** - * Open the new runtime wizard. - * - * @param shell a shell to use when creating the wizard - * @param type the type of module to create a runtime for - * @param version the version of module to create a runtime for - * @return <code>true</code> if a runtime was created, or - * <code>false</code> otherwise - */ - public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version) { - return ServerUIPlugin.showNewRuntimeWizard(shell, type, version, null); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java deleted file mode 100644 index 114c9d75a..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/IServerEditorPartInput.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.editor; - -import org.eclipse.ui.IEditorInput; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * An input into a server part or section editor. - * - * @since 1.0 - */ -public interface IServerEditorPartInput extends IEditorInput { - /** - * Returns the server to be edited. - * - * @return a working copy of the server - */ - public IServerWorkingCopy getServer(); - - /** - * Returns true if the server is read-only. - * - * @return boolean <code>true</code> if the server is read-only, - * and <code>false</code> otherwise - */ - public boolean isServerReadOnly(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java deleted file mode 100644 index 6516e2c65..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java +++ /dev/null @@ -1,302 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.editor; - -import java.util.*; - -import org.eclipse.core.commands.operations.IUndoableOperation; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.ui.part.EditorPart; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.editor.*; -/** - * An abstract server editor which implements the most common methods - * from IEditorPart. - * - * This class also provides each editor page with an error message which - * will be displayed on the status bar of the editor. - * - * @since 1.0 - */ -public abstract class ServerEditorPart extends EditorPart { - /** - * Property change id for the error message. - */ - public static final int PROP_ERROR = 5; - - private String errorMessage = null; - private Map sectionToInsertionId = null; - private List sections = null; - private ServerResourceCommandManager commandManager; - private FormToolkit toolkit; - - /** - * The server currently being edited. - */ - protected IServerWorkingCopy server; - - /** - * <code>true</code> if the server is read-only, and <code>false</code> - * otherwise. - */ - protected boolean readOnly; - - /** - * Create a new server editor part. - */ - public ServerEditorPart() { - super(); - } - - /** - * @see org.eclipse.ui.IEditorPart#doSave(IProgressMonitor) - */ - public void doSave(IProgressMonitor monitor) { - // do nothing - } - - /** - * @see org.eclipse.ui.IEditorPart#doSaveAs() - */ - public void doSaveAs() { - // do nothing - } - - /** - * @see org.eclipse.ui.IEditorPart#isDirty() - */ - public boolean isDirty() { - return false; - } - - /** - * @see org.eclipse.ui.IEditorPart#isSaveAsAllowed() - */ - public boolean isSaveAsAllowed() { - return false; - } - - /** - * Set an error message for this page. - * - * @param error java.lang.String - */ - public void setErrorMessage(String error) { - if (error == null && errorMessage == null) - return; - - if (error != null && error.equals(errorMessage)) - return; - - errorMessage = error; - super.firePropertyChange(PROP_ERROR); - } - - /** - * Updates the error message shown in the editor. - */ - public void updateErrorMessage() { - super.firePropertyChange(PROP_ERROR); - } - - /** - * Return the error message for this page. - * - * @return java.lang.String - */ - public String getErrorMessage() { - if (errorMessage == null) { - Iterator iterator = getSections().iterator(); - while (iterator.hasNext()) { - ServerEditorSection section = (ServerEditorSection) iterator.next(); - String error = section.getErrorMessage(); - if (error != null) - return error; - } - } - return errorMessage; - } - - /** - * Returns error or status messages that will be displayed when the - * server resource is saved. If there are any error messages, the - * user will be unable to save the editor. - * - * @return org.eclipse.core.runtime.IStatus - */ - public IStatus[] getSaveStatus() { - Iterator iterator = getSections().iterator(); - List list = new ArrayList(); - while (iterator.hasNext()) { - ServerEditorSection section = (ServerEditorSection) iterator.next(); - IStatus[] status = section.getSaveStatus(); - if (status != null) { - int size = status.length; - for (int i = 0; i < size; i++) - list.add(status[i]); - } - } - - int size = list.size(); - IStatus[] status = new IStatus[size]; - list.toArray(status); - return status; - } - - private List getSections() { - if (sections == null) { - sections = new ArrayList(); - sectionToInsertionId = new HashMap(); - Iterator iterator = ServerEditorCore.getServerEditorPageSectionFactories().iterator(); - while (iterator.hasNext()) { - IServerEditorPageSectionFactory factory = (IServerEditorPageSectionFactory) iterator.next(); - String insertionId = factory.getInsertionId(); - - IServerEditorPartFactory pageFactory = ServerEditor.getPageFactory(this); - if (pageFactory.supportsInsertionId(insertionId)) { - String serverTypeId = null; - if (server != null) - serverTypeId = server.getServerType().getId(); - if (serverTypeId != null && factory.supportsType(serverTypeId) - && factory.shouldCreateSection(server)) { - ServerEditorSection section = factory.createSection(); - if (section != null) { - section.setServerEditorPart(this); - sections.add(section); - List list = null; - try { - list = (List) sectionToInsertionId.get(insertionId); - } catch (Exception e) { - // ignore - } - if (list == null) - list = new ArrayList(); - list.add(section); - sectionToInsertionId.put(insertionId, list); - } - } - } - } - } - return sections; - } - - private List getSections(String insertionId) { - if (insertionId == null) - return null; - - getSections(); - List list = new ArrayList(); - try { - List sections2 = (List) sectionToInsertionId.get(insertionId); - if (sections2 != null) { - Iterator iterator = sections2.iterator(); - while (iterator.hasNext()) { - list.add(iterator.next()); - } - } - } catch (Exception e) { - // ignore - } - return list; - } - - /** - * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput) - */ - public void init(IEditorSite site, IEditorInput input) { - setSite(site); - setInput(input); - if (input instanceof IServerEditorPartInput) { - IServerEditorPartInput sepi = (IServerEditorPartInput) input; - server = sepi.getServer(); - commandManager = ((ServerEditorPartInput) sepi).getServerCommandManager(); - readOnly = sepi.isServerReadOnly(); - } - - Iterator iterator = getSections().iterator(); - while (iterator.hasNext()) { - ServerEditorSection section = (ServerEditorSection) iterator.next(); - section.init(site, input); - } - } - - /** - * Executes the given operation and adds it to the operation history - * with the correct context. - * - * @param operation an operation ready to be executed - */ - public void execute(IUndoableOperation operation) { - commandManager.execute(operation); - } - - /** - * Return the server that is being editted. - * - * @return a server working copy - */ - public IServerWorkingCopy getServer() { - return server; - } - - /** - * Inserts editor sections into the given composite. - * - * @param parent the composite to add the section(s) to - * @param id the section insertion id - */ - public void insertSections(Composite parent, String id) { - if (id == null) - return; - - Iterator iterator = getSections(id).iterator(); - while (iterator.hasNext()) { - ServerEditorSection section = (ServerEditorSection) iterator.next(); - section.createSection(parent); - } - } - - /** - * Dispose of the editor. - */ - public void dispose() { - super.dispose(); - - Iterator iterator = getSections().iterator(); - while (iterator.hasNext()) { - ServerEditorSection section = (ServerEditorSection) iterator.next(); - section.dispose(); - } - - if (toolkit != null) - toolkit.dispose(); - } - - /** - * Get a form toolkit to create widgets. It will automatically be disposed - * when the editor is disposed. - * - * @param display the display - * @return FormToolkit - */ - protected FormToolkit getFormToolkit(Display display) { - if (toolkit == null) - toolkit = new FormToolkit(display); - return toolkit; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java deleted file mode 100644 index 218d92231..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java +++ /dev/null @@ -1,156 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.editor; - -import org.eclipse.core.commands.operations.IUndoableOperation; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.editor.ServerEditorPartInput; -import org.eclipse.wst.server.ui.internal.editor.ServerResourceCommandManager; -/** - * An abstract server editor section. - * - * @since 1.0 - */ -public abstract class ServerEditorSection { - private String errorMessage = null; - - private ServerResourceCommandManager commandManager; - - private Composite parentComp; - private ServerEditorPart editor; - - /** - * The server currently being edited. - */ - protected IServerWorkingCopy server; - - /** - * <code>true</code> if the server is read-only, and <code>false</code> - * otherwise. - */ - protected boolean readOnly; - - /** - * Initialize the section. - * - * @param site the editor site - * @param input the editor input - */ - public void init(IEditorSite site, IEditorInput input) { - if (input instanceof IServerEditorPartInput) { - IServerEditorPartInput sepi = (IServerEditorPartInput) input; - server = sepi.getServer(); - commandManager = ((ServerEditorPartInput) sepi).getServerCommandManager(); - readOnly = sepi.isServerReadOnly(); - } - } - - /** - * Executes the given operation and adds it to the operation history - * with the correct context. - * - * @param operation an operation ready to be executed - */ - public void execute(IUndoableOperation operation) { - commandManager.execute(operation); - } - - /** - * Create the section. - * - * @param parent the parent composite - */ - public void createSection(Composite parent) { - this.parentComp = parent; - } - - /** - * Return the shell of the section. - * - * @return the shell - */ - public Shell getShell() { - return parentComp.getShell(); - } - - /** - * Return the error message for this page. - * - * @return the error message - */ - public String getErrorMessage() { - return errorMessage; - } - - /** - * Returns error or status messages that will be displayed when the - * server resource is saved. If there are any error messages, the - * user will be unable to save the editor. - * - * @return a status object with code <code>IStatus.OK</code> if this - * server can be saved, otherwise a status object indicating why - * it can't be - */ - public IStatus[] getSaveStatus() { - return null; - } - - /** - * Set the editor part that this section belongs to. - * - * @param editor the editor - */ - public void setServerEditorPart(ServerEditorPart editor) { - this.editor = editor; - } - - /** - * Set an error message for this page. - * - * @param error an error message - */ - public void setErrorMessage(String error) { - if (error == null && errorMessage == null) - return; - - if (error != null && error.equals(errorMessage)) - return; - - errorMessage = error; - if (editor != null) - editor.updateErrorMessage(); - } - - /** - * Get a form toolkit to create widgets. It will automatically be disposed - * when the editor is disposed. - * - * @param display the display - * @return FormToolkit - */ - protected FormToolkit getFormToolkit(Display display) { - return editor.getFormToolkit(display); - } - - /** - * Disposes of the section. - */ - public void dispose() { - // ignore - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.html b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.html deleted file mode 100644 index b464c187b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.html +++ /dev/null @@ -1,22 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>Provides editor support for the server tools UI.</p> -<table width="500"> -<tr> -<td> -<p>Using extension points, clients can provide pages, sections, and -actions to be added to the editor for a specific server type. This -package contains the delegate classes for these extension points, as -well as the API that they can use to put commands on the shared -editor command history stack and interact with the editing framework.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.xml b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.xml deleted file mode 100644 index 024c4a2bc..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/package.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - -<abstract>Provides editor support for the server tools UI.</abstract> - -<p>Using extension points, clients can provide pages, sections, and -actions to be added to the editor for a specific server type. This -package contains the delegate classes for these extension points, as -well as the API that they can use to put commands on the shared -editor command history stack and interact with the editing framework.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java deleted file mode 100644 index 8ef317db0..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ContextIds.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; -/** - * Context help id constants. - */ -public interface ContextIds { - public static final String SELECT_SERVER_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swsi0000"; - public static final String SELECT_SERVER_EXISTING = ServerUIPlugin.PLUGIN_ID + ".swsi0002"; - public static final String SELECT_SERVER_EXISTING_TABLE = ServerUIPlugin.PLUGIN_ID + ".swsi0004"; - public static final String SELECT_SERVER_CREATE = ServerUIPlugin.PLUGIN_ID + ".swsi0010"; - public static final String SELECT_SERVER_CREATE_TABLE = ServerUIPlugin.PLUGIN_ID + ".swsi0012"; - public static final String SELECT_SERVER_PREFERENCE = ServerUIPlugin.PLUGIN_ID + ".swsi0014"; - - public static final String SELECT_CLIENT_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swsc0000"; - public static final String SELECT_CLIENT = ServerUIPlugin.PLUGIN_ID + ".swsc0002"; - - public static final String NEW_SERVER_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swns0000"; - public static final String NEW_SERVER_TYPE = ServerUIPlugin.PLUGIN_ID + ".swns0006"; - - public static final String LAUNCH_CONFIGURATION_SERVER_COMBO = ServerUIPlugin.PLUGIN_ID + ".swsl0000"; - - public static final String SELECT_TASK_WIZARD = ServerUIPlugin.PLUGIN_ID + ".sstw0000"; - - /*public static final String IMPORT_CONFIGURATION_WIZARD = ServerUIPlugin.PLUGIN_ID + ".swic0000"; - public static final String IMPORT_CONFIGURATION_NAME = ServerUIPlugin.PLUGIN_ID + ".swic0002"; - public static final String IMPORT_CONFIGURATION_FOLDER = ServerUIPlugin.PLUGIN_ID + ".swic0004"; - public static final String IMPORT_CONFIGURATION_FACTORY = ServerUIPlugin.PLUGIN_ID + ".swic0006"; - public static final String IMPORT_CONFIGURATION_LOCATION = ServerUIPlugin.PLUGIN_ID + ".swic0008"; - public static final String IMPORT_CONFIGURATION_LOCATION_BROWSE = ServerUIPlugin.PLUGIN_ID + ".swic0010";*/ - - public static final String MODIFY_MODULES_COMPOSITE = ServerUIPlugin.PLUGIN_ID + ".swmm0000"; - - public static final String TERMINATE_SERVER_DIALOG = ServerUIPlugin.PLUGIN_ID + ".sdti0000"; - - public static final String PREF_GENERAL = ServerUIPlugin.PLUGIN_ID + ".spge0000"; - public static final String PREF_GENERAL_AUTOPUBLISH_LOCAL = ServerUIPlugin.PLUGIN_ID + ".spge0002"; - public static final String PREF_GENERAL_AUTOPUBLISH_REMOTE = ServerUIPlugin.PLUGIN_ID + ".spge0006"; - public static final String PREF_GENERAL_PUBLISH_BEFORE_START = ServerUIPlugin.PLUGIN_ID + ".spge0012"; - public static final String PREF_GENERAL_AUTO_RESTART = ServerUIPlugin.PLUGIN_ID + ".spge0014"; - public static final String PREF_GENERAL_PROMPT_IRREVERSIBLE = ServerUIPlugin.PLUGIN_ID + ".spge0020"; - public static final String PREF_GENERAL_SHOW_ON_ACTIVITY = ServerUIPlugin.PLUGIN_ID + ".spge0022"; - public static final String PREF_GENERAL_SAVE_EDITORS = ServerUIPlugin.PLUGIN_ID + ".spge0024"; - public static final String PREF_GENERAL_TIMEOUT_DELAY = ServerUIPlugin.PLUGIN_ID + ".spge0026"; - public static final String PREF_GENERAL_SYNC_STARTUP = ServerUIPlugin.PLUGIN_ID + ".spge0028"; - - public static final String VIEW_SERVERS = ServerUIPlugin.PLUGIN_ID + ".svcp0000"; - - public static final String PUBLISH_DETAILS_DIALOG = ServerUIPlugin.PLUGIN_ID + ".sdpd0000"; - public static final String PUBLISH_DETAILS_DIALOG_STATUS = ServerUIPlugin.PLUGIN_ID + ".sdpd0002"; - public static final String PUBLISH_DETAILS_DIALOG_DETAILS_BUTTON = ServerUIPlugin.PLUGIN_ID + ".sdpd0004"; - public static final String PUBLISH_DETAILS_DIALOG_DETAILS = ServerUIPlugin.PLUGIN_ID + ".sdpd0006"; - - public static final String PROMPT_IRREVERSIBLE_DIALOG = ServerUIPlugin.PLUGIN_ID + ".sdpi0000"; - - public static final String EDITOR_OVERVIEW_PAGE = ServerUIPlugin.PLUGIN_ID + ".seop0000"; - public static final String EDITOR_SERVER = ServerUIPlugin.PLUGIN_ID + ".seop0002"; - public static final String EDITOR_CONFIGURATION = ServerUIPlugin.PLUGIN_ID + ".seop0004"; - public static final String EDITOR_HOSTNAME = ServerUIPlugin.PLUGIN_ID + ".seop0006"; - public static final String EDITOR_RUNTIME = ServerUIPlugin.PLUGIN_ID + ".seop0008"; - public static final String EDITOR_AUTOPUBLISH_DEFAULT = ServerUIPlugin.PLUGIN_ID + ".seop0010"; - public static final String EDITOR_AUTOPUBLISH_OVERRIDE = ServerUIPlugin.PLUGIN_ID + ".seop0012"; - public static final String EDITOR_AUTOPUBLISH_DISABLE = ServerUIPlugin.PLUGIN_ID + ".seop0016"; - - public static final String AUDIO_PREFERENCES = ServerUIPlugin.PLUGIN_ID + ".aupr0000"; - public static final String AUDIO_PREFERENCES_ENABLE = ServerUIPlugin.PLUGIN_ID + ".aupr0002"; - public static final String AUDIO_PREFERENCES_VOLUME = ServerUIPlugin.PLUGIN_ID + ".aupr0004"; - public static final String AUDIO_PREFERENCES_SOUNDS_TABLE = ServerUIPlugin.PLUGIN_ID + ".aupr0006"; - public static final String AUDIO_PREFERENCES_PLAY = ServerUIPlugin.PLUGIN_ID + ".aupr0008"; - public static final String AUDIO_PREFERENCES_BROWSE = ServerUIPlugin.PLUGIN_ID + ".aupr0010"; - public static final String AUDIO_PREFERENCES_RESET = ServerUIPlugin.PLUGIN_ID + ".aupr0012"; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java deleted file mode 100644 index 0eede40f2..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultMonitorDelegate.java +++ /dev/null @@ -1,76 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor; -import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy; -import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; -import org.eclipse.wst.server.core.internal.ServerMonitorDelegate; -import org.eclipse.wst.server.core.util.SocketUtil; -/** - * - */ -public class DefaultMonitorDelegate extends ServerMonitorDelegate { - protected Map monitors = new HashMap(); - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.ServerMonitorDelegate#startMonitoring(org.eclipse.wst.server.core.ServerPort) - */ - public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException { - try { - IMonitor monitor = (IMonitor) monitors.get(port); - int mport = -1; - if (monitor == null) { - mport = monitorPort; - if (mport == -1) - mport = SocketUtil.findUnusedPort(5000, 15000); - - // should search for a monitor first .. - IMonitorWorkingCopy wc = MonitorCore.createMonitor(); - wc.setLocalPort(mport); - wc.setRemoteHost(server.getHost()); - wc.setRemotePort(port.getPort()); - if ("HTTP".equals(port.getProtocol())) - wc.setProtocol("HTTP"); - monitor = wc.save(); - } else - mport = monitor.getLocalPort(); - monitor.start(); - monitors.put(port, monitor); - return mport; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not start monitoring", e); - throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartingMonitor, e.getLocalizedMessage()), null)); - } - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.core.model.ServerMonitorDelegate#stopMonitoring(org.eclipse.wst.server.core.ServerPort) - */ - public void stopMonitoring(IServer server, ServerPort port) { - try { - IMonitor monitor = (IMonitor) monitors.get(port); - if (monitor != null) - monitor.stop(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not stop monitoring", e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java deleted file mode 100644 index 3c25b6afd..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerImageDescriptor.java +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.jface.resource.CompositeImageDescriptor; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.ImageData; -import org.eclipse.swt.graphics.Point; -/** - * A OverlayImageDescriptor consists of a main icon and one or more overlays. - * The overlays are computed according to flags set on creation of the descriptor. - */ -public class DefaultServerImageDescriptor extends CompositeImageDescriptor { - private Image fBaseImage; - private Point fSize; - private Image overlay; - - /** - * Create a new OverlayImageDescriptor. - * - * @param baseImage an image descriptor used as the base image - */ - public DefaultServerImageDescriptor(Image baseImage) { - this(baseImage, ImageResource.getImage(ImageResource.IMG_DEFAULT_SERVER_OVERLAY)); - } - - /** - * - * @param baseImage - * @param overlay - */ - public DefaultServerImageDescriptor(Image baseImage, Image overlay) { - setBaseImage(baseImage); - this.overlay = overlay; - } - - /** - * @see CompositeImageDescriptor#getSize() - */ - protected Point getSize() { - if (fSize == null) { - ImageData data = getBaseImage().getImageData(); - setSize(new Point(data.width, data.height)); - } - return fSize; - } - - /** - * @see Object#equals(java.lang.Object) - */ - public boolean equals(Object object) { - if (!(object instanceof DefaultServerImageDescriptor)) - return false; - - DefaultServerImageDescriptor other = (DefaultServerImageDescriptor) object; - return (getBaseImage().equals(other.getBaseImage())); - } - - /** - * @see Object#hashCode() - */ - public int hashCode() { - return getBaseImage().hashCode(); - } - - /** - * @see CompositeImageDescriptor#drawCompositeImage(int, int) - */ - protected void drawCompositeImage(int width, int height) { - ImageData bg = getBaseImage().getImageData(); - if (bg == null) - bg = DEFAULT_IMAGE_DATA; - - drawImage(bg, 0, 0); - drawOverlays(); - } - - /** - * Add any overlays to the image as specified in the flags. - */ - protected void drawOverlays() { - ImageData data = overlay.getImageData(); - int x = getSize().x - data.width; - drawImage(data, x, 0); - } - - protected Image getBaseImage() { - return fBaseImage; - } - - protected void setBaseImage(Image baseImage) { - fBaseImage = baseImage; - } - - protected void setSize(Point size) { - fSize = size; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java deleted file mode 100644 index c1768c63a..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DefaultServerLabelDecorator.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * 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 Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.viewers.ILabelDecorator; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.ISharedImages; -import org.eclipse.wst.server.core.internal.Server; -/** - * - */ -public class DefaultServerLabelDecorator implements ILabelDecorator { - protected Map map = new HashMap(); - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object) - */ - public Image decorateImage(Image image, Object element) { - try { - Image img = (Image) map.get(element); - if (img != null) - return img; - } catch (Exception e) { - // ignore - } - - DefaultServerImageDescriptor dsid = null; - if (element instanceof Server) { - IStatus status = ((Server) element).getServerStatus(); - if (status != null) { - ISharedImages sharedImages = ServerUIPlugin.getInstance().getWorkbench().getSharedImages(); - if (status.getSeverity() == IStatus.ERROR) - dsid = new DefaultServerImageDescriptor(image, sharedImages.getImage(ISharedImages.IMG_OBJS_ERROR_TSK)); - else if (status.getSeverity() == IStatus.WARNING) - dsid = new DefaultServerImageDescriptor(image, sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK)); - else if (status.getSeverity() == IStatus.INFO) - dsid = new DefaultServerImageDescriptor(image, sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK)); - } - } - - if (dsid == null) - dsid = new DefaultServerImageDescriptor(image); - Image image2 = dsid.createImage(); - map.put(element, image2); - return image2; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(java.lang.String, java.lang.Object) - */ - public String decorateText(String text, Object element) { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) - */ - public void addListener(ILabelProviderListener listener) { - // do nothing - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() - */ - public void dispose() { - try { - Iterator iterator = map.values().iterator(); - while (iterator.hasNext()) { - Image image = (Image) iterator.next(); - image.dispose(); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not dispose images", e); - } - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String) - */ - public boolean isLabelProperty(Object element, String property) { - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) - */ - public void removeListener(ILabelProviderListener listener) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java deleted file mode 100644 index 0de5140f9..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java +++ /dev/null @@ -1,256 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.actions.WorkspaceModifyOperation; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServer.IOperationListener; -/** - * Dialog that prompts a user to delete server(s) and/or server configuration(s). - */ -public class DeleteServerDialog extends Dialog { - protected IServer[] servers; - protected IFolder[] configs; - - protected List runningServersList; - - protected Button checkDeleteConfigs; - protected Button checkDeleteRunning; - protected Button checkDeleteRunningStop; - - /** - * DeleteServerDialog constructor comment. - * - * @param parentShell a shell - * @param servers an array of servers - * @param configs an array of server configurations - */ - public DeleteServerDialog(Shell parentShell, IServer[] servers, IFolder[] configs) { - super(parentShell); - - if (servers == null || configs == null) - throw new IllegalArgumentException(); - - this.servers = servers; - this.configs = configs; - - runningServersList = new ArrayList(); - for (int i = 0 ; i < servers.length ; ++i) { - if (servers[i].getServerState() != IServer.STATE_STOPPED) - runningServersList.add(servers[i]); - } - - setBlockOnOpen(true); - } - - /** - * - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(Messages.deleteServerDialogTitle); - } - - /** - * - */ - protected Control createDialogArea(Composite parent) { - // create a composite with standard margins and spacing - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); - layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); - layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - composite.setFont(parent.getFont()); - //WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG); - - Label label = new Label(composite, SWT.NONE); - if (servers.length == 1) - label.setText(NLS.bind(Messages.deleteServerDialogMessage, servers[0].getName())); - else - label.setText(NLS.bind(Messages.deleteServerDialogMessageMany, servers.length + "")); - //label.setLayoutData(new GridData()); - - if (configs.length > 0) { - checkDeleteConfigs = new Button(composite, SWT.CHECK); - checkDeleteConfigs.setText(NLS.bind(Messages.deleteServerDialogLooseConfigurations, configs[0].getName())); - checkDeleteConfigs.setSelection(true); - } - - // prompt for stopping running servers - int size = runningServersList.size(); - if (size > 0) { - checkDeleteRunning = new Button(composite, SWT.CHECK); - checkDeleteRunning.setText(NLS.bind(Messages.deleteServerDialogRunningServer, ((IServer)runningServersList.get(0)).getName())); - checkDeleteRunning.setSelection(true); - - checkDeleteRunningStop = new Button(composite, SWT.CHECK); - checkDeleteRunningStop.setText(NLS.bind(Messages.deleteServerDialogRunningServerStop, ((IServer)runningServersList.get(0)).getName())); - checkDeleteRunningStop.setSelection(true); - GridData data = new GridData(); - data.horizontalIndent = 15; - checkDeleteRunningStop.setLayoutData(data); - - checkDeleteRunning.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - checkDeleteRunningStop.setEnabled(checkDeleteRunning.getSelection()); - } - }); - } - - Dialog.applyDialogFont(composite); - - return composite; - } - - protected void okPressed() { - final boolean checked = (checkDeleteConfigs != null && checkDeleteConfigs.getSelection()); - final boolean deleteRunning = (checkDeleteRunning != null && checkDeleteRunning.getSelection()); - final boolean deleteRunningStop = (checkDeleteRunningStop != null && checkDeleteRunningStop.getSelection()); - - if (runningServersList.size() > 0) { - // stop servers and/or updates servers' list - prepareForDeletion(deleteRunning, deleteRunningStop); - //monitor.worked(1); - } - - try { - WorkspaceModifyOperation op = new WorkspaceModifyOperation() { - protected void execute(IProgressMonitor monitor) throws CoreException { - // since stopping can be long, let's animate progessDialog - monitor.beginTask(Messages.deleteServerTask, 2); - - if (servers.length == 0) { - // all servers have been deleted from list - return; - } - try { - int size = servers.length; - for (int i = 0; i < size; i++) { - servers[i].delete(); - } - - if (checked) { - size = configs.length; - for (int i = 0; i < size; i++) { - configs[i].delete(true, true, monitor); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error while deleting resources", e); - } - } - }; - new ProgressMonitorDialog(getShell()).run(true, true, op); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error deleting resources", e); - } - - super.okPressed(); - } - - /** - * Updates servers' & configs' lists. If <code>deleteRunning</code> is <code>true</code> - * and a server can't be stopped, it isn't removed. - * @param deleteRunning if <code>true</code> running servers will be stopped - * before being deleted, if <code>false</code> running servers will be removed - * from deletion list. - */ - protected void prepareForDeletion(boolean deleteRunning, boolean stopRunning) { - // converts servers & configs to list to facilitate removal - List serversList = new LinkedList(Arrays.asList(servers)); - List configsList = new LinkedList(Arrays.asList(configs)); - if (deleteRunning == false) { - // don't delete servers or configurations - int size = runningServersList.size(); - for (int i = 0; i < size; i++) { - IServer server = (IServer) runningServersList.get(i); - serversList.remove(server); - if (server.getServerConfiguration() != null) - configsList.remove(server.getServerConfiguration()); - } - } else { - if (stopRunning) { - // stop running servers and wait for them (stop is asynchronous) - IServer s; - MultiServerStopListener listener = new MultiServerStopListener(); - int expected = 0; - Iterator iter = runningServersList.iterator(); - while (iter.hasNext()) { - s = (IServer) iter.next(); - if (s.canStop().isOK()) { - ++expected; - s.stop(false, listener); - } else { - // server can't be stopped, don't delete it - serversList.remove(s); - configsList.remove(s.getServerConfiguration()); - } - } - try { - while (expected != listener.getNumberStopped()) { - Thread.sleep(100); - } - } catch (InterruptedException e) { - Trace.trace(Trace.WARNING, "Interrupted while waiting for servers stop"); - } - } - } - servers = new IServer[serversList.size()]; - serversList.toArray(servers); - configs = new IFolder[configsList.size()]; - configsList.toArray(configs); - } - - /** - * Class used to wait all servers stop. Use one instance - * for a group of servers and loop to see if the number stopped - * equals the number of servers waiting to stop. - */ - class MultiServerStopListener implements IOperationListener { - protected int num; - - public void done(IStatus result) { - num++; - } - - public int getNumberStopped() { - return num; - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java deleted file mode 100644 index dcdabd926..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/EclipseUtil.java +++ /dev/null @@ -1,221 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.*; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.model.IWorkbenchAdapter; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.core.internal.ServerPlugin; -/** - * Eclipse utility methods. - */ -public class EclipseUtil { - /** - * EclipseUtil constructor comment. - */ - private EclipseUtil() { - super(); - } - - /** - * Creates a new server project with the given name. If path is - * null, it will be created in the default location. - * - * @param name java.lang.String - * @param path org.eclipse.core.resource.IPath - * @param monitor - * @return org.eclipse.core.runtime.IStatus - */ - private static IStatus createServerProject(String name, IPath path, IProgressMonitor monitor) { - //monitor = ProgressUtil.getMonitorFor(monitor); - //monitor.beginTask(ServerPlugin.getResource("%createServerProjectTask"), 3000); - - try { - IWorkspace workspace = ResourcesPlugin.getWorkspace(); - IProject project = workspace.getRoot().getProject(name); - - // get a project descriptor - IProjectDescription description = workspace.newProjectDescription(name); - description.setLocation(path); - - project.create(description, ProgressUtil.getSubMonitorFor(monitor, 1000)); - if (monitor.isCanceled()) - return null; - project.open(ProgressUtil.getSubMonitorFor(monitor, 1000)); - if (monitor.isCanceled()) - return null; - - // add the server project nature - ServerPlugin.getProjectProperties(project).setServerProject(true, monitor); - - if (monitor.isCanceled()) - return null; - - return Status.OK_STATUS; - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Could not create server project named " + name, ce); - return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCouldNotCreateServerProjectStatus, ce.getMessage()), ce); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create server project (2) named " + name, e); - return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, Messages.errorCouldNotCreateServerProject, e); - } finally { - monitor.done(); - } - } - - /** - * Creates a new server project with the given name. If path is - * null, it will be created in the default location. - * - * @param shell a shell - * @param name a name - * @param path a path - * @param monitor a progress monitor, or null - */ - public static void createNewServerProject(final Shell shell, String name, IPath path, IProgressMonitor monitor) { - final IStatus status = createServerProject(name, path, monitor); - if (!status.isOK()) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - Shell shell2 = shell; - if (shell == null) - shell2 = getShell(); - openError(shell2, Messages.errorCouldNotCreateServerProject, status); - } - }); - } - } - - /** - * Returns the image for a project. - * - * @param project org.eclipse.core.resources.IProject - * @return org.eclipse.jface.resource.ImageDescriptor - */ - public static ImageDescriptor getProjectImageDescriptor(IProject project) { - if (project == null) - return null; - - IWorkbenchAdapter adapter = (IWorkbenchAdapter) project.getAdapter(IWorkbenchAdapter.class); - - if (adapter != null) - return adapter.getImageDescriptor(project); - - return null; - } - - /** - * Return a shell for the workbench. - * - * @return org.eclipse.swt.widgets.Shell - */ - public static Shell getShell() { - return getStandardDisplay().getActiveShell(); - } - - /** - * Returns the standard display to be used. The method first checks, if - * the thread calling this method has an associated display. If so, this - * display is returned. Otherwise the method returns the default display. - * - * @return the display - */ - public static Display getStandardDisplay() { - Display display = Display.getCurrent(); - if (display == null) - display = Display.getDefault(); - - return display; - } - - /** - * Open a dialog window. - * - * @param message java.lang.String - */ - public static void openError(final String message) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - Shell shell = getShell(); - MessageDialog.openError(shell, Messages.errorDialogTitle, message); - } - }); - } - - /** - * Open a dialog window. - * - * @param message java.lang.String - * @param status IStatus - */ - public static void openError(final String message, final IStatus status) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - Shell shell = getShell(); - ErrorDialog.openError(shell, Messages.errorDialogTitle, message, status); - } - }); - } - - /** - * Open a dialog window. - * - * @param shell the shell - * @param message the message - */ - public static void openError(Shell shell, String message) { - MessageDialog.openError(shell, Messages.errorDialogTitle, message); - } - - /** - * Open a dialog window. - * - * @param shell a shell - * @param message a message - * @param status a status - */ - public static void openError(Shell shell, String message, IStatus status) { - ErrorDialog.openError(shell, Messages.errorDialogTitle, message, status); - } - - /** - * Do a validateEdit() on the given server. - * - * @param shell a shell - * @param server a server - * @return true if validate edit worked - */ - public static boolean validateEdit(Shell shell, IServer server) { - IStatus status = ServerUtil.validateEdit(shell, server); - return validateEdit(shell, status); - } - - protected static boolean validateEdit(Shell shell, IStatus status) { - if (status != null && status.getSeverity() == IStatus.ERROR) { - // inform user - String message = Messages.editorValidateEditFailureMessage; - ErrorDialog.openError(shell, Messages.errorDialogTitle, message, status); - - // do not execute command - return false; - } - return true; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java deleted file mode 100644 index b3bbb928e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ImageResource.java +++ /dev/null @@ -1,363 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.net.URL; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionDelta; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; - -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.eclipse.wst.server.core.internal.ServerPlugin; -/** - * Utility class to handle image resources. - */ -public class ImageResource { - // the image registry - private static ImageRegistry imageRegistry; - - // map of image descriptors since these - // will be lost by the image registry - private static Map imageDescriptors; - - // base urls for images - private static URL ICON_BASE_URL; - - static { - try { - String pathSuffix = "icons/"; - ICON_BASE_URL = ServerUIPlugin.getInstance().getBundle().getEntry(pathSuffix); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not set icon base URL", e); - } - } - - private static final String URL_CLCL = "clcl16/"; - private static final String URL_CTOOL = "ctool16/"; - - private static final String URL_ELCL = "elcl16/"; - private static final String URL_ETOOL = "etool16/"; - - private static final String URL_DLCL = "dlcl16/"; - private static final String URL_DTOOL = "dtool16/"; - - private static final String URL_OBJ = "obj16/"; - - private static final String URL_OVR = "ovr16/"; - - private static final String URL_WIZBAN = "wizban/"; - - // --- constants for images --- - - // Server State Images - public static final String IMG_CLCL_START = "IMG_CLCL_START"; - public static final String IMG_CLCL_START_DEBUG = "IMG_CLCL_START_DEBUG"; - public static final String IMG_CLCL_START_PROFILE = "IMG_CLCL_START_PROFILE"; - public static final String IMG_CLCL_RESTART = "IMG_CLCL_RESTART"; - public static final String IMG_CLCL_STOP = "IMG_CLCL_STOP"; - public static final String IMG_CLCL_PUBLISH = "IMG_CLCL_PUBLISH"; - public static final String IMG_CLCL_DISCONNECT = "IMG_CLCL_DISCONNECT"; - - public static final String IMG_ELCL_START = "IMG_ELCL_START"; - public static final String IMG_ELCL_START_DEBUG = "IMG_ELCL_START_DEBUG"; - public static final String IMG_ELCL_START_PROFILE = "IMG_ELCL_START_PROFILE"; - public static final String IMG_ELCL_RESTART = "IMG_ELCL_RESTART"; - public static final String IMG_ELCL_STOP = "IMG_ELCL_STOP"; - public static final String IMG_ELCL_PUBLISH = "IMG_ELCL_PUBLISH"; - public static final String IMG_ELCL_DISCONNECT = "IMG_ELCL_DISCONNECT"; - - public static final String IMG_DLCL_START = "IMG_DLCL_START"; - public static final String IMG_DLCL_START_DEBUG = "IMG_DLCL_START_DEBUG"; - public static final String IMG_DLCL_START_PROFILE = "IMG_DLCL_START_PROFILE"; - public static final String IMG_DLCL_RESTART = "IMG_DLCL_RESTART"; - public static final String IMG_DLCL_STOP = "IMG_DLCL_STOP"; - public static final String IMG_DLCL_PUBLISH = "IMG_DLCL_PUBLISH"; - public static final String IMG_DLCL_DISCONNECT = "IMG_DLCL_DISCONNECT"; - - // Wizard Banner Images - public static final String IMG_WIZBAN_NEW_RUNTIME = "newServerWiz"; - public static final String IMG_WIZBAN_NEW_SERVER = "newServerWiz"; - public static final String IMG_WIZBAN_SELECT_SERVER_CLIENT = "wizClient"; - public static final String IMG_WIZBAN_SELECT_SERVER = "selectServer"; - public static final String IMG_WIZBAN_IMPORT_SERVER_CONFIGURATION = "importConfigWiz"; - - public static final String IMG_SERVER_STATE_STARTED = "stateStarted"; - public static final String IMG_SERVER_STATE_STARTED_DEBUG = "stateStartedDebug"; - public static final String IMG_SERVER_STATE_STARTED_PROFILE = "stateStartedProfile"; - public static final String IMG_SERVER_STATE_STOPPED = "stateStopped"; - - public static final String IMG_SERVER_STATE_STARTING_1 = "stateStarting1"; - public static final String IMG_SERVER_STATE_STARTING_2 = "stateStarting2"; - public static final String IMG_SERVER_STATE_STARTING_3 = "stateStarting3"; - - public static final String IMG_SERVER_STATE_STOPPING_1 = "stateStopping1"; - public static final String IMG_SERVER_STATE_STOPPING_2 = "stateStopping2"; - public static final String IMG_SERVER_STATE_STOPPING_3 = "stateStopping3"; - - // Server Client Images - public static final String IMG_CTOOL_RUN_ON_SERVER = "IMG_CTOOL_CLIENT"; - public static final String IMG_CTOOL_DEBUG_ON_SERVER = "IMG_CTOOL_CLIENT2"; - public static final String IMG_CTOOL_PROFILE_ON_SERVER = "IMG_CTOOL_CLIENT3"; - public static final String IMG_CTOOL_NEW_SERVER = "IMG_CTOOL_NEW_SERVER"; - public static final String IMG_CTOOL_NEW_SERVER_INSTANCE = "IMG_CTOOL_NEW_SERVER_INSTANCE"; - public static final String IMG_CTOOL_MODIFY_MODULES = "IMG_CTOOL_MODIFY_MODULES"; - - public static final String IMG_ETOOL_RUN_ON_SERVER = "IMG_ETOOL_CLIENT"; - public static final String IMG_ETOOL_DEBUG_ON_SERVER = "IMG_ETOOL_CLIENT2"; - public static final String IMG_ETOOL_PROFILE_ON_SERVER = "IMG_ETOOL_CLIENT3"; - public static final String IMG_ETOOL_MODIFY_MODULES = "IMG_ETOOL_MODIFY_MODULES"; - - public static final String IMG_DTOOL_RUN_ON_SERVER = "IMG_DTOOL_CLIENT"; - public static final String IMG_DTOOL_DEBUG_ON_SERVER = "IMG_DTOOL_CLIENT2"; - public static final String IMG_DTOOL_PROFILE_ON_SERVER = "IMG_DTOOL_CLIENT3"; - public static final String IMG_DTOOL_MODIFY_MODULES = "IMG_DTOOL_MODIFY_MODULES"; - - // General Object Images - public static final String IMG_SERVER = "server"; - public static final String IMG_SERVER_CONFIGURATION_NONE = "noConfiguration"; - public static final String IMG_SERVER_CONFIGURATION_MISSING = "configurationMissing"; - public static final String IMG_PROJECT_MISSING = "projectMissing"; - public static final String IMG_REPAIR_CONFIGURATION = "repairConfiguration"; - - public static final String IMG_PUBLISH_ENABLED = "publishEnabled"; - public static final String IMG_PUBLISH_DISABLED = "publishDisabled"; - - public static final String IMG_MONITOR_ON = "monitorOn"; - public static final String IMG_MONITOR_OFF = "monitorOff"; - - public static final String IMG_DEFAULT_SERVER_OVERLAY = "defaultServerOverlay"; - - // Audio images - public static final String IMG_AUDIO_SOUND = "sound"; - public static final String IMG_AUDIO_CATEGORY = "category"; - - /** - * Cannot construct an ImageResource. Use static methods only. - */ - private ImageResource() { - // do nothing - } - - /** - * Dispose of element images that were created. - */ - protected static void dispose() { - // do nothing - } - - /** - * Return the image with the given key. - * - * @param key java.lang.String - * @return org.eclipse.swt.graphics.Image - */ - public static Image getImage(String key) { - if (imageRegistry == null) - initializeImageRegistry(); - Image image = imageRegistry.get(key); - if (image == null) { - imageRegistry.put(key, ImageDescriptor.getMissingImageDescriptor()); - image = imageRegistry.get(key); - } - return image; - } - - /** - * Return the image descriptor with the given key. - * - * @param key java.lang.String - * @return org.eclipse.jface.resource.ImageDescriptor - */ - public static ImageDescriptor getImageDescriptor(String key) { - if (imageRegistry == null) - initializeImageRegistry(); - ImageDescriptor id = (ImageDescriptor) imageDescriptors.get(key); - if (id != null) - return id; - - return ImageDescriptor.getMissingImageDescriptor(); - } - - /** - * Initialize the image resources. - */ - protected static void initializeImageRegistry() { - imageRegistry = new ImageRegistry(); - imageDescriptors = new HashMap(); - - // wizard banners - registerImage(IMG_WIZBAN_NEW_SERVER, URL_WIZBAN + "new_server_wiz.gif"); - registerImage(IMG_WIZBAN_IMPORT_SERVER_CONFIGURATION, URL_WIZBAN + "import_configuration_wiz.gif"); - registerImage(IMG_WIZBAN_SELECT_SERVER_CLIENT, URL_WIZBAN + "select_client_wiz.gif"); - registerImage(IMG_WIZBAN_SELECT_SERVER, URL_WIZBAN + "select_server_wiz.gif"); - - // client images - registerImage(IMG_ETOOL_RUN_ON_SERVER, URL_ETOOL + "run_on_server.gif"); - registerImage(IMG_ETOOL_DEBUG_ON_SERVER, URL_ETOOL + "debug_on_server.gif"); - registerImage(IMG_ETOOL_PROFILE_ON_SERVER, URL_ETOOL + "profile_on_server.gif"); - registerImage(IMG_ETOOL_MODIFY_MODULES, URL_ETOOL + "wiz_modify_modules.gif"); - - registerImage(IMG_CTOOL_RUN_ON_SERVER, URL_CTOOL + "run_on_server.gif"); - registerImage(IMG_CTOOL_DEBUG_ON_SERVER, URL_CTOOL + "debug_on_server.gif"); - registerImage(IMG_CTOOL_PROFILE_ON_SERVER, URL_CTOOL + "profile_on_server.gif"); - registerImage(IMG_CTOOL_NEW_SERVER, URL_CTOOL + "wiz_new_server.gif"); - registerImage(IMG_CTOOL_NEW_SERVER_INSTANCE, URL_CTOOL + "wiz_new_instance.gif"); - registerImage(IMG_CTOOL_MODIFY_MODULES, URL_CTOOL + "wiz_modify_modules.gif"); - - registerImage(IMG_DTOOL_RUN_ON_SERVER, URL_DTOOL + "run_on_server.gif"); - registerImage(IMG_DTOOL_DEBUG_ON_SERVER, URL_DTOOL + "debug_on_server.gif"); - registerImage(IMG_DTOOL_PROFILE_ON_SERVER, URL_DTOOL + "profile_on_server.gif"); - registerImage(IMG_DTOOL_MODIFY_MODULES, URL_DTOOL + "wiz_modify_modules.gif"); - - // load server state images - registerImage(IMG_SERVER_STATE_STARTED, URL_OBJ + "server_started.gif"); - registerImage(IMG_SERVER_STATE_STARTED_DEBUG, URL_OBJ + "server_started_debug.gif"); - registerImage(IMG_SERVER_STATE_STARTED_PROFILE, URL_OBJ + "server_started_profile.gif"); - registerImage(IMG_SERVER_STATE_STOPPED, URL_OBJ + "server_stopped.gif"); - - registerImage(IMG_SERVER_STATE_STARTING_1, URL_OBJ + "server_starting1.gif"); - registerImage(IMG_SERVER_STATE_STARTING_2, URL_OBJ + "server_starting2.gif"); - registerImage(IMG_SERVER_STATE_STARTING_3, URL_OBJ + "server_starting3.gif"); - - registerImage(IMG_SERVER_STATE_STOPPING_1, URL_OBJ + "server_stopping1.gif"); - registerImage(IMG_SERVER_STATE_STOPPING_2, URL_OBJ + "server_stopping2.gif"); - registerImage(IMG_SERVER_STATE_STOPPING_3, URL_OBJ + "server_stopping3.gif"); - - // load action images - registerImage(IMG_ELCL_PUBLISH, URL_ELCL + "launch_publish.gif"); - registerImage(IMG_ELCL_START, URL_ELCL + "launch_run.gif"); - registerImage(IMG_ELCL_START_DEBUG, URL_ELCL + "launch_debug.gif"); - registerImage(IMG_ELCL_START_PROFILE, URL_ELCL + "launch_profile.gif"); - registerImage(IMG_ELCL_RESTART, URL_ELCL + "launch_restart.gif"); - registerImage(IMG_ELCL_STOP, URL_ELCL + "launch_stop.gif"); - registerImage(IMG_ELCL_DISCONNECT, URL_ELCL + "launch_disconnect.gif"); - - registerImage(IMG_CLCL_PUBLISH, URL_CLCL + "launch_publish.gif"); - registerImage(IMG_CLCL_START, URL_CLCL + "launch_run.gif"); - registerImage(IMG_CLCL_START_DEBUG, URL_CLCL + "launch_debug.gif"); - registerImage(IMG_CLCL_START_PROFILE, URL_CLCL + "launch_profile.gif"); - registerImage(IMG_CLCL_RESTART, URL_CLCL + "launch_restart.gif"); - registerImage(IMG_CLCL_STOP, URL_CLCL + "launch_stop.gif"); - registerImage(IMG_CLCL_DISCONNECT, URL_CLCL + "launch_disconnect.gif"); - - registerImage(IMG_DLCL_PUBLISH, URL_DLCL + "launch_publish.gif"); - registerImage(IMG_DLCL_START, URL_DLCL + "launch_run.gif"); - registerImage(IMG_DLCL_START_DEBUG, URL_DLCL + "launch_debug.gif"); - registerImage(IMG_DLCL_START_PROFILE, URL_DLCL + "launch_profile.gif"); - registerImage(IMG_DLCL_RESTART, URL_DLCL + "launch_restart.gif"); - registerImage(IMG_DLCL_STOP, URL_DLCL + "launch_stop.gif"); - registerImage(IMG_DLCL_DISCONNECT, URL_DLCL + "launch_disconnect.gif"); - - // load general object images - registerImage(IMG_SERVER, URL_OBJ + "server.gif"); - registerImage(IMG_SERVER_CONFIGURATION_NONE, URL_OBJ + "configuration_none.gif"); - registerImage(IMG_SERVER_CONFIGURATION_MISSING, URL_OBJ + "configuration_missing.gif"); - registerImage(IMG_PROJECT_MISSING, URL_OBJ + "project_missing.gif"); - registerImage(IMG_REPAIR_CONFIGURATION, URL_OBJ + "repair_config.gif"); - - registerImage(IMG_PUBLISH_ENABLED, URL_OBJ + "publish_enabled.gif"); - registerImage(IMG_PUBLISH_DISABLED, URL_OBJ + "publish_disabled.gif"); - - registerImage(IMG_MONITOR_ON, URL_OBJ + "monitorOn.gif"); - registerImage(IMG_MONITOR_OFF, URL_OBJ + "monitorOff.gif"); - - registerImage(IMG_DEFAULT_SERVER_OVERLAY, URL_OVR + "default_server_ovr.gif"); - - // audio images - registerImage(IMG_AUDIO_SOUND, URL_OBJ + "audio_sound.gif"); - registerImage(IMG_AUDIO_CATEGORY, URL_OBJ + "audio_category.gif"); - - loadServerImages(); - - PlatformUI.getWorkbench().getProgressService().registerIconForFamily( - getImageDescriptor(IMG_SERVER), ServerPlugin.PLUGIN_ID); - } - - /** - * Register an image with the registry. - * - * @param key java.lang.String - * @param partialURL java.lang.String - */ - private static void registerImage(String key, String partialURL) { - try { - ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL)); - imageRegistry.put(key, id); - imageDescriptors.put(key, id); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error registering image " + key + " from " + partialURL, e); - } - } - - /** - * Load the server images. - */ - private static void loadServerImages() { - Trace.trace(Trace.CONFIG, "->- Loading .serverImages extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - loadServerImages(registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_SERVER_IMAGES)); - ServerUIPlugin.addRegistryListener(); - Trace.trace(Trace.CONFIG, "-<- Done loading .serverImages extension point -<-"); - } - - /** - * Load the server images. - */ - private static void loadServerImages(IConfigurationElement[] cf) { - int size = cf.length; - for (int i = 0; i < size; i++) { - try { - String pluginId = cf[i].getDeclaringExtension().getNamespace(); - String iconPath = cf[i].getAttribute("icon"); - ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, iconPath); - if (imageDescriptor == null && iconPath != null && iconPath.length() > 0) - imageDescriptor = ImageDescriptor.getMissingImageDescriptor(); - - if (imageDescriptor != null) { - String typeId = cf[i].getAttribute("typeIds"); - if (typeId == null) - typeId = cf[i].getAttribute("moduleId"); - imageRegistry.put(typeId, imageDescriptor); - imageDescriptors.put(typeId, imageDescriptor); - } - Trace.trace(Trace.CONFIG, " Loaded serverImage: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load serverImage: " + cf[i].getAttribute("id"), t); - } - } - } - - protected static void handleServerImageDelta(IExtensionDelta delta) { - if (imageRegistry == null) // not loaded yet - return; - - IConfigurationElement[] cf = delta.getExtension().getConfigurationElements(); - - if (delta.getKind() == IExtensionDelta.ADDED) - loadServerImages(cf); - else { - int size = cf.length; - for (int i = 0; i < size; i++) { - String typeId = cf[i].getAttribute("typeIds"); - imageRegistry.remove(typeId); - imageDescriptors.remove(typeId); - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchClientJob.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchClientJob.java deleted file mode 100644 index 4513bef29..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchClientJob.java +++ /dev/null @@ -1,87 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.swt.widgets.Display; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.*; -/** - * - */ -public class LaunchClientJob extends ChainedJob { - protected IModule[] module; - protected IClient client; - protected ILaunchableAdapter launchableAdapter; - protected String launchMode; - protected IModuleArtifact moduleArtifact; - - public LaunchClientJob(IServer server, IModule[] module, String launchMode, IModuleArtifact moduleArtifact, ILaunchableAdapter launchableAdapter, IClient client) { - super(Messages.launchingClientTask, server); - this.module = module; - this.launchMode = launchMode; - this.moduleArtifact = moduleArtifact; - this.launchableAdapter = launchableAdapter; - this.client = client; - setRule(new ServerSchedulingRule(server)); - } - - /** (non-Javadoc) - * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) - */ - protected IStatus run(IProgressMonitor monitor) { - Trace.trace(Trace.FINER, "LaunchClient job"); - IStatus status = Status.OK_STATUS; - - // wait for up to 5 minutes - final Server server = (Server) getServer(); - int state = server.getModuleState(module); - int count = ServerPreferences.getInstance().getModuleStartTimeout(); - while (state == IServer.STATE_STARTING && count > 0) { - if (monitor.isCanceled()) - return status; - try { - Thread.sleep(2000); - } catch (Exception e) { - // ignore - } - count -= 2000; - state = server.getModuleState(module); - } - - Trace.trace(Trace.FINER, "LaunchClient job 2 " + state); - - if (monitor.isCanceled()) - return status; - - if (state == IServer.STATE_STARTING) - return status; - - Trace.trace(Trace.FINER, "LaunchClient job 3"); - - // display client on UI thread - Display.getDefault().asyncExec(new Runnable() { - public void run() { - Trace.trace(Trace.FINEST, "Attempting to load client: " + client); - try { - Object launchable = launchableAdapter.getLaunchable(server, moduleArtifact); - client.launch(server, launchable, launchMode, server.getExistingLaunch()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Server client failed", e); - } - } - }); - Trace.trace(Trace.FINER, "LaunchClient job 4"); - return status; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java deleted file mode 100644 index 1929da07b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java +++ /dev/null @@ -1,305 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.osgi.util.NLS; -/** - * Translated messages. - */ -public class Messages extends NLS { - public static String dialogMonitorDescription; - public static String dialogMonitorAddDescription; - public static String errorVersionLevel; - public static String loadingTask; - public static String createServerProjectDialogMessage; - public static String defaultServerProjectName; - public static String terminateServerDialogMessage; - public static String actionMonitorPort; - public static String deleteServerDialogTitle; - public static String deleteServerDialogMessage; - public static String deleteServerDialogMessageMany; - public static String deleteServerDialogLooseConfigurations; - public static String deleteServerDialogRunningServer; - public static String deleteServerDialogRunningServerStop; - public static String deleteServerTask; - public static String errorCouldNotCreateServerProjectStatus; - public static String dialogStoppingServer; - public static String savingTask; - public static String editorSaveErrorDialog; - public static String editorSaveErrorMessage; - public static String editorReadOnlyFiles; - public static String errorEditor; - public static String editorUndoDisabled; - public static String editorUndoEnabled; - public static String editorRedoDisabled; - public static String editorRedoEnabled; - public static String editorResourceDeleteTitle; - public static String editorResourceDeleteServerMessage; - public static String editorResourceDeleteSave; - public static String resourceDirtyDialogMessage; - public static String wizSelectClientTitle; - public static String wizSelectClientDescription; - public static String resourceDirtyDialogTitle; - public static String resourceDirtyDialogContinue; - public static String wizNewRuntimeWizardTitle; - public static String serverLaunchDescription; - public static String serverLaunchServer; - public static String serverLaunchHost; - public static String serverLaunchRuntime; - public static String errorNoServerSelected; - public static String errorServerAlreadyRunning; - public static String errorInvalidServer; - public static String serverLaunchConfigurationTab; - public static String wizSelectClientMessage; - public static String errorCouldNotCreateServerProject; - public static String errorDialogTitle; - public static String editorValidateEditFailureMessage; - public static String prefProjectDescription; - public static String prefProjectNotModule; - public static String prefProject; - public static String prefProjectDefaultServer; - public static String prefProjectNotConfigured; - public static String prefProjectNoServer; - public static String errorCouldNotSavePreference; - public static String preferenceRuntimesDescription; - public static String add; - public static String edit; - public static String remove; - public static String search; - public static String dialogRuntimeSearchMessage; - public static String dialogRuntimeSearchTitle; - public static String dialogRuntimeSearchProgress; - public static String infoNoRuntimesFound; - public static String wizEditRuntimeWizardTitle; - public static String preferenceRuntimesTable; - public static String dialogRuntimeInUse; - public static String defaultDialogTitle; - public static String preferenceRuntimesTitleLong; - public static String runtimeTargetCombo; - public static String runtimeTargetNone; - public static String runtimeTargetNewRuntime; - public static String runtimeTargetChildren; - public static String runtimeTargetRuntimePreferences; - public static String prefAutoPublish; - public static String prefAutoPublishLocal; - public static String prefAutoPublishLocalTime; - public static String prefAutoPublishRemote; - public static String prefAutoPublishRemoteTime; - public static String prefAutoRestart; - public static String prefPromptIrreversible; - public static String prefShowOnActivity; - public static String prefSyncStartup; - public static String prefSaveEditorsGroup; - public static String prefSaveEditorsNever; - public static String prefSaveEditorsPrompt; - public static String prefSaveEditorsAutosave; - public static String prefMachineSpeed; - public static String prefMachineSpeedVerySlow; - public static String prefMachineSpeedSlow; - public static String prefMachineSpeedAverage; - public static String prefMachineSpeedFast; - public static String prefMachineSpeedVeryFast; - public static String actionNew; - public static String actionNewServer; - public static String actionDebugToolTip; - public static String actionDebug; - public static String actionStartToolTip; - public static String actionStart; - public static String actionProfileToolTip; - public static String actionProfile; - public static String actionRestartToolTip; - public static String actionRestart; - public static String actionPublishToolTip; - public static String actionPublish; - public static String actionDelete; - public static String actionRemove; - public static String dialogRemoveModuleConfirm; - public static String terminateServerDialogTitle; - public static String actionDebugOnServer; - public static String actionProfileOnServer; - public static String actionRunOnServer; - public static String actionRestartModule; - public static String actionUpdateStatus; - public static String actionMoveServerToMetadata; - public static String actionMoveServerToWorkspace; - public static String dialogAddRemoveModulesNone; - public static String actionSetNewServer; - public static String errorNoModules; - public static String dialogModeWarningDebug; - public static String dialogModeWarningProfile; - public static String errorNoServer; - public static String errorNoClient; - public static String dialogModeWarningRestart; - public static String dialogModeWarningContinue; - public static String hostname; - public static String wizModuleTitle; - public static String wizModuleDescription; - public static String wizModuleMessage; - public static String wizModuleAvailableList; - public static String wizModuleDeployedList; - public static String wizModuleAdd; - public static String wizModuleRemove; - public static String wizModuleAddAll; - public static String wizModuleRemoveAll; - public static String wizTaskTitle; - public static String wizTaskDescription; - public static String wizTaskNone; - public static String wizErrorInvalidFolder; - public static String wizErrorClosedProject; - public static String createServerProjectDialogTitle; - public static String wizNewServerTitle; - public static String wizNewServerDescription; - public static String wizNewServerSelect; - public static String wizNewServerManual; - public static String wizSelectServerPreferred; - public static String wizNewServerExisting; - public static String wizNewServerRuntime; - public static String wizErrorServerCreationError; - public static String wizRunOnServerTitle; - public static String wizDebugOnServerTitle; - public static String wizProfileOnServerTitle; - public static String wizNewRuntimeTitle; - public static String wizNewRuntimeDescription; - public static String performingTasks; - public static String wizModuleWizardTitle; - public static String wizNewServerWizardTitle; - public static String wizSelectClientWizardTitle; - public static String wizTaskWizardTitle; - public static String viewBy; - public static String wizDescription; - public static String dialogMonitorColumnStatus; - public static String dialogMonitorColumnType; - public static String dialogMonitorColumnPort; - public static String dialogMonitorColumnMonitorPort; - public static String dialogMonitorColumnContentType; - public static String start; - public static String stop; - public static String dialogMonitorTitle; - public static String dialogMonitorMonitorPort; - public static String dialogMonitorContentType; - public static String dialogMonitorContentTypeAll; - public static String started; - public static String stopped; - public static String dialogMonitorContentTypeWeb; - public static String dialogMonitorContentTypeWebServices; - public static String columnName; - public static String columnType; - public static String runtimeTypeCompTree; - public static String runtimeTypeCompDescription; - public static String name; - public static String vendor; - public static String version; - public static String moduleSupport; - public static String installedRuntimes; - public static String wizNewServerSelectExisting; - public static String host; - public static String elementUnknownName; - public static String serverTypeCompLabel; - public static String viewServers; - public static String viewNoModules; - public static String actionMonitorProperties; - public static String actionOpen; - public static String viewServer; - public static String viewStatus; - public static String viewSync; - public static String actionStopToolTip; - public static String actionStop; - public static String actionModifyModulesToolTip; - public static String actionModifyModules; - public static String actionMonitor; - public static String viewSyncOkay; - public static String viewSyncRestart; - public static String viewSyncPublish; - public static String viewSyncRestartPublish; - public static String viewSyncPublishing; - public static String viewSyncOkay2; - public static String viewSyncRestart2; - public static String viewSyncPublish2; - public static String viewSyncRestartPublish2; - public static String viewSyncPublishing2; - public static String editorServerEditor; - public static String editorPromptIrreversible; - public static String editorRenameFiles; - public static String errorEditorCantSave; - public static String editorReadOnly; - public static String editorWritable; - public static String editorResourceModifiedTitle; - public static String editorReadOnlyMessage; - public static String editorServerModifiedMessage; - public static String editorResourceWarnTitle; - public static String editorResourceWarnMessage; - public static String serverEditorOverviewPageTitle; - public static String serverEditorOverviewGeneralSection; - public static String serverEditorOverviewGeneralDescription; - public static String serverEditorOverviewServerName; - public static String serverEditorOverviewServerHostname; - public static String serverEditorOverviewRuntime; - public static String serverEditorOverviewRuntimeEdit; - public static String serverEditorOverviewServerConfigurationPath; - public static String serverEditorOverviewServerConfigurationBrowse; - public static String serverEditorOverviewServerConfigurationBrowseMessage; - public static String serverEditorOverviewAutoPublishSection; - public static String serverEditorOverviewAutoPublishDescription; - public static String serverEditorOverviewAutoPublishDefault; - public static String serverEditorOverviewAutoPublishDefaultEdit; - public static String serverEditorOverviewAutoPublishDisable; - public static String serverEditorOverviewAutoPublishOverride; - public static String serverEditorOverviewAutoPublishOverrideInterval; - public static String serverEditorOverviewAutoPublishCommand; - public static String serverEditorOverviewAutoPublishInvalid; - public static String serverEditorOverviewServerHostnameCommand; - public static String serverEditorOverviewServerNameCommand; - public static String serverEditorOverviewRuntimeCommand; - public static String serverEditorOverviewOpenLaunchConfiguration; - public static String errorMissingConfiguration; - public static String viewStatusStarting4; - public static String viewStatusStarted2; - public static String viewStatusStopping4; - public static String viewStatusStopped2; - public static String viewStatusStarting1; - public static String viewStatusStarting2; - public static String viewStatusStarting3; - public static String viewStatusStopping1; - public static String viewStatusStopping2; - public static String viewStatusStopping3; - public static String viewStatusStartedDebug; - public static String viewStatusStartedProfile; - public static String viewStatusStarted; - public static String viewStatusStopped; - public static String actionStopToolTip2; - public static String actionStop2; - public static String launchingClientTask; - public static String wizNewInstallableServerTitle; - public static String wizNewInstallableServerDescription; - public static String installableServerCompTree; - public static String installableServerLink; - - public static String errorStartingMonitor; - public static String audioPrefSelectFile; - public static String audioPrefEnable; - public static String audioPrefVolume; - public static String audioPrefSounds; - public static String audioPrefSound; - public static String audioPrefFile; - public static String audioPrefPlay; - public static String audioPrefBrowse; - public static String audioPrefReset; - public static String audioUnknown; - public static String audioNone; - public static String audioDefault; - - public static String preferenceInternetDescription; - public static String internalWebBrowserName; - - static { - NLS.initializeMessages(ServerUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties deleted file mode 100644 index 13e614f23..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties +++ /dev/null @@ -1,432 +0,0 @@ -############################################################################### -# Copyright (c) 2004, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -# --------------- Wizards --------------- -# (If the first two lines in a group do not start with "wiz", it is because -# those lines are displayed in the workbench "New" wizard. The rest of the -# text is displayed in each actual wizard) - -# New Server (and Configuration) Wizard -wizNewServerWizardTitle=New Server -wizNewServerTitle=Define a New Server -wizNewServerDescription=Choose the type of server to create -wizNewServerRuntime=Server &runtime: - -wizNewServerSelect=How do you want to select the server? -wizNewServerExisting=Choose an e&xisting server -wizNewServerManual=&Manually define a new server -wizNewServerSelectExisting=Select the server that you want to use: - -# Select Server wizard -wizRunOnServerTitle=Run On Server -wizDebugOnServerTitle=Debug On Server -wizProfileOnServerTitle=Profile On Server -wizSelectServerPreferred=Set server as project &default (do not ask again) - -# Select Server Client Wizard -wizSelectClientWizardTitle=Select a Server Client -wizSelectClientTitle=Select a server client -wizSelectClientDescription=Select a client to use with this server. -wizSelectClientMessage=Multiple clients can run on the current selection. Select a client from the list below: - -# Task Wizard -wizTaskWizardTitle=Select Tasks -wizTaskTitle=Select Tasks -wizTaskDescription=Select the tasks to perform on the server. -wizTaskNone=There are currently no tasks that need to be performed. - -# New Runtime Wizard -wizNewRuntimeWizardTitle=New Server Runtime -wizNewRuntimeTitle=New Server Runtime -wizNewRuntimeDescription=Define a new installed server runtime environment -wizEditRuntimeWizardTitle=Edit Server Runtime - -# New Installable Server Wizard -wizNewInstallableServerTitle=Install New Server -wizNewInstallableServerDescription=Download and install support for a new server - -# Add/Remove Modules -wizModuleWizardTitle=Add and Remove Projects -wizModuleTitle=Add and Remove Projects -wizModuleDescription=Modify the projects that are configured on the server -wizModuleMessage=Move projects to the right to configure them on the server -wizModuleAvailableList=&Available projects: -wizModuleDeployedList=&Configured projects: -wizModuleAdd=A&dd > -wizModuleAddAll=Add A&ll >> -wizModuleRemove=< &Remove -wizModuleRemoveAll=<< Re&move All - -# General text used in multiple wizards -wizDescription=Description: - -# Wizard info and error messages -wizErrorInvalidFolder=The folder must be a server project or a folder within a server project -wizErrorClosedProject=The folder must not be in a closed project -wizErrorServerCreationError=Cannot create a server using the selected type - - -# --------------- Views --------------- - -# --- Server Configuration view --- -viewServers=Servers - -viewNoModules=Nothing deployed - -# Actions -actionDelete=Delete -actionRemove=Remove -actionOpen=Open -actionMonitor=Monitoring -actionMonitorPort=Monitor port {0} ({1}) -actionMonitorProperties=Properties -actionNew=New -actionNewServer=Server - -# --- Servers view --- -# Column titles -viewServer=Server -viewStatus=Status -viewSync=State - -# Actions -actionStart=Start -actionStartToolTip=Start the server -actionDebug=Debug -actionDebugToolTip=Start the server in debug mode -actionProfile=Profile -actionProfileToolTip=Start the server in profiling mode -actionStop=Stop -actionStopToolTip=Stop the server -actionRestart=Restart -actionRestartToolTip=Restart the server -actionPublish=Publish -actionPublishToolTip=Publish to the server -actionModifyModules=Add and Remove Projects... -actionModifyModulesToolTip=Add and remove projects -actionRestartModule=Restart {0} -actionUpdateStatus=Refresh Status -actionMoveServerToMetadata=Move to Metadata -actionMoveServerToWorkspace=Move to Workspace - -# Status column text -viewStatusStarted=Started -viewStatusStartedDebug=Debugging -viewStatusStartedProfile=Profiling -viewStatusStopped=Stopped - -viewStatusStarting1=Starting. -viewStatusStarting2=Starting.. -viewStatusStarting3=Starting... - -viewStatusStopping1=Stopping. -viewStatusStopping2=Stopping.. -viewStatusStopping3=Stopping... - -# Server State text -viewSyncOkay=Synchronized -viewSyncRestart=Restart -viewSyncPublish=Republish -viewSyncRestartPublish=Restart & republish -viewSyncPublishing=Publishing... - -# --- set 2 --- -# Actions -actionStop2=Disconnect -actionStopToolTip2=Disconnect from the server - -# Status column text -viewStatusStarting4=Connecting -viewStatusStarted2=Connected -viewStatusStopping4=Disconnecting -viewStatusStopped2=Disconnected - -# Server State text -viewSyncOkay2=Synchronized -viewSyncRestart2=Reconnect -viewSyncPublish2=Republish -viewSyncRestartPublish2=Reconnect and republish -viewSyncPublishing2=Publishing... - - -# --------------- Action Sets (toolbar icon groups) --------------- - -# Servers action set -actionSetNewServer=Create Server - -# Run on Server actions -actionRunOnServer=Run on Server... -actionDebugOnServer=Debug on Server... -actionProfileOnServer=Profile on Server... - - -# --------------- Preferences --------------- - -# Names of the preference pages -preferenceRuntimesTitleLong=Installed Server Runtime Environments - -# Server preferences -prefAutoPublish=Automatically p&ublish when starting servers -prefAutoPublishLocal=Automatically publish to &local servers -prefAutoPublishLocalTime=Publishing inter&val (in seconds): -prefAutoPublishRemote=Automatically publish to rem&ote servers -prefAutoPublishRemoteTime=Publishing interv&al (in seconds): -prefAutoRestart=Automatically &restart servers when necessary -prefPromptIrreversible=Prompt before making &irreversible changes within an editor -prefShowOnActivity=Show &Servers view when server state changes -prefMachineSpeed=Server &timeout delay: -prefMachineSpeedVerySlow=Longer -prefMachineSpeedSlow=Long -prefMachineSpeedAverage=Normal -prefMachineSpeedFast=Short -prefMachineSpeedVeryFast=Shorter -prefSyncStartup=S&ynchronize servers on startup - -prefSaveEditorsGroup=Save dirty editors before starting server -prefSaveEditorsNever=&Never -prefSaveEditorsPrompt=Pro&mpt -prefSaveEditorsAutosave=Auto-sav&e - -# Project properties preferences -prefProjectDescription=Set the runtime target and the default server for the project. -prefProject=Project: -prefProjectDefaultServer=De&fault server: -prefProjectNotModule=This project cannot be deployed to a server. -prefProjectNotConfigured=Not currently deployed to any servers -prefProjectNoServer=<None> - -# Installed runtimes -preferenceRuntimesDescription=Add, remove, or edit installed server runtime definitions.\nThe checked runtime will be used by default when creating new projects. -preferenceRuntimesTable=&Installed server runtimes: - - -# --------------- Tasks (progress monitors) --------------- - -# General tasks -savingTask=Saving {0}. -loadingTask=Loading {0}. -performingTasks=Performing tasks. -launchingClientTask=Launching client - -# --------------- Dialogs --------------- - -# Delete Server dialog -deleteServerDialogTitle=Delete Server -deleteServerDialogMessage=Are you sure you want to delete {0}? -deleteServerDialogMessageMany=Are you sure you want to delete the {0} servers? -deleteServerDialogLooseConfigurations=Delete unused server configuration(s) -deleteServerDialogRunningServer=Delete running server(s) -deleteServerDialogRunningServerStop=Stop server(s) before deleting -deleteServerTask=Deleting server(s)... - -# Create Server Project dialog -createServerProjectDialogTitle=Create Server Project -createServerProjectDialogMessage=Do you want to create a new server project with the name {0}? - -# Terminate Server dialog -terminateServerDialogTitle=Terminate Server -terminateServerDialogMessage=Server {0} is not responding. Do you want to terminate this server? Click OK to terminate the server or click Cancel to continue waiting. - -# Server resource dirty dialog -resourceDirtyDialogTitle=Server Resource Dirty -resourceDirtyDialogMessage=The server resource {0} has unsaved changes. Do you want to continue? -resourceDirtyDialogContinue=Continue - -runtimeTargetCombo=&Target runtime: -runtimeTargetNone=<None> -runtimeTargetNewRuntime=&New... -runtimeTargetRuntimePreferences=Configure &Installed Runtimes... -runtimeTargetChildren=Target contained projects - -# General dialogs -defaultDialogTitle=Server -dialogStoppingServer=Stopping server {0}. - -# restart warning dialog -dialogModeWarningDebug=The server is not running in debug mode. You may restart the server in debug mode, continue without debugging, or cancel the operation. -dialogModeWarningProfile=The server is not running in profiling mode. You may restart the server in profiling mode, continue without profiling, or cancel the operation. -dialogModeWarningRestart=Restart -dialogModeWarningContinue=Continue - -# Monitor dialog -dialogMonitorTitle=Monitoring Ports -dialogMonitorDescription=The following ports are being monitored on server {0}: -dialogMonitorAddDescription=The server {0} has the following ports that can be monitored: -dialogMonitorColumnPort=Server Port -dialogMonitorColumnType=Type -dialogMonitorColumnMonitorPort=Monitor Port -dialogMonitorColumnContentType=Content Type -dialogMonitorColumnStatus=Status -dialogMonitorMonitorPort=Monitor port: -dialogMonitorContentType=Content type: -dialogMonitorContentTypeAll=All -dialogMonitorContentTypeWeb=Web -dialogMonitorContentTypeWebServices=WebServices - -start=Start -stop=Stop -started=Started -stopped=Stopped - -# Confirm runtime removal -dialogRuntimeInUse=The runtime is currently being used and deleting it will cause compilation or runtime problems. Delete the runtime anyway? - -# runtime locator search dialog -dialogRuntimeSearchTitle=Search For Runtimes -dialogRuntimeSearchMessage=Select the directory in which to search for server runtimes: -dialogRuntimeSearchProgress=Searching for server runtime environments... - -# Can't add remove -dialogAddRemoveModulesNone=There are no projects that can be added or removed from the server. - -dialogRemoveModuleConfirm=Are you sure you want to remove the project from the server? - -# --------------- Misc UI --------------- - -# runtime composite -runtimeTypeCompDescription=Runtimes are used at build time to compile projects. -runtimeTypeCompTree=Select the type of &runtime that you want to define: -serverTypeCompLabel=Select the &server type: -name=Name -vendor=Vendor -version=Version -host=Host name -moduleSupport=Module Support -viewBy=&View By: -installedRuntimes=&Installed Runtimes... - -# installable server composite -installableServerCompTree=Select the &server support to install: -installableServerLink=Don't see your server listed? Click here - -# misc composites -hostname=Server's &host name: - -# Server launch configuration tab -serverLaunchDescription=This launch configuration can be used to launch the server specified below. To access further options for configuring the server, open the server's editor from the Servers view. -serverLaunchConfigurationTab=Server -serverLaunchServer=Server: -serverLaunchRuntime=Runtime: -serverLaunchHost=Host name: - -# Error Messages -errorDialogTitle=Server Error -errorServerAlreadyRunning=Server already running -errorNoServerSelected=No server selected -errorInvalidServer=Invalid server -errorCouldNotCreateServerProject=Could not create server project -errorCouldNotCreateServerProjectStatus=Could not create server project: {0} -errorNoModules=No launchable artifact could be found in the selection -errorNoServer=Could not find a server to run the selection -errorNoClient=Could not find a client that is able to launch the selection -errorCouldNotSavePreference=Could not save server preference information. -errorEditorCantSave=Can't save the server resource for the following reason(s): -errorEditor=Could not open editor because {0} is not a valid server or server configuration. -errorVersionLevel=The server does not support version {1} of the {0} specification. -errorMissingConfiguration=The server configuration is missing or invalid - -# Info messages -infoNoRuntimesFound=No server runtimes were found. - -# Default server creation names -# {0} will be replaced by a number if the given name is already being used -defaultServerProjectName=Servers{0} - -# Used when a name can't be found -elementUnknownName=<unknown> - -columnName=Name -columnType=Type - -add=&Add... -edit=&Edit... -remove=&Remove -search=&Search... - -# --------------- Editor support --------------- - -serverEditorOverviewPageTitle=Server Overview -serverEditorOverviewGeneralSection=General -serverEditorOverviewGeneralDescription=Specify the host name and other common settings. -serverEditorOverviewServerName=Server name: -serverEditorOverviewServerNameCommand=set server name -serverEditorOverviewServerConfigurationPath=Configuration path: -serverEditorOverviewServerConfigurationBrowse=Browse -serverEditorOverviewServerConfigurationBrowseMessage=Specify the location of the server configuration. -serverEditorOverviewServerHostname=Host name: -serverEditorOverviewServerHostnameCommand=set host name -serverEditorOverviewRuntime=Runtime: -serverEditorOverviewRuntimeEdit=Edit -serverEditorOverviewRuntimeCommand=set runtime - -serverEditorOverviewAutoPublishSection=Automatic Publishing -serverEditorOverviewAutoPublishDescription=Override when the server is automatically published to. -serverEditorOverviewAutoPublishDefault=Use default publishing settings -serverEditorOverviewAutoPublishDefaultEdit=Edit -serverEditorOverviewAutoPublishOverride=Override default settings -serverEditorOverviewAutoPublishOverrideInterval=Publishing interval (in seconds): -serverEditorOverviewAutoPublishDisable=Never publish automatically -serverEditorOverviewAutoPublishCommand=modify publish settings -serverEditorOverviewOpenLaunchConfiguration=Open launch configuration -serverEditorOverviewAutoPublishInvalid=The automatic publish setting is invalid. It must be a {0} seconds or more. - -# Menu items. {0} will be replaced by one of the xxxEditorActionXxx fields -# from below. @Ctrl+Z is the menu mnemonic -editorUndoEnabled=Undo {0}@Ctrl+Z -editorUndoDisabled=Undo@Ctrl+Z -editorRedoEnabled=Redo {0}@Ctrl+Y -editorRedoDisabled=Redo@Ctrl+Y - -editorSaveErrorDialog=Save Problems -editorSaveErrorMessage=Error while saving. {0} - -editorReadOnly=Read Only -editorWritable=Writable -editorReadOnlyFiles=Read Only files: {0} - -editorServerEditor=Server Editor -editorPromptIrreversible=This operation cannot be undone. Do you want to proceed? -editorRenameFiles=The server has been renamed. Do you want to rename the corresponding files to match? - -# message if a dirty resource is deleted -editorResourceDeleteTitle=Server Deleted -editorResourceDeleteServerMessage=The server {0} has been deleted from the file system. Do you want to save your changes or close the editor without saving? -editorResourceDeleteSave=Save - -editorResourceModifiedTitle=File Changed -editorServerModifiedMessage=The server has been changed on the file system. Do you want to load the changes? - -editorValidateEditFailureMessage=The server cannot be edited. -editorReadOnlyMessage=File(s) being edited have become read-only. The editor will become read-only and changes will be lost. - -editorResourceWarnTitle=Server Modification Warning -editorResourceWarnMessage=The server you are modifying is read-only. All changes will be lost because the server cannot be saved. - - -audioPrefSelectFile=Select Audio File -audioPrefEnable=&Enable sounds -audioPrefVolume=&Volume: -audioPrefSounds=&Sounds: -audioPrefSound=Sound -audioPrefFile=Audio File -audioPrefPlay=&Play -audioPrefBrowse=&Browse... -audioPrefReset=&Reset - -audioUnknown=(unknown) -audioDefault=(default) -audioNone=(none) - -errorStartingMonitor=Could not start the server monitor: {0} - -internalWebBrowserName=Internal Web Browser - -preferenceInternetDescription=General internet settings are available in the contained preference pages.
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java deleted file mode 100644 index fa265e068..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/OverlayImageDescriptor.java +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.debug.ui.IDebugUIConstants; -import org.eclipse.jface.resource.CompositeImageDescriptor; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.ImageData; -import org.eclipse.swt.graphics.Point; -/** - * A OverlayImageDescriptor consists of a main icon and one or more overlays. - * The overlays are computed according to flags set on creation of the descriptor. - */ -public class OverlayImageDescriptor extends CompositeImageDescriptor { - // flag to render the error overlay - public final static int ERROR = 0x001; - - private Image fBaseImage; - private int fFlags; - private Point fSize; - - /** - * Create a new OverlayImageDescriptor. - * - * @param baseImage an image descriptor used as the base image - * @param flags flags indicating which adornments are to be rendered - */ - public OverlayImageDescriptor(Image baseImage, int flags) { - setBaseImage(baseImage); - setFlags(flags); - } - - /** - * @see CompositeImageDescriptor#getSize() - */ - protected Point getSize() { - if (fSize == null) { - ImageData data = getBaseImage().getImageData(); - setSize(new Point(data.width, data.height)); - } - return fSize; - } - - /** - * @see Object#equals(java.lang.Object) - */ - public boolean equals(Object object) { - if (!(object instanceof OverlayImageDescriptor)) - return false; - - OverlayImageDescriptor other = (OverlayImageDescriptor) object; - return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags()); - } - - /** - * @see Object#hashCode() - */ - public int hashCode() { - return getBaseImage().hashCode() | getFlags(); - } - - /** - * @see CompositeImageDescriptor#drawCompositeImage(int, int) - */ - protected void drawCompositeImage(int width, int height) { - ImageData bg = getBaseImage().getImageData(); - if (bg == null) - bg = DEFAULT_IMAGE_DATA; - - drawImage(bg, 0, 0); - drawOverlays(); - } - - /** - * Add any overlays to the image as specified in the flags. - */ - protected void drawOverlays() { - int flags = getFlags(); - ImageData data = null; - if ((flags & ERROR) != 0) { - data = DebugUITools.getImage(IDebugUIConstants.IMG_OVR_ERROR).getImageData(); - int x = getSize().x - data.width; - drawImage(data, x, 0); - } - } - - protected Image getBaseImage() { - return fBaseImage; - } - - protected void setBaseImage(Image baseImage) { - fBaseImage = baseImage; - } - - protected int getFlags() { - return fFlags; - } - - protected void setFlags(int flags) { - fFlags = flags; - } - - protected void setSize(Point size) { - fSize = size; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProgressUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProgressUtil.java deleted file mode 100644 index c5a3e8d4a..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProgressUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.runtime.*; -/** - * Progress Monitor utility. - */ -public class ProgressUtil { - /** - * ProgressUtil constructor comment. - */ - private ProgressUtil() { - super(); - } - - /** - * Return a valid progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) { - if (monitor == null) - return new NullProgressMonitor(); - return monitor; - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - * @param ticks int - * @return org.eclipse.core.runtime.IProgressMonitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks); - } - - /** - * Return a sub-progress monitor with the given amount on the - * current progress monitor. - * - * @param monitor a progress monitor, or null - * @param ticks a number of ticks - * @param style a style - * @return a progress monitor - */ - public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) { - if (monitor == null) - return new NullProgressMonitor(); - if (monitor instanceof NullProgressMonitor) - return monitor; - return new SubProgressMonitor(monitor, ticks, style); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java deleted file mode 100644 index 0ff6db22b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java +++ /dev/null @@ -1,205 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.ui.dialogs.PropertyPage; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleType; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.ui.ServerUICore; -/** - * PropertyPage for IProjects. It shows the server and runtime preference for the project. - */ -public class ProjectPropertyPage extends PropertyPage { - protected IProject project; - protected IModule module; - protected IServer server; - - /** - * ProjectPropertyPage constructor comment. - */ - public ProjectPropertyPage() { - super(); - } - - /** - * Create the body of the page. - * - * @param parent org.eclipse.swt.widgets.Composite - * @return org.eclipse.swt.widgets.Control - */ - protected Control createContents(Composite parent) { - try { - IAdaptable element = getElement(); - if (element instanceof IProject) - project = (IProject) element; - - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.marginHeight = 0; - layout.marginWidth = 0; - layout.numColumns = 4; - layout.verticalSpacing = 10; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - - Label label = new Label(composite, SWT.WRAP); - label.setText(Messages.prefProjectDescription); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 4; - data.widthHint = 200; - label.setLayoutData(data); - - module = ServerUtil.getModule(project); - if (module == null) { - label = new Label(composite, SWT.NONE); - label.setText(Messages.prefProjectNotModule); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 4; - label.setLayoutData(data); - } else { - IModuleType mt = module.getModuleType(); - if (mt != null) { - label = new Label(composite, SWT.NONE); - label.setText(Messages.prefProject); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - label.setLayoutData(data); - - Label moduleKind = new Label(composite, SWT.NONE); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - moduleKind.setLayoutData(data); - moduleKind.setText(module.getName() + " (" + mt.getName() + ")"); - } - - IServer prefServer = ServerCore.getDefaultServer(module); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.prefProjectDefaultServer); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - label.setLayoutData(data); - - final IServer[] servers = getServersBySupportedModule(module); - if (servers == null || servers.length == 0) { - label = new Label(composite, SWT.WRAP); - label.setText(Messages.prefProjectNotConfigured); - data = new GridData(); - data.horizontalSpan = 3; - label.setLayoutData(data); - } else { - final Table table = new Table(composite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 3; - data.heightHint = 70; - table.setLayoutData(data); - - // add none option - TableItem item = new TableItem(table, SWT.NONE); - item.setText(Messages.prefProjectNoServer); - //item.setImage(); - - int size2 = servers.length; - int count = 0; - for (int j = 0; j < size2; j++) { - item = new TableItem(table, SWT.NONE); - item.setText(ServerUICore.getLabelProvider().getText(servers[j])); - item.setImage(ServerUICore.getLabelProvider().getImage(servers[j])); - item.setData(servers[j]); - if (servers[j].equals(prefServer)) - count = j + 1; - } - - table.setSelection(count); - - table.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - int index = table.getSelectionIndex(); - if (index == 0) { - server = null; - } else if (index > 0) { - server = servers[index-1]; - } - } - }); - } - } - - Dialog.applyDialogFont(composite); - - return composite; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error creating project property page", e); - return null; - } - } - - /** - * Returns a list of all servers that this module is configured on. - * - * @param module org.eclipse.wst.server.core.IModule - * @return java.util.List - */ - protected static IServer[] getServersBySupportedModule(IModule module) { - if (module == null) - return new IServer[0]; - - // do it the slow way - go through all servers and - // see if this module is configured in it - List list = new ArrayList(); - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (ServerUtil.isSupportedModule(servers[i].getServerType().getRuntimeType().getModuleTypes(), module.getModuleType())) - list.add(servers[i]); - } - } - - IServer[] allServers = new IServer[list.size()]; - list.toArray(allServers); - return allServers; - } - - /** - * @see org.eclipse.jface.preference.PreferencePage#performOk() - */ - public boolean performOk() { - if (module != null) { - try { - ServerCore.setDefaultServer(module, server, null); - } catch (CoreException e) { - Trace.trace(Trace.SEVERE, "Error setting preferred server", e); - EclipseUtil.openError(Messages.errorCouldNotSavePreference, e.getStatus()); - return false; - } - } - return super.performOk(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java deleted file mode 100644 index b576ed572..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimePreferencePage.java +++ /dev/null @@ -1,387 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.util.ArrayList; -import java.util.Iterator; -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.core.runtime.Path; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.IRuntimeLocator; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.ui.internal.viewers.RuntimeComposite; -import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog; -import org.eclipse.wst.server.ui.internal.wizard.TaskWizard; -import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil; -import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * The preference page that holds server runtimes. - */ -public class RuntimePreferencePage extends PreferencePage implements IWorkbenchPreferencePage { - protected Button edit; - protected Button remove; - protected Label pathLabel; - - /** - * RuntimePreferencesPage constructor comment. - */ - public RuntimePreferencePage() { - super(); - noDefaultAndApplyButton(); - } - - /** - * Create the preference options. - * - * @param parent org.eclipse.swt.widgets.Composite - * @return org.eclipse.swt.widgets.Control - */ - protected Control createContents(Composite parent) { - initializeDialogUnits(parent); - PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, ContextIds.PREF_GENERAL); - - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); - layout.verticalSpacing = convertVerticalDLUsToPixels(3); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 2; - composite.setLayout(layout); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - composite.setLayoutData(data); - - Label label = new Label(composite, SWT.WRAP); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 2; - label.setLayoutData(data); - label.setText(Messages.preferenceRuntimesDescription); - - label = new Label(composite, SWT.WRAP); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 2; - label.setLayoutData(data); - label.setText(Messages.preferenceRuntimesTable); - - final RuntimeComposite runtimeComp = new RuntimeComposite(composite, SWT.NONE, new RuntimeComposite.RuntimeSelectionListener() { - public void runtimeSelected(IRuntime runtime) { - if (runtime == null) { - edit.setEnabled(false); - remove.setEnabled(false); - pathLabel.setText(""); - } else if (runtime.isReadOnly()) { - edit.setEnabled(false); - remove.setEnabled(false); - pathLabel.setText(runtime.getLocation() + ""); - } else { - edit.setEnabled(true); - remove.setEnabled(true); - pathLabel.setText(runtime.getLocation() + ""); - } - } - }); - runtimeComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); - - Composite buttonComp = new Composite(composite, SWT.NONE); - layout = new GridLayout(); - layout.horizontalSpacing = 0; - layout.verticalSpacing = convertVerticalDLUsToPixels(3); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 1; - buttonComp.setLayout(layout); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - buttonComp.setLayoutData(data); - - Button add = SWTUtil.createButton(buttonComp, Messages.add); - add.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (showWizard(null) == Window.CANCEL) - return; - runtimeComp.refresh(); - } - }); - - edit = SWTUtil.createButton(buttonComp, Messages.edit); - edit.setEnabled(false); - edit.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IRuntime runtime = runtimeComp.getSelectedRuntime(); - if (runtime != null) { - IRuntimeWorkingCopy runtimeWorkingCopy = runtime.createWorkingCopy(); - if (showWizard(runtimeWorkingCopy) != Window.CANCEL) { - try { - runtimeWorkingCopy.save(false, null); - runtimeComp.refresh(runtime); - } catch (Exception ex) { - // ignore - } - } - } - } - }); - - remove = SWTUtil.createButton(buttonComp, Messages.remove); - remove.setEnabled(false); - remove.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IRuntime runtime = runtimeComp.getSelectedRuntime(); - if (shouldRemoveRuntime(runtime)) - try { - runtime.delete(); - runtimeComp.remove(runtime); - } catch (Exception ex) { - // ignore - } - } - }); - - Button search = SWTUtil.createButton(buttonComp, Messages.search); - data = (GridData) search.getLayoutData(); - data.verticalIndent = 9; - search.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - try { - // select a target directory for the search - DirectoryDialog directoryDialog = new DirectoryDialog(getShell()); - directoryDialog.setMessage(Messages.dialogRuntimeSearchMessage); - directoryDialog.setText(Messages.dialogRuntimeSearchTitle); - - String pathStr = directoryDialog.open(); - if (pathStr == null) - return; - - final IPath path = new Path(pathStr); - - final ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell()); - dialog.setBlockOnOpen(false); - dialog.setCancelable(true); - dialog.open(); - final IProgressMonitor monitor = dialog.getProgressMonitor(); - final IRuntimeLocator[] locators = ServerPlugin.getRuntimeLocators(); - monitor.beginTask(Messages.dialogRuntimeSearchProgress, 100 * locators.length + 10); - final List list = new ArrayList(); - - final IRuntimeLocator.IRuntimeSearchListener listener = new IRuntimeLocator.IRuntimeSearchListener() { - public void runtimeFound(final IRuntimeWorkingCopy runtime) { - dialog.getShell().getDisplay().syncExec(new Runnable() { - public void run() { - monitor.subTask(runtime.getName()); - } - }); - list.add(runtime); - } - }; - - IRunnableWithProgress runnable = new IRunnableWithProgress() { - public void run(IProgressMonitor monitor2) { - if (locators != null) { - int size = locators.length; - for (int i = 0; i < size; i++) { - if (!monitor2.isCanceled()) - try { - locators[i].searchForRuntimes(path, listener, monitor2); - } catch (CoreException ce) { - Trace.trace(Trace.WARNING, "Error locating runtimes: " + locators[i].getId(), ce); - } - } - } - Trace.trace(Trace.INFO, "Done search"); - } - }; - dialog.run(true, true, runnable); - - Trace.trace(Trace.FINER, "Found runtimes: " + list.size()); - - if (!monitor.isCanceled()) { - if (list.isEmpty()) { - EclipseUtil.openError(getShell(), Messages.infoNoRuntimesFound); - return; - } - monitor.worked(5); - // remove duplicates from list (based on location) - Trace.trace(Trace.FINER, "Removing duplicates"); - List good = new ArrayList(); - Iterator iterator2 = list.iterator(); - while (iterator2.hasNext()) { - boolean dup = false; - IRuntime wc = (IRuntime) iterator2.next(); - - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (runtimes[i].getLocation() != null && runtimes[i].getLocation().equals(wc.getLocation())) - dup = true; - } - } - if (!dup) - good.add(wc); - } - monitor.worked(5); - - // add to list - Trace.trace(Trace.FINER, "Adding runtimes: " + good.size()); - Iterator iterator = good.iterator(); - while (iterator.hasNext()) { - IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) iterator.next(); - wc.save(false, monitor); - } - monitor.done(); - } - dialog.close(); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error finding runtimes", ex); - } - runtimeComp.refresh(); - } - }); - - pathLabel = new Label(parent, SWT.NONE); - pathLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - Dialog.applyDialogFont(composite); - - return composite; - } - - protected boolean shouldRemoveRuntime(IRuntime runtime) { - if (runtime == null) - return false; - - // check for use - boolean inUse = false; - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (runtime.equals(servers[i].getRuntime())) - inUse = true; - } - } - - /*IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - if (projects != null) { - int size = projects.length; - for (int i = 0; i < size; i++) { - IProjectProperties props = ServerCore.getProjectProperties(projects[i]); - if (runtime.equals(props.getRuntimeTarget())) - inUse = true; - } - }*/ - - if (inUse) { - if (!MessageDialog.openConfirm(getShell(), Messages.defaultDialogTitle, Messages.dialogRuntimeInUse)) - return false; - } - - return true; - } - - protected int showWizard(final IRuntimeWorkingCopy runtimeWorkingCopy) { - String title = null; - WizardFragment fragment = null; - TaskModel taskModel = new TaskModel(); - if (runtimeWorkingCopy == null) { - title = Messages.wizNewRuntimeWizardTitle; - fragment = new WizardFragment() { - protected void createChildFragments(List list) { - list.add(new NewRuntimeWizardFragment()); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - } - }); - } - }; - } else { - title = Messages.wizEditRuntimeWizardTitle; - final WizardFragment fragment2 = ServerUIPlugin.getWizardFragment(runtimeWorkingCopy.getRuntimeType().getId()); - if (fragment2 == null) { - edit.setEnabled(false); - return Window.CANCEL; - } - taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy); - fragment = new WizardFragment() { - protected void createChildFragments(List list) { - list.add(fragment2); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - } - }); - } - }; - } - TaskWizard wizard = new TaskWizard(title, fragment, taskModel); - wizard.setForcePreviousAndNextButtons(true); - ClosableWizardDialog dialog = new ClosableWizardDialog(getShell(), wizard); - return dialog.open(); - } - - protected IRuntime getSelection(ISelection sel2) { - IStructuredSelection sel = (IStructuredSelection) sel2; - return (IRuntime) sel.getFirstElement(); - } - - /** - * Initializes this preference page using the passed workbench. - * - * @param workbench the current workbench - */ - public void init(IWorkbench workbench) { - // do nothing - } - - /** - * @see org.eclipse.jface.preference.PreferencePage#performOk() - */ - public boolean performOk() { - // TODO - should not save until user hits ok - return true; - } - - /** - * @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean) - */ - public void setVisible(boolean visible) { - super.setVisible(visible); - if (visible) - setTitle(Messages.preferenceRuntimesTitleLong); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java deleted file mode 100644 index 459a68283..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/SWTUtil.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.FontMetrics; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -/** - * SWT Utility class. - */ -public class SWTUtil { - private static FontMetrics fontMetrics; - - protected static void initializeDialogUnits(Control testControl) { - // Compute and store a font metric - GC gc = new GC(testControl); - gc.setFont(JFaceResources.getDialogFont()); - fontMetrics = gc.getFontMetrics(); - gc.dispose(); - } - - /** - * Returns a width hint for a button control. - */ - protected static int getButtonWidthHint(Button button) { - int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); - return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); - } - - /** - * Create a new button with the standard size. - * - * @param comp the component to add the button to - * @param label the button label - * @return a button - */ - public static Button createButton(Composite comp, String label) { - Button b = new Button(comp, SWT.PUSH); - b.setText(label); - if (fontMetrics == null) - initializeDialogUnits(comp); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.widthHint = getButtonWidthHint(b); - b.setLayoutData(data); - return b; - } - - /** - * Convert DLUs to pixels. - * - * @param comp a component - * @param x pixels - * @return dlus - */ - public static int convertHorizontalDLUsToPixels(Composite comp, int x) { - if (fontMetrics == null) - initializeDialogUnits(comp); - return Dialog.convertHorizontalDLUsToPixels(fontMetrics, x); - } - - /** - * Convert DLUs to pixels. - * - * @param comp a component - * @param y pixels - * @return dlus - */ - public static int convertVerticalDLUsToPixels(Composite comp, int y) { - if (fontMetrics == null) - initializeDialogUnits(comp); - return Dialog.convertVerticalDLUsToPixels(fontMetrics, y); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java deleted file mode 100644 index 52efdbc3b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerAdapterFactory.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.runtime.IAdapterFactory; -import org.eclipse.ui.IActionFilter; -/** - * Adapter factory to adapt servers to IActionFilter. - */ -public class ServerAdapterFactory implements IAdapterFactory { - IActionFilter actionFilter = new IActionFilter() { - public boolean testAttribute(Object target, String name, String value) { - return ServerPropertyTester.checkProperty(target, name, value); - } - }; - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) - */ - public Object getAdapter(Object adaptableObject, Class adapterType) { - if (adapterType != IActionFilter.class) - return null; - - return actionFilter; - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() - */ - public Class[] getAdapterList() { - return new Class[] { IActionFilter.class }; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java deleted file mode 100644 index 1ba1468d4..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java +++ /dev/null @@ -1,195 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.model.IWorkbenchAdapter; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.IClient; -/** - * A label provider for all server related objects. - */ -public class ServerLabelProvider implements ILabelProvider { - public ServerLabelProvider() { - // do nothing - } - - protected Image getModuleImage(String typeId) { - if (typeId == null) - return null; - - Image image = ImageResource.getImage(typeId); - int ind = typeId.indexOf("."); - while (image == null && ind >= 0) { - typeId = typeId.substring(0, ind); - image = ImageResource.getImage(typeId); - } - return image; - } - - protected ImageDescriptor getModuleImageDescriptor(String typeId) { - if (typeId == null) - return null; - - ImageDescriptor image = ImageResource.getImageDescriptor(typeId); - int ind = typeId.indexOf("."); - while (image == null && ind >= 0) { - typeId = typeId.substring(0, ind); - image = ImageResource.getImageDescriptor(typeId); - } - return image; - } - - /* - * @see ILabelProvider#getImage(Object) - */ - public ImageDescriptor getImageDescriptor(Object element) { - try { - if (element instanceof IRuntimeType) { - IRuntimeType runtimeType = (IRuntimeType) element; - return ImageResource.getImageDescriptor(runtimeType.getId()); - } else if (element instanceof IRuntime) { - IRuntime runtime = (IRuntime) element; - return ImageResource.getImageDescriptor(runtime.getRuntimeType().getId()); - } else if (element instanceof IServerType) { - IServerType serverType = (IServerType) element; - return ImageResource.getImageDescriptor(serverType.getId()); - } else if (element instanceof IServer) { - IServer server = (IServer) element; - return ImageResource.getImageDescriptor(server.getServerType().getId()); - } else if (element instanceof IModule) { - IModule module = (IModule) element; - IModuleType mt = module.getModuleType(); - return getModuleImageDescriptor(mt.getId()); - } else if (element instanceof IModule[]) { - IModule[] modules = (IModule[]) element; - IModule module = modules[modules.length - 1]; - IModuleType mt = module.getModuleType(); - return getModuleImageDescriptor(mt.getId()); - } else if (element instanceof IWorkbenchAdapter) { - return ((IWorkbenchAdapter) element).getImageDescriptor(null); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not get image descriptor", e); - } - return null; - } - - /* - * @see ILabelProvider#getImage(Object) - */ - public Image getImage(Object element) { - try { - if (element instanceof IRuntimeType) { - IRuntimeType runtimeType = (IRuntimeType) element; - return ImageResource.getImage(runtimeType.getId()); - } else if (element instanceof IRuntime) { - IRuntime runtime = (IRuntime) element; - return ImageResource.getImage(runtime.getRuntimeType().getId()); - } else if (element instanceof IServerType) { - IServerType serverType = (IServerType) element; - return ImageResource.getImage(serverType.getId()); - } else if (element instanceof IServer) { - IServer server = (IServer) element; - if (server.getServerType() == null) - return null; - - return ImageResource.getImage(server.getServerType().getId()); - } else if (element instanceof IModule) { - IModule module = (IModule) element; - IModuleType mt = module.getModuleType(); - if (mt == null) - return null; - - return getModuleImage(mt.getId()); - } else if (element instanceof IModule[]) { - IModule[] modules = (IModule[]) element; - IModule module = modules[modules.length - 1]; - IModuleType mt = module.getModuleType(); - if (mt == null) - return null; - - return getModuleImage(mt.getId()); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not get image descriptor", e); - } - return null; - } - - protected String getString(String s) { - if (s == null) - return ""; - - return s; - } - - /* - * @see ILabelProvider#getText(Object) - */ - public String getText(Object element) { - if (element == null) - return ""; - - if (element instanceof IRuntime) { - return getString(((IRuntime) element).getName()); - } else if (element instanceof IServer) { - return getString(((IServer) element).getName()); - } else if (element instanceof IRuntimeType) { - return ((IRuntimeType) element).getName(); - } else if (element instanceof IServerType) { - return ((IServerType) element).getName(); - } else if (element instanceof IClient) { - return ((IClient) element).getName(); - } else if (element instanceof IModule) { - return ((IModule) element).getName(); - } else if (element instanceof IModule[]) { - IModule[] modules = (IModule[]) element; - return modules[modules.length - 1].getName(); - } else if (element instanceof IWorkbenchAdapter) { - return ((IWorkbenchAdapter) element).getLabel(null); - } - - return ""; - } - - /* - * @see IBaseLabelProvider#addListener(ILabelProviderListener) - */ - public void addListener(ILabelProviderListener listener) { - // do nothing - } - - /* - * @see IBaseLabelProvider#isLabelProperty(Object, String) - */ - public boolean isLabelProperty(Object element, String property) { - return false; - } - - /* - * @see IBaseLabelProvider#removeListener(ILabelProviderListener) - */ - public void removeListener(ILabelProviderListener listener) { - // do nothing - } - - /* - * @see IBaseLabelProvider#dispose() - */ - public void dispose() { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java deleted file mode 100644 index f122256aa..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLaunchShortcut.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.resources.IFile; -import org.eclipse.debug.ui.ILaunchShortcut; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.StructuredSelection; - -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IFileEditorInput; -/** - * - */ -public class ServerLaunchShortcut implements ILaunchShortcut { - /* (non-Javadoc) - * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.jface.viewers.ISelection, java.lang.String) - */ - public void launch(ISelection selection, final String mode) { - RunOnServerActionDelegate del = new RunOnServerActionDelegate() { - protected String getLaunchMode() { - return mode; - } - }; - IAction action = new Action() { - // dummy action - }; - del.selectionChanged(action, selection); - del.run(action); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.ui.IEditorPart, java.lang.String) - */ - public void launch(IEditorPart editor, String mode) { - if (editor == null) - return; - - // check if the editor input itself can be run. Otherwise, check if - // the editor has a file input that can be run - IEditorInput input = editor.getEditorInput(); - - if (ServerPlugin.hasModuleArtifact(input)) { - launch(new StructuredSelection(input), mode); - } else if (input instanceof IFileEditorInput) { - IFileEditorInput fei = (IFileEditorInput) input; - IFile file = fei.getFile(); - if (ServerPlugin.hasModuleArtifact(file)) - launch(new StructuredSelection(file), mode); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java deleted file mode 100644 index 0e748bea8..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java +++ /dev/null @@ -1,362 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.internal.ServerPreferences; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Spinner; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -/** - * The preference page that holds server properties. - */ -public class ServerPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { - protected Button publishBeforeStart; - protected Button autoRestart; - - protected Button promptIrreversible; - - protected Button showOnActivity; - - protected byte saveEditors; - - protected Button saveNever; - protected Button savePrompt; - protected Button saveAuto; - protected Button syncOnStartup; - - protected ServerPreferences preferences; - protected ServerUIPreferences uiPreferences; - - protected Button autoPublishOnAction; - protected Button autoPublishLocal; - protected Spinner autoPublishLocalTime; - protected Button autoPublishRemote; - protected Spinner autoPublishRemoteTime; - - protected Combo machineSpeedCombo; - - /** - * ServerPreferencesPage constructor comment. - */ - public ServerPreferencePage() { - super(); - - preferences = ServerPreferences.getInstance(); - uiPreferences = ServerUIPlugin.getPreferences(); - } - - /** - * Create the preference options. - * - * @param parent org.eclipse.swt.widgets.Composite - * @return org.eclipse.swt.widgets.Control - */ - protected Control createContents(Composite parent) { - initializeDialogUnits(parent); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(parent, ContextIds.PREF_GENERAL); - - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); - layout.verticalSpacing = convertVerticalDLUsToPixels(4); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 3; - composite.setLayout(layout); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - composite.setLayoutData(data); - - showOnActivity = new Button(composite, SWT.CHECK); - showOnActivity.setText(Messages.prefShowOnActivity); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - showOnActivity.setLayoutData(data); - showOnActivity.setSelection(uiPreferences.getShowOnActivity()); - whs.setHelp(showOnActivity, ContextIds.PREF_GENERAL_SHOW_ON_ACTIVITY); - - publishBeforeStart = new Button(composite, SWT.CHECK); - publishBeforeStart.setText(Messages.prefAutoPublish); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - publishBeforeStart.setLayoutData(data); - publishBeforeStart.setSelection(preferences.isAutoPublishing()); - whs.setHelp(publishBeforeStart, ContextIds.PREF_GENERAL_PUBLISH_BEFORE_START); - - syncOnStartup = new Button(composite, SWT.CHECK); - syncOnStartup.setText(Messages.prefSyncStartup); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - syncOnStartup.setLayoutData(data); - syncOnStartup.setSelection(preferences.isSyncOnStartup()); - whs.setHelp(syncOnStartup, ContextIds.PREF_GENERAL_SYNC_STARTUP); - - autoPublishLocal = new Button(composite, SWT.CHECK); - autoPublishLocal.setText(Messages.prefAutoPublishLocal); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 3; - autoPublishLocal.setLayoutData(data); - autoPublishLocal.setSelection(preferences.getAutoPublishLocal()); - whs.setHelp(autoPublishLocal, ContextIds.PREF_GENERAL_AUTOPUBLISH_LOCAL); - - final Label autoPublishLocalTimeLabel = new Label(composite, SWT.NONE); - autoPublishLocalTimeLabel.setText(Messages.prefAutoPublishLocalTime); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 2; - data.horizontalIndent = 20; - autoPublishLocalTimeLabel.setLayoutData(data); - autoPublishLocalTimeLabel.setEnabled(autoPublishLocal.getSelection()); - - autoPublishLocalTime = new Spinner(composite, SWT.BORDER); - autoPublishLocalTime.setMinimum(0); - autoPublishLocalTime.setMaximum(120); - autoPublishLocalTime.setSelection(preferences.getAutoPublishLocalTime()); - autoPublishLocalTime.setEnabled(autoPublishLocal.getSelection()); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.widthHint = 60; - autoPublishLocalTime.setLayoutData(data); - whs.setHelp(autoPublishLocalTime, ContextIds.PREF_GENERAL_AUTOPUBLISH_LOCAL); - - autoPublishLocal.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - autoPublishLocalTimeLabel.setEnabled(autoPublishLocal.getSelection()); - autoPublishLocalTime.setEnabled(autoPublishLocal.getSelection()); - } - }); - - autoPublishRemote = new Button(composite, SWT.CHECK); - autoPublishRemote.setText(Messages.prefAutoPublishRemote); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - autoPublishRemote.setLayoutData(data); - autoPublishRemote.setSelection(preferences.getAutoPublishRemote()); - whs.setHelp(autoPublishRemote, ContextIds.PREF_GENERAL_AUTOPUBLISH_REMOTE); - - final Label autoPublishRemoteTimeLabel = new Label(composite, SWT.NONE); - autoPublishRemoteTimeLabel.setText(Messages.prefAutoPublishRemoteTime); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 2; - data.horizontalIndent = 20; - autoPublishRemoteTimeLabel.setLayoutData(data); - autoPublishRemoteTimeLabel.setEnabled(autoPublishRemote.getSelection()); - - autoPublishRemoteTime = new Spinner(composite, SWT.BORDER); - autoPublishRemoteTime.setMinimum(0); - autoPublishRemoteTime.setMaximum(120); - autoPublishRemoteTime.setSelection(preferences.getAutoPublishRemoteTime()); - autoPublishRemoteTime.setEnabled(autoPublishRemote.getSelection()); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.widthHint = 60; - autoPublishRemoteTime.setLayoutData(data); - whs.setHelp(autoPublishRemoteTime, ContextIds.PREF_GENERAL_AUTOPUBLISH_REMOTE); - - autoPublishRemote.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - autoPublishRemoteTimeLabel.setEnabled(autoPublishRemote.getSelection()); - autoPublishRemoteTime.setEnabled(autoPublishRemote.getSelection()); - } - }); - - autoRestart = new Button(composite, SWT.CHECK); - autoRestart.setText(Messages.prefAutoRestart); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - autoRestart.setLayoutData(data); - autoRestart.setSelection(preferences.isAutoRestarting()); - whs.setHelp(autoRestart, ContextIds.PREF_GENERAL_AUTO_RESTART); - - promptIrreversible = new Button(composite, SWT.CHECK); - promptIrreversible.setText(Messages.prefPromptIrreversible); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - promptIrreversible.setLayoutData(data); - promptIrreversible.setSelection(uiPreferences.getPromptBeforeIrreversibleChange()); - whs.setHelp(promptIrreversible, ContextIds.PREF_GENERAL_PROMPT_IRREVERSIBLE); - - Label label = new Label(composite, SWT.NONE); - data = new GridData(); - data.horizontalSpan = 3; - label.setLayoutData(data); - - // save editors group - Group saveEditorGroup = new Group(composite, SWT.NONE); - saveEditorGroup.setText(Messages.prefSaveEditorsGroup); - - layout = new GridLayout(); - layout.numColumns = 3; - saveEditorGroup.setLayout(layout); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 3; - saveEditorGroup.setLayoutData(data); - - saveNever = new Button(saveEditorGroup, SWT.RADIO); - saveNever.setText(Messages.prefSaveEditorsNever); - saveNever.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - saveEditors = ServerUIPreferences.SAVE_EDITORS_NEVER; - } - }); - whs.setHelp(saveNever, ContextIds.PREF_GENERAL_SAVE_EDITORS); - - savePrompt = new Button(saveEditorGroup, SWT.RADIO); - savePrompt.setText(Messages.prefSaveEditorsPrompt); - savePrompt.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - saveEditors = ServerUIPreferences.SAVE_EDITORS_PROMPT; - } - }); - whs.setHelp(savePrompt, ContextIds.PREF_GENERAL_SAVE_EDITORS); - - saveAuto = new Button(saveEditorGroup, SWT.RADIO); - saveAuto.setText(Messages.prefSaveEditorsAutosave); - saveAuto.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - saveEditors = ServerUIPreferences.SAVE_EDITORS_AUTO; - } - }); - whs.setHelp(saveAuto, ContextIds.PREF_GENERAL_SAVE_EDITORS); - - label = new Label(composite, SWT.NONE); - data = new GridData(); - data.horizontalSpan = 3; - label.setLayoutData(data); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.prefMachineSpeed); - - machineSpeedCombo = new Combo(composite, SWT.READ_ONLY); - String[] items = new String[] { - Messages.prefMachineSpeedVerySlow, - Messages.prefMachineSpeedSlow, - Messages.prefMachineSpeedAverage, - Messages.prefMachineSpeedFast, - Messages.prefMachineSpeedVeryFast - }; - machineSpeedCombo.setItems(items); - machineSpeedCombo.select((preferences.getMachineSpeed() - 1) / 2); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.horizontalSpan = 2; - machineSpeedCombo.setLayoutData(data); - whs.setHelp(machineSpeedCombo, ContextIds.PREF_GENERAL_TIMEOUT_DELAY); - - setSaveEditorStatus(uiPreferences.getSaveEditors()); - - Dialog.applyDialogFont(composite); - - return composite; - } - - protected void setSaveEditorStatus(byte status) { - saveEditors = status; - saveNever.setSelection(saveEditors == ServerUIPreferences.SAVE_EDITORS_NEVER); - savePrompt.setSelection(saveEditors == ServerUIPreferences.SAVE_EDITORS_PROMPT); - saveAuto.setSelection(saveEditors == ServerUIPreferences.SAVE_EDITORS_AUTO); - } - - /** - * Initializes this preference page using the passed workbench. - * - * @param workbench the current workbench - */ - public void init(IWorkbench workbench) { - // do nothing - } - - /** - * Performs special processing when this page's Defaults button has been pressed. - */ - protected void performDefaults() { - autoRestart.setSelection(preferences.isDefaultAutoRestarting()); - publishBeforeStart.setSelection(preferences.isDefaultAutoPublishing()); - promptIrreversible.setSelection(uiPreferences.getDefaultPromptBeforeIrreversibleChange()); - showOnActivity.setSelection(uiPreferences.getDefaultShowOnActivity()); - - syncOnStartup.setSelection(preferences.getDefaultSyncOnStartup()); - autoPublishLocal.setSelection(preferences.getDefaultAutoPublishLocal()); - autoPublishLocalTime.setSelection(preferences.getDefaultAutoPublishLocalTime()); - autoPublishRemote.setSelection(preferences.getDefaultAutoPublishRemote()); - autoPublishRemoteTime.setSelection(preferences.getDefaultAutoPublishRemoteTime()); - - machineSpeedCombo.select((preferences.getDefaultMachineSpeed() - 1) / 2); - - setSaveEditorStatus(uiPreferences.getDefaultSaveEditors()); - - super.performDefaults(); - } - - /** - * @see org.eclipse.jface.preference.IPreferencePage#performOk() - */ - public boolean performOk() { - preferences.setAutoPublishing(publishBeforeStart.getSelection()); - preferences.setAutoRestarting(autoRestart.getSelection()); - preferences.setSyncOnStartup(syncOnStartup.getSelection()); - uiPreferences.setSaveEditors(saveEditors); - uiPreferences.setPromptBeforeIrreversibleChange(promptIrreversible.getSelection()); - uiPreferences.setShowOnActivity(showOnActivity.getSelection()); - - preferences.setAutoPublishLocal(autoPublishLocal.getSelection()); - preferences.setAutoPublishLocalTime(autoPublishLocalTime.getSelection()); - preferences.setAutoPublishRemote(autoPublishRemote.getSelection()); - preferences.setAutoPublishRemoteTime(autoPublishRemoteTime.getSelection()); - - preferences.setMachineSpeed(machineSpeedCombo.getSelectionIndex() * 2 + 1); - - // auto restart any servers that are ready for restart - if (autoRestart.getSelection()) - autoRestartAll(); - - return true; - } - - /** - * Automatically restart any servers that require it. - */ - protected static void autoRestartAll() { - Trace.trace(Trace.FINEST, "Auto restarting all dirty servers"); - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - IServer server = servers[i]; - if (server.getServerRestartState()) { - String mode = server.getMode(); - if (server.canRestart(mode).isOK()) - try { - Trace.trace(Trace.FINEST, "Attempting to auto restart " + server.getName()); - server.restart(mode, (IProgressMonitor)null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error restarting: " + server, e); - } - } - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java deleted file mode 100644 index 3a4b6e025..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPropertyTester.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.expressions.PropertyTester; -import org.eclipse.core.resources.IFile; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.ServerPlugin; -/** - * - */ -public class ServerPropertyTester extends PropertyTester { - /* (non-Javadoc) - * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) - */ - public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { - if (expectedValue instanceof String) - return checkProperty(receiver, property, (String) expectedValue); - return checkProperty(receiver, property, null); - } - - protected static boolean checkProperty(Object target, String property, String value) { - if ("isRunnable".equals(property)) { - boolean b = ServerPlugin.hasModuleArtifact(target); - if (b) - return true; - - /*if (!(receiver instanceof IEditorPart)) - return false; - - // check if the editor input itself can be run. Otherwise, check if - // the editor has a file input that can be run - IEditorPart editor = (IEditorPart) receiver; - IEditorInput input = editor.getEditorInput(); - - b = ServerPlugin.hasModuleArtifact(input); - if (b) - return true;*/ - - if (target instanceof IFileEditorInput) { - IFileEditorInput fei = (IFileEditorInput) target; - IFile file = fei.getFile(); - b = ServerPlugin.hasModuleArtifact(file); - if (b) - return true; - } - return false; - } else if ("serverType".equals(property)) { - if (!(target instanceof IServer)) - return false; - - IServer server = (IServer) target; - - String[] typeIds = ServerPlugin.tokenize(value, ","); - return supportsServerType(server.getServerType().getId(), typeIds); - } - return false; - } - - /** - * Returns true if the given server type (given by the id) can use this action. - * - * @return boolean - */ - protected static boolean supportsServerType(String id, String[] typeIds) { - if (id == null || id.length() == 0) - return false; - - if (typeIds == null) - return false; - - int size = typeIds.length; - for (int i = 0; i < size; i++) { - if (typeIds[i].endsWith("*")) { - if (id.length() >= typeIds[i].length() && id.startsWith(typeIds[i].substring(0, typeIds[i].length() - 1))) - return true; - } else if (id.equals(typeIds[i])) - return true; - } - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java deleted file mode 100644 index 3f3061372..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java +++ /dev/null @@ -1,756 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.*; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.StructuredSelection; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.*; -import org.eclipse.wst.server.core.util.PublishAdapter; -import org.eclipse.wst.server.ui.ServerUIUtil; -import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate; -import org.eclipse.wst.server.ui.internal.editor.IServerEditorInput; -import org.eclipse.wst.server.ui.internal.editor.ServerEditorCore; -import org.eclipse.wst.server.ui.internal.editor.ServerEditorInput; -import org.eclipse.wst.server.ui.internal.viewers.InitialSelectionProvider; -import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog; -import org.eclipse.wst.server.ui.internal.wizard.TaskWizard; -import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil; -import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; - -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IViewPart; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.eclipse.ui.progress.IWorkbenchSiteProgressService; -import org.osgi.framework.BundleContext; -/** - * The server UI plugin class. - */ -public class ServerUIPlugin extends AbstractUIPlugin { - protected static final String VIEW_ID = "org.eclipse.wst.server.ui.ServersView"; - - // server UI plugin id - public static final String PLUGIN_ID = "org.eclipse.wst.server.ui"; - - protected static final String EXTENSION_SERVER_IMAGES = "serverImages"; - private static final String EXTENSION_WIZARD_FRAGMENTS = "wizardFragments"; - public static final String EXTENSION_EDITOR_PAGES = "editorPages"; - public static final String EXTENSION_EDITOR_PAGE_SECTIONS = "editorPageSections"; - - //public static final byte START = 0; - public static final byte STOP = 1; - //public static final byte RESTART = 2; - - // singleton instance of this class - private static ServerUIPlugin singleton; - - protected Map imageDescriptors = new HashMap(); - - // cached copy of all runtime wizards - private static Map wizardFragments; - - // cached initial selection provider - private static InitialSelectionProvider selectionProvider; - - private static IRegistryChangeListener registryListener; - - private static class RegistryChangeListener implements IRegistryChangeListener { - public void registryChanged(IRegistryChangeEvent event) { - IExtensionDelta[] deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_WIZARD_FRAGMENTS); - if (deltas != null) { - for (int i = 0; i < deltas.length; i++) { - handleWizardFragmentDelta(deltas[i]); - } - } - - deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_IMAGES); - if (deltas != null) { - for (int i = 0; i < deltas.length; i++) { - ImageResource.handleServerImageDelta(deltas[i]); - } - } - - deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_EDITOR_PAGES); - if (deltas != null) { - for (int i = 0; i < deltas.length; i++) { - ServerEditorCore.handleEditorPageFactoriesDelta(deltas[i]); - } - } - - deltas = event.getExtensionDeltas(ServerPlugin.PLUGIN_ID, EXTENSION_EDITOR_PAGE_SECTIONS); - if (deltas != null) { - for (int i = 0; i < deltas.length; i++) { - ServerEditorCore.handleEditorPageSectionFactoriesDelta(deltas[i]); - } - } - } - } - - static class WizardFragmentData { - String id; - IConfigurationElement ce; - WizardFragment fragment; - - public WizardFragmentData(String id, IConfigurationElement ce) { - this.id = id; - this.ce = ce; - } - } - - protected static List terminationWatches = new ArrayList(); - - protected IServerLifecycleListener serverLifecycleListener = new IServerLifecycleListener() { - public void serverAdded(IServer server) { - server.addServerListener(serverListener); - ((Server) server).addPublishListener(publishListener); - } - - public void serverChanged(IServer server) { - // ignore - } - - public void serverRemoved(IServer server) { - server.removeServerListener(serverListener); - ((Server) server).removePublishListener(publishListener); - } - }; - - protected static IServerListener serverListener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - // if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - if ((eventKind & ServerEvent.STATE_CHANGE) != 0) { - showServersView(true); - } else if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) { - showServersView(false); - } - } - }; - - protected static IPublishListener publishListener = new PublishAdapter() { - public void publishStarted(IServer server) { - showServersView(false); - } - - public void publishFinished(IServer server, IStatus status) { - showServersView(false); - } - }; - - /** - * Create the ServerUIPlugin. - */ - public ServerUIPlugin() { - super(); - singleton = this; - } - - /** - * Returns the singleton instance of this plugin. - * - * @return org.eclipse.wst.server.ui.internal.plugin.ServerUIPlugin - */ - public static ServerUIPlugin getInstance() { - return singleton; - } - - /** - * Convenience method for logging. - * - * @param status org.eclipse.core.runtime.IStatus - */ - public static void log(IStatus status) { - getInstance().getLog().log(status); - } - - /** - * Return the UI preferences. - * - * @return ServerUIPreferences - */ - public static ServerUIPreferences getPreferences() { - return new ServerUIPreferences(); - } - - /** - * @see Plugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - Trace.trace(Trace.CONFIG, "----->----- Server UI plugin start ----->-----"); - super.start(context); - - ServerUIPreferences prefs = getPreferences(); - prefs.setDefaults(); - - ServerCore.addServerLifecycleListener(serverLifecycleListener); - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - servers[i].addServerListener(serverListener); - ((Server) servers[i]).addPublishListener(publishListener); - } - } - } - - /** - * @see Plugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - Trace.trace(Trace.CONFIG, "-----<----- Server UI plugin stop -----<-----"); - super.stop(context); - - if (registryListener != null) { - IExtensionRegistry registry = Platform.getExtensionRegistry(); - registry.removeRegistryChangeListener(registryListener); - } - - ImageResource.dispose(); - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - servers[i].removeServerListener(serverListener); - ((Server) servers[i]).removePublishListener(publishListener); - } - } - - ServerCore.removeServerLifecycleListener(serverLifecycleListener); - } - - /** - * Adds a watch to this server. If it hasn't stopped in a - * reasonable amount of time, the user will be prompted to - * terminate the server. - * - * @param shell a shell - * @param server a server - * @param mode a debug mode - */ - public static void addTerminationWatch(final Shell shell, final IServer server, final int mode) { - if (terminationWatches.contains(server)) - return; - - terminationWatches.add(server); - - class TerminateThread extends Thread { - public boolean alive = true; - public IServerListener listener; - - public TerminateThread() { - super("Server Termination Thread"); - } - - public void run() { - while (alive) { - ServerType serverType = (ServerType) server.getServerType(); - int delay = serverType.getStartTimeout(); - if (mode == 1) - delay = serverType.getStopTimeout(); - else if (mode == 2) - delay += serverType.getStopTimeout(); - - if (delay < 0) - return; - - try { - Thread.sleep(delay); - } catch (InterruptedException e) { - // ignore - } - - if (server.getServerState() == IServer.STATE_STOPPED) - alive = false; - - if (alive) { - Display.getDefault().syncExec(new Runnable() { - public void run() { - TerminationDialog dialog = new TerminationDialog(shell, server.getName()); - dialog.open(); - if (dialog.getReturnCode() == IDialogConstants.OK_ID) { - // only try calling terminate once. Also, make sure that it didn't stop while - // the dialog was open - if (server.getServerState() != IServer.STATE_STOPPED) - server.stop(true); - alive = false; - } - } - }); - } - if (!alive) { - if (listener != null) - server.removeServerListener(listener); - terminationWatches.remove(server); - } - } - } - } - - final TerminateThread t = new TerminateThread(); - t.setDaemon(true); - t.setPriority(Thread.NORM_PRIORITY - 2); - - // add listener to stop the thread if/when the server stops - IServerListener listener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server2 = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - if (server2.getServerState() == IServer.STATE_STOPPED && t != null) - t.alive = false; - } - } - }; - t.listener = listener; - server.addServerListener(listener); - - t.start(); - } - - /** - * Returns the server that came from the given file, or <code>null</code> - * if none. This convenience method searches the list of known - * servers ({@link ServerCore#getServers()}) for the one with a matching - * location ({@link Server#getFile()}). The file may not be null. - * - * @param file a server file - * @return the server instance, or <code>null</code> if - * there is no server associated with the given file - */ - public static IServer findServer(IFile file) { - if (file == null) - throw new IllegalArgumentException(); - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (file.equals(((Server)servers[i]).getFile())) - return servers[i]; - } - } - return null; - } - - /** - * Returns an array of all known runtime instances of - * the given runtime type. This convenience method filters the list of known - * runtime ({@link ServerCore#getRuntimes()}) for ones with a matching - * runtime type ({@link IRuntime#getRuntimeType()}). The array will not - * contain any working copies. - * <p> - * A new array is returned on each call, so clients may store or modify the result. - * </p> - * - * @param runtimeType the runtime type - * @return a possibly-empty list of runtime instances {@link IRuntime} - * of the given runtime type - */ - public static IRuntime[] getRuntimes(IRuntimeType runtimeType) { - List list = new ArrayList(); - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (runtimes[i].getRuntimeType() != null && runtimes[i].getRuntimeType().equals(runtimeType)) - list.add(runtimes[i]); - } - } - - IRuntime[] r = new IRuntime[list.size()]; - list.toArray(r); - return r; - } - - /** - * Open the given server with the server editor. - * - * @param server - */ - public static void editServer(IServer server) { - if (server == null) - return; - - editServer(server.getId()); - } - - /** - * Open the given server id with the server editor. - * - * @param serverId - */ - protected static void editServer(String serverId) { - if (serverId == null) - return; - - IWorkbenchWindow workbenchWindow = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow(); - IWorkbenchPage page = workbenchWindow.getActivePage(); - - try { - IServerEditorInput input = new ServerEditorInput(serverId); - page.openEditor(input, IServerEditorInput.EDITOR_ID); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error opening server editor", e); - } - } - - /** - * Use the preference to prompt the user to save dirty editors, if applicable. - * - * @return boolean - Returns false if the user cancelled the operation - */ - public static boolean saveEditors() { - byte b = ServerUIPlugin.getPreferences().getSaveEditors(); - if (b == ServerUIPreferences.SAVE_EDITORS_NEVER) - return true; - return ServerUIPlugin.getInstance().getWorkbench().saveAllEditors(b == ServerUIPreferences.SAVE_EDITORS_PROMPT); - } - - /** - * Prompts the user if the server is dirty. Returns true if the server was - * not dirty or if the user decided to continue anyway. Returns false if - * the server is dirty and the user chose to cancel the operation. - * - * @param shell a shell - * @param server a server - * @return boolean - */ - public static boolean promptIfDirty(Shell shell, IServer server) { - if (server == null) - return false; - - if (!(server instanceof IServerWorkingCopy)) - return true; - - String title = Messages.resourceDirtyDialogTitle; - - IServerWorkingCopy wc = (IServerWorkingCopy) server; - if (wc.isDirty()) { - String message = NLS.bind(Messages.resourceDirtyDialogMessage, server.getName()); - String[] labels = new String[] {Messages.resourceDirtyDialogContinue, IDialogConstants.CANCEL_LABEL}; - MessageDialog dialog = new MessageDialog(shell, title, null, message, MessageDialog.INFORMATION, labels, 0); - - if (dialog.open() != 0) - return false; - } - - return true; - } - - /** - * Show the Servers view. The Servers is never given focus. - * - * @param bringToFront <code>true</code> to make the Servers view push to the top - * of the z-order, and <code>false</code> to just highlight it - */ - protected static void showServersView(final boolean bringToFront) { - if (!getPreferences().getShowOnActivity()) - return; - - Display.getDefault().asyncExec(new Runnable() { - public void run() { - try { - IWorkbench workbench = ServerUIPlugin.getInstance().getWorkbench(); - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - - IWorkbenchPage page = workbenchWindow.getActivePage(); - - IViewPart view2 = page.findView(VIEW_ID); - - if (view2 != null) { - if (bringToFront) - page.bringToTop(view2); - else { - IWorkbenchSiteProgressService wsps = (IWorkbenchSiteProgressService) - view2.getSite().getAdapter(IWorkbenchSiteProgressService.class); - wsps.warnOfContentChange(); - } - } else - page.showView(VIEW_ID); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error opening TCP/IP view", e); - } - } - }); - } - - /** - * Returns true if the given server is already started in the given - * mode, or could be (re)started in the start mode. - * - * @param server - * @param launchMode - * @return boolean - */ - public static boolean isCompatibleWithLaunchMode(IServer server, String launchMode) { - if (server == null || launchMode == null) - return false; - - int state = server.getServerState(); - if (state == IServer.STATE_STARTED && launchMode.equals(server.getMode())) - return true; - - if (server.getServerType().supportsLaunchMode(launchMode)) - return true; - return false; - } - - /** - * Open the new runtime wizard. - * - * @param shell - * @param type - * @param version - * @param runtimeTypeId - * @return true if a new runtime was created - */ - public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version, final String runtimeTypeId) { - WizardFragment fragment = new WizardFragment() { - protected void createChildFragments(List list) { - list.add(new NewRuntimeWizardFragment(type, version, runtimeTypeId)); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - } - }); - } - }; - TaskWizard wizard = new TaskWizard(Messages.wizNewRuntimeWizardTitle, fragment); - wizard.setForcePreviousAndNextButtons(true); - ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard); - return (dialog.open() == IDialogConstants.OK_ID); - } - - /** - * Open the new runtime wizard. - * - * @param shell - * @param runtimeTypeId - * @return true if a new runtime was created - */ - public static boolean showNewRuntimeWizard(Shell shell, final String runtimeTypeId) { - IRuntimeType runtimeType = null; - if (runtimeTypeId != null) - runtimeType = ServerCore.findRuntimeType(runtimeTypeId); - if (runtimeType != null) { - try { - final IRuntimeWorkingCopy runtime = runtimeType.createRuntime(null, null); - TaskModel taskModel = new TaskModel(); - taskModel.putObject(TaskModel.TASK_RUNTIME, runtime); - - WizardFragment fragment = new WizardFragment() { - protected void createChildFragments(List list) { - list.add(getWizardFragment(runtimeTypeId)); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - } - }); - } - }; - TaskWizard wizard = new TaskWizard(Messages.wizNewRuntimeWizardTitle, fragment, taskModel); - wizard.setForcePreviousAndNextButtons(true); - ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard); - return (dialog.open() == IDialogConstants.OK_ID); - } catch (Exception e) { - return false; - } - } - return showNewRuntimeWizard(shell, null, null, runtimeTypeId); - } - - /** - * Open the new runtime wizard. - * @param shell - * @return true if a new runtime was created - */ - public static boolean showNewRuntimeWizard(Shell shell) { - return ServerUIUtil.showNewRuntimeWizard(shell, null, null); - } - - /** - * Returns the wizard fragment with the given id. - * - * @param typeId the server or runtime type id - * @return a wizard fragment, or <code>null</code> if none could be found - */ - public static WizardFragment getWizardFragment(String typeId) { - if (typeId == null) - return null; - - if (wizardFragments == null) - loadWizardFragments(); - - Iterator iterator = wizardFragments.keySet().iterator(); - while (iterator.hasNext()) { - String key = (String) iterator.next(); - if (typeId.equals(key)) { - WizardFragmentData data = (WizardFragmentData) wizardFragments.get(key); - return getWizardFragment(data); - } - } - return null; - } - - /** - * Load the wizard fragments. - */ - private static synchronized void loadWizardFragments() { - if (wizardFragments != null) - return; - Trace.trace(Trace.CONFIG, "->- Loading .wizardFragments extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, EXTENSION_WIZARD_FRAGMENTS); - - wizardFragments = new HashMap(cf.length); - loadWizardFragments(cf); - addRegistryListener(); - - Trace.trace(Trace.CONFIG, "-<- Done loading .wizardFragments extension point -<-"); - } - - /** - * Load wizard fragments. - */ - private static synchronized void loadWizardFragments(IConfigurationElement[] cf) { - for (int i = 0; i < cf.length; i++) { - try { - String id = cf[i].getAttribute("typeIds"); - wizardFragments.put(id, new WizardFragmentData(id, cf[i])); - Trace.trace(Trace.CONFIG, " Loaded wizardFragment: " + id); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load wizardFragment: " + cf[i].getAttribute("id"), t); - } - } - } - - /** - * Returns the initial selection provider. - * - * @return an initial selection provider, or <code>null</code> if none could be found - */ - public static InitialSelectionProvider getInitialSelectionProvider() { - if (selectionProvider == null) - loadInitialSelectionProvider(); - - return selectionProvider; - } - - /** - * Load the initial selection provider. - */ - private static synchronized void loadInitialSelectionProvider() { - if (selectionProvider != null) - return; - - Trace.trace(Trace.CONFIG, "->- Loading .initialSelectionProvider extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "initialSelectionProvider"); - - if (cf.length == 1) { - try { - selectionProvider = (InitialSelectionProvider) cf[0].createExecutableExtension("class"); - Trace.trace(Trace.CONFIG, " Loaded initialSelectionProvider: " + cf[0].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load initialSelectionProvider: " + cf[0].getAttribute("id"), t); - } - } else if (cf.length > 1) - Trace.trace(Trace.WARNING, "More that one initial selection provider found - ignoring"); - else - Trace.trace(Trace.CONFIG, "No initial selection provider found"); - - if (selectionProvider == null) - selectionProvider = new InitialSelectionProvider(); - - Trace.trace(Trace.CONFIG, "-<- Done loading .initialSelectionProvider extension point -<-"); - } - - protected static WizardFragment getWizardFragment(WizardFragmentData fragment) { - if (fragment == null) - return null; - - if (fragment.fragment == null) { - try { - fragment.fragment = (WizardFragment) fragment.ce.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create wizardFragment: " + fragment.ce.getAttribute("id"), t); - } - } - return fragment.fragment; - } - - public static void runOnServer(Object object, String launchMode) { - RunOnServerActionDelegate delegate = new RunOnServerActionDelegate(); - Action action = new Action() { - // dummy action - }; - if (object != null) { - StructuredSelection sel = new StructuredSelection(object); - delegate.selectionChanged(action, sel); - } else - delegate.selectionChanged(action, null); - - delegate.run(action); - } - - public static void addRegistryListener() { - if (registryListener != null) - return; - - registryListener = new RegistryChangeListener(); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - registry.addRegistryChangeListener(registryListener, ServerPlugin.PLUGIN_ID); - } - - protected static void handleWizardFragmentDelta(IExtensionDelta delta) { - if (wizardFragments == null) // not loaded yet - return; - - IConfigurationElement[] cf = delta.getExtension().getConfigurationElements(); - - if (delta.getKind() == IExtensionDelta.ADDED) { - loadWizardFragments(cf); - } else { - /*int size = wizardFragments.size(); - WizardFragment[] wf = new WizardFragment[size]; - wizardFragments.toArray(wf); - int size2 = cf.length; - - for (int i = 0; i < size; i++) { - for (int j = 0; j < size2; j++) { - if (wf[i].getId().equals(cf[j].getAttribute("id"))) { - wf[i].dispose(); - wizardFragments.remove(wf[i]); - } - } - }*/ - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java deleted file mode 100644 index e70ca7b02..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPreferences.java +++ /dev/null @@ -1,206 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.StringTokenizer; - -import org.eclipse.core.runtime.Preferences; -/** - * Helper class that stores preference information for - * the server tools. - */ -public class ServerUIPreferences { - private static final String PREF_PROMPT_IRREVERSIBLE = "prompt-irreversible"; - private static final String PREF_IMPORT_LOCATION = "import-location"; - private static final String PREF_SAVE_EDITORS = "save-editors"; - private static final String PREF_HOST_NAMES = "host-names"; - private static final String PREF_SHOW_ON_ACTIVITY = "show-on-activity"; - - public static final byte SAVE_EDITORS_NEVER = 0; - public static final byte SAVE_EDITORS_PROMPT = 1; - public static final byte SAVE_EDITORS_AUTO = 2; - - private static final int MAX_HOSTNAMES = 10; - - private Preferences preferences; - - /** - * ServerUIPreference constructor comment. - */ - public ServerUIPreferences() { - super(); - preferences = ServerUIPlugin.getInstance().getPluginPreferences(); - } - - public void setDefaults() { - preferences.setDefault(PREF_PROMPT_IRREVERSIBLE, getDefaultPromptBeforeIrreversibleChange()); - preferences.setDefault(PREF_SAVE_EDITORS, getDefaultSaveEditors()); - preferences.setDefault(PREF_HOST_NAMES, "localhost"); - preferences.setDefault(PREF_SHOW_ON_ACTIVITY, true); - } - - /** - * Returns whether the user should be prompted before making an - * irreversible change in the editor. - * - * @return boolean - */ - public boolean getPromptBeforeIrreversibleChange() { - return preferences.getBoolean(PREF_PROMPT_IRREVERSIBLE); - } - - /** - * Returns the default value of whether the user should be prompted - * before making an irreversible change in the editor. - * - * @return boolean - */ - public boolean getDefaultPromptBeforeIrreversibleChange() { - return true; - } - - /** - * Sets whether the user should be prompted before making an - * irreversible change in the editor. - * - * @param b true to prompt before irreversible changes - */ - public void setPromptBeforeIrreversibleChange(boolean b) { - preferences.setValue(PREF_PROMPT_IRREVERSIBLE, b); - ServerUIPlugin.getInstance().savePluginPreferences(); - } - - /** - * Returns the import location. - * - * @return java.lang.String - */ - public String getImportLocation() { - return preferences.getString(PREF_IMPORT_LOCATION); - } - - /** - * Sets the import location. - * - * @param s the import location - */ - public void setImportLocation(String s) { - preferences.setValue(PREF_IMPORT_LOCATION, s); - ServerUIPlugin.getInstance().savePluginPreferences(); - } - - /** - * Returns the default setting for saving editors before launching. - * - * @return byte - */ - public byte getDefaultSaveEditors() { - return SAVE_EDITORS_PROMPT; - } - - /** - * Returns the setting for saving editors before launching. - * - * @return byte - */ - public byte getSaveEditors() { - return (byte) preferences.getInt(PREF_SAVE_EDITORS); - } - - /** - * Sets the value for saving editors before launching. - * - * @param b - */ - public void setSaveEditors(byte b) { - preferences.setValue(PREF_SAVE_EDITORS, b); - ServerUIPlugin.getInstance().savePluginPreferences(); - } - - /** - * Returns the default setting for opening the servers view on activity. - * - * @return boolean - */ - public boolean getDefaultShowOnActivity() { - return true; - } - - /** - * Returns the setting for opening the servers view on activity. - * - * @return boolean - */ - public boolean getShowOnActivity() { - return preferences.getBoolean(PREF_SHOW_ON_ACTIVITY); - } - - /** - * Sets the value for opening the servers view on activity. - * - * @param b - */ - public void setShowOnActivity(boolean b) { - preferences.setValue(PREF_SHOW_ON_ACTIVITY, b); - ServerUIPlugin.getInstance().savePluginPreferences(); - } - - /** - * Return the list of most recently used hostnames. - * - * @return the hostnames - */ - public List getHostnames() { - String s = preferences.getString(PREF_HOST_NAMES); - StringTokenizer st = new StringTokenizer(s, "|*|"); - List list = new ArrayList(); - while (st.hasMoreTokens()) { - list.add(st.nextToken()); - } - return list; - } - - /** - * Add a new hostname to the most recently used list. - * - * @param hostname - */ - public void addHostname(String hostname) { - if ("localhost".equals(hostname)) - return; - - List list = getHostnames(); - - // remove duplicates - if (list.contains(hostname)) - list.remove(hostname); - - // always add second (leave localhost first) - list.add(1, hostname); - - // remove least used hostname - if (list.size() > MAX_HOSTNAMES) - list.remove(list.size() - 1); - - StringBuffer sb = new StringBuffer(); - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - String s = (String) iterator.next(); - sb.append(s); - sb.append("|*|"); - } - preferences.setValue(PREF_HOST_NAMES, sb.toString()); - ServerUIPlugin.getInstance().savePluginPreferences(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Startup.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Startup.java deleted file mode 100644 index 066ada67e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Startup.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.runtime.IStatus; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.IStartup; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.util.PublishAdapter; -import org.eclipse.wst.server.ui.internal.audio.Audio; -/** - * - */ -public class Startup implements IStartup { - /** - * @see org.eclipse.wst.server.core.internal.IStartup#startup() - */ - public void startup() { - Trace.trace(Trace.FINEST, "Audio startup"); - - final IPublishListener publishListener = new PublishAdapter() { - public void publishFinished(IServer server, IStatus status) { - Audio.playSound("org.eclipse.wst.server.sound.publishFinished"); - } - }; - - final IServerListener serverListener = new IServerListener() { - public void serverChanged(ServerEvent event) { - int eventKind = event.getKind(); - IServer server = event.getServer(); - if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) { - int state = server.getServerState(); - if (state == IServer.STATE_STARTED) - Audio.playSound("org.eclipse.wst.server.sound.serverStart"); - else if (state == IServer.STATE_STOPPED) - Audio.playSound("org.eclipse.wst.server.sound.serverStop"); - } - } - }; - - IServerLifecycleListener listener = new IServerLifecycleListener() { - public void serverAdded(IServer server) { - server.addServerListener(serverListener); - ((Server) server).addPublishListener(publishListener); - } - - public void serverChanged(IServer server) { - // do nothing - } - - public void serverRemoved(IServer server) { - server.removeServerListener(serverListener); - ((Server) server).removePublishListener(publishListener); - } - }; - ServerCore.addServerLifecycleListener(listener); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java deleted file mode 100644 index a14eb7784..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/TerminationDialog.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.PlatformUI; -/** - * Dialog that prompts a user to see if a server should - * be terminated. - */ -public class TerminationDialog extends Dialog { - protected String serverName; - - /** - * TerminationDialog constructor comment. - * - * @param parentShell a shell - * @param serverName a server name - */ - public TerminationDialog(Shell parentShell, String serverName) { - super(parentShell); - this.serverName = serverName; - setBlockOnOpen(true); - } - - /** - * - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(Messages.terminateServerDialogTitle); - } - - /** - * Creates and returns the contents of the upper part - * of this dialog (above the button bar). - * - * @param parent the parent composite to contain the dialog area - * @return the dialog area control - */ - protected Control createDialogArea(Composite parent) { - // create a composite with standard margins and spacing - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); - layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); - layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - composite.setFont(parent.getFont()); - PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG); - - Label label = new Label(composite, SWT.WRAP); - label.setText(NLS.bind(Messages.terminateServerDialogMessage, new String[] {serverName})); - GridData data = new GridData(); - data.widthHint = 400; - label.setLayoutData(data); - - Dialog.applyDialogFont(composite); - - return composite; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java deleted file mode 100644 index 6b886c62d..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Trace.java +++ /dev/null @@ -1,80 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import java.text.SimpleDateFormat; -import java.util.Date; -/** - * Helper class to route trace output. - */ -public class Trace { - public static byte CONFIG = 0; - public static byte INFO = 1; - public static byte WARNING = 2; - public static byte SEVERE = 3; - public static byte FINEST = 4; - public static byte FINER = 5; - public static byte PERFORMANCE = 6; - public static byte EXTENSION_POINT = 7; - - protected static int pluginLength = -1; - - private static final String[] levelNames = new String[] { - "CONFIG ", "INFO ", "WARNING", "SEVERE ", "FINER ", "FINEST ", "PERF ", "EXTENSION"}; - private static final String spacer = " "; - - private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS"); - - /** - * Trace constructor comment. - */ - private Trace() { - super(); - } - - /** - * Trace the given text. - * - * @param level a trace level - * @param s a message - */ - public static void trace(byte level, String s) { - trace(level, s, null); - } - - /** - * Trace the given message and exception. - * - * @param level a trace level - * @param s a message - * @param t a throwable - */ - public static void trace(byte level, String s, Throwable t) { - if (!ServerUIPlugin.getInstance().isDebugging()) - return; - - String pluginId = ServerUIPlugin.PLUGIN_ID; - StringBuffer sb = new StringBuffer(pluginId); - if (pluginId.length() > pluginLength) - pluginLength = pluginId.length(); - else if (pluginId.length() < pluginLength) - sb.append(spacer.substring(0, pluginLength - pluginId.length())); - sb.append(" "); - sb.append(levelNames[level]); - sb.append(" "); - sb.append(sdf.format(new Date())); - sb.append(" "); - sb.append(s); - System.out.println(sb.toString()); - if (t != null) - t.printStackTrace(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/WebLaunchableClient.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/WebLaunchableClient.java deleted file mode 100644 index fb694d0a5..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/WebLaunchableClient.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.ui.browser.IWebBrowser; -import org.eclipse.ui.browser.IWorkbenchBrowserSupport; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.model.ClientDelegate; -import org.eclipse.wst.server.core.util.HttpLaunchable; -/** - * - */ -public class WebLaunchableClient extends ClientDelegate { - /* - * @see ClientDelegate#supports(ILaunchable) - */ - public boolean supports(IServer server, Object launchable, String launchMode) { - return (launchable instanceof HttpLaunchable); - } - - /* - * @see ClientDelegate#launch(ILaunchable) - */ - public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch) { - HttpLaunchable http = (HttpLaunchable) launchable; - try { - IWorkbenchBrowserSupport browserSupport = ServerUIPlugin.getInstance().getWorkbench().getBrowserSupport(); - IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR, null, null, null); - browser.openURL(http.getURL()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error opening browser", e); - } - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java deleted file mode 100644 index 518823fd8..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/AbstractServerActionDelegate.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.EclipseUtil; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IActionDelegate; -/** - * - */ -public abstract class AbstractServerActionDelegate implements IActionDelegate { - protected List servers; - - /** - * Return true if this server can currently be acted on. - * - * @return boolean - * @param server org.eclipse.wst.server.core.IServer - */ - public abstract boolean accept(IServer server); - - /** - * Perform action on this server. - * - * @param shell a shell - * @param server a server - */ - public abstract void perform(Shell shell, IServer server); - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) - */ - public void run(IAction action) { - Shell shell = EclipseUtil.getShell(); - Iterator iterator = servers.iterator(); - Object obj = iterator.next(); - if (obj instanceof IServer) { - IServer server = (IServer) obj; - if (accept(server)) - perform(shell, server); - selectionChanged(action, new StructuredSelection(servers)); - } - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) - */ - public void selectionChanged(IAction action, ISelection selection) { - servers = new ArrayList(); - if (selection.isEmpty() || !(selection instanceof StructuredSelection)) { - action.setEnabled(false); - return; - } - - boolean enabled = false; - Iterator iterator = ((StructuredSelection) selection).iterator(); - while (iterator.hasNext()) { - Object obj = iterator.next(); - if (obj instanceof IServer) { - IServer server = (IServer) obj; - if (accept(server)) { - servers.add(server); - enabled = true; - } - } else { - action.setEnabled(false); - return; - } - } - action.setEnabled(enabled); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerAction.java deleted file mode 100644 index a5adc30a4..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerAction.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * "Debug on Server" menu action. Allows the user to select an - * object, and have automatic server creation, launching, and - * the appropriate client to appear. A new instance of this - * action must be created for each object that the user selects. - */ -public class DebugOnServerAction extends Action { - protected DebugOnServerActionDelegate delegate; - - /** - * DebugOnServerAction constructor comment. - * - * @param object the object to attempt to debug - */ - public DebugOnServerAction(Object object) { - super(Messages.actionDebugOnServer); - - setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_DEBUG_ON_SERVER)); - setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_DEBUG_ON_SERVER)); - setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_DEBUG_ON_SERVER)); - - delegate = new DebugOnServerActionDelegate(); - if (object != null) { - StructuredSelection sel = new StructuredSelection(object); - delegate.selectionChanged(this, sel); - } else - delegate.selectionChanged(this, null); - } - - /** - * Implementation of method defined on <code>IAction</code>. - */ - public void run() { - delegate.run(this); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerActionDelegate.java deleted file mode 100644 index d811e87b7..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DebugOnServerActionDelegate.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.debug.core.ILaunchManager; -/** - * - */ -public class DebugOnServerActionDelegate extends RunOnServerActionDelegate { - /** - * Returns the start mode that the server should use. - */ - protected String getLaunchMode() { - return ILaunchManager.DEBUG_MODE; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java deleted file mode 100644 index 083596603..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.view.servers.DeleteAction; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; -/** - * - */ -public class DeleteActionDelegate implements IWorkbenchWindowActionDelegate { - protected IServer[] servers; - protected Shell shell; - - /** - * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose() - */ - public void dispose() { - // do nothing - } - - /** - * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(IWorkbenchWindow) - */ - public void init(IWorkbenchWindow window) { - if (window != null) - shell = window.getShell(); - } - - /** - * @see org.eclipse.ui.IActionDelegate#run(IAction) - */ - public void run(IAction action) { - if (action != null && action.isEnabled() && servers != null) - return; - DeleteAction delete = new DeleteAction(shell, servers); - delete.run(); - } - - /** - * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection) - */ - public void selectionChanged(IAction action, ISelection selection) { - servers = null; - if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) { - action.setEnabled(false); - return; - } - - IStructuredSelection select = (IStructuredSelection) selection; - Iterator iterator = select.iterator(); - - List list = new ArrayList(); - - while (iterator.hasNext()) { - Object obj = iterator.next(); - if (obj instanceof IServer) - list.add(obj); - else { - action.setEnabled(false); - return; - } - } - - servers = new IServer[list.size()]; - list.toArray(servers); - action.setEnabled(true); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java deleted file mode 100644 index a1ee767d8..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/LaunchWizardAction.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWizard; -import org.eclipse.ui.PlatformUI; -/** - * An abstract action that opens up a workbench wizard when run. - */ -abstract class LaunchWizardAction extends Action { - /** - * LaunchWizardAction - */ - public LaunchWizardAction() { - super(); - } - - /** - * Return the workbench wizard that should be opened. - * - * @return the wizard to open - */ - protected abstract IWorkbenchWizard getWizard(); - - /* - * @see IAction.run() - */ - public void run() { - IWorkbench workbench = PlatformUI.getWorkbench(); - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - ISelection selection = workbenchWindow.getSelectionService().getSelection(); - - IStructuredSelection selectionToPass = null; - if (selection instanceof IStructuredSelection) - selectionToPass = (IStructuredSelection) selection; - else - selectionToPass = StructuredSelection.EMPTY; - - IWorkbenchWizard wizard = getWizard(); - wizard.init(workbench, selectionToPass); - WizardDialog dialog = new WizardDialog(workbench.getActiveWorkbenchWindow().getShell(), wizard); - dialog.open(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java deleted file mode 100644 index 24a98e259..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerAction.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.jface.action.IAction; - -import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog; -import org.eclipse.wst.server.ui.internal.wizard.NewServerWizard; -/** - * Action to create a new server. - */ -public class NewServerAction extends NewWizardAction { - protected String[] ids; - protected String[] values; - - /** - * Create a new NewServerAction. - */ - public NewServerAction() { - super(); - } - - /** - * Create a new NewServerAction with some initial task model - * properties. - * - * @param ids - * @param values - */ - public NewServerAction(String[] ids, String[] values) { - super(); - this.ids = ids; - this.values = values; - } - - /** - * Performs this action. - * <p> - * This method is called when the delegating action has been triggered. - * Implement this method to do the actual work. - * </p> - * - * @param action the action proxy that handles the presentation portion of the - * action - */ - public void run(IAction action) { - NewServerWizard wizard = null; - if (ids == null) - wizard = new NewServerWizard(); - else - wizard = new NewServerWizard(ids, values); - wizard.init(workbench, selection); - ClosableWizardDialog dialog = new ClosableWizardDialog(workbench.getActiveWorkbenchWindow().getShell(), wizard); - dialog.open(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java deleted file mode 100644 index 0c1a2f6f6..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewServerWizardAction.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.ui.IWorkbenchWizard; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.NewServerWizard; -/** - * An action to invoke the new server and server configuration wizard. - */ -public class NewServerWizardAction extends LaunchWizardAction { - protected String[] ids; - protected String[] values; - - /** - * New server action. - */ - public NewServerWizardAction() { - super(); - - setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_NEW_SERVER)); - setText(Messages.actionSetNewServer); - } - - /** - * New server action. - * - * @param ids ids to pass into the action - * @param values values to pass into the action - */ - public NewServerWizardAction(String[] ids, String[] values) { - this(); - this.ids = ids; - this.values = values; - } - - /** - * Return the wizard that should be opened. - * - * @return org.eclipse.ui.IWorkbenchWizard - */ - protected IWorkbenchWizard getWizard() { - return new NewServerWizard(ids, values); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java deleted file mode 100644 index afcf36f32..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/NewWizardAction.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; -/** - * Action to create a new server element through a wizard. - */ -public abstract class NewWizardAction implements IWorkbenchWindowActionDelegate { - protected IWorkbench workbench; - protected IStructuredSelection selection; - - /** - * NewWizardAction constructor comment. - */ - public NewWizardAction() { - super(); - } - - /** - * Disposes this action delegate. The implementor should unhook any references - * to itself so that garbage collection can occur. - */ - public void dispose() { - // do nothing - } - - /** - * Initializes this action delegate with the workbench window it will work in. - * - * @param window the window that provides the context for this delegate - */ - public void init(IWorkbenchWindow window) { - workbench = window.getWorkbench(); - } - - /** - * Notifies this action delegate that the selection in the workbench has changed. - * <p> - * Implementers can use this opportunity to change the availability of the - * action or to modify other presentation properties. - * </p> - * - * @param action the action proxy that handles presentation portion of the action - * @param sel the current selection in the workbench - */ - public void selectionChanged(IAction action, ISelection sel) { - if (sel instanceof IStructuredSelection) - selection = (IStructuredSelection) sel; - else - selection = null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerAction.java deleted file mode 100644 index 6f4d2038e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerAction.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * "Profile on Server" menu action. Allows the user to select an - * object, and have automatic server creation, launching, and - * the appropriate client to appear. A new instance of this - * action must be created for each object that the user selects. - */ -public class ProfileOnServerAction extends Action { - protected ProfileOnServerActionDelegate delegate; - - /** - * Profile an object on server. - * - * @param object the object to attempt to debug - */ - public ProfileOnServerAction(Object object) { - super(Messages.actionProfileOnServer); - - setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_PROFILE_ON_SERVER)); - setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_PROFILE_ON_SERVER)); - setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_PROFILE_ON_SERVER)); - - delegate = new ProfileOnServerActionDelegate(); - if (object != null) { - StructuredSelection sel = new StructuredSelection(object); - delegate.selectionChanged(this, sel); - } else - delegate.selectionChanged(this, null); - } - - /** - * Implementation of method defined on <code>IAction</code>. - */ - public void run() { - delegate.run(this); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerActionDelegate.java deleted file mode 100644 index 129a0aed6..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/ProfileOnServerActionDelegate.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.debug.core.ILaunchManager; -/** - * - */ -public class ProfileOnServerActionDelegate extends RunOnServerActionDelegate { - /** - * Returns the start mode that the server should use. - */ - protected String getLaunchMode() { - return ILaunchManager.PROFILE_MODE; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java deleted file mode 100644 index 67642d326..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerAction.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * "Run on Server" menu action. Allows the user to select an - * object, and have automatic server creation, launching, and - * the appropriate client to appear. A new instance of this - * action must be created for each object that the user selects. - */ -public class RunOnServerAction extends Action { - protected RunOnServerActionDelegate delegate; - - /** - * Run on server action. - * - * @param object the object to attempt to debug - */ - public RunOnServerAction(Object object) { - super(Messages.actionRunOnServer); - - setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_RUN_ON_SERVER)); - setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_RUN_ON_SERVER)); - setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_RUN_ON_SERVER)); - - delegate = new RunOnServerActionDelegate(); - if (object != null) { - StructuredSelection sel = new StructuredSelection(object); - delegate.selectionChanged(this, sel); - } else - delegate.selectionChanged(this, null); - } - - /** - * Implementation of method defined on <code>IAction</code>. - */ - public void run() { - delegate.run(this); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java deleted file mode 100644 index ba23e7a69..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java +++ /dev/null @@ -1,504 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.actions; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import org.eclipse.core.runtime.*; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.window.Window; -import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.IClient; -import org.eclipse.wst.server.core.internal.ILaunchableAdapter; -import org.eclipse.wst.server.core.internal.PublishServerJob; -import org.eclipse.wst.server.core.internal.RestartServerJob; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.core.internal.ServerType; -import org.eclipse.wst.server.core.internal.StartServerJob; -import org.eclipse.wst.server.ui.internal.*; -import org.eclipse.wst.server.ui.internal.wizard.*; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; -/** - * Support for starting/stopping server and clients for resources running on a server. - */ -public class RunOnServerActionDelegate implements IWorkbenchWindowActionDelegate { - protected static final String[] launchModes = { - ILaunchManager.RUN_MODE, ILaunchManager.DEBUG_MODE, ILaunchManager.PROFILE_MODE }; - - protected Object selection; - - protected IWorkbenchWindow window; - - protected static Object globalSelection; - - protected static Map globalLaunchMode; - - protected boolean tasksRun; - - /** - * RunOnServerActionDelegate constructor comment. - */ - public RunOnServerActionDelegate() { - super(); - } - - /** - * Disposes this action delegate. The implementor should unhook any references - * to itself so that garbage collection can occur. - */ - public void dispose() { - window = null; - } - - /** - * Initializes this action delegate with the workbench window it will work in. - * - * @param newWindow the window that provides the context for this delegate - */ - public void init(IWorkbenchWindow newWindow) { - window = newWindow; - } - - public IServer getServer(IModule module, String launchMode, IProgressMonitor monitor) { - IServer server = ServerCore.getDefaultServer(module); - - // ignore preference if the server doesn't support this mode. - if (server != null && !ServerUIPlugin.isCompatibleWithLaunchMode(server, launchMode)) - server = null; - - if (server != null && !ServerUtil.containsModule(server, module, monitor)) { - IServerWorkingCopy wc = server.createWorkingCopy(); - try { - ServerUtil.modifyModules(wc, new IModule[] { module }, new IModule[0], monitor); - wc.save(false, monitor); - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Could not add module to server", ce); - server = null; - } - } - - Shell shell; - if (window != null) - shell = window.getShell(); - else - shell = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell(); - - if (server == null) { - // try the full wizard - RunOnServerWizard wizard = new RunOnServerWizard(module, launchMode); - ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard); - if (dialog.open() == Window.CANCEL) { - monitor.setCanceled(true); - return null; - } - - try { - Platform.getJobManager().join("org.eclipse.wst.server.ui.family", null); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error waiting for job", e); - } - server = wizard.getServer(); - boolean preferred = wizard.isPreferredServer(); - tasksRun = true; - - // set preferred server if requested - if (server != null && preferred) { - try { - ServerCore.setDefaultServer(module, server, monitor); - } catch (CoreException ce) { - String message = Messages.errorCouldNotSavePreference; - ErrorDialog.openError(shell, Messages.errorDialogTitle, message, ce.getStatus()); - } - } - } - - try { - Platform.getJobManager().join("org.eclipse.wst.server.ui.family", new NullProgressMonitor()); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error waiting for job", e); - } - - return server; - } - - /** - * Run the resource on a server. - * - * @param monitor org.eclipse.core.runtime.IProgressMonitor - */ - protected void run(IProgressMonitor monitor) { - String launchMode = getLaunchMode(); - IModuleArtifact moduleArtifact = ServerPlugin.loadModuleArtifact(selection); - - Shell shell; - if (window != null) - shell = window.getShell(); - else - shell = ServerUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell(); - - if (moduleArtifact == null || moduleArtifact.getModule() == null) { - EclipseUtil.openError(Messages.errorNoModules); - Trace.trace(Trace.FINEST, "No modules"); - return; - } - IModule module = moduleArtifact.getModule(); - - // check for servers with the given start mode - IServer[] servers = ServerCore.getServers(); - boolean found = false; - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size && !found; i++) { - if (ServerUIPlugin.isCompatibleWithLaunchMode(servers[i], launchMode)) { - try { - IModule[] parents = servers[i].getRootModules(module, monitor); - if (parents != null && parents.length > 0) - found = true; - } catch (Exception e) { - // ignore - } - } - } - } - - if (!found) { - // no existing server supports the project and start mode! - // check if there might be another one that can be created - IServerType[] serverTypes = ServerCore.getServerTypes(); - boolean found2 = false; - if (serverTypes != null) { - int size = serverTypes.length; - for (int i = 0; i < size && !found2; i++) { - IServerType type = serverTypes[i]; - IModuleType[] moduleTypes = type.getRuntimeType().getModuleTypes(); - if (type.supportsLaunchMode(launchMode) && ServerUtil.isSupportedModule(moduleTypes, module.getModuleType())) { - found2 = true; - } - } - } - if (!found2) { - EclipseUtil.openError(Messages.errorNoServer); - Trace.trace(Trace.FINEST, "No server for start mode"); - return; - } - } - - if (!ServerUIPlugin.saveEditors()) - return; - - tasksRun = false; - IServer server = getServer(module, launchMode, monitor); - if (monitor.isCanceled()) - return; - - Trace.trace(Trace.FINEST, "Server: " + server); - - if (server == null) { - EclipseUtil.openError(Messages.errorNoServer); - Trace.trace(Trace.SEVERE, "No server found"); - return; - } - - if (!ServerUIPlugin.promptIfDirty(shell, server)) - return; - - if (!tasksRun) { - SelectTasksWizard wizard = new SelectTasksWizard(server); - wizard.addPages(); - if (wizard.hasTasks() && wizard.hasOptionalTasks()) { - WizardDialog dialog = new WizardDialog(shell, wizard); - if (dialog.open() == Window.CANCEL) - return; - } else - wizard.performFinish(); - } - - // get the launchable adapter and module object - ILaunchableAdapter launchableAdapter = null; - Object launchable = null; - ILaunchableAdapter[] adapters = ServerPlugin.getLaunchableAdapters(); - if (adapters != null) { - int size2 = adapters.length; - for (int j = 0; j < size2; j++) { - ILaunchableAdapter adapter = adapters[j]; - try { - Object launchable2 = adapter.getLaunchable(server, moduleArtifact); - Trace.trace(Trace.FINEST, "adapter= " + adapter + ", launchable= " + launchable2); - if (launchable2 != null) { - launchableAdapter = adapter; - launchable = launchable2; - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error in launchable adapter", e); - } - } - } - - IClient[] clients = new IClient[0]; - if (launchable != null) - clients = getClients(server, launchable, launchMode); - - Trace.trace(Trace.FINEST, "Launchable clients: " + clients); - - IClient client = null; - if (clients == null || clients.length == 0) { - EclipseUtil.openError(Messages.errorNoClient); - Trace.trace(Trace.SEVERE, "No launchable clients!"); - return; - } else if (clients.length == 1) { - client = clients[0]; - } else { - SelectClientWizard wizard = new SelectClientWizard(clients); - ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard); - dialog.open(); - client = wizard.getSelectedClient(); - if (client == null) - return; - } - - Trace.trace(Trace.FINEST, "Ready to launch"); - - // start server if it's not already started - // and cue the client to start - IModule[] modules = new IModule[] { module }; // TODO: get parent heirarchy correct - int state = server.getServerState(); - if (state == IServer.STATE_STARTING) { - LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client); - clientJob.schedule(); - } else if (state == IServer.STATE_STARTED) { - boolean restart = false; - String mode = server.getMode(); - if (!ILaunchManager.DEBUG_MODE.equals(mode) && ILaunchManager.DEBUG_MODE.equals(launchMode)) { - int result = openWarningDialog(shell, Messages.dialogModeWarningDebug); - if (result == 1) - launchMode = mode; - else if (result == 0) - restart = true; - else - return; - } else if (!ILaunchManager.PROFILE_MODE.equals(mode) && ILaunchManager.PROFILE_MODE.equals(launchMode)) { - int result = openWarningDialog(shell, Messages.dialogModeWarningProfile); - if (result == 1) - launchMode = mode; - else if (result == 0) - restart = true; - else - return; - } - - PublishServerJob publishJob = new PublishServerJob(server, IServer.PUBLISH_INCREMENTAL, false); - LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client); - publishJob.setNextJob(clientJob); - - if (restart) { - RestartServerJob restartJob = new RestartServerJob(server, launchMode); - restartJob.setNextJob(publishJob); - restartJob.schedule(); - } else - publishJob.schedule(); - } else if (state != IServer.STATE_STOPPING) { - PublishServerJob publishJob = new PublishServerJob(server); - StartServerJob startServerJob = new StartServerJob(server, launchMode); - LaunchClientJob clientJob = new LaunchClientJob(server, modules, launchMode, moduleArtifact, launchableAdapter, client); - - if (((ServerType)server.getServerType()).startBeforePublish()) { - startServerJob.setNextJob(publishJob); - publishJob.setNextJob(clientJob); - startServerJob.schedule(); - } else { - publishJob.setNextJob(startServerJob); - startServerJob.setNextJob(clientJob); - publishJob.schedule(); - } - } - } - - /** - * Returns the launchable clients for the given server and launchable - * object. - * - * @param server org.eclipse.wst.server.core.IServer - * @param launchable - * @param launchMode String - * @return an array of clients - */ - public static IClient[] getClients(IServer server, Object launchable, String launchMode) { - ArrayList list = new ArrayList(); - IClient[] clients = ServerPlugin.getClients(); - if (clients != null) { - int size = clients.length; - for (int i = 0; i < size; i++) { - Trace.trace(Trace.FINEST, "client= " + clients[i]); - if (clients[i].supports(server, launchable, launchMode)) - list.add(clients[i]); - } - } - - IClient[] clients2 = new IClient[list.size()]; - list.toArray(clients2); - return clients2; - } - - /** - * Open a message dialog. - * - * @param shell - * @param message - * @return a dialog return constant - */ - protected int openWarningDialog(Shell shell, String message) { - MessageDialog dialog = new MessageDialog(shell, Messages.errorDialogTitle, null, - message, MessageDialog.WARNING, new String[] {Messages.dialogModeWarningRestart, - Messages.dialogModeWarningContinue, IDialogConstants.CANCEL_LABEL}, 0); - return dialog.open(); - } - - /** - * The delegating action has been performed. Implement - * this method to do the actual work. - * - * @param action action proxy that handles the presentation - * portion of the plugin action - */ - public void run(IAction action) { - Trace.trace(Trace.FINEST, "Running on Server..."); - try { - run(new NullProgressMonitor()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Run on Server Error", e); - } - } - - protected boolean isEnabled() { - try { - Boolean b = (Boolean) globalLaunchMode.get(getLaunchMode()); - return b.booleanValue(); - } catch (Exception e) { - // ignore - } - return false; - } - - /** - * Returns the start mode that the server should use. - */ - protected String getLaunchMode() { - return ILaunchManager.RUN_MODE; - } - - /** - * Determine which clients can act on the current selection. - * - * @param action action proxy that handles presentation - * portion of the plugin action - * @param sel current selection in the desktop - */ - public void selectionChanged(IAction action, ISelection sel) { - Trace.trace(Trace.FINEST, "> selectionChanged"); - selection = null; - long time = System.currentTimeMillis(); - if (sel == null || sel.isEmpty() || !(sel instanceof IStructuredSelection)) { - action.setEnabled(false); - globalSelection = null; - return; - } - - IStructuredSelection select = (IStructuredSelection) sel; - Iterator iterator = select.iterator(); - if (iterator.hasNext()) - selection = iterator.next(); - if (iterator.hasNext()) { // more than one selection (should never happen) - action.setEnabled(false); - selection = null; - globalSelection = null; - return; - } - - if (selection != globalSelection) { - Trace.trace(Trace.FINEST, "Selection: " + selection); - if (selection != null) - Trace.trace(Trace.FINEST, "Selection type: " + selection.getClass().getName()); - globalSelection = selection; - globalLaunchMode = new HashMap(); - if (!ServerPlugin.hasModuleArtifact(globalSelection)) { - action.setEnabled(false); - return; - } - - Trace.trace(Trace.FINEST, "checking for module artifact"); - IModuleArtifact moduleArtifact = ServerPlugin.getModuleArtifact(globalSelection); - IModule module = null; - if (moduleArtifact != null) - module = moduleArtifact.getModule(); - Trace.trace(Trace.FINEST, "moduleArtifact= " + moduleArtifact + ", module= " + module); - if (module != null) - findGlobalLaunchModes(module); - else { - globalLaunchMode.put(ILaunchManager.RUN_MODE, new Boolean(true)); - globalLaunchMode.put(ILaunchManager.DEBUG_MODE, new Boolean(true)); - globalLaunchMode.put(ILaunchManager.PROFILE_MODE, new Boolean(true)); - } - } - - action.setEnabled(isEnabled()); - Trace.trace(Trace.FINEST, "< selectionChanged " + (System.currentTimeMillis() - time)); - } - - /** - * Determines whether there is a server factory available for the given module - * and the various start modes. - */ - protected void findGlobalLaunchModes(IModule module) { - IServerType[] serverTypes = ServerCore.getServerTypes(); - if (serverTypes != null) { - int size = serverTypes.length; - for (int i = 0; i < size; i++) { - IServerType type = serverTypes[i]; - if (isValidServerType(type, module)) { - for (byte b = 0; b < launchModes.length; b++) { - if (type.supportsLaunchMode(launchModes[b])) { - globalLaunchMode.put(launchModes[b], new Boolean(true)); - } - } - } - } - } - } - - /** - * Returns true if the given server type can launch the module. - */ - protected boolean isValidServerType(IServerType type, IModule module) { - try { - IRuntimeType runtimeType = type.getRuntimeType(); - ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), module.getModuleType()); - } catch (Exception e) { - return false; - } - return true; - } - - protected boolean supportsLaunchMode(IServer server, String launchMode) { - return server.getServerType().supportsLaunchMode(launchMode); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Audio.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Audio.java deleted file mode 100644 index 24f7717fe..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Audio.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -/** - * Audio is the main interface to the audio plugin.<p> - * - * Adding a new sound to your plugin is as easy as ABC: - * <ul> - * <li>A: Add the following requires to your plugin.xml:<br> - * <pre><import plugin="org.eclipse.wst.server.util"></pre></li> - * - * <li>B: Define a new sound extension point in your plugin.xml:<br> - * <pre><extension point="org.eclipse.wst.server.util.sound"> - * <category id="org.eclipse.myPlugin" - * name="My Plugin Name"/> - * <sound id="org.eclipse.myPlugin.mySound" - * category="org.eclipse.myPlugin" - * name="Something Happened" - * location="sounds/mySound.wav"/> - * <sound id="org.eclipse.myPlugin.myOtherSounds" - * category="org.eclipse.myPlugin" - * name="Another Event Happened"/> - * </extension></pre><br> - * (the location is optional. If it is not specified, the sound - * will not play until the user specifies an audio file)</li> - * - * <li>C: Call the sounds when the appropriate events occur within - * your plugin:<br> - * <pre>org.eclipse.wst.audio.Audio.playSound("org.eclipse.myPlugin.mySound");</pre></li> - * </ul> - */ -public class Audio { - /** - * AudioCore constructor comment. - */ - private Audio() { - super(); - } - - /** - * Plays the sound with the given id. - * - * @param id java.lang.String - */ - public static void playSound(String id) { - AudioCore.getInstance().playSound(id); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java deleted file mode 100644 index 80499cb72..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioCore.java +++ /dev/null @@ -1,694 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -import java.util.*; -import java.io.*; -import java.net.URL; -import javax.sound.sampled.*; - -import org.eclipse.core.runtime.*; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.ui.IMemento; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * Main audio plugin class. - */ -public class AudioCore { - protected static AudioCore instance; - - public static final String PREF_SOUND_ENABLED = "soundEnabled"; - public static final String PREF_VOLUME = "volume"; - - public static final String SOUNDS_FILE = "sounds.xml"; - public static final String DISABLED_FILE = "disabled-sounds.xml"; - - // Categories - map of String id to String names - private Map categories; - - // Sounds - map of String id to Sound - private Map sounds; - - // specific sounds or categories that have been disabled, by id - private List disabledSounds; - private List disabledCategories; - - // SoundMap - map of String id to an IPath - private Map userSoundMap; - - /** - * AudioCore constructor comment. - */ - private AudioCore() { - super(); - - loadExtensionPoints(); - - loadSoundMap(); - loadDisabledLists(); - - - } - - /** - * Return the categories - * - * @return java.util.Map - */ - protected Map getCategories() { - return categories; - } - - /** - * Returns the audio clip. - * - * @param url java.net.URL - * @return javax.sound.sampled.Clip - */ - protected static Clip getClip(URL url) { - try { - AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url); - - AudioFormat format = audioInputStream.getFormat(); - - /** - * we can't yet open the device for ALAW/ULAW playback, - * convert ALAW/ULAW to PCM - */ - if ((format.getEncoding() == AudioFormat.Encoding.ULAW) || - (format.getEncoding() == AudioFormat.Encoding.ALAW)) { - AudioFormat tmp = new AudioFormat( - AudioFormat.Encoding.PCM_SIGNED, - format.getSampleRate(), - format.getSampleSizeInBits() * 2, - format.getChannels(), - format.getFrameSize() * 2, - format.getFrameRate(), true); - audioInputStream = AudioSystem.getAudioInputStream(tmp, audioInputStream); - format = tmp; - } - DataLine.Info info = new DataLine.Info( - Clip.class, audioInputStream.getFormat(), - ((int) audioInputStream.getFrameLength() * - format.getFrameSize())); - - Clip clip = (Clip) AudioSystem.getLine(info); - clip.open(audioInputStream); - return clip; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not get clip: " + url, e); - } - return null; - } - - /** - * Returns true if audio is currently available on this system. - * - * @return boolean - */ - protected static boolean isAudioSupported() { - try { - boolean sound = false; - Mixer.Info[] info2 = AudioSystem.getMixerInfo(); - if (info2 != null) { - int size = info2.length; - for (int i = 0; i < size; i++) { - //Trace.trace(" " + info2[i]); - Mixer mixer = AudioSystem.getMixer(info2[i]); - if (mixer != null) { - //Trace.trace(" Mixer:" + mixer); - //Trace.trace(" " + mixer.getLineInfo()); - try { - Line.Info info = mixer.getLineInfo(); - Line line = mixer.getLine(info); - //Trace.trace(" Line:" + line); - if (line != null && line.toString().indexOf("Output") >= 0) - sound = true; - } catch (Exception e) { - // ignore - } - } - } - } - return sound; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not verify audio status", e); - } - return true; - } - - /** - * Returns true if sound is enabled. - * - * @return boolean - */ - public boolean getDefaultSoundsEnabled() { - return getPreferenceStore().getDefaultBoolean(PREF_SOUND_ENABLED); - } - - /** - * Returns the default volume. - * - * @return int - */ - public int getDefaultVolume() { - return getPreferenceStore().getDefaultInt(PREF_VOLUME); - } - - /** - * Returns the singleton instance. - * - * @return org.eclipse.audio.internal.AudioCore - */ - public static AudioCore getInstance() { - if (instance == null) - instance = new AudioCore(); - return instance; - } - - /** - * - * @return org.eclipse.jface.preference.IPreferenceStore - */ - protected IPreferenceStore getPreferenceStore() { - return ServerUIPlugin.getInstance().getPreferenceStore(); - } - - /** - * Returns the sound with the given id. - * - * @param id java.lang.String - * @return org.eclipse.audio.Sound - */ - protected Sound getSound(String id) { - try { - return (Sound) sounds.get(id); - } catch (Exception e) { - return null; - } - } - - /** - * Return the sounds. - * - * @return java.util.Map - */ - protected Map getSounds() { - return sounds; - } - - /** - * Returns the full user sound map. - * - * @return java.util.Map - */ - protected Map getUserSoundMap() { - if (userSoundMap == null) - loadSoundMap(); - return userSoundMap; - } - - /** - * Return the current URL for this sound. - * - * @param id java.lang.String - * @return java.net.URL - */ - protected IPath getUserSoundPath(String id) { - try { - if (userSoundMap == null) - loadSoundMap(); - - IPath path = (IPath) userSoundMap.get(id); - if (path != null) - return path; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not get sound URL: " + id, e); - } - return null; - } - - /** - * Returns the preferred volume. - * - * @return int - */ - public int getVolume() { - return getPreferenceStore().getInt(PREF_VOLUME); - } - - /** - * Initialize the default preferences. - * - * @param store org.eclipse.jface.preference.IPreferenceStore - */ - public static void initializeDefaultPreferences(IPreferenceStore store) { - store.setDefault(PREF_VOLUME, 18); - } - - /** - * Returns true if the given category is enabled. - * - * @param id java.lang.String - * @return boolean - */ - public boolean isCategoryEnabled(String id) { - if (id == null) - return false; - - if (disabledCategories == null) - loadDisabledLists(); - - return (!disabledCategories.contains(id)); - } - - /** - * Returns true if sound is enabled. - * - * @return boolean - */ - public boolean isSoundEnabled() { - return getPreferenceStore().getBoolean(PREF_SOUND_ENABLED); - } - - /** - * Returns true if the given sound is enabled. - * - * @param id java.lang.String - * @return boolean - */ - public boolean isSoundEnabled(String id) { - if (id == null) - return false; - - if (disabledSounds == null) - loadDisabledLists(); - - return (!disabledSounds.contains(id)); - } - - /** - * Saves the disabled sound list. - */ - private void loadDisabledLists() { - String filename = ServerUIPlugin.getInstance().getStateLocation().append(DISABLED_FILE).toOSString(); - - FileInputStream in = null; - disabledCategories = new ArrayList(); - disabledSounds = new ArrayList(); - try { - in = new FileInputStream(filename); - IMemento memento = XMLMemento.loadMemento(in); - - IMemento cat = memento.getChild("categories"); - IMemento[] children = cat.getChildren("category"); - - int size = children.length; - for (int i = 0; i < size; i++) { - try { - IMemento child = children[i]; - String id = child.getString("id"); - - disabledCategories.add(id); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error reading URL map ", ex); - } - } - - IMemento sound = memento.getChild("sounds"); - children = sound.getChildren("sound"); - - size = children.length; - for (int i = 0; i < size; i++) { - try { - IMemento child = children[i]; - String id = child.getString("id"); - - disabledSounds.add(id); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error reading URL map ", ex); - } - } - } catch (Exception e) { - //AudioPlugin.log(new Status(IStatus.WARNING, AudioPlugin.PLUGIN_ID, 0, "Could not load disabled sound information", e)); - } finally { - if (in != null) { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - } - } - - /** - * Load extension point. - */ - private void loadExtensionPoints() { - // load extension points - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "audio"); - - int size = cf.length; - categories = new HashMap(); - sounds = new HashMap(); - - for (int i = 0; i < size; i++) { - try { - String elementName = cf[i].getName(); - String id = cf[i].getAttribute("id"); - String name = cf[i].getAttribute("name"); - if ("category".equals(elementName)) { - categories.put(id, name); - } else if ("sound".equals(elementName)) { - String category = cf[i].getAttribute("category"); - String location = cf[i].getAttribute("location"); - - URL realURL = null; - if (location != null && location.length() > 0) { - String pluginId = cf[i].getDeclaringExtension().getNamespace(); - URL url = Platform.find(Platform.getBundle(pluginId), new Path(location)); - realURL = Platform.resolve(url); - } - - Sound sound = new Sound(id, category, name, realURL); - sounds.put(id, sound); - } - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not load audio: " + cf[i].getAttribute("id"), t); - } - } - } - - /** - * Saves the disabled sound list. - */ - private void loadSoundMap() { - String filename = ServerUIPlugin.getInstance().getStateLocation().append(SOUNDS_FILE).toOSString(); - - InputStream in = null; - userSoundMap = new HashMap(); - try { - in = new FileInputStream(filename); - IMemento memento = XMLMemento.loadMemento(in); - - IMemento[] children = memento.getChildren("map"); - - int size = children.length; - for (int i = 0; i < size; i++) { - try { - IMemento child = children[i]; - String id = child.getString("id"); - String pathStr = child.getString("path"); - IPath path = new Path(pathStr); - - userSoundMap.put(id, path); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error reading URL map ", ex); - } - } - } catch (Exception e) { - // ignore - } finally { - if (in != null) { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - } - } - - /** - * Play the sound with the given id. (provided that - * the user has enabled the sound) - * - * @param id java.lang.String - */ - public void playSound(String id) { - if (!isSoundEnabled()) - return; - - if (!isSoundEnabled(id)) - return; - - try { - Sound sound = (Sound) sounds.get(id); - String category = sound.getCategory(); - if (category != null && categories.containsKey(category)) { - if (!isCategoryEnabled(category)) - return; - } - - URL url = sound.getLocation(); - IPath path = getUserSoundPath(id); - if (path != null) - url = path.toFile().toURL(); - - playSound(url, getVolume()); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error playing audio: " + id, e); - } - } - - /** - * Plays the sound at the given url. - * - * @param url java.net.URL - */ - protected static void playSound(URL url, final int volume) { - try { - Trace.trace(Trace.FINEST, "playSound"); - if (url == null || volume <= 0) - return; - - final Clip clip = getClip(url); - if (clip == null) - return; - - Trace.trace(Trace.FINEST, "playing"); - - Thread t = new Thread("Sound Thread") { - public void run() { - // set gain - FloatControl gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN); - double value = volume / 20.0; - float dB = (float) (Math.log(value==0.0?0.0001:value)/Math.log(10.0)*20.0); - gainControl.setValue(dB); - - Trace.trace(Trace.FINEST, "start"); - clip.start(); - try { - sleep(99); - } catch (Exception e) { - // ignore - } - - while (clip.isActive()) { - try { - sleep(99); - } catch (Exception e) { - break; - } - } - clip.stop(); - clip.close(); - Trace.trace(Trace.FINEST, "stop"); - } - }; - t.setDaemon(true); - t.start(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error playing audio: " + url, e); - } - } - - /** - * Saves the disabled sounds and categories list. - */ - private void saveDisabledLists() { - String filename = ServerUIPlugin.getInstance().getStateLocation().append(DISABLED_FILE).toOSString(); - - FileOutputStream fout = null; - try { - XMLMemento memento = XMLMemento.createWriteRoot("disabled"); - - IMemento cat = memento.createChild("categories"); - Iterator iterator = disabledCategories.iterator(); - while (iterator.hasNext()) { - IMemento child = cat.createChild("category"); - String id = (String) iterator.next(); - child.putString("id", id); - } - - IMemento sound = memento.createChild("sounds"); - iterator = disabledSounds.iterator(); - while (iterator.hasNext()) { - IMemento child = sound.createChild("sound"); - String id = (String) iterator.next(); - child.putString("id", id); - } - - fout = new FileOutputStream(filename); - memento.save(fout); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save disabled information", e); - } finally { - if (fout != null) { - try { - fout.close(); - } catch (Exception e) { - // ignore - } - } - } - } - - /** - * Saves the disabled sound list. - */ - private void saveSoundMap() { - String filename = ServerUIPlugin.getInstance().getStateLocation().append(SOUNDS_FILE).toOSString(); - - FileOutputStream fout = null; - try { - XMLMemento memento = XMLMemento.createWriteRoot("sound-map"); - - Iterator iterator = userSoundMap.keySet().iterator(); - while (iterator.hasNext()) { - IMemento child = memento.createChild("map"); - String id = (String) iterator.next(); - child.putString("id", id); - IPath path = (IPath) userSoundMap.get(id); - child.putString("path", path.toString()); - } - - fout = new FileOutputStream(filename); - memento.save(fout); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not save URL map information", e); - } finally { - if (fout != null) { - try { - fout.close(); - } catch (Exception e) { - // ignore - } - } - } - } - - /** - * Enable or disable a specific category. - * - * @param id java.lang.String - * @param b boolean - */ - public void setCategoryEnabled(String id, boolean b) { - if (id == null) - return; - - if (disabledCategories == null) - loadDisabledLists(); - - if (b) { - if (disabledCategories.contains(id)) { - disabledCategories.remove(id); - saveDisabledLists(); - } - } else { - if (!disabledCategories.contains(id)) { - disabledCategories.add(id); - saveDisabledLists(); - } - } - } - - /** - * Enable or disable a specific sound. - * - * @param id java.lang.String - * @param b boolean - */ - public void setSoundEnabled(String id, boolean b) { - if (id == null) - return; - - if (disabledSounds == null) - loadDisabledLists(); - - if (b) { - if (disabledSounds.contains(id)) { - disabledSounds.remove(id); - saveDisabledLists(); - } - } else { - if (!disabledSounds.contains(id)) { - disabledSounds.add(id); - saveDisabledLists(); - } - } - } - - /** - * Sets whether sound is enabled. - * - * @param enabled - */ - public void setSoundsEnabled(boolean enabled) { - getPreferenceStore().setValue(PREF_SOUND_ENABLED, enabled); - } - - /** - * Sets the current URL for this sound. - * - * @param id java.lang.String - * @param path IPath - */ - protected void setSoundURL(String id, IPath path) { - if (id == null || path == null) - return; - - try { - if (userSoundMap == null) - loadSoundMap(); - - userSoundMap.put(id, path); - saveSoundMap(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not get sound URL: " + id, e); - } - } - - /** - * Sets the full user sound map. - * - * @param map the sound map - */ - protected void setUserSoundMap(Map map) { - if (map != null) { - userSoundMap = map; - saveSoundMap(); - } - } - - /** - * Sets the volume. - * - * @param volume the volume - */ - public void setVolume(int volume) { - getPreferenceStore().setValue(PREF_VOLUME, volume); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java deleted file mode 100644 index be0a6b3e7..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioPreferencePage.java +++ /dev/null @@ -1,469 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.HashMap; -import java.util.Iterator; - -import org.eclipse.core.runtime.*; -import org.eclipse.swt.events.*; -import org.eclipse.jface.viewers.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.*; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -import org.eclipse.wst.server.ui.internal.ContextIds; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.SWTUtil; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * Audio preference page. - */ -public class AudioPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { - protected Button enableButton; - protected Spinner volume; - - protected Map userSoundMap; - - protected CategoryTableViewer viewer; - - boolean soundAvailable = true; - - /** - * AudioPreferencePage constructor comment. - */ - public AudioPreferencePage() { - super(); - - loadUserMapInfo(); - } - - protected IPath chooseAudioFile() { - FileDialog dialog = new FileDialog(getShell(), SWT.SINGLE); - dialog.setText(Messages.audioPrefSelectFile); - dialog.setFilterExtensions(new String[] {"*.au;*.wav"}); - dialog.setFilterPath(null); - dialog.open(); - - String[] filenames = dialog.getFileNames(); - if (filenames != null && filenames.length > 0) { - String filterPath = dialog.getFilterPath(); - return new Path(filterPath + java.io.File.separator + filenames[0]); - } - return null; - } - - /** - * Creates and returns the SWT control for the customized body - * of this preference page under the given parent composite. - * <p> - * This framework method must be implemented by concrete - * subclasses. - * </p> - * - * @param parent the parent composite - * @return the new control - */ - protected Control createContents(Composite parent) { - initializeDialogUnits(parent); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(parent, ContextIds.AUDIO_PREFERENCES); - - final AudioCore core = AudioCore.getInstance(); - - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 3; - layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); - layout.verticalSpacing = convertVerticalDLUsToPixels(3); - layout.marginWidth = 0; - layout.marginHeight = 0; - composite.setLayout(layout); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - composite.setLayoutData(data); - - enableButton = new Button(composite, SWT.CHECK); - enableButton.setText(Messages.audioPrefEnable); - enableButton.setSelection(AudioCore.getInstance().isSoundEnabled()); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 3; - enableButton.setLayoutData(data); - whs.setHelp(enableButton, ContextIds.AUDIO_PREFERENCES_ENABLE); - - final Label volumeLabel = new Label(composite, SWT.NONE); - volumeLabel.setText(Messages.audioPrefVolume); - data = new GridData(); - data.horizontalIndent = 20; - volumeLabel.setLayoutData(data); - volumeLabel.setEnabled(enableButton.getSelection()); - - volume = new Spinner(composite, SWT.BORDER); - volume.setMinimum(0); - volume.setMaximum(20); - volume.setSelection(AudioCore.getInstance().getVolume()); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.horizontalSpan = 2; - data.widthHint = 60; - volume.setLayoutData(data); - volume.setEnabled(enableButton.getSelection()); - whs.setHelp(volume, ContextIds.AUDIO_PREFERENCES_VOLUME); - - enableButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - volumeLabel.setEnabled(enableButton.getSelection()); - volume.setEnabled(enableButton.getSelection()); - } - }); - - Label label = new Label(composite, SWT.NONE); - data = new GridData(); - data.horizontalSpan = 3; - label.setLayoutData(data); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.audioPrefSounds); - data = new GridData(); - data.horizontalSpan = 3; - label.setLayoutData(data); - - final Table table = new Table(composite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.CHECK); - data = new GridData(GridData.FILL_BOTH); - data.horizontalSpan = 2; - table.setLayoutData(data); - whs.setHelp(table, ContextIds.AUDIO_PREFERENCES_SOUNDS_TABLE); - - viewer = new CategoryTableViewer(table); - - TableLayout tableLayout = new TableLayout(); - table.setLayout(tableLayout); - table.setHeaderVisible(true); - - tableLayout.addColumnData(new ColumnPixelData(19, false)); - TableColumn col = new TableColumn(table, SWT.NONE, 0); - col.setText(""); - col.setResizable(false); - - tableLayout.addColumnData(new ColumnWeightData(11, 110, true)); - col = new TableColumn(table, SWT.NONE, 1); - col.setText(Messages.audioPrefSound); - col.setResizable(true); - - tableLayout.addColumnData(new ColumnWeightData(15, 150, true)); - col = new TableColumn(table, SWT.NONE, 2); - col.setText(Messages.audioPrefFile); - col.setResizable(true); - - viewer.setContentProvider(new AudioTableContentProvider()); - viewer.setLabelProvider(new AudioTableLabelProvider(this)); - viewer.setInput("root"); - - setCheckState(viewer); - - viewer.addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent event) { - boolean checked = event.getChecked(); - Object obj = event.getElement(); - - if (obj instanceof String) { - String id = (String) obj; - core.setCategoryEnabled(id, checked); - //viewer.refresh(); - Iterator iterator = AudioTableContentProvider.getSoundsByCategory(id).iterator(); - while (iterator.hasNext()) { - Sound s = (Sound) iterator.next(); - viewer.setChecked(s, checked); - core.setSoundEnabled(s.getId(), checked); - } - } else { - Sound sound = (Sound) obj; - core.setSoundEnabled(sound.getId(), checked); - } - } - }); - - Composite right = new Composite(composite, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 1; - layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); - layout.verticalSpacing = convertVerticalDLUsToPixels(4); - layout.marginWidth = 0; - layout.marginHeight = 0; - right.setLayout(layout); - data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL); - right.setLayoutData(data); - - // play button and table selection listener - final Button playButton = SWTUtil.createButton(right, Messages.audioPrefPlay); - playButton.setEnabled(false); - whs.setHelp(playButton, ContextIds.AUDIO_PREFERENCES_PLAY); - - final Button browseButton = SWTUtil.createButton(right, Messages.audioPrefBrowse); - browseButton.setEnabled(false); - whs.setHelp(browseButton, ContextIds.AUDIO_PREFERENCES_BROWSE); - - final Button resetButton = SWTUtil.createButton(right, Messages.audioPrefReset); - resetButton.setEnabled(false); - whs.setHelp(resetButton, ContextIds.AUDIO_PREFERENCES_RESET); - - viewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - try { - IStructuredSelection sel = (IStructuredSelection) event.getSelection(); - Object obj = sel.getFirstElement(); - if (obj instanceof Sound) { - Sound sound = (Sound) obj; - URL url = getSoundURL(sound.getId()); - if (url != null && soundAvailable) - playButton.setEnabled(true); - else - playButton.setEnabled(false); - browseButton.setEnabled(true); - - if (getUserSoundPath(sound.getId()) != null) - resetButton.setEnabled(true); - else - resetButton.setEnabled(false); - } else { - playButton.setEnabled(false); - browseButton.setEnabled(false); - resetButton.setEnabled(false); - } - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error in table selection", ex); - } - } - }); - - soundAvailable = AudioCore.isAudioSupported(); - if (soundAvailable) { - playButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - try { - int sel = table.getSelectionIndex(); - Sound sound = (Sound) table.getItem(sel).getData(); - AudioCore.playSound(getSoundURL(sound.getId()), volume.getSelection()); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error in table selection", ex); - } - } - }); - } else - playButton.setEnabled(false); - - browseButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - try { - IPath path = chooseAudioFile(); - if (path != null) { - int sel = table.getSelectionIndex(); - Sound sound = (Sound) table.getItem(sel).getData(); - setUserSoundPath(sound.getId(), path); - viewer.refresh(sound); - playButton.setEnabled(true); - } - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error browsing", ex); - } - } - }); - - resetButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - try { - int sel = table.getSelectionIndex(); - Sound sound = (Sound) table.getItem(sel).getData(); - removeUserSoundPath(sound.getId()); - viewer.refresh(sound); - //playButton.setEnabled(true); - } catch (Exception ex) { - Trace.trace(Trace.SEVERE, "Error reseting sound", ex); - } - } - }); - - Dialog.applyDialogFont(composite); - - return composite; - } - - protected void setCheckState(CheckboxTableViewer viewer) { - AudioCore core = AudioCore.getInstance(); - - Map categories = core.getCategories(); - - // first, find all the categories and sort - List cats = new ArrayList(); - Iterator iterator = categories.keySet().iterator(); - while (iterator.hasNext()) - cats.add(iterator.next()); - - // list them, ignoring empty ones - iterator = categories.keySet().iterator(); - while (iterator.hasNext()) { - String id = (String) iterator.next(); - List l = AudioTableContentProvider.getSoundsByCategory(id); - if (!l.isEmpty()) { - if (core.isCategoryEnabled(id)) - viewer.setChecked(id, true); - - int size = l.size(); - for (int i = 0; i < size; i++) { - Sound s = (Sound) l.get(i); - if (core.isSoundEnabled(s.getId())) - viewer.setChecked(s, true); - } - } - } - - // finally, list the "misc" sounds - List l = AudioTableContentProvider.getSoundsByCategory(null); - if (!l.isEmpty()) { - int size = l.size(); - for (int i = 0; i < size; i++) { - Sound s = (Sound) l.get(i); - if (core.isSoundEnabled(s.getId())) - viewer.setChecked(s, true); - } - } - } - - /** - * - * @return org.eclipse.core.runtime.IPath - * @param id java.lang.String - */ - protected URL getSoundURL(String id) { - try { - IPath path = (IPath) userSoundMap.get(id); - if (path != null) - return path.toFile().toURL(); - } catch (Exception e) { - // ignore - } - - return AudioCore.getInstance().getSound(id).getLocation(); - } - - /** - * - * @return org.eclipse.core.runtime.IPath - * @param id java.lang.String - */ - protected IPath getUserSoundPath(String id) { - try { - IPath path = (IPath) userSoundMap.get(id); - if (path != null) - return path; - } catch (Exception e) { - // ignore - } - return null; - } - - /** - * Initializes this preference page for the given workbench. - * <p> - * This method is called automatically as the preference page is being created - * and initialized. Clients must not call this method. - * </p> - * - * @param workbench the workbench - */ - public void init(IWorkbench workbench) { - // do nothing - } - - /** - * - */ - protected void loadUserMapInfo() { - // create a copy of the user sound map - Map map = AudioCore.getInstance().getUserSoundMap(); - userSoundMap = new HashMap(map.size()); - - Iterator iterator = map.keySet().iterator(); - while (iterator.hasNext()) { - String id = (String) iterator.next(); - IPath path = (IPath) map.get(id); - userSoundMap.put(id, path); - } - } - - /** - * @see PreferencePage#performDefaults() - */ - protected void performDefaults() { - AudioCore core = AudioCore.getInstance(); - - enableButton.setSelection(core.getDefaultSoundsEnabled()); - volume.setSelection(core.getDefaultVolume()); - - userSoundMap = new HashMap(); - viewer.refresh(); - - super.performDefaults(); - } - - /** - * @see PreferencePage#performOk() - */ - public boolean performOk() { - AudioCore core = AudioCore.getInstance(); - core.setSoundsEnabled(enableButton.getSelection()); - core.setVolume(volume.getSelection()); - - core.setUserSoundMap(userSoundMap); - viewer.refresh(); - - return super.performOk(); - } - - /** - * - */ - protected void removeUserSoundPath(String id) { - if (userSoundMap.containsKey(id)) - userSoundMap.remove(id); - } - - /** - * - */ - protected void saveUserMapInfo() { - // create a copy of the user sound map - Map map = AudioCore.getInstance().getUserSoundMap(); - userSoundMap = new HashMap(map.size()); - - Iterator iterator = map.keySet().iterator(); - while (iterator.hasNext()) { - String id = (String) iterator.next(); - IPath path = (IPath) map.get(id); - userSoundMap.put(id, path); - } - } - - /** - * - * @param path org.eclipse.core.runtime.IPath - */ - protected void setUserSoundPath(String id, IPath path) { - userSoundMap.put(id, path); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java deleted file mode 100644 index b8033c223..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableContentProvider.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -import java.util.*; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.IStructuredContentProvider; -/** - * Audio table content provider. - */ -class AudioTableContentProvider implements IStructuredContentProvider { - protected static final String MISC_CATEGORY = "miscCategory"; - - /** - * AudioTableContentProvider constructor comment. - */ - public AudioTableContentProvider() { - super(); - } - - /** - * Disposes of this content provider. - * This is called by the viewer when it is disposed. - */ - public void dispose() { - // do nothing - } - - /** - * Returns the elements to display in the viewer - * when its input is set to the given element. - * These elements can be presented as rows in a table, items in a list, etc. - * The result is not modified by the viewer. - * - * @param inputElement the input element - * @return the array of elements to display in the viewer - */ - public Object[] getElements(Object inputElement) { - AudioCore core = AudioCore.getInstance(); - - Map categories = core.getCategories(); - Map sounds = core.getSounds(); - - List list = new ArrayList(sounds.size()); - - // first, find all the categories and sort - List cats = new ArrayList(); - Iterator iterator = categories.keySet().iterator(); - while (iterator.hasNext()) - cats.add(iterator.next()); - sortCategories(cats); - - // list them, ignoring empty ones - iterator = categories.keySet().iterator(); - while (iterator.hasNext()) { - String id = (String) iterator.next(); - List l = getSoundsByCategory(id); - if (!l.isEmpty()) { - list.add(id); - sortSounds(l); - - int size = l.size(); - for (int i = 0; i < size; i++) - list.add(l.get(i)); - } - } - - // finally, list the "misc" sounds - List l = getSoundsByCategory(null); - if (!l.isEmpty()) { - list.add(MISC_CATEGORY); - sortSounds(l); - - int size = l.size(); - for (int i = 0; i < size; i++) - list.add(l.get(i)); - } - - return list.toArray(); - } - - /** - * Returns the sounds from the given category. Use null - * to return all miscelleneous sounds with no category or - * an invalid category. - * - * @return java.util.List - * @param category java.lang.String - */ - protected static List getSoundsByCategory(String category) { - AudioCore core = AudioCore.getInstance(); - - Map sounds = core.getSounds(); - Map categories = core.getCategories(); - List list = new ArrayList(); - - Iterator iterator = sounds.keySet().iterator(); - while (iterator.hasNext()) { - String id = (String) iterator.next(); - Sound sound = (Sound) sounds.get(id); - if (category != null && category.equals(sound.getCategory())) - list.add(sound); - else if (category == null && (sound.getCategory() == null || !categories.containsKey(sound.getCategory()))) - list.add(sound); - } - return list; - } - - /** - * Notifies this content provider that the given viewer's input - * has been switched to a different element. - * <p> - * A typical use for this method is registering the content provider as a listener - * to changes on the new input (using model-specific means), and deregistering the viewer - * from the old input. In response to these change notifications, the content provider - * propagates the changes to the viewer. - * </p> - * - * @param viewer the viewer - * @param oldInput the old input element, or <code>null</code> if the viewer - * did not previously have an input - * @param newInput the new input element, or <code>null</code> if the viewer - * does not have an input - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } - - /** - * Sorts a list of categories, in place. - * - * @param list java.util.List - */ - protected void sortCategories(List list) { - int size = list.size(); - if (size < 2) - return; - - Map categories = AudioCore.getInstance().getCategories(); - - for (int i = 0; i < size - 1; i++) { - for (int j = i+1; j < size; j++) { - String a = (String) list.get(i); - String aa = (String) categories.get(a); - String b = (String) list.get(j); - String bb = (String) categories.get(b); - if (aa.compareTo(bb) > 0) { - list.set(i, b); - list.set(j, a); - } - } - } - } - - /** - * Sorts a list of sounds, in place. - * - * @param sounds java.util.List - */ - protected void sortSounds(List sounds) { - int size = sounds.size(); - if (size < 2) - return; - - for (int i = 0; i < size - 1; i++) { - for (int j = i+1; j < size; j++) { - Sound a = (Sound) sounds.get(i); - Sound b = (Sound) sounds.get(j); - if (a.getName().compareTo(b.getName()) > 0) { - sounds.set(i, b); - sounds.set(j, a); - } - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableLabelProvider.java deleted file mode 100644 index a65fceeed..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/AudioTableLabelProvider.java +++ /dev/null @@ -1,156 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.core.runtime.*; -import java.net.URL; -import java.util.Map; - -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.jface.viewers.ITableLabelProvider; -/** - * Audio table label provider. - */ -class AudioTableLabelProvider implements ITableLabelProvider { - protected AudioPreferencePage page; - - /** - * AudioTableLabelProvider constructor comment. - * - * @param page the preference page - */ - public AudioTableLabelProvider(AudioPreferencePage page) { - super(); - this.page = page; - } - - /** - * Adds a listener to this label provider. - * Has no effect if an identical listener is already registered. - * <p> - * Label provider listeners are informed about state changes - * that affect the rendering of the viewer that uses this label provider. - * </p> - * - * @param listener a label provider listener - */ - public void addListener(ILabelProviderListener listener) { - // do nothing - } - - /** - * Disposes of this label provider. When a label provider is - * attached to a viewer, the viewer will automatically call - * this method when the viewer is being closed. When label providers - * are used outside of the context of a viewer, it is the client's - * responsibility to ensure that this method is called when the - * provider is no longer needed. - */ - public void dispose() { - // do nothing - } - - /** - * @see ITableLabelProvider#getColumnImage(java.lang.Object, int) - */ - public Image getColumnImage(Object element, int columnIndex) { - /*AudioCore core = AudioCore.getInstance(); - - if (columnIndex == 0) { - if (element instanceof String) { - if (element != AudioTableContentProvider.MISC_CATEGORY) { - if (core.isCategoryEnabled((String) element)) - return ImageResource.getImage(ImageResource.IMG_AUDIO_ENABLED); - return ImageResource.getImage(ImageResource.IMG_AUDIO_DISABLED); - } - return null; - } - Sound sound = (Sound) element; - if (!core.isCategoryEnabled(sound.getCategory())) - return ImageResource.getImage(ImageResource.IMG_AUDIO_UNAVAILABLE); - if (core.isSoundEnabled(sound.getId())) - return ImageResource.getImage(ImageResource.IMG_AUDIO_ENABLED); - return ImageResource.getImage(ImageResource.IMG_AUDIO_DISABLED); - } else*/ - if (columnIndex == 1) { - if (element instanceof String) - return ImageResource.getImage(ImageResource.IMG_AUDIO_CATEGORY); - return ImageResource.getImage(ImageResource.IMG_AUDIO_SOUND); - } - return null; - } - - /** - * @see ITableLabelProvider#getColumnText(java.lang.Object, int) - */ - public String getColumnText(Object element, int columnIndex) { - if (columnIndex == 0) - return ""; - - if (element instanceof String) { - String categoryId = (String) element; - if (columnIndex == 1) { - if (categoryId.equals(AudioTableContentProvider.MISC_CATEGORY)) - return ""; //(Miscellaneous)"; - Map categories = AudioCore.getInstance().getCategories(); - return (String) categories.get(categoryId); - } - return ""; - } - Sound sound = (Sound) element; - - if (columnIndex == 1) { - String s = sound.getName(); - if (s != null) - return s; - return Messages.audioUnknown; - } else if (columnIndex == 2) { - IPath path = page.getUserSoundPath(sound.getId()); - if (path != null) - return path.lastSegment(); - - URL url = page.getSoundURL(sound.getId()); - if (url == null) - return Messages.audioNone; - return Messages.audioDefault; - } - return ""; - } - - /** - * Returns whether the label would be affected - * by a change to the given property of the given element. - * This can be used to optimize a non-structural viewer update. - * If the property mentioned in the update does not affect the label, - * then the viewer need not update the label. - * - * @param element the element - * @param property the property - * @return <code>true</code> if the label would be affected, - * and <code>false</code> if it would be unaffected - */ - public boolean isLabelProperty(Object element, String property) { - return false; - } - - /** - * Removes a listener to this label provider. - * Has no affect if an identical listener is not registered. - * - * @param listener a label provider listener - */ - public void removeListener(ILabelProviderListener listener) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/CategoryTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/CategoryTableViewer.java deleted file mode 100644 index 85c7dd735..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/CategoryTableViewer.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -import org.eclipse.jface.viewers.CheckboxTableViewer; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.swt.widgets.Widget; -/** - * - */ -public class CategoryTableViewer extends CheckboxTableViewer { - protected Color color; - - public CategoryTableViewer(Table table) { - super(table); - createColor(table); - } - - protected void createColor(Control c) { - color = new Color(c.getDisplay(), 255, 255, 225); - c.addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - color.dispose(); - } - }); - } - - public void doUpdateItem(Widget widget, Object element, boolean fullMap) { - if (color == null) - return; - if (widget instanceof TableItem) { - TableItem item = (TableItem) widget; - if (element instanceof String) { - item.setBackground(color); - } else - item.setBackground(null); - } - super.doUpdateItem(widget, element, fullMap); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Sound.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Sound.java deleted file mode 100644 index de29438c7..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/Sound.java +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -import java.net.URL; -/** - * A single sound. - */ -class Sound { - protected String id; - protected String name; - public URL location; - protected String category; - - /** - * Sound constructor comment. - */ - public Sound() { - super(); - } - - /** - * Sound constructor comment. - * - * @param id an id - * @param category a category - * @param name a name - * @param loc location - */ - public Sound(String id, String category, String name, URL loc) { - super(); - - this.id = id; - this.category = category; - this.name = name; - this.location = loc; - } - - /** - * - * @return org.eclipse.audio.Category - */ - public String getCategory() { - return category; - } - - /** - * - * @return java.lang.String - */ - public String getId() { - return id; - } - - /** - * - * @return java.net.URL - */ - public URL getLocation() { - return location; - } - - /** - * - * @return java.lang.String - */ - public String getName() { - return name; - } - - /** - * - * @param newCategory org.eclipse.audio.Category - */ - public void setCategory(String newCategory) { - category = newCategory; - } - - /** - * - * @param newId java.lang.String - */ - public void setId(String newId) { - id = newId; - } - - /** - * - * @param newLocation java.net.URL - */ - public void setLocation(URL newLocation) { - location = newLocation; - } - - /** - * - * @param newName java.lang.String - */ - public void setName(String newName) { - name = newName; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java deleted file mode 100644 index de3c1deae..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java +++ /dev/null @@ -1,334 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.audio; - -import java.io.*; -import java.util.*; -import org.w3c.dom.*; -import org.xml.sax.*; -import javax.xml.parsers.*; -import javax.xml.transform.*; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.eclipse.ui.IMemento; -/** - * A Memento is a class independent container for persistence - * info. It is a reflection of 3 storage requirements. - * - * 1) We need the ability to persist an object and restore it. - * 2) The class for an object may be absent. If so we would - * like to skip the object and keep reading. - * 3) The class for an object may change. If so the new class - * should be able to read the old persistence info. - * - * We could ask the objects to serialize themselves into an - * ObjectOutputStream, DataOutputStream, or Hashtable. However - * all of these approaches fail to meet the second requirement. - * - * Memento supports binary persistance with a version ID. - */ -public final class XMLMemento implements IMemento { - private Document factory; - private Element element; - - /** - * Answer a memento for the document and element. For simplicity - * you should use createReadRoot and createWriteRoot to create the initial - * mementos on a document. - */ - private XMLMemento(Document doc, Element el) { - factory = doc; - element = el; - } - - /* - * @see IMemento - */ - public IMemento createChild(String type) { - Element child = factory.createElement(type); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /* - * @see IMemento - */ - public IMemento createChild(String type, String id) { - Element child = factory.createElement(type); - child.setAttribute(TAG_ID, id); - element.appendChild(child); - return new XMLMemento(factory, child); - } - - /** - * Create a Document from a Reader and answer a root memento for reading - * a document. - */ - protected static XMLMemento createReadRoot(Reader reader) { - Document document = null; - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder parser = factory.newDocumentBuilder(); - document = parser.parse(new InputSource(reader)); - Node node = document.getFirstChild(); - if (node instanceof Element) - return new XMLMemento(document, (Element) node); - } catch (Exception e) { - // ignore - } - return null; - } - - /** - * Answer a root memento for writing a document. - * - * @param type a type - * @return a memento - */ - public static XMLMemento createWriteRoot(String type) { - Document document; - try { - document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); - Element element = document.createElement(type); - document.appendChild(element); - return new XMLMemento(document, element); - } catch (ParserConfigurationException e) { - throw new Error(e); - } - } - - /* - * @see IMemento - */ - public IMemento getChild(String type) { - - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return null; - - // Find the first node which is a child of this node. - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - return new XMLMemento(factory, element2); - } - } - - // A child was not found. - return null; - } - - /* - * @see IMemento - */ - public IMemento [] getChildren(String type) { - - // Get the nodes. - NodeList nodes = element.getChildNodes(); - int size = nodes.getLength(); - if (size == 0) - return new IMemento[0]; - - // Extract each node with given type. - ArrayList list = new ArrayList(size); - for (int nX = 0; nX < size; nX ++) { - Node node = nodes.item(nX); - if (node instanceof Element) { - Element element2 = (Element)node; - if (element2.getNodeName().equals(type)) - list.add(element2); - } - } - - // Create a memento for each node. - size = list.size(); - IMemento [] results = new IMemento[size]; - for (int x = 0; x < size; x ++) { - results[x] = new XMLMemento(factory, (Element)list.get(x)); - } - return results; - } - - /* - * @see IMemento - */ - public Float getFloat(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Float(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /* - * @see IMemento - */ - public String getID() { - return element.getAttribute(TAG_ID); - } - - /* - * @see IMemento - */ - public Integer getInteger(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - String strValue = attr.getValue(); - try { - return new Integer(strValue); - } catch (NumberFormatException e) { - return null; - } - } - - /* - * @see IMemento - */ - public String getString(String key) { - Attr attr = element.getAttributeNode(key); - if (attr == null) - return null; - return attr.getValue(); - } - - /** - * Loads a memento from the given filename. - * - * @param in java.io.InputStream - * @return org.eclipse.ui.IMemento - */ - public static IMemento loadMemento(InputStream in) { - Document document = null; - try { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder parser = factory.newDocumentBuilder(); - document = parser.parse(in); - Node node = document.getFirstChild(); - if (node instanceof Element) - return new XMLMemento(document, (Element) node); - } catch (Exception e) { - // ignore - } finally { - try { - in.close(); - } catch (Exception e) { - // ignore - } - } - return null; - } - - /* - * @see IMemento - */ - private void putElement(Element element2) { - NamedNodeMap nodeMap = element2.getAttributes(); - int size = nodeMap.getLength(); - for (int i = 0; i < size; i++){ - Attr attr = (Attr)nodeMap.item(i); - putString(attr.getName(),attr.getValue()); - } - - NodeList nodes = element2.getChildNodes(); - size = nodes.getLength(); - for (int i = 0; i < size; i ++) { - Node node = nodes.item(i); - if (node instanceof Element) { - XMLMemento child = (XMLMemento)createChild(node.getNodeName()); - child.putElement((Element)node); - } - } - } - - /* - * @see IMemento - */ - public void putFloat(String key, float f) { - element.setAttribute(key, String.valueOf(f)); - } - - /* - * @see IMemento - */ - public void putInteger(String key, int n) { - element.setAttribute(key, String.valueOf(n)); - } - - /* - * @see IMemento - */ - public void putMemento(IMemento memento) { - XMLMemento xmlMemento = (XMLMemento) memento; - putElement(xmlMemento.element); - } - - /* - * @see IMemento - */ - public void putString(String key, String value) { - if (value == null) - return; - element.setAttribute(key, value); - } - - /** - * Save this Memento to a Writer. - */ - protected void save(OutputStream os) throws IOException { - Result result = new StreamResult(os); - Source source = new DOMSource(factory); - try { - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$ - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$ - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$ - transformer.transform(source, result); - } - catch (TransformerConfigurationException e) { - throw (IOException) (new IOException().initCause(e)); - } - catch (TransformerException e) { - throw (IOException) (new IOException().initCause(e)); - } - } - - /** - * Returns the data of the Text node of the memento. Each memento is allowed - * only one Text node. - * - * @return the data of the Text node of the memento, or <code>null</code> - * if the memento has no Text node. - */ - public String getTextData() { - return null; - } - - /** - * Sets the memento's Text node to contain the given data. Creates the Text node if - * none exists. If a Text node does exist, it's current contents are replaced. - * Each memento is allowed only one text node. - * - * @param data the data to be placed on the Text node - */ - public void putTextData(String data) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java deleted file mode 100644 index 865391522..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/ServerCommand.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.command; - -import org.eclipse.core.commands.operations.AbstractOperation; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * A command on a server. - */ -public abstract class ServerCommand extends AbstractOperation { - protected IServerWorkingCopy server; - - /** - * ServerCommand constructor. - * - * @param server a server - * @param name a label - */ - public ServerCommand(IServerWorkingCopy server, String name) { - super(name); - this.server = server; - } - - public abstract void execute(); - - public IStatus execute(IProgressMonitor monitor, IAdaptable adapt) { - execute(); - return null; - } - - public abstract void undo(); - - public IStatus undo(IProgressMonitor monitor, IAdaptable adapt) { - undo(); - return null; - } - - public IStatus redo(IProgressMonitor monitor, IAdaptable adapt) { - return execute(monitor, adapt); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishDefaultCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishDefaultCommand.java deleted file mode 100644 index ffec80f0d..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishDefaultCommand.java +++ /dev/null @@ -1,50 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.command; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.core.internal.ServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Command to change the server's auto-publish setting. - */ -public class SetServerAutoPublishDefaultCommand extends ServerCommand { - protected int setting; - protected int oldSetting; - - /** - * SetServerAutoPublishDefaultCommand constructor. - * - * @param server a server - * @param setting the auto-publish setting - */ - public SetServerAutoPublishDefaultCommand(IServerWorkingCopy server, int setting) { - super(server, Messages.serverEditorOverviewAutoPublishCommand); - this.setting = setting; - } - - /** - * Execute the command. - */ - public void execute() { - ServerWorkingCopy swc = (ServerWorkingCopy) server; - oldSetting = swc.getAutoPublishSetting(); - swc.setAutoPublishSetting(setting); - } - - /** - * Undo the command. - */ - public void undo() { - ServerWorkingCopy swc = (ServerWorkingCopy) server; - swc.setAutoPublishSetting(oldSetting); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishTimeCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishTimeCommand.java deleted file mode 100644 index e1b3c9a0e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerAutoPublishTimeCommand.java +++ /dev/null @@ -1,50 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.command; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.core.internal.ServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Command to change the server's auto-publish setting. - */ -public class SetServerAutoPublishTimeCommand extends ServerCommand { - protected int time; - protected int oldTime; - - /** - * SetServerAutoPublishDefaultCommand constructor. - * - * @param server a server - * @param time a publish time - */ - public SetServerAutoPublishTimeCommand(IServerWorkingCopy server, int time) { - super(server, Messages.serverEditorOverviewAutoPublishCommand); - this.time = time; - } - - /** - * Execute the command. - */ - public void execute() { - ServerWorkingCopy swc = (ServerWorkingCopy) server; - oldTime = swc.getAutoPublishTime(); - swc.setAutoPublishTime(time); - } - - /** - * Undo the command. - */ - public void undo() { - ServerWorkingCopy swc = (ServerWorkingCopy) server; - swc.setAutoPublishTime(oldTime); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationFolderCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationFolderCommand.java deleted file mode 100644 index 931bb617d..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerConfigurationFolderCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.command; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Command to change the server configuration folder. - */ -public class SetServerConfigurationFolderCommand extends ServerCommand { - protected IFolder folder; - protected IFolder oldFolder; - - /** - * SetServerConfigurationFolderCommand constructor. - * - * @param server a server - * @param folder a new server configuration location - */ - public SetServerConfigurationFolderCommand(IServerWorkingCopy server, IFolder folder) { - super(server, Messages.serverEditorOverviewServerHostnameCommand); - this.folder = folder; - } - - /** - * Execute the command. - */ - public void execute() { - oldFolder = server.getServerConfiguration(); - server.setServerConfiguration(folder); - } - - /** - * Undo the command. - */ - public void undo() { - server.setServerConfiguration(oldFolder); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java deleted file mode 100644 index 158bd8412..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerHostnameCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.command; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Command to change the server hostname. - */ -public class SetServerHostnameCommand extends ServerCommand { - protected String name; - protected String oldName; - - /** - * SetServerHostnameCommand constructor. - * - * @param server a server - * @param name a hostname or IP address - */ - public SetServerHostnameCommand(IServerWorkingCopy server, String name) { - super(server, Messages.serverEditorOverviewServerHostnameCommand); - this.name = name; - } - - /** - * Execute the command. - */ - public void execute() { - oldName = server.getHost(); - server.setHost(name); - } - - /** - * Undo the command. - */ - public void undo() { - server.setHost(oldName); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java deleted file mode 100644 index 7ba416f57..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerNameCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.command; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Command to change the server name. - */ -public class SetServerNameCommand extends ServerCommand { - protected String name; - protected String oldName; - - /** - * SetServerNameCommand constructor. - * - * @param server a server - * @param name a name for the server - */ - public SetServerNameCommand(IServerWorkingCopy server, String name) { - super(server, Messages.serverEditorOverviewServerNameCommand); - this.name = name; - } - - /** - * Execute the command. - */ - public void execute() { - oldName = server.getName(); - server.setName(name); - } - - /** - * Undo the command. - */ - public void undo() { - server.setName(oldName); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java deleted file mode 100644 index 70c9a06e7..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerRuntimeCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.command; - -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Command to change the server runtime. - */ -public class SetServerRuntimeCommand extends ServerCommand { - protected IRuntime runtime; - protected IRuntime oldRuntime; - - /** - * SetServerRuntimeCommand constructor. - * - * @param server a server - * @param runtime a server runtime - */ - public SetServerRuntimeCommand(IServerWorkingCopy server, IRuntime runtime) { - super(server, Messages.serverEditorOverviewRuntimeCommand); - this.runtime = runtime; - } - - /** - * Execute the command. - */ - public void execute() { - oldRuntime = server.getRuntime(); - server.setRuntime(runtime); - } - - /** - * Undo the command. - */ - public void undo() { - server.setRuntime(oldRuntime); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java deleted file mode 100644 index bfa2e0cce..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java +++ /dev/null @@ -1,695 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.operations.IUndoableOperation; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.ui.editor.IServerEditorPartInput; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -/** - * - */ -public class GlobalCommandManager { - // maximum number of commands in the history - private static final int MAX_HISTORY = 200; - - class ServerResourceCommand { - IUndoableOperation command; - String id; - } - - // commands in the undo history - protected List undoList = new ArrayList(); - - // commands in the redo history - protected List redoList = new ArrayList(); - - class CommandManagerInfo { - // number of open editors on this resource - int count; - - // true if the resource has not been saved since - // the last change - boolean isDirty; - - // true if the resource is read-only - boolean isReadOnly; - - // true if all changes can be undone, false if - // a non-reversable change has been made - boolean canCompletelyUndo = true; - - // the element id - String id; - - // the working copy - IServerWorkingCopy wc; - - // files and timestamps - Map fileMap; - - int timestamp; - } - - protected Map commandManagers = new HashMap(); - - // property change listeners - protected List propertyListeners; - public static final String PROP_DIRTY = "dirtyState"; - public static final String PROP_UNDO = "undoAction"; - public static final String PROP_REDO = "redoAction"; - public static final String PROP_RELOAD = "reload"; - - protected static GlobalCommandManager instance; - - public static GlobalCommandManager getInstance() { - if (instance == null) - instance = new GlobalCommandManager(); - return instance; - } - - /** - * Add a property change listener to this instance. - * - * @param listener java.beans.PropertyChangeListener - */ - public void addPropertyChangeListener(PropertyChangeListener listener) { - if (propertyListeners == null) - propertyListeners = new ArrayList(); - propertyListeners.add(listener); - } - - /** - * Remove a property change listener from this instance. - * - * @param listener java.beans.PropertyChangeListener - */ - public void removePropertyChangeListener(PropertyChangeListener listener) { - if (propertyListeners != null) - propertyListeners.remove(listener); - } - - /** - * Fire a property change event. - */ - protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) { - if (propertyListeners == null) - return; - - PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue); - //Trace.trace("Firing: " + event + " " + oldValue); - try { - int size = propertyListeners.size(); - PropertyChangeListener[] pcl = new PropertyChangeListener[size]; - propertyListeners.toArray(pcl); - - for (int i = 0; i < size; i++) - try { - pcl[i].propertyChange(event); - } catch (Exception e) { - // ignore - } - } catch (Exception e) { - // ignore - } - } - - /** - * Get the command manager for a given id. - * - * @param id an id - */ - public void getCommandManager(String id) { - Trace.trace(Trace.FINEST, "Getting command manager for " + id); - try { - CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id); - if (info != null) { - info.count ++; - return; - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not find existing command manager", e); - } - Trace.trace(Trace.FINEST, "Creating new command manager for " + id); - try { - CommandManagerInfo info = new CommandManagerInfo(); - info.count = 1; - info.id = id; - IServer server = null; - if (id != null) - server = ServerCore.findServer(id); - if (server != null) - info.wc = server.createWorkingCopy(); - info.isDirty = false; - info.isReadOnly = false; - commandManagers.put(id, info); - updateTimestamps(id); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not obtain command manager", e); - } - return; - } - - /** - * Release the command manager for a given id. - * - * @param id an id - */ - public void releaseCommandManager(String id) { - Trace.trace(Trace.FINEST, "Releasing command manager for " + id); - try { - CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id); - if (info != null) { - info.count --; - if (info.count == 0) { - commandManagers.remove(id); - clearUndoList(id); - clearRedoList(id); - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not release command manager", e); - } - } - - /** - * Reload the command manager for a given id. - * - * @param id an id - * @param monitor a progress monitor - */ - public void reload(String id, IProgressMonitor monitor) { - try { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info != null) { - IServer server = null; - if (id != null) - server = ServerCore.findServer(id); - if (server != null) - info.wc = server.createWorkingCopy(); - //info.serverElement = ServerCore.getResourceManager().getServer() - //info.serverElement = ServerCore.getEditManager().reloadEditModel(info.file, monitor); - firePropertyChangeEvent(PROP_RELOAD, id, null); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not release command manager", e); - } - } - - /** - * - */ - protected CommandManagerInfo getExistingCommandManagerInfo(String id) { - try { - return (CommandManagerInfo) commandManagers.get(id); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not find existing command manager info"); - } - return null; - } - - /** - * Returns true if there is only one command manager. - * - * @param id an id - * @return <code>true</code> if the only command manager - */ - public boolean isOnlyCommandManager(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - return (info != null && info.count == 1); - } - - protected IServerEditorPartInput getPartInput(String serverId, ServerResourceCommandManager serverCommandManager) { - CommandManagerInfo serverInfo = null; - IServerWorkingCopy server = null; - boolean serverReadOnly = false; - if (serverId != null) { - serverInfo = getExistingCommandManagerInfo(serverId); - if (serverInfo == null) - return null; - - server = serverInfo.wc; - serverReadOnly = serverInfo.isReadOnly; - } - - return new ServerEditorPartInput(serverCommandManager, server, serverReadOnly); - } - - /** - * - */ - protected IServerWorkingCopy getServerResource(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return null; - - return info.wc; - } - - /** - * Execute the given command and place it in the undo stack. - * If the command cannot be undone, the user will be notifed - * before it is executed. - * - * @param id an id - * @param command a task - */ - public void executeCommand(String id, IUndoableOperation command) { - if (!command.canUndo() && !undoList.isEmpty() && ServerUIPlugin.getPreferences().getPromptBeforeIrreversibleChange()) { - try { - Display d = Display.getCurrent(); - if (d == null) - d = Display.getDefault(); - - Shell shell = d.getActiveShell(); - if (!MessageDialog.openConfirm(shell, Messages.editorServerEditor, Messages.editorPromptIrreversible)) - return; - } catch (Exception e) { - // ignore - } - } - - ServerResourceCommand src = new ServerResourceCommand(); - src.id = id; - src.command = command; - - try { - command.execute(new NullProgressMonitor(), null); - } catch (ExecutionException ce) { - return; - } - - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return; - - if (command.canUndo()) - addToUndoList(src); - else { - info.canCompletelyUndo = false; - clearUndoList(id); - } - - // clear redo list since a new command has been executed. - clearRedoList(id); - - setDirtyState(id, true); - } - - /** - * Add a command to the history. - */ - private void addToUndoList(ServerResourceCommand src) { - undoList.add(src); - - // limit history growth - if (undoList.size() > MAX_HISTORY) - undoList.remove(0); - - firePropertyChangeEvent(PROP_UNDO, src.id, null); - } - - /** - * Clears the undo of a particular resource. - */ - private void clearUndoList(String id) { - int i = 0; - boolean modified = false; - while (i < undoList.size()) { - ServerResourceCommand src = (ServerResourceCommand) undoList.get(i); - if (src.id.equals(id)) { - modified = true; - undoList.remove(i); - } else - i++; - } - if (modified) - firePropertyChangeEvent(PROP_UNDO, id, null); - } - - /** - * Clears the redo of a particular resource. - */ - private void clearRedoList(String id) { - int i = 0; - boolean modified = false; - while (i < redoList.size()) { - ServerResourceCommand src = (ServerResourceCommand) redoList.get(i); - if (src.id.equals(id)) { - redoList.remove(i); - modified = true; - } else - i++; - } - if (modified) - firePropertyChangeEvent(PROP_REDO, id, null); - } - - /** - * Returns true if there is a command that can be undone. - * @return boolean - */ - protected boolean canUndo(String a, String b) { - Iterator iterator = undoList.iterator(); - while (iterator.hasNext()) { - ServerResourceCommand src = (ServerResourceCommand) iterator.next(); - if (src.id == a || src.id == b) - return true; - } - return false; - } - - /** - * Returns true if there is a command that can be redone. - * @return boolean - */ - protected boolean canRedo(String a, String b) { - Iterator iterator = redoList.iterator(); - while (iterator.hasNext()) { - ServerResourceCommand src = (ServerResourceCommand) iterator.next(); - if (src.id == a || src.id == b) - return true; - } - return false; - } - - /** - * Returns the command that would be undone next. - * - * @param a an id - * @return a task - */ - public IUndoableOperation getUndoCommand(String a) { - int size = undoList.size(); - for (int i = size - 1; i >= 0; i--) { - ServerResourceCommand src = (ServerResourceCommand) undoList.get(i); - if (src.id == a) - return src.command; - } - return null; - } - - /** - * Returns the command that would be redone next. - * - * @param a an id - * @return a task - */ - public IUndoableOperation getRedoCommand(String a) { - int size = redoList.size(); - for (int i = size - 1; i >= 0; i--) { - ServerResourceCommand src = (ServerResourceCommand) redoList.get(i); - if (src.id == a) - return src.command; - } - return null; - } - - /** - * Returns true if the server resource is "dirty". - * - * @param id an id - * @return a task - */ - public boolean isDirty(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return false; - - return info.isDirty; - } - - /** - * Returns true if the server resource is read-only. - * - * @param id an id - * @return boolean - */ - public boolean isReadOnly(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return false; - return info.isReadOnly; - } - - /** - * Sets the server resource read-only flag. - * - * @param id an id - * @param readOnly <code>true</code> to set read-only, <code>false</code> otherwise - */ - public void setReadOnly(String id, boolean readOnly) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return; - - if (info.isReadOnly == readOnly) - return; - info.isReadOnly = readOnly; - firePropertyChangeEvent(PROP_RELOAD, id, null); - } - - /** - * Returns true if the server resource files are read-only. - * - * @param id an id - * @return <code>true</code> if the files are read-only - */ - public boolean areFilesReadOnly(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return false; - return (getReadOnlyFiles(id).length > 0); - } - - /** - * Sets the dirty state and fires an event if needed. - * @param dirty boolean - */ - private void setDirtyState(String id, boolean dirty) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info.isDirty == dirty) - return; - - info.isDirty = dirty; - firePropertyChangeEvent(PROP_DIRTY, id, null); - } - - /** - * Undo the last command. - */ - protected void undo(String a) { - ServerResourceCommand src = null; - Iterator iterator = undoList.iterator(); - while (iterator.hasNext()) { - ServerResourceCommand src2 = (ServerResourceCommand) iterator.next(); - if (src2.id == a) - src = src2; - } - if (src == null) - return; - - try { - src.command.undo(null, null); - } catch (ExecutionException ee) { - // do something - } - undoList.remove(src); - firePropertyChangeEvent(PROP_UNDO, src.id, null); - redoList.add(src); - firePropertyChangeEvent(PROP_REDO, src.id, null); - - CommandManagerInfo info = getExistingCommandManagerInfo(src.id); - if (info.canCompletelyUndo && getUndoCommand(src.id) == null) - setDirtyState(src.id, false); - } - - /** - * Redo the last command. - */ - protected void redo(String a) { - ServerResourceCommand src = null; - Iterator iterator = redoList.iterator(); - while (iterator.hasNext()) { - ServerResourceCommand src2 = (ServerResourceCommand) iterator.next(); - if (src2.id == a) - src = src2; - } - if (src == null) - return; - - try { - src.command.execute(new NullProgressMonitor(), null); - } catch (ExecutionException ce) { - return; - } - redoList.remove(src); - firePropertyChangeEvent(PROP_REDO, src.id, null); - undoList.add(src); - firePropertyChangeEvent(PROP_UNDO, src.id, null); - - setDirtyState(src.id, true); - } - - /** - * Clears the history list. - * - * @param id an id - */ - public void resourceSaved(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - //clearUndoList(resource); - //clearRedoList(resource); - info.canCompletelyUndo = true; - setDirtyState(id, false); - } - - /** - * Return an array of read-only files. - * - * @param server a server - * @return a possibly empty array of files - */ - public static IFile[] getReadOnlyFiles(IServerAttributes server) { - try { - List list = new ArrayList(); - IFile file = ((Server)server).getFile(); - - if (file != null) - list.add(file); - - //if () - //IServerConfiguration config = (IServerConfiguration) element; - // TODO: get read-only files - IFile[] files = new IFile[list.size()]; - list.toArray(files); - return files; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "getReadOnlyFiles", e); - } - return null; - } - - /** - * - */ - protected IFile[] getServerResourceFiles(String id) { - if (id == null) - return new IFile[0]; - - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return new IFile[0]; - - return getReadOnlyFiles(info.wc); - } - - protected IFile[] getReadOnlyFiles(String id) { - List list = new ArrayList(); - IFile[] files = getServerResourceFiles(id); - int size = files.length; - for (int i = 0; i < size; i++) { - if (files[i].isReadOnly()) - list.add(files[i]); - } - - IFile[] fileList = new IFile[list.size()]; - list.toArray(fileList); - return fileList; - } - - /** - * Update the timestamps. - * - * @param id an id - */ - public void updateTimestamps(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return; - - info.fileMap = new HashMap(); - IFile[] files = getServerResourceFiles(id); - if (files != null) { - int size = files.length; - - for (int i = 0; i < size; i++) { - if (files[i] != null) { - File f = files[i].getLocation().toFile(); - if (f != null) { - long time = f.lastModified(); - info.fileMap.put(files[i], new Long(time)); - } - } - } - } - info.timestamp = getTimestamp(info); - } - - protected static int getTimestamp(CommandManagerInfo info) { - IServer server = info.wc.getOriginal(); - - if (server != null) - return ((Server)server).getTimestamp(); - return -1; - } - - /** - * - */ - protected boolean hasChanged(String id) { - CommandManagerInfo info = getExistingCommandManagerInfo(id); - if (info == null) - return false; - IFile[] files = getServerResourceFiles(id); - int size = files.length; - - int count = 0; - for (int i = 0; i < size; i++) { - count++; - File f = files[i].getLocation().toFile(); - try { - Long time = (Long) info.fileMap.get(files[i]); - if (time.longValue() != f.lastModified()) - return true; - } catch (Exception e) { - return true; - } - } - - int timestamp = getTimestamp(info); - if (info.timestamp != timestamp) - return true; - - if (count != info.fileMap.size()) - return true; - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IOrdered.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IOrdered.java deleted file mode 100644 index 8872f8bd8..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IOrdered.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; -/** - * An object that has an absolute ordering, and can be ordered against other objects. - * - * <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>This interface is not intended to be implemented by clients.</p> - */ -public interface IOrdered { - /** - * Returns the order (index/priority). - * - * @return int - */ - public int getOrder(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorActionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorActionFactory.java deleted file mode 100644 index 41791ecf6..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorActionFactory.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.jface.action.IAction; -import org.eclipse.ui.IEditorSite; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.editor.IServerEditorPartInput; -/** - * - */ -public interface IServerEditorActionFactory extends IOrdered { - /** - * Returns the id. - * - * @return an id - */ - public String getId(); - - /** - * Returns the name. - * - * @return a name - */ - public String getName(); - - /** - * Returns true if the given server resource type (given by the - * id) can be opened with this editor. This result is based on - * the result of the getFactoryIds() method. - * - * @param id an id - * @return boolean - */ - public boolean supportsServerElementType(String id); - - /** - * Returns true if this editor page should be visible with the given server. - * This allows (for instance) complex configuration pages to only be shown when used - * with non-unittest servers. - * - * @param server a server - * @return <code>true</code> if the action should display - */ - public boolean shouldDisplay(IServerWorkingCopy server); - - /** - * Create the action. - * - * @param site an editor site - * @param input a server editor input - * @return an action - */ - public IAction createAction(IEditorSite site, IServerEditorPartInput input); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorInput.java deleted file mode 100644 index 61ec8d9eb..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorInput.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.ui.IEditorInput; -/** - * This is the editor input for the server and server - * configuration editor. The input includes both a server - * and server configuration. - * - * <p>This interface is not intended to be implemented by clients.</p> - */ -public interface IServerEditorInput extends IEditorInput { - public static final String EDITOR_ID = ServerUIPlugin.PLUGIN_ID + ".editor"; - - /** - * Returns the server id. - * - * @return java.lang.String - */ - public String getServerId(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPageSectionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPageSectionFactory.java deleted file mode 100644 index 474385334..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPageSectionFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.editor.ServerEditorSection; -/** - * - */ -public interface IServerEditorPageSectionFactory extends IOrdered { - /** - * Returns the id. - * - * @return the id - */ - public String getId(); - - /** - * Returns true if the given server resource type (given by the - * id) can be opened with this editor. This result is based on - * the result of the types attribute. - * - * @param id the type id - * @return boolean - */ - public boolean supportsType(String id); - - public String getInsertionId(); - - /** - * Returns true if this editor page section should be visible with the given server. - * This allows (for instance) complex configuration pages to only be shown when used - * with non-unittest servers. - * - * @param server a server - * @return <code>true</code> if the section should be shown, and <code>false</code> otherwise - */ - public boolean shouldCreateSection(IServerWorkingCopy server); - - /** - * Create the editor page section. - * - * @return the section - */ - public ServerEditorSection createSection(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPartFactory.java deleted file mode 100644 index dc601de6e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/IServerEditorPartFactory.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.ui.IEditorPart; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * - */ -public interface IServerEditorPartFactory extends IOrdered { - /** - * Returns the id. - * - * @return the id - */ - public String getId(); - - /** - * Return the displayable name. - * - * @return the name - */ - public String getName(); - - /** - * Returns true if the given server resource type (given by the - * id) can be opened with this editor. This result is based on - * the result of the types attribute. - * - * @param id a server type id - * @return <code>true</code> if the type is supported - */ - public boolean supportsType(String id); - - /** - * Returns true if a given insertion id is supported. - * - * @param id - * @return <code>true</code> if the insertion id is supported - */ - public boolean supportsInsertionId(String id); - - /** - * Returns true if this editor page should be visible with the given server. - * This allows (for instance) complex configuration pages to only be shown when used - * with non-unittest servers. - * - * @param server a server - * @return <code>true</code> if the page should be visible - */ - public boolean shouldCreatePage(IServerWorkingCopy server); - - /** - * Create the editor page. - * - * @return the editor page - */ - public IEditorPart createPage(); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java deleted file mode 100644 index f72b56e66..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java +++ /dev/null @@ -1,662 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.jface.preference.PreferenceDialog; -import org.eclipse.jface.window.Window; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Spinner; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.dialogs.ContainerSelectionDialog; -import org.eclipse.ui.dialogs.PreferencesUtil; -import org.eclipse.ui.forms.FormColors; -import org.eclipse.ui.forms.events.HyperlinkAdapter; -import org.eclipse.ui.forms.events.HyperlinkEvent; -import org.eclipse.ui.forms.widgets.*; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.internal.ServerType; -import org.eclipse.wst.server.core.util.SocketUtil; -import org.eclipse.wst.server.ui.editor.*; -import org.eclipse.wst.server.ui.internal.ContextIds; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.wst.server.ui.internal.command.*; -import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog; -import org.eclipse.wst.server.ui.internal.wizard.TaskWizard; -import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * Server general editor page. - */ -public class OverviewEditorPart extends ServerEditorPart { - protected Text serverName; - protected Text serverConfigurationName; - protected Text hostname; - protected Combo runtimeCombo; - protected Button autoPublishDefault; - protected Button autoPublishDisable; - protected Button autoPublishOverride; - protected Spinner autoPublishTime; - - protected Color colorDefault; - protected Color colorRed; - - protected boolean updating; - - protected IRuntime[] runtimes; - - protected PropertyChangeListener listener; - - /** - * OverviewEditorPart constructor comment. - */ - public OverviewEditorPart() { - super(); - } - - /** - * - */ - protected void addChangeListener() { - listener = new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if (event.getPropertyName().equals("configuration-id") && serverConfigurationName != null) { - IFolder folder = getServer().getServerConfiguration(); - if (folder == null || !folder.exists()) - serverConfigurationName.setForeground(colorRed); - else - serverConfigurationName.setForeground(colorDefault); - } - validate(); - if (updating) - return; - updating = true; - if (event.getPropertyName().equals("name")) - updateNames(); - else if (event.getPropertyName().equals("hostname") && hostname != null) { - hostname.setText((String) event.getNewValue()); - } else if (event.getPropertyName().equals("runtime-id")) { - String runtimeId = (String) event.getNewValue(); - IRuntime runtime = null; - if (runtimeId != null) - runtime = ServerCore.findRuntime(runtimeId); - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (runtimes[i].equals(runtime)) - runtimeCombo.select(i); - } - } else if (event.getPropertyName().equals("configuration-id") && serverConfigurationName != null) { - String path = (String) event.getNewValue(); - serverConfigurationName.setText(path); - } else if (event.getPropertyName().equals(Server.PROP_AUTO_PUBLISH_TIME)) { - Integer curAutoPublishTime = (Integer)event.getNewValue(); - autoPublishTime.setSelection(curAutoPublishTime.intValue()); - validate(); - } else if (event.getPropertyName().equals(Server.PROP_AUTO_PUBLISH_SETTING)) { - Integer autoPublishSetting = (Integer)event.getNewValue(); - int setting = autoPublishSetting.intValue(); - autoPublishDefault.setSelection(setting == Server.AUTO_PUBLISH_DEFAULT); - autoPublishOverride.setSelection(setting == Server.AUTO_PUBLISH_OVERRIDE); - autoPublishDisable.setSelection(setting == Server.AUTO_PUBLISH_DISABLE); - autoPublishTime.setEnabled(setting == Server.AUTO_PUBLISH_OVERRIDE); - validate(); - } - updating = false; - } - }; - if (server != null) - server.addPropertyChangeListener(listener); - } - - protected void updateNames() { - if (serverName != null) - serverName.setText(server.getName()); - } - - /** - * Creates the SWT controls for this workbench part. - * - * @param parent the parent control - */ - public final void createPartControl(final Composite parent) { - FormToolkit toolkit = getFormToolkit(parent.getDisplay()); - - ScrolledForm form = toolkit.createScrolledForm(parent); - form.setText(Messages.serverEditorOverviewPageTitle); - form.getBody().setLayout(new GridLayout()); - - Composite columnComp = toolkit.createComposite(form.getBody()); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - //layout.marginHeight = 10; - //layout.marginWidth = 10; - layout.verticalSpacing = 0; - layout.horizontalSpacing = 10; - columnComp.setLayout(layout); - columnComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - // left column - Composite leftColumnComp = toolkit.createComposite(columnComp); - layout = new GridLayout(); - layout.marginHeight = 0; - layout.marginWidth = 0; - layout.verticalSpacing = 10; - layout.horizontalSpacing = 0; - leftColumnComp.setLayout(layout); - leftColumnComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - createGeneralSection(leftColumnComp, toolkit); - - insertSections(leftColumnComp, "org.eclipse.wst.server.editor.overview.left"); - - // right column - Composite rightColumnComp = toolkit.createComposite(columnComp); - layout = new GridLayout(); - layout.marginHeight = 0; - layout.marginWidth = 0; - layout.verticalSpacing = 10; - layout.horizontalSpacing = 0; - rightColumnComp.setLayout(layout); - rightColumnComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - createAutoPublishSection(rightColumnComp, toolkit); - - insertSections(rightColumnComp, "org.eclipse.wst.server.editor.overview.right"); - - form.reflow(true); - - initialize(); - } - - protected void createGeneralSection(Composite leftColumnComp, FormToolkit toolkit) { - Section section = toolkit.createSection(leftColumnComp, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE); - section.setText(Messages.serverEditorOverviewGeneralSection); - section.setDescription(Messages.serverEditorOverviewGeneralDescription); - section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - Composite composite = toolkit.createComposite(section); - GridLayout layout = new GridLayout(); - layout.numColumns = 3; - layout.marginHeight = 5; - layout.marginWidth = 10; - layout.verticalSpacing = 5; - layout.horizontalSpacing = 15; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.EDITOR_OVERVIEW_PAGE); - toolkit.paintBordersFor(composite); - section.setClient(composite); - - // server name - if (server != null) { - createLabel(toolkit, composite, Messages.serverEditorOverviewServerName); - - serverName = toolkit.createText(composite, server.getName()); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - serverName.setLayoutData(data); - serverName.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - if (updating) - return; - updating = true; - execute(new SetServerNameCommand(getServer(), serverName.getText())); - updating = false; - } - }); - whs.setHelp(serverName, ContextIds.EDITOR_SERVER); - - // hostname - createLabel(toolkit, composite, Messages.serverEditorOverviewServerHostname); - - hostname = toolkit.createText(composite, server.getHost()); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - hostname.setLayoutData(data); - hostname.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - if (updating) - return; - updating = true; - execute(new SetServerHostnameCommand(getServer(), hostname.getText())); - updating = false; - } - }); - whs.setHelp(hostname, ContextIds.EDITOR_HOSTNAME); - } - - // runtime - if (server != null && server.getServerType() != null && server.getServerType().hasRuntime()) { - final IRuntime runtime = server.getRuntime(); - createLabel(toolkit, composite, Messages.serverEditorOverviewRuntime); - - IRuntimeType runtimeType = server.getServerType().getRuntimeType(); - runtimes = ServerUIPlugin.getRuntimes(runtimeType); - - if (runtimes == null || runtimes.length == 0) - toolkit.createLabel(composite, ""); - else if (runtimes.length == 1) - toolkit.createLabel(composite, runtime.getName()); - else { - runtimeCombo = new Combo(composite, SWT.READ_ONLY); - runtimeCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - updateRuntimeCombo(); - - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (runtimes[i].equals(runtime)) - runtimeCombo.select(i); - } - - runtimeCombo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - try { - if (updating) - return; - updating = true; - IRuntime newRuntime = runtimes[runtimeCombo.getSelectionIndex()]; - execute(new SetServerRuntimeCommand(getServer(), newRuntime)); - updating = false; - } catch (Exception ex) { - // ignore - } - } - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - whs.setHelp(runtimeCombo, ContextIds.EDITOR_RUNTIME); - } - - Hyperlink link = toolkit.createHyperlink(composite, Messages.serverEditorOverviewRuntimeEdit, SWT.NONE); - link.addHyperlinkListener(new HyperlinkAdapter() { - public void linkActivated(HyperlinkEvent e) { - editRuntime(runtime); - } - }); - link.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); - } - - // server configuration path - if (server != null && server.getServerType().hasServerConfiguration()) { - createLabel(toolkit, composite, Messages.serverEditorOverviewServerConfigurationPath); - - IFolder folder = server.getServerConfiguration(); - if (folder == null) - serverConfigurationName = toolkit.createText(composite, Messages.elementUnknownName); - else - serverConfigurationName = toolkit.createText(composite, "" + server.getServerConfiguration().getFullPath()); - colorDefault = serverConfigurationName.getForeground(); - colorRed = serverConfigurationName.getDisplay().getSystemColor(SWT.COLOR_RED); - if (folder == null || !folder.exists()) - serverConfigurationName.setForeground(colorRed); - //if (!server.getServerConfiguration().getFullPath().toFile().exists()) - - serverConfigurationName.setEditable(false); - serverConfigurationName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - whs.setHelp(serverConfigurationName, ContextIds.EDITOR_CONFIGURATION); - - final IFolder currentFolder = server.getServerConfiguration(); - Button browse = toolkit.createButton(composite, Messages.serverEditorOverviewServerConfigurationBrowse, SWT.PUSH); - browse.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - ContainerSelectionDialog dialog = new ContainerSelectionDialog(serverConfigurationName.getShell(), - currentFolder, true, Messages.serverEditorOverviewServerConfigurationBrowseMessage); - dialog.showClosedProjects(false); - - if (dialog.open() != Window.CANCEL) { - Object[] result = dialog.getResult(); - if (result != null && result.length == 1) { - IPath path = (IPath) result[0]; - - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - IResource resource = root.findMember(path); - if (resource != null && resource instanceof IFolder) { - IFolder folder2 = (IFolder) resource; - - if (updating) - return; - updating = true; - execute(new SetServerConfigurationFolderCommand(getServer(), folder2)); - serverConfigurationName.setText(folder2.getFullPath().toString()); - updating = false; - } - } - } - } - }); - browse.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); - } - - if (server != null) { - IServerType serverType = server.getServerType(); - if (serverType.supportsLaunchMode(ILaunchManager.RUN_MODE) || serverType.supportsLaunchMode(ILaunchManager.DEBUG_MODE) - || serverType.supportsLaunchMode(ILaunchManager.PROFILE_MODE)) { - ILaunchConfigurationType launchType = ((ServerType) serverType).getLaunchConfigurationType(); - if (launchType != null && launchType.isPublic()) { - final Hyperlink link = toolkit.createHyperlink(composite, Messages.serverEditorOverviewOpenLaunchConfiguration, SWT.NONE); - GridData data = new GridData(); - data.horizontalSpan = 2; - link.setLayoutData(data); - link.addHyperlinkListener(new HyperlinkAdapter() { - public void linkActivated(HyperlinkEvent e) { - try { - ILaunchConfiguration launchConfig = ((Server) getServer()).getLaunchConfiguration(true, null); - // TODO: use correct launch group - DebugUITools.openLaunchConfigurationPropertiesDialog(link.getShell(), launchConfig, "org.eclipse.debug.ui.launchGroup.run"); - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Could not create launch configuration", ce); - } - } - }); - } - } - } - } - - protected void createAutoPublishSection(Composite rightColumnComp, FormToolkit toolkit) { - Section section = toolkit.createSection(rightColumnComp, ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE); - section.setText(Messages.serverEditorOverviewAutoPublishSection); - section.setDescription(Messages.serverEditorOverviewAutoPublishDescription); - section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - Composite composite = toolkit.createComposite(section); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = 5; - layout.marginWidth = 10; - layout.verticalSpacing = 5; - layout.horizontalSpacing = 15; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(composite, ContextIds.EDITOR_OVERVIEW_PAGE); - toolkit.paintBordersFor(composite); - section.setClient(composite); - - // auto-publish - if (server != null) { - final Server svr = (Server) server; - int publishSetting = svr.getAutoPublishSetting(); - autoPublishDefault = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishDefault, SWT.RADIO); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - autoPublishDefault.setLayoutData(data); - autoPublishDefault.setSelection(publishSetting == Server.AUTO_PUBLISH_DEFAULT); - whs.setHelp(autoPublishDefault, ContextIds.EDITOR_AUTOPUBLISH_DEFAULT); - - Hyperlink editDefaults = toolkit.createHyperlink(composite, Messages.serverEditorOverviewAutoPublishDefaultEdit, SWT.NONE); - editDefaults.addHyperlinkListener(new HyperlinkAdapter() { - public void linkActivated(HyperlinkEvent e) { - showPreferencePage(); - } - }); - editDefaults.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); - whs.setHelp(editDefaults, ContextIds.EDITOR_AUTOPUBLISH_DEFAULT); - - autoPublishDisable = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishDisable, SWT.RADIO); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - autoPublishDisable.setLayoutData(data); - autoPublishDisable.setSelection(publishSetting == Server.AUTO_PUBLISH_DISABLE); - whs.setHelp(autoPublishDisable, ContextIds.EDITOR_AUTOPUBLISH_DISABLE); - - autoPublishOverride = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishOverride, SWT.RADIO); - autoPublishOverride.setSelection(publishSetting == Server.AUTO_PUBLISH_OVERRIDE); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - autoPublishOverride.setLayoutData(data); - whs.setHelp(autoPublishOverride, ContextIds.EDITOR_AUTOPUBLISH_OVERRIDE); - - final Label autoPublishTimeLabel = toolkit.createLabel(composite, Messages.serverEditorOverviewAutoPublishOverrideInterval); - data = new GridData(); - data.horizontalIndent = 20; - autoPublishTimeLabel.setLayoutData(data); - autoPublishTimeLabel.setEnabled(autoPublishOverride.getSelection()); - - autoPublishTime = new Spinner(composite, SWT.BORDER); - autoPublishTime.setMinimum(0); - autoPublishTime.setMaximum(120); - autoPublishTime.setSelection(svr.getAutoPublishTime()); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - data.widthHint = 60; - autoPublishTime.setLayoutData(data); - autoPublishTime.setEnabled(autoPublishOverride.getSelection()); - whs.setHelp(autoPublishTime, ContextIds.EDITOR_AUTOPUBLISH_OVERRIDE); - - autoPublishOverride.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (updating || !autoPublishOverride.getSelection()) - return; - updating = true; - execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_OVERRIDE)); - updating = false; - autoPublishTimeLabel.setEnabled(autoPublishOverride.getSelection()); - autoPublishTime.setEnabled(autoPublishOverride.getSelection()); - validate(); - } - }); - - autoPublishDefault.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (updating || !autoPublishDefault.getSelection()) - return; - updating = true; - execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_DEFAULT)); - updating = false; - autoPublishTimeLabel.setEnabled(autoPublishOverride.getSelection()); - autoPublishTime.setEnabled(autoPublishOverride.getSelection()); - validate(); - } - }); - - autoPublishDisable.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (updating || !autoPublishDisable.getSelection()) - return; - updating = true; - execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_DISABLE)); - updating = false; - autoPublishTimeLabel.setEnabled(autoPublishOverride.getSelection()); - autoPublishTime.setEnabled(autoPublishOverride.getSelection()); - validate(); - } - }); - - autoPublishTime.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - if (updating) - return; - updating = true; - try { - execute(new SetServerAutoPublishTimeCommand(getServer(), autoPublishTime.getSelection())); - } catch (Exception ex) { - // ignore - } - updating = false; - validate(); - } - }); - } - } - - protected void editRuntime(IRuntime runtime) { - IRuntimeWorkingCopy runtimeWorkingCopy = runtime.createWorkingCopy(); - if (showWizard(runtimeWorkingCopy) != Window.CANCEL) { - try { - runtimeWorkingCopy.save(false, null); - } catch (Exception ex) { - // ignore - } - } - } - - protected boolean showPreferencePage() { - String id = "org.eclipse.wst.server.ui.preferencePage"; - final PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getSite().getShell(), id, new String[] { id }, null); - return (dialog.open() == Window.OK); - } - - protected int showWizard(final IRuntimeWorkingCopy runtimeWorkingCopy) { - String title = Messages.wizEditRuntimeWizardTitle; - final WizardFragment fragment2 = ServerUIPlugin.getWizardFragment(runtimeWorkingCopy.getRuntimeType().getId()); - if (fragment2 == null) - return Window.CANCEL; - - TaskModel taskModel = new TaskModel(); - taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy); - - WizardFragment fragment = new WizardFragment() { - protected void createChildFragments(List list) { - list.add(fragment2); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - } - }); - } - }; - - TaskWizard wizard = new TaskWizard(title, fragment, taskModel); - wizard.setForcePreviousAndNextButtons(true); - ClosableWizardDialog dialog = new ClosableWizardDialog(getEditorSite().getShell(), wizard); - return dialog.open(); - } - - protected void updateRuntimeCombo() { - IRuntimeType runtimeType = server.getServerType().getRuntimeType(); - runtimes = ServerUIPlugin.getRuntimes(runtimeType); - - if (SocketUtil.isLocalhost(server.getHost()) && runtimes != null) { - List runtimes2 = new ArrayList(); - int size = runtimes.length; - for (int i = 0; i < size; i++) { - IRuntime runtime2 = runtimes[i]; - if (!runtime2.isStub()) - runtimes2.add(runtime2); - } - runtimes = new IRuntime[runtimes2.size()]; - runtimes2.toArray(runtimes); - } - - int size = runtimes.length; - String[] items = new String[size]; - for (int i = 0; i < size; i++) - items[i] = runtimes[i].getName(); - - runtimeCombo.setItems(items); - } - - protected Label createLabel(FormToolkit toolkit, Composite parent, String text) { - Label label = toolkit.createLabel(parent, text); - label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); - return label; - } - - public void dispose() { - super.dispose(); - - if (server != null) - server.removePropertyChangeListener(listener); - } - - /* (non-Javadoc) - * Initializes the editor part with a site and input. - */ - public void init(IEditorSite site, IEditorInput input) { - super.init(site, input); - - addChangeListener(); - initialize(); - } - - /** - * Initialize the fields in this editor. - */ - protected void initialize() { - if (serverName == null) - return; - updating = true; - - if (server != null) { - serverName.setText(server.getName()); - if (readOnly) - serverName.setEditable(false); - else - serverName.setEditable(true); - } - - updating = false; - validate(); - } - - protected void validate() { - if (server != null && server.getServerType().hasServerConfiguration()) { - IFolder folder = getServer().getServerConfiguration(); - if (folder == null || !folder.exists()) { - setErrorMessage(Messages.errorMissingConfiguration); - return; - } - } - - if (autoPublishTime.isEnabled() && autoPublishOverride.getSelection()) { - int i = autoPublishTime.getSelection(); - if (i < 1) { - setErrorMessage(NLS.bind(Messages.serverEditorOverviewAutoPublishInvalid, "1")); - return; - } - } - - setErrorMessage(null); - } - - /* - * @see IWorkbenchPart#setFocus() - */ - public void setFocus() { - if (serverName != null) - serverName.setFocus(); - else if (serverConfigurationName != null) - serverConfigurationName.setFocus(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java deleted file mode 100644 index 42a8e1396..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java +++ /dev/null @@ -1,957 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.util.*; -import java.util.List; - -import org.eclipse.core.commands.operations.IUndoableOperation; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.*; -import org.eclipse.jface.action.*; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.window.Window; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.events.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.ui.*; -import org.eclipse.ui.part.MultiPageEditorPart; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.internal.ServerWorkingCopy; -import org.eclipse.wst.server.ui.ServerUICore; -import org.eclipse.wst.server.ui.editor.*; -import org.eclipse.wst.server.ui.internal.*; -/** - * A multi-page server resource editor. - */ -public class ServerEditor extends MultiPageEditorPart { - /** - * Internal part and shell activation listener - */ - class ActivationListener extends ShellAdapter implements IPartListener { - private IWorkbenchPart fActivePart; - private boolean fIsHandlingActivation = false; - - public void partActivated(IWorkbenchPart part) { - fActivePart = part; - handleActivation(); - } - - public void partBroughtToTop(IWorkbenchPart part) { - // do nothing - } - - public void partClosed(IWorkbenchPart part) { - // do nothing - } - - public void partDeactivated(IWorkbenchPart part) { - fActivePart = null; - } - - public void partOpened(IWorkbenchPart part) { - // do nothing - } - - public void shellActivated(ShellEvent e) { - handleActivation(); - } - - private void handleActivation() { - if (fIsHandlingActivation) - return; - - if (fActivePart == ServerEditor.this) { - fIsHandlingActivation = true; - try { - checkResourceState(); - } finally { - fIsHandlingActivation= false; - } - } - } - } - - class LifecycleListener implements IServerLifecycleListener { - public void serverAdded(IServer oldServer) { - // do nothing - } - public void serverChanged(IServer oldServer) { - // do nothing - } - public void serverRemoved(IServer oldServer) { - if (oldServer.equals(server) && !isDirty()) - closeEditor(); - } - } - - protected IServerWorkingCopy server; - protected String serverId; - protected String serverName; - - protected GlobalCommandManager commandManager; - - protected PropertyChangeListener listener; - - protected IAction undoAction; - protected IAction redoAction; - - protected TextAction cutAction; - protected TextAction copyAction; - protected TextAction pasteAction; - protected boolean updatingActions; - - protected IAction[] editorActions; - - protected java.util.List serverPages; - - // on focus change flag - protected boolean resourceDeleted; - - // input given to the contained pages - protected IServerEditorPartInput editorPartInput; - - // status line and status - protected IStatusLineManager status; - protected StatusLineContributionItem statusItem; - - private ActivationListener activationListener = new ActivationListener(); - protected LifecycleListener resourceListener; - - // Used for disabling resource change check when saving through editor. - protected boolean isSaving = false; - - protected static Map pageToFactory = new HashMap(); - - /** - * ServerEditor constructor comment. - */ - public ServerEditor() { - super(); - - ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages(); - - undoAction = new Action() { - public void run() { - getCommandManager().undo(serverId); - } - }; - undoAction.setEnabled(false); - undoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO)); - //undoAction.setHoverImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_HOVER)); - //undoAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED)); - - redoAction = new Action() { - public void run() { - getCommandManager().redo(serverId); - } - }; - redoAction.setEnabled(false); - redoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO)); - //redoAction.setHoverImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO_HOVER)); - //redoAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO_DISABLED)); - } - - /** - * Close the editor correctly. - */ - protected void closeEditor() { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - getEditorSite().getPage().closeEditor(ServerEditor.this, false); - } - }); - } - - protected void createActions() { - List actionList = new ArrayList(); - - // add server actions - if (server != null && server.getServerType() != null) { - Iterator iterator = ServerEditorCore.getServerEditorActionFactories().iterator(); - String id = server.getServerType().getId(); - while (iterator.hasNext()) { - ServerEditorActionFactory factory = (ServerEditorActionFactory) iterator.next(); - if (factory.supportsServerElementType(id) && factory.shouldDisplay(server)) - actionList.add(factory.createAction(getEditorSite(), editorPartInput)); - } - } - - editorActions = new IAction[actionList.size()]; - actionList.toArray(editorActions); - } - - public static IServerEditorPartFactory getPageFactory(ServerEditorPart part) { - try { - return (IServerEditorPartFactory) pageToFactory.get(part); - } catch (Exception e) { - // ignore - } - return null; - } - - /** - * Creates the pages of this multi-page editor. - * <p> - * Subclasses of <code>MultiPageEditor</code> must implement this method. - * </p> - */ - protected void createPages() { - try { - int index = 0; - serverPages = new ArrayList(); - - // add editor pages - int pageCount = 0; - - String serverTypeId = null; - if (server != null && server.getServerType() != null) - serverTypeId = server.getServerType().getId(); - - Iterator iterator = ServerEditorCore.getServerEditorPageFactories().iterator(); - while (iterator.hasNext()) { - IServerEditorPartFactory factory = (IServerEditorPartFactory) iterator.next(); - if (serverTypeId != null && factory.supportsType(serverTypeId) && factory.shouldCreatePage(server)) { - Trace.trace(Trace.FINEST, "Adding page: " + factory.getId() + " " + editorPartInput); - try { - IEditorPart page = factory.createPage(); - if (page != null) { - pageToFactory.put(page, factory); - index = addPage(page, editorPartInput); - setPageText(index, factory.getName()); - - serverPages.add(page); - - pageCount ++; - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not display editor page " + factory.getId(), e); - } - } - } - - setActivePage(0); - - // register for events that might change the cut/copy/paste actions - int count = getPageCount(); - for (int i = 0; i < count; i++) { - Control control = getControl(i); - registerEvents(control); - } - updateActions(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error creating server editor pages", e); - } - } - - public void dispose() { - if (activationListener != null) { - IWorkbenchWindow window = getSite().getWorkbenchWindow(); - window.getPartService().removePartListener(activationListener); - Shell shell = window.getShell(); - if (shell != null && !shell.isDisposed()) - shell.removeShellListener(activationListener); - activationListener = null; - } - - if (resourceListener != null) - ServerCore.removeServerLifecycleListener(resourceListener); - - if (serverName != null && !server.getName().equals(serverName)) { - // only prompt if the server is in the workspace or there is a configuration - if (server.getServerConfiguration() != null || ((Server)server).getFile() != null) { - String title = Messages.editorServerEditor; - String message = Messages.editorRenameFiles; - if (MessageDialog.openQuestion(getEditorSite().getShell(), title, message)) - try { - ((ServerWorkingCopy)server).renameFiles(null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error renaming server", e); - } - } - } - - super.dispose(); - if (commandManager != null) - commandManager.removePropertyChangeListener(listener); - - if (serverId != null) - commandManager.releaseCommandManager(serverId); - } - - /* (non-Javadoc) - * Saves the contents of this editor. - * <p> - * Subclasses must override this method to implement the open-save-close lifecycle - * for an editor. For greater details, see <code>IEditorPart</code> - * </p> - * - * @see IEditorPart - */ - public void doSave(IProgressMonitor monitor) { - // set the isSaving flag to true - isSaving = true; - - // check pages for errors first - java.util.List errors = new ArrayList(); - Iterator iterator = serverPages.iterator(); - int count = 0; - while (iterator.hasNext()) { - IEditorPart part = (IEditorPart) iterator.next(); - if (part instanceof ServerEditorPart) { - IStatus[] status2 = ((ServerEditorPart) part).getSaveStatus(); - if (status2 != null) { - int size = status2.length; - for (int i = 0; i < size; i++) - errors.add("[" + getPageText(count) + "] " + status2[i].getMessage()); - } - } - count ++; - } - if (!errors.isEmpty()) { - StringBuffer sb = new StringBuffer(); - sb.append(Messages.errorEditorCantSave + "\n"); - iterator = errors.iterator(); - while (iterator.hasNext()) - sb.append("\t" + ((String) iterator.next()) + "\n"); - - EclipseUtil.openError(getEditorSite().getShell(), sb.toString()); - monitor.setCanceled(true); - // reset the isSaving flag - isSaving = false; - return; - } - - try { - monitor = ProgressUtil.getMonitorFor(monitor); - int ticks = 2000; - String name = ""; - if (server != null) - name = server.getName(); - monitor.beginTask(NLS.bind(Messages.savingTask, name), ticks); - if (server != null) - ticks /= 2; - - if (server != null) { - server.save(false, ProgressUtil.getSubMonitorFor(monitor, ticks)); - getCommandManager().resourceSaved(serverId); - commandManager.updateTimestamps(serverId); - } - - ILabelProvider labelProvider = ServerUICore.getLabelProvider(); - if (server != null) - setPartName(labelProvider.getText(server)); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error saving server editor", e); - - monitor.setCanceled(true); - - String title = Messages.editorSaveErrorDialog; - String message = NLS.bind(Messages.editorSaveErrorMessage, e.getLocalizedMessage()); - MessageDialog.openError(getEditorSite().getShell(), title, message); - } finally { - monitor.done(); - } - // reset the isSaving flag - isSaving = false; - } - - /* (non-Javadoc) - * Saves the contents of this editor to another object. - * <p> - * Subclasses must override this method to implement the open-save-close lifecycle - * for an editor. For greater details, see <code>IEditorPart</code> - * </p> - * - * @see IEditorPart - */ - public void doSaveAs() { - // do nothing - } - - /** - * Fire a property change event. - * - * @param i int - */ - protected void firePropertyChange(int i) { - if (i == ServerEditorPart.PROP_ERROR) - updateStatusError(); - super.firePropertyChange(i); - } - - /** - * Return the global command manager. - * - * @return the global command manager - */ - public GlobalCommandManager getCommandManager() { - return commandManager; - } - - /** - * Return the redo action. - * - * @return org.eclipse.jface.action.Action - */ - public IAction getRedoAction() { - return redoAction; - } - - /** - * Return the undo action. - * - * @return org.eclipse.jface.action.Action - */ - public IAction getUndoAction() { - return undoAction; - } - - /* (non-Javadoc) - * Sets the cursor and selection state for this editor to the passage defined - * by the given marker. - * <p> - * Subclasses may override. For greater details, see <code>IEditorPart</code> - * </p> - * - * @see IEditorPart - */ - public void gotoMarker(IMarker marker) { - // do nothing - } - - /** - * Update the cut, copy, and paste actions. - */ - public void updateActionsImpl() { - if (updatingActions) - return; - - updatingActions = true; - Display.getDefault().asyncExec(new Runnable() { - public void run() { - updatingActions = false; - updateActions(); - } - }); - } - - /** - * Update the cut, copy, and paste actions. - */ - public void updateActions() { - cutAction.update(); - copyAction.update(); - pasteAction.update(); - } - - /** - * Update the cut, copy, and paste actions. - */ - protected void updateStatusLine() { - if (statusItem != null) { - boolean readOnly = false; - if (server != null && commandManager.isReadOnly(serverId)) - readOnly = true; - - if (readOnly) - statusItem.setText(Messages.editorReadOnly); - else - statusItem.setText(Messages.editorWritable); - } - - if (status != null) { - StringBuffer sb = new StringBuffer(); - boolean first = true; - if (server != null) { - IFile[] files = commandManager.getReadOnlyFiles(serverId); - for (int i = 0; i < files.length; i++) { - if (!first) - sb.append(", "); - sb.append(files[i].getName()); - first = false; - } - } - /*if (serverConfiguration != null) { - IFile[] files = commandManager.getReadOnlyFiles(serverConfigurationId); - for (int i = 0; i < files.length; i++) { - if (!first) - sb.append(", "); - sb.append(files[i].getName()); - first = false; - } - }*/ - if (sb.length() > 1) - status.setMessage(NLS.bind(Messages.editorReadOnlyFiles, sb.toString())); - else - status.setMessage(""); - } - } - - /** - * - */ - public void updateStatusError() { - if (status == null) - return; - - String error = null; - IEditorPart part = getActiveEditor(); - if (part instanceof ServerEditorPart) - error = ((ServerEditorPart) part).getErrorMessage(); - - Iterator iterator = serverPages.iterator(); - int count = 0; - while (error == null && iterator.hasNext()) { - part = (IEditorPart) iterator.next(); - if (part instanceof ServerEditorPart) { - error = ((ServerEditorPart) part).getErrorMessage(); - if (error != null) - error = "[" + getPageText(count) + "] " + error; - } - count ++; - } - status.setErrorMessage(error); - } - - /** - * - */ - protected void pageChange(int newPageIndex) { - super.pageChange(newPageIndex); - updateStatusError(); - } - - /** - * Set the status. - * - * @param status a status line manager - * @param item a status contribution item - */ - public void setStatus(IStatusLineManager status, StatusLineContributionItem item) { - this.status = status; - this.statusItem = item; - updateStatusError(); - } - - /** - * Register for key and traversal events to enable/disable the cut/copy/paste actions. - */ - protected void registerEvents(Control control) { - if (control == null) - return; - - if (control instanceof Text || control instanceof Combo) { - // register the world... any of these actions could cause the state to change - control.addTraverseListener(new TraverseListener() { - public void keyTraversed(TraverseEvent event) { - updateActionsImpl(); - } - }); - control.addKeyListener(new KeyListener() { - public void keyPressed(KeyEvent event) { - updateActionsImpl(); - } - public void keyReleased(KeyEvent event) { - updateActionsImpl(); - } - }); - control.addMouseListener(new MouseListener() { - public void mouseDown(MouseEvent event) { - // do nothing - } - public void mouseUp(MouseEvent event) { - updateActionsImpl(); - } - public void mouseDoubleClick(MouseEvent event) { - updateActionsImpl(); - } - }); - control.addFocusListener(new FocusListener() { - public void focusGained(FocusEvent event) { - updateActionsImpl(); - } - public void focusLost(FocusEvent event) { - updateActionsImpl(); - } - }); - if (control instanceof Text) { - Text text = (Text) control; - text.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent event) { - updateActionsImpl(); - } - }); - text.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent event) { - updateActionsImpl(); - } - public void widgetDefaultSelected(SelectionEvent event) { - updateActionsImpl(); - } - }); - } else { - Combo combo = (Combo) control; - combo.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent event) { - updateActionsImpl(); - } - }); - combo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent event) { - updateActionsImpl(); - } - public void widgetDefaultSelected(SelectionEvent event) { - updateActionsImpl(); - } - }); - } - } - - if (control instanceof Composite) { - Control[] children = ((Composite)control).getChildren(); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) - registerEvents(children[i]); - } - } - } - - /* (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) throws PartInitException { - commandManager = GlobalCommandManager.getInstance(); - super.init(site, input); - - if (input instanceof IFileEditorInput) { - IFileEditorInput fei = (IFileEditorInput) input; - IFile file = fei.getFile(); - if (file != null && file.exists()) { - IServer server2 = ServerUIPlugin.findServer(file); - if (server2 != null) - serverId = server2.getId(); - } - if (serverId == null) - throw new PartInitException(NLS.bind(Messages.errorEditor, file.getName())); - } else if (input instanceof IServerEditorInput) { - IServerEditorInput sei = (IServerEditorInput) input; - serverId = sei.getServerId(); - } - - if (serverId != null) { - commandManager.getCommandManager(serverId); - server = commandManager.getServerResource(serverId); - } - - ILabelProvider labelProvider = ServerUICore.getLabelProvider(); - if (server != null) { - setPartName(labelProvider.getText(server)); - setTitleImage(labelProvider.getImage(server)); - setTitleToolTip(serverId); - serverName = server.getName(); - } else - setPartName("-"); - - cutAction = new TextAction(site.getShell().getDisplay(), TextAction.CUT_ACTION); - copyAction = new TextAction(site.getShell().getDisplay(), TextAction.COPY_ACTION); - pasteAction = new TextAction(site.getShell().getDisplay(), TextAction.PASTE_ACTION); - - listener = new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if (GlobalCommandManager.PROP_DIRTY.equals(event.getPropertyName())) { - Object obj = event.getOldValue(); - if (obj == serverId) - firePropertyChange(PROP_DIRTY); - } else if (GlobalCommandManager.PROP_UNDO.equals(event.getPropertyName())) { - Object obj = event.getOldValue(); - if (obj == serverId) - updateUndoAction(); - } else if (GlobalCommandManager.PROP_REDO.equals(event.getPropertyName())) { - Object obj = event.getOldValue(); - if (obj == serverId) - updateRedoAction(); - } else if (GlobalCommandManager.PROP_RELOAD.equals(event.getPropertyName())) { - Object obj = event.getOldValue(); - if (obj == serverId) { - server = commandManager.getServerResource(serverId); - refresh(); - } - } - } - }; - if (server != null && commandManager.isDirty(serverId)) - firePropertyChange(PROP_DIRTY); - - commandManager.addPropertyChangeListener(listener); - - // create editor input - ServerResourceCommandManager serverCommandManager = null; - if (server != null) - serverCommandManager = new ServerResourceCommandManager(this, serverId, commandManager); - editorPartInput = commandManager.getPartInput(serverId, serverCommandManager); - - createActions(); - - // add resource listener - resourceListener = new LifecycleListener(); - ServerCore.addServerLifecycleListener(resourceListener); - - IWorkbenchWindow window = getSite().getWorkbenchWindow(); - window.getPartService().addPartListener(activationListener); - window.getShell().addShellListener(activationListener); - } - - /* (non-Javadoc) - * Returns whether the contents of this editor have changed since the last save - * operation. - * <p> - * Subclasses must override this method to implement the open-save-close lifecycle - * for an editor. For greater details, see <code>IEditorPart</code> - * </p> - * - * @see IEditorPart - */ - public boolean isDirty() { - if (commandManager != null) { - if (server != null && commandManager.isDirty(serverId)) - return true; - } - return false; - } - - /* (non-Javadoc) - * Returns whether the "save as" operation is supported by this editor. - * <p> - * Subclasses must override this method to implement the open-save-close lifecycle - * for an editor. For greater details, see <code>IEditorPart</code> - * </p> - * - * @see IEditorPart - */ - public boolean isSaveAsAllowed() { - return false; - } - - /** - * Update the undo action. - */ - protected void updateUndoAction() { - IUndoableOperation command = commandManager.getUndoCommand(serverId); - if (command == null) { - undoAction.setText(Messages.editorUndoDisabled); - undoAction.setToolTipText(""); - undoAction.setDescription(""); - undoAction.setEnabled(false); - } else { - String text = NLS.bind(Messages.editorUndoEnabled, new Object[] {command.getLabel()}); - undoAction.setText(text); - undoAction.setToolTipText(command.getLabel()); - undoAction.setDescription(command.getLabel()); - undoAction.setEnabled(true); - } - } - - /** - * Update the redo action. - */ - protected void updateRedoAction() { - IUndoableOperation command = commandManager.getRedoCommand(serverId); - if (command == null) { - redoAction.setText(Messages.editorRedoDisabled); - redoAction.setToolTipText(""); - redoAction.setDescription(""); - redoAction.setEnabled(false); - } else { - String text = NLS.bind(Messages.editorRedoEnabled, new Object[] {command.getLabel()}); - redoAction.setText(text); - redoAction.setToolTipText(command.getLabel()); - redoAction.setDescription(command.getLabel()); - redoAction.setEnabled(true); - } - } - - /** - * Return the cut action. - * - * @return org.eclipse.jface.action.IAction - */ - public IAction getCutAction() { - return cutAction; - } - - /** - * Return the copy action. - * - * @return org.eclipse.jface.action.IAction - */ - public IAction getCopyAction() { - return copyAction; - } - - /** - * Return the paste action. - * - * @return org.eclipse.jface.action.IAction - */ - public IAction getPasteAction() { - return pasteAction; - } - - /** - * Returns the editor actions. - * - * @return org.eclipse.jface.action.IAction - */ - public IAction[] getEditorActions() { - return editorActions; - } - - /** - * Update the server pages with new input. - */ - protected void refresh() { - // create editor input - ServerResourceCommandManager serverCommandManager = null; - if (server != null) - serverCommandManager = new ServerResourceCommandManager(this, serverId, commandManager); - editorPartInput = commandManager.getPartInput(serverId, serverCommandManager); - - Iterator iterator = serverPages.iterator(); - while (iterator.hasNext()) { - IEditorPart part = (IEditorPart) iterator.next(); - try { - part.init(part.getEditorSite(), editorPartInput); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error refresh()ing editor part", e); - } - } - } - - /** - * - */ - protected void promptReadOnlyServerFile(String id) { - commandManager.setReadOnly(id, true); - String title = Messages.editorResourceModifiedTitle; - String message = Messages.editorReadOnlyMessage; - MessageDialog.openInformation(getEditorSite().getShell(), title, message); - } - - /** - * - */ - protected void promptReloadServerFile(String id, IServerWorkingCopy wc) { - String title = Messages.editorResourceModifiedTitle; - String message = Messages.editorServerModifiedMessage; - - if (MessageDialog.openQuestion(getEditorSite().getShell(), title, message)) { - try { - //wc.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor()); - //TODO: refresh local server - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error refreshing server", e); - } - commandManager.reload(id, new NullProgressMonitor()); - } - } - - /** - * - */ - public void setFocus() { - super.setFocus(); - } - - /** - * - */ - protected void checkResourceState() { - // do not check the resource state change if saving through the editor - if (isSaving) { - // do nothing - return; - } - - // check for deleted files - if (resourceDeleted) { - String title = Messages.editorResourceDeleteTitle; - String message = null; - if (server != null) - message = NLS.bind(Messages.editorResourceDeleteServerMessage, server.getName()); - String[] labels = new String[] {Messages.editorResourceDeleteSave, IDialogConstants.CLOSE_LABEL}; - MessageDialog dialog = new MessageDialog(getEditorSite().getShell(), title, null, message, MessageDialog.INFORMATION, labels, 0); - - if (dialog.open() == 0) - doSave(new NullProgressMonitor()); - else - closeEditor(); - return; - } - resourceDeleted = false; - - // check for server changes - if (serverId != null) { - if (!commandManager.isDirty(serverId)) { - if (commandManager.hasChanged(serverId)) - promptReloadServerFile(serverId, server); - } else { - if (commandManager.hasChanged(serverId) && !commandManager.areFilesReadOnly(serverId)) - promptReloadServerFile(serverId, server); - else if (commandManager.areFilesReadOnly(serverId) && !commandManager.isReadOnly(serverId)) - promptReadOnlyServerFile(serverId); - } - if (commandManager.isReadOnly(serverId) && !commandManager.areFilesReadOnly(serverId)) - commandManager.setReadOnly(serverId, false); - commandManager.updateTimestamps(serverId); - } - - updateStatusLine(); - } - - /** - * Set the title tooltip. - * - * @return the title tooltip - */ - public String getTitleToolTip() { - Server server2 = (Server) server; - if (server != null && server2.getFile() != null) - return server2.getFile().getFullPath().toString(); - else if (server != null) - return server.getName(); - else - return "error"; - } - - public int getOrientation() { - return Window.getDefaultOrientation(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java deleted file mode 100644 index ae4c948dd..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionBarContributor.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IStatusLineManager; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.actions.ActionFactory; -import org.eclipse.ui.part.EditorActionBarContributor; -/** - * Server editor action bar contributor. - */ -public class ServerEditorActionBarContributor extends EditorActionBarContributor { - public static final String SERVER_EDITOR_SEPARATOR = "server-editor-additions"; - - // current editor - protected ServerEditor editor; - - /** - * ServerEditorActionBarContributor constructor comment. - */ - public ServerEditorActionBarContributor() { - super(); - } - - /** - * Sets the active editor for the contributor. - * <p> - * The <code>EditorActionBarContributor</code> implementation of this method does - * nothing. Subclasses may reimplement. This generally entails disconnecting - * from the old editor, connecting to the new editor, and updating the actions - * to reflect the new editor. - * </p> - * - * @param targetEditor the new target editor - */ - public void setActiveEditor(IEditorPart targetEditor) { - super.setActiveEditor(targetEditor); - - if (targetEditor != null && targetEditor.equals(editor)) - return; - - IActionBars actionBars = getActionBars(); - boolean actionBarsUpdated = false; - - if (editor != null) { - editor.setStatus(null, null); - - IStatusLineManager status = actionBars.getStatusLineManager(); - status.removeAll(); - - IToolBarManager tbm = actionBars.getToolBarManager(); - tbm.removeAll(); - - actionBarsUpdated = true; - } - - if (targetEditor instanceof ServerEditor) { - editor = (ServerEditor) targetEditor; - Trace.trace(Trace.FINEST, "Editor action bar contributor for: " + editor); - editor.updateUndoAction(); - editor.updateRedoAction(); - - actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), editor.getUndoAction()); - actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), editor.getRedoAction()); - - actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), editor.getCopyAction()); - actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), editor.getCutAction()); - actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), editor.getPasteAction()); - - IStatusLineManager status = actionBars.getStatusLineManager(); - StatusLineContributionItem item = new StatusLineContributionItem("id"); - status.add(item); - - editor.setStatus(status, item); - editor.updateStatusLine(); - - IAction[] actions = editor.getEditorActions(); - IToolBarManager tbm = actionBars.getToolBarManager(); - tbm.add(new Separator(SERVER_EDITOR_SEPARATOR)); - boolean modified = false; - if (actions != null) { - int size = actions.length; - Trace.trace(Trace.FINEST, "Attempting to add editor actions: " + size); - for (int i = 0; i < size; i++) { - Trace.trace(Trace.FINEST, "action: " + actions[i]); - tbm.appendToGroup(SERVER_EDITOR_SEPARATOR, actions[i]); - modified = true; - } - } - - if (modified) - tbm.update(false); - actionBarsUpdated = true; - } else - editor = null; - - if (actionBarsUpdated) - actionBars.updateActionBars(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java deleted file mode 100644 index b40e649fc..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorActionFactory.java +++ /dev/null @@ -1,164 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.jface.action.IAction; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.editor.IServerEditorPartInput; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.wst.server.ui.internal.provisional.ServerEditorActionFactoryDelegate; -import org.eclipse.ui.IEditorSite; -/** - * A default server that can be created for a set of given - * natures. - */ -public class ServerEditorActionFactory implements IServerEditorActionFactory { - private IConfigurationElement element; - private ServerEditorActionFactoryDelegate delegate; - - /** - * ServerEditorActionFactory constructor. - * - * @param element a configuration element - */ - public ServerEditorActionFactory(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * - */ - protected IConfigurationElement getConfigurationElement() { - return element; - } - - /** - * Returns the id of this default server. - * - * @return java.lang.String - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the id of this default server. - * - * @return java.lang.String - */ - public String getName() { - return element.getAttribute("name"); - } - - /** - * Returns the order. - * - * @return int - */ - public int getOrder() { - try { - String o = element.getAttribute("order"); - return Integer.parseInt(o); - } catch (NumberFormatException e) { - return -1; - } - } - - /** - * Return the ids of the server resource factories (specified - * using Java-import style) that this page may support. - * - * @return java.lang.String[] - */ - public String[] getTypeIds() { - try { - List list = new ArrayList(); - StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ","); - while (st.hasMoreTokens()) { - String str = st.nextToken(); - if (str != null && str.length() > 0) - list.add(str); - } - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } catch (Exception e) { - //Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources")); - return null; - } - } - - /** - * @see IServerEditorActionFactory#supportsServerElementType(String) - */ - public boolean supportsServerElementType(String id) { - if (id == null || id.length() == 0) - return false; - - String[] s = getTypeIds(); - if (s == null) - return false; - - int size = s.length; - for (int i = 0; i < size; i++) { - if (s[i].endsWith("*")) { - if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1))) - return true; - } else if (id.equals(s[i])) - return true; - } - return false; - } - - /* - * - */ - public ServerEditorActionFactoryDelegate getDelegate() { - if (delegate == null) { - try { - delegate = (ServerEditorActionFactoryDelegate) element.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create server action factory delegate", t); - } - } - return delegate; - } - - /** - * @see IServerEditorActionFactory#shouldDisplay(IServerWorkingCopy) - */ - public boolean shouldDisplay(IServerWorkingCopy server) { - try { - return getDelegate().shouldDisplay(server); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate", e); - return false; - } - } - - /** - * @see IServerEditorActionFactory#createAction(IEditorSite, IServerEditorPartInput) - */ - public IAction createAction(IEditorSite site, IServerEditorPartInput input) { - try { - return getDelegate().createAction(site, input); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate", e); - return null; - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java deleted file mode 100644 index 39da11842..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java +++ /dev/null @@ -1,223 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionDelta; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.Platform; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * - */ -public class ServerEditorCore { - // cached copy of all editor factories and actions - private static List editorPageFactories; - private static List editorPageSectionFactories; - private static List editorActionFactories; - - /** - * Returns a List of all editor page factories - * - * @return java.util.List - */ - public static List getServerEditorPageFactories() { - if (editorPageFactories == null) - loadEditorPageFactories(); - return editorPageFactories; - } - - /** - * Returns a List of all editor page section factories - * - * @return java.util.List - */ - public static List getServerEditorPageSectionFactories() { - if (editorPageSectionFactories == null) - loadEditorPageSectionFactories(); - return editorPageSectionFactories; - } - - /** - * Load the editor page factory extension point. - */ - private static void loadEditorPageFactories() { - Trace.trace(Trace.CONFIG, "->- Loading .editorPages extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGES); - editorPageFactories = new ArrayList(cf.length); - loadEditorPageFactories(cf); - ServerUIPlugin.addRegistryListener(); - Trace.trace(Trace.CONFIG, "-<- Done loading .editorPages extension point -<-"); - } - - /** - * Load the editor page factory extension point. - */ - private static void loadEditorPageFactories(IConfigurationElement[] cf) { - int size = cf.length; - for (int i = 0; i < size; i++) { - try { - editorPageFactories.add(new ServerEditorPartFactory(cf[i])); - Trace.trace(Trace.CONFIG, " Loaded editorPage: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load editorPage: " + cf[i].getAttribute("id"), t); - } - } - - // sort pages - sortOrderedList(editorPageFactories); - } - - public static void handleEditorPageFactoriesDelta(IExtensionDelta delta) { - if (editorPageFactories == null) // not loaded yet - return; - - IConfigurationElement[] cf = delta.getExtension().getConfigurationElements(); - - if (delta.getKind() == IExtensionDelta.ADDED) - loadEditorPageFactories(cf); - else { - int size = editorPageFactories.size(); - ServerEditorPartFactory[] sepf = new ServerEditorPartFactory[size]; - editorPageFactories.toArray(sepf); - int size2 = cf.length; - - for (int i = 0; i < size; i++) { - for (int j = 0; j < size2; j++) { - if (sepf[i].getId().equals(cf[j].getAttribute("id"))) { - editorPageFactories.remove(sepf[i]); - } - } - } - } - } - - /** - * Load the editor page section factory extension point. - */ - private static void loadEditorPageSectionFactories() { - Trace.trace(Trace.CONFIG, "->- Loading .editorPageSections extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGE_SECTIONS); - editorPageSectionFactories = new ArrayList(cf.length); - loadEditorPageSectionFactories(cf); - ServerUIPlugin.addRegistryListener(); - Trace.trace(Trace.CONFIG, "-<- Done loading .editorPageSections extension point -<-"); - } - - /** - * Load the editor page section factory extension point. - */ - private static void loadEditorPageSectionFactories(IConfigurationElement[] cf) { - int size = cf.length; - for (int i = 0; i < size; i++) { - try { - editorPageSectionFactories.add(new ServerEditorPageSectionFactory(cf[i])); - Trace.trace(Trace.CONFIG, " Loaded editorPageSection: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load editorPageSection: " + cf[i].getAttribute("id"), t); - } - } - - // sort sections - sortOrderedList(editorPageSectionFactories); - } - - public static void handleEditorPageSectionFactoriesDelta(IExtensionDelta delta) { - if (editorPageSectionFactories == null) // not loaded yet - return; - - IConfigurationElement[] cf = delta.getExtension().getConfigurationElements(); - - if (delta.getKind() == IExtensionDelta.ADDED) - loadEditorPageSectionFactories(cf); - else { - int size = editorPageSectionFactories.size(); - ServerEditorPageSectionFactory[] seps = new ServerEditorPageSectionFactory[size]; - editorPageSectionFactories.toArray(seps); - int size2 = cf.length; - - for (int i = 0; i < size; i++) { - for (int j = 0; j < size2; j++) { - if (seps[i].getId().equals(cf[j].getAttribute("id"))) { - editorPageSectionFactories.remove(seps[i]); - } - } - } - } - } - - /** - * Returns a List of all editor action factories. - * - * @return java.util.List - */ - public static List getServerEditorActionFactories() { - if (editorActionFactories == null) - loadEditorActionFactories(); - return editorActionFactories; - } - - /** - * Load the editor action factories extension point. - */ - private static void loadEditorActionFactories() { - Trace.trace(Trace.CONFIG, "->- Loading .editorActions extension point ->-"); - IExtensionRegistry registry = Platform.getExtensionRegistry(); - IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "editorActions"); - - int size = cf.length; - editorActionFactories = new ArrayList(size); - for (int i = 0; i < size; i++) { - try { - editorActionFactories.add(new ServerEditorActionFactory(cf[i])); - Trace.trace(Trace.CONFIG, " Loaded editorAction: " + cf[i].getAttribute("id")); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, " Could not load editorAction: " + cf[i].getAttribute("id"), t); - } - } - - // sort pages - sortOrderedList(editorActionFactories); - Trace.trace(Trace.CONFIG, "-<- Done loading .editorActions extension point -<-"); - } - - /** - * Sort the given list of IOrdered items into indexed order. This method - * modifies the original list, but returns the value for convenience. - * - * @param list java.util.List - * @return java.util.List - */ - public static List sortOrderedList(List list) { - if (list == null) - return null; - - int size = list.size(); - for (int i = 0; i < size - 1; i++) { - for (int j = i + 1; j < size; j++) { - IOrdered a = (IOrdered) list.get(i); - IOrdered b = (IOrdered) list.get(j); - if (a.getOrder() > b.getOrder()) { - Object temp = a; - list.set(i, b); - list.set(j, temp); - } - } - } - return list; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java deleted file mode 100644 index 31861ac4c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInput.java +++ /dev/null @@ -1,182 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.IPersistableElement; -/** - * The editor input for server configurations and instances. The - * input points to a resource that is either an instance or - * configuration. - * - * <p>Editors supporting this editor input should use the ResourceManager - * to load their own copy of the resource. Each editor is responsible - * for managing this resource and making sure that only one copy is - * loaded from disk when multiple editors are opened on the same - * resource.</p> - * - * <p>When the editor saves back to the resource, the server tooling - * will notice the change and reload the new configuration.</p> - * - * <p>Editors should call setEditing(resource, true) when the first - * editor opens on a particular resource, and setEditing(resource, - * false) when the last editor on a resource closes. This will - * ensure that the server tooling does not try to edit the resource - * and cause conflicting changes while an editor is open.</p> - */ -public class ServerEditorInput implements IServerEditorInput, IPersistableElement { - private String serverId; - - /** - * ServerEditorInput constructor comment. - * - * @param serverId a server id - */ - public ServerEditorInput(String serverId) { - super(); - this.serverId = serverId; - } - - /** - * Returns the server id. - * @return org.eclipse.core.resources.IResource - */ - public String getServerId() { - return serverId; - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!(obj instanceof ServerEditorInput)) - return false; - ServerEditorInput other = (ServerEditorInput) obj; - if (serverId == null) { - if (other.serverId != null) - return false; - } else if (!serverId.equals(other.serverId)) - return false; - return true; - } - - /** - * Returns whether the editor input exists. - * <p> - * This method is primarily used to determine if an editor input should - * appear in the "File Most Recently Used" menu. An editor input will appear - * in the list until the return value of <code>exists</code> becomes - * <code>false</code> or it drops off the bottom of the list. - * - * @return <code>true</code> if the editor input exists; <code>false</code> - * otherwise - */ - public boolean exists() { - if (serverId != null && ServerCore.findServer(serverId) == null) - return false; - - return true; - } - - /** - * Returns an object which is an instance of the given class - * associated with this object. Returns <code>null</code> if - * no such object can be found. - * - * @param adapter the adapter class to look up - * @return a object castable to the given class, - * or <code>null</code> if this object does not - * have an adapter for the given class - */ - public Object getAdapter(Class adapter) { - return Platform.getAdapterManager().getAdapter(this, adapter); - } - - /** - * Returns the ID of an element factory which can be used to recreate - * this object. An element factory extension with this ID must exist - * within the workbench registry. - * - * @return the element factory ID - */ - public String getFactoryId() { - return ServerEditorInputFactory.FACTORY_ID; - } - - public ImageDescriptor getImageDescriptor() { - return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER); - } - - /** - * Returns the name of this editor input for display purposes. - * <p> - * For instance, if the fully qualified input name is - * <code>"a\b\MyFile.gif"</code>, the return value would be just - * <code>"MyFile.gif"</code>. - * - * @return the file name string - */ - public String getName() { - if (serverId != null) { - IServer server = ServerCore.findServer(serverId); - if (server != null) - return server.getName(); - return serverId; - } - return ""; - } - - /* - * Returns an object that can be used to save the state of this editor input. - * - * @return the persistable element, or <code>null</code> if this editor input - * cannot be persisted - */ - public IPersistableElement getPersistable() { - return this; - } - - public String getToolTipText() { - String s = null; - if (serverId != null) { - IServer server = ServerCore.findServer(serverId); - if (server != null) { - Server server2 = (Server) server; - if (server2.getFile() != null) { - s = server2.getFile().getFullPath().makeRelative().toString(); - if (s.startsWith("/")) - s = s.substring(1); - } else - s = server.getName(); - } - } - if (s == null) - s = ""; - return s; - } - - /** - * Saves the state of an element within a memento. - * - * @param memento the storage area for element state - */ - public void saveState(IMemento memento) { - ServerEditorInputFactory.saveState(memento, this); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java deleted file mode 100644 index 70bbc7480..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorInputFactory.java +++ /dev/null @@ -1,55 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.ui.IElementFactory; -import org.eclipse.ui.IMemento; -/** - * This factory is used in the persistence of ServerResourceEditorInput - * instances. This allows the user to close the workbench with an - * open editor and reopen to the same editor. - */ -public class ServerEditorInputFactory implements IElementFactory { - protected final static String FACTORY_ID = "org.eclipse.wst.server.ui.editor.input.factory"; - protected final static String SERVER_ID = "server-id"; - - /** - * ServerEditorInputFactory constructor comment. - */ - public ServerEditorInputFactory() { - // do nothing - } - - /* - * Creates editor input based on the state in the memento. - */ - public IAdaptable createElement(IMemento memento) { - // get the resource names - String serverId = memento.getString(SERVER_ID); - - return new ServerEditorInput(serverId); - } - - /** - * Saves the state of an element within a memento. - * - * @param memento the storage area for element state - * @param input server editor input - */ - public static void saveState(IMemento memento, ServerEditorInput input) { - if (input == null) - return; - - if (input.getServerId() != null) - memento.putString(SERVER_ID, input.getServerId()); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java deleted file mode 100644 index 208a29179..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPageSectionFactory.java +++ /dev/null @@ -1,205 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import org.eclipse.core.expressions.*; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.editor.*; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * - */ -public class ServerEditorPageSectionFactory implements IServerEditorPageSectionFactory { - private IConfigurationElement element; - private Expression fContextualLaunchExpr = null; - - /** - * ServerEditorPageSectionFactory constructor. - * - * @param element a configuration element - */ - public ServerEditorPageSectionFactory(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * - */ - protected IConfigurationElement getConfigurationElement() { - return element; - } - - /** - * Returns the id of this factory. - * - * @return java.lang.String - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the order. - * - * @return int - */ - public int getOrder() { - try { - String o = element.getAttribute("order"); - return Integer.parseInt(o); - } catch (NumberFormatException e) { - return -1; - } - } - - /** - * Returns the insertion id of this factory. - * - * @return java.lang.String - */ - public String getInsertionId() { - return element.getAttribute("insertionId"); - } - - /** - * Return the ids of the server resource factories (specified - * using Java-import style) that this page may support. - * - * @return java.lang.String[] - */ - protected String[] getTypeIds() { - try { - List list = new ArrayList(); - StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ","); - while (st.hasMoreTokens()) { - String str = st.nextToken(); - if (str != null && str.length() > 0) - list.add(str.trim()); - } - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } catch (Exception e) { - //Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources")); - return null; - } - } - - /** - * @see IServerEditorPageSectionFactory#supportsType(String) - */ - public boolean supportsType(String id) { - if (id == null || id.length() == 0) - return false; - - String[] s = getTypeIds(); - if (s == null) - return false; - - int size = s.length; - for (int i = 0; i < size; i++) { - if (s[i].endsWith("*")) { - if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1))) - return true; - } else if (id.equals(s[i])) - return true; - } - return false; - } - - /** - * @see IServerEditorPageSectionFactory#shouldCreateSection(IServerWorkingCopy) - */ - public boolean shouldCreateSection(IServerWorkingCopy server) { - try { - return isEnabled(server); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate", e); - return false; - } - } - - /** - * @see IServerEditorPageSectionFactory#createSection() - */ - public ServerEditorSection createSection() { - try { - return (ServerEditorSection) element.createExecutableExtension("class"); - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Could not create server editor section", t); - return null; - } - } - - /** - * Returns an expression that represents the enablement logic for the - * contextual launch element of this launch shortcut description or - * <code>null</code> if none. - * @return an evaluatable expression or <code>null</code> - * @throws CoreException if the configuration element can't be - * converted. Reasons include: (a) no handler is available to - * cope with a certain configuration element or (b) the XML - * expression tree is malformed. - */ - public Expression getContextualLaunchEnablementExpression() throws CoreException { - if (fContextualLaunchExpr == null) { - IConfigurationElement[] elements = element.getChildren(ExpressionTagNames.ENABLEMENT); - IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; - - if (enablement != null) - fContextualLaunchExpr = ExpressionConverter.getDefault().perform(enablement); - } - return fContextualLaunchExpr; - } - - /** - * Evaluate the given expression within the given context and return - * the result. Returns <code>true</code> iff result is either TRUE or NOT_LOADED. - * This allows optimistic inclusion of shortcuts before plugins are loaded. - * Returns <code>false</code> if exp is <code>null</code>. - * - * @param exp the enablement expression to evaluate or <code>null</code> - * @param context the context of the evaluation. Usually, the - * user's selection. - * @return the result of evaluating the expression - * @throws CoreException - */ - protected boolean evalEnablementExpression(IEvaluationContext context, Expression exp) throws CoreException { - return (exp != null) ? ((exp.evaluate(context)) != EvaluationResult.FALSE) : false; - } - - /** - * Returns true if enabled for the given object. - * - * @param obj an object - * @return <code>true</code> if enabled - * @throws CoreException if anything goes wrong - */ - public boolean isEnabled(Object obj) throws CoreException { - if (getContextualLaunchEnablementExpression() == null) - return true; - IEvaluationContext context = new EvaluationContext(null, obj); - context.addVariable("server", obj); - return evalEnablementExpression(context, getContextualLaunchEnablementExpression()); - } - - public String toString() { - return "ServerEditorSection [" + getId() + ", " + getInsertionId() + ", " + getOrder() + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java deleted file mode 100644 index bc7126821..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java +++ /dev/null @@ -1,243 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import org.eclipse.core.expressions.*; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.ui.IEditorPart; -/** - * - */ -public class ServerEditorPartFactory implements IServerEditorPartFactory { - private IConfigurationElement element; - private Expression fContextualLaunchExpr = null; - - /** - * ServerEditorPartFactory constructor. - * - * @param element a configuration element - */ - public ServerEditorPartFactory(IConfigurationElement element) { - super(); - this.element = element; - } - - /** - * - */ - protected IConfigurationElement getConfigurationElement() { - return element; - } - - /** - * Returns the id of this part factory. - * - * @return java.lang.String - */ - public String getId() { - return element.getAttribute("id"); - } - - /** - * Returns the name of this part factory. - * - * @return java.lang.String - */ - public String getName() { - return element.getAttribute("name"); - } - - protected String[] getInsertionIds() { - try { - String insertionIds = element.getAttribute("insertionIds"); - List list = new ArrayList(); - if (insertionIds != null && insertionIds.length() > 0) { - StringTokenizer st = new StringTokenizer(insertionIds, ","); - while (st.hasMoreTokens()) { - String str = st.nextToken(); - if (str != null && str.length() > 0) - list.add(str.trim()); - } - } - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } catch (Exception e) { - //Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources")); - return null; - } - } - - /** - * @see IServerEditorPartFactory#supportsInsertionId(String) - */ - public boolean supportsInsertionId(String id) { - if (id == null || id.length() == 0) - return false; - - String[] s = getInsertionIds(); - if (s == null) - return false; - - int size = s.length; - for (int i = 0; i < size; i++) { - if (s[i].endsWith("*")) { - if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1))) - return true; - } else if (id.equals(s[i])) - return true; - } - return false; - } - - /** - * Returns the order. - * - * @return int - */ - public int getOrder() { - try { - String o = element.getAttribute("order"); - return Integer.parseInt(o); - } catch (NumberFormatException e) { - return -1; - } - } - - /** - * Return the ids of the server and server configuration type ids (specified - * using Java-import style) that this page may support. - * - * @return java.lang.String[] - */ - protected String[] getTypeIds() { - try { - List list = new ArrayList(); - StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ","); - while (st.hasMoreTokens()) { - String str = st.nextToken(); - if (str != null && str.length() > 0) - list.add(str.trim()); - } - String[] s = new String[list.size()]; - list.toArray(s); - return s; - } catch (Exception e) { - //Trace.trace("Could not get server resource from: " + element.getAttribute("serverResources")); - return null; - } - } - - /** - * @see IServerEditorPartFactory#supportsType(String) - */ - public boolean supportsType(String id) { - if (id == null || id.length() == 0) - return false; - - String[] s = getTypeIds(); - if (s == null) - return false; - - int size = s.length; - for (int i = 0; i < size; i++) { - if (s[i].endsWith("*")) { - if (id.length() >= s[i].length() && id.startsWith(s[i].substring(0, s[i].length() - 1))) - return true; - } else if (id.equals(s[i])) - return true; - } - return false; - } - - /** - * @see IServerEditorPartFactory#shouldCreatePage(IServerWorkingCopy) - */ - public boolean shouldCreatePage(IServerWorkingCopy server) { - try { - return isEnabled(server); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate", e); - return false; - } - } - - /** - * @see IServerEditorPartFactory#createPage() - */ - public IEditorPart createPage() { - try { - return (IEditorPart) element.createExecutableExtension("class"); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error calling delegate", e); - return null; - } - } - - /** - * Returns an expression that represents the enablement logic for the - * contextual launch element of this launch shortcut description or - * <code>null</code> if none. - * @return an evaluatable expression or <code>null</code> - * @throws CoreException if the configuration element can't be - * converted. Reasons include: (a) no handler is available to - * cope with a certain configuration element or (b) the XML - * expression tree is malformed. - */ - public Expression getContextualLaunchEnablementExpression() throws CoreException { - if (fContextualLaunchExpr == null) { - IConfigurationElement[] elements = element.getChildren(ExpressionTagNames.ENABLEMENT); - IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; - - if (enablement != null) - fContextualLaunchExpr = ExpressionConverter.getDefault().perform(enablement); - } - return fContextualLaunchExpr; - } - - /** - * Evaluate the given expression within the given context and return - * the result. Returns <code>true</code> iff result is either TRUE or NOT_LOADED. - * This allows optimistic inclusion of shortcuts before plugins are loaded. - * Returns <code>false</code> if exp is <code>null</code>. - * - * @param exp the enablement expression to evaluate or <code>null</code> - * @param context the context of the evaluation. Usually, the - * user's selection. - * @return the result of evaluating the expression - * @throws CoreException - */ - protected boolean evalEnablementExpression(IEvaluationContext context, Expression exp) throws CoreException { - return (exp != null) ? ((exp.evaluate(context)) != EvaluationResult.FALSE) : false; - } - - /** - * Returns true if enabled for the given object. - * - * @param obj an object - * @return <code>true</code> if enabled - * @throws CoreException if anything goes wrong - */ - public boolean isEnabled(Object obj) throws CoreException { - if (getContextualLaunchEnablementExpression() == null) - return true; - IEvaluationContext context = new EvaluationContext(null, obj); - context.addVariable("server", obj); - return evalEnablementExpression(context, getContextualLaunchEnablementExpression()); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartInput.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartInput.java deleted file mode 100644 index 79045b29c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartInput.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.IPersistableElement; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.editor.IServerEditorPartInput; -/** - * - */ -public class ServerEditorPartInput implements IServerEditorPartInput { - protected IServerWorkingCopy server; - protected boolean serverReadOnly; - protected ServerResourceCommandManager serverCommandManager; - - public ServerEditorPartInput(ServerResourceCommandManager serverCommandManager, - IServerWorkingCopy server, boolean serverReadOnly) { - - this.server = server; - this.serverReadOnly = serverReadOnly; - this.serverCommandManager = serverCommandManager; - } - - public String getName() { - return "-"; - } - - public String getToolTipText() { - return "-"; - } - - public boolean exists() { - return true; - } - - public Object getAdapter(Class adapter) { - return null; - } - - public ImageDescriptor getImageDescriptor() { - return null; - } - - public IPersistableElement getPersistable() { - return null; - } - - /** - * Returns the server to be edited. - * - * @return IServerResource - */ - public IServerWorkingCopy getServer() { - return server; - } - - /** - * Returns true if the server is read-only. - * - * @return boolean - */ - public boolean isServerReadOnly() { - return serverReadOnly; - } - - public ServerResourceCommandManager getServerCommandManager() { - return serverCommandManager; - } - - public String toString() { - return "ServerEditorPartInput [" + server + "]"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java deleted file mode 100644 index bca43f308..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.core.commands.operations.IUndoableOperation; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * A command manager for a single server resource. - */ -public class ServerResourceCommandManager { - protected ServerEditor editor; - protected GlobalCommandManager commandManager; - protected String id; - - public ServerResourceCommandManager(ServerEditor editor, String id, GlobalCommandManager commandManager) { - this.editor = editor; - this.commandManager = commandManager; - this.id = id; - } - - public boolean isReadOnly() { - return commandManager.isReadOnly(id); - } - - /** - * Execute the given command and place it in the undo stack. - * If the command cannot be undone, the user will be notifed - * before it is executed. - * - * @param operation an undoable operation - */ - public void execute(IUndoableOperation operation) { - if (!validateEdit()) - return; - - if (commandManager.isReadOnly(id)) { - warnReadOnly(); - return; - } - commandManager.executeCommand(id, operation); - } - - protected void warnReadOnly() { - String title = Messages.editorResourceWarnTitle; - String message = Messages.editorResourceWarnMessage; - - MessageDialog.openWarning(editor.getEditorSite().getShell(), title, message); - } - - /** - * - */ - protected boolean validateEdit() { - if (commandManager.isDirty(id)) - return true; - - IFile[] files = commandManager.getReadOnlyFiles(id); - if (files.length == 0) - return true; - - IStatus status = ResourcesPlugin.getWorkspace().validateEdit(files, editor.getEditorSite().getShell()); - - if (status.getSeverity() == IStatus.ERROR) { - // inform user - String message = Messages.editorValidateEditFailureMessage; - ErrorDialog.openError(editor.getEditorSite().getShell(), Messages.errorDialogTitle, message, status); - - // change to read-only - commandManager.setReadOnly(id, true); - - // do not execute command - return false; - } - // check file timestamp - IServerAttributes serverfile = commandManager.getServerResource(id); - if (commandManager.hasChanged(id)) { - if (serverfile instanceof IServer) - editor.promptReloadServerFile(id, (IServerWorkingCopy) serverfile); - } - - // allow edit - return true; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java deleted file mode 100644 index 9a35eec4d..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/StatusLineContributionItem.java +++ /dev/null @@ -1,91 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.jface.action.ContributionItem; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.texteditor.IStatusField; -/** - * Contribution item for the status line. - */ -public class StatusLineContributionItem extends ContributionItem implements IStatusField { - - static class StatusLineLabel extends CLabel { - - private static int INDENT= 3; // left and right margin used in CLabel - - private Point fFixedSize; - - public StatusLineLabel(Composite parent, int style) { - super(parent, style); - - GC gc= new GC(parent); - gc.setFont(parent.getFont()); - Point extent= gc.textExtent("MMMMMMMMM"); //$NON-NLS-1$ - gc.dispose(); - - fFixedSize= new Point(extent.x + INDENT * 2, 10); - } - - public Point computeSize(int wHint, int hHint, boolean changed) { - return fFixedSize; - } - } - - private String fText; - private Image fImage; - private StatusLineLabel fLabel; - - /** - * Creates a new item with the given id. - * - * @param id the item's id - */ - StatusLineContributionItem(String id) { - super(id); - } - - /* - * @see IStatusField#setText - */ - public void setText(String text) { - fText= text; - if (fLabel != null && !fLabel.isDisposed()) { - fLabel.setText(fText); - } - } - - /* - * @see IStatusField#setImage(Image) - */ - public void setImage(Image image) { - fImage= image; - if (fLabel != null && !fLabel.isDisposed()) { - fLabel.setImage(fImage); - } - } - - /* - * @see IContributionItem#fill(Composite) - */ - public void fill(Composite parent) { - fLabel= new StatusLineLabel(parent, SWT.SHADOW_IN); - fLabel.setData(this); - - if (fText != null) - fLabel.setText(fText); - } -} diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java deleted file mode 100644 index 458b5bf04..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java +++ /dev/null @@ -1,246 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.editor; - -import org.eclipse.jface.action.Action; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.swt.SWTError; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.dnd.Transfer; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Text; -/** - * Text actions (cut, copy, paste) for the Web browser. - */ -public class TextAction extends Action { - protected Display display; - protected Clipboard clipboard; - protected byte type; - - public static final byte CUT_ACTION = 0; - public static final byte COPY_ACTION = 1; - public static final byte PASTE_ACTION = 2; - - /** - * TextAction constructor comment. - */ - protected TextAction(Display display, byte type) { - super("Text action: " + type); - this.display = display; - clipboard = new Clipboard(display); - this.type = type; - } - - protected Control getControl() { - Control control = display.getFocusControl(); - return control; - } - - protected Point getControlSelection() { - Control control = getControl(); - if (control == null) - return null; - - if (control instanceof Text) { - Text text = (Text) control; - return text.getSelection(); - } else if (control instanceof Combo) { - Combo combo = (Combo) control; - return combo.getSelection(); - } else - return null; - } - - protected void setControlSelection(Point sel) { - Control control = getControl(); - if (control == null) - return; - - if (control instanceof Text) { - Text text = (Text) control; - text.setSelection(sel); - } else if (control instanceof Combo) { - Combo combo = (Combo) control; - combo.setSelection(sel); - } - } - - protected String getControlText() { - Control control = getControl(); - if (control == null) - return null; - - if (control instanceof Text) { - Text text = (Text) control; - return text.getText(); - } else if (control instanceof Combo) { - Combo combo = (Combo) control; - return combo.getText(); - } else - return null; - } - - protected void setControlText(String text) { - Control control = getControl(); - if (control == null) - return; - - if (control instanceof Text) { - Text text2 = (Text) control; - text2.setText(text); - } else if (control instanceof Combo) { - Combo combo = (Combo) control; - combo.setText(text); - } - } - - /** - * Copies the selected text to the clipboard. The text will be put in the - * clipboard in plain text format. - */ - public void copy() { - Point selection = getControlSelection(); - String text = getControlText(); - if (selection == null || text == null) - return; - - int length = selection.y - selection.x; - if (length > 0) { - TextTransfer plainTextTransfer = TextTransfer.getInstance(); - try { - clipboard.setContents( - new String[] { text.substring(selection.x, selection.y) }, - new Transfer[] { plainTextTransfer }); - } catch (SWTError error) { - // Copy to clipboard failed. This happens when another application - // is accessing the clipboard while we copy. Ignore the error. - } - } - } - - /** - * Moves the selected text to the clipboard. The text will be put in the - * clipboard in plain text format and RTF format. - */ - public void cut(){ - Point selection = getControlSelection(); - if (selection == null) - return; - - if (selection.y > selection.x) { - copy(); - delete(); - } - } - - /** - * Deletes the character to the right of the caret. Delete the selected text if any. - */ - public void delete() { - Point selection = getControlSelection(); - String text = getControlText(); - if (selection == null || text == null) - return; - - if (selection.x != selection.y) { - text = text.substring(0, selection.x) + text.substring(selection.y); - setControlText(text); - setControlSelection(new Point(selection.x, selection.x)); - } - } - - /** - * Replaces the selection with the clipboard text or insert the text at - * the current caret offset if there is no selection. - * If the widget has the SWT.SINGLE style and the clipboard text contains - * more than one line, only the first line without line delimiters is - * inserted in the widget. - */ - public void paste() { - TextTransfer transfer = TextTransfer.getInstance(); - Point selection = getControlSelection(); - String text = getControlText(); - if (selection == null) - return; - - String newText = (String) clipboard.getContents(transfer); - if (newText != null && newText.length() > 0) { - if (text == null) - text = newText; - else - text = text.substring(0, selection.x) + newText + text.substring(selection.y); - setControlText(text); - - // set the selection to the end of the paste - int x = selection.x + newText.length(); - setControlSelection(new Point(x, x)); - } - } - - /** - * Execute the action. - */ - public void run() { - if (display == null) - return; - if (type == CUT_ACTION) - cut(); - else if (type == COPY_ACTION) - copy(); - else if (type == PASTE_ACTION) - paste(); - } - - /** - * Update the actions enabled/disabled state. - */ - protected void update() { - if (getControl() == null) { - setEnabled(false); - return; - } - Point selection = getControlSelection(); - String text = getControlText(); - - try { - if (type == CUT_ACTION) - setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y); - else if (type == COPY_ACTION) - setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y); - else if (type == PASTE_ACTION) { - Control control = getControl(); - if (!control.isEnabled()) { - setEnabled(false); - return; - } - if (!(control instanceof Text)) { - setEnabled(false); - return; - } - - Text text2 = (Text) control; - if (!text2.getEditable()) { - setEnabled(false); - return; - } - TextTransfer transfer = TextTransfer.getInstance(); - String newText = (String) clipboard.getContents(transfer); - setEnabled(newText != null && newText.length() > 0); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error updating text action", e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ConnectedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ConnectedUIDecorator.java deleted file mode 100644 index 3a7d25263..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ConnectedUIDecorator.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.provisional; - -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jface.action.Action; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; - -public class ConnectedUIDecorator extends UIDecorator { - private static final String[] serverStateUnmanaged = new String[] { - "", - Messages.viewStatusStarting4, - Messages.viewStatusStarted2, - Messages.viewStatusStopping4, - Messages.viewStatusStopped2}; - - private static final String[] startingText = new String[] { - Messages.viewStatusStarting1, - Messages.viewStatusStarting2, - Messages.viewStatusStarting3}; - - private static final String[] stoppingText = new String[] { - Messages.viewStatusStopping1, - Messages.viewStatusStopping2, - Messages.viewStatusStopping3}; - - private static final Image[] startingImages = new Image[] { - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_2), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_3) - }; - - private static final Image[] stoppingImages = new Image[] { - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2) - }; - - /** - * @see UIDecorator#getStateLabel(int, String, int) - */ - public String getStateLabel(int state, String mode, int count) { - if (state == IServer.STATE_UNKNOWN) - return ""; - else if (state == IServer.STATE_STARTING) - return startingText[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingText[count]; - else if (state == IServer.STATE_STARTED) { - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return Messages.viewStatusStartedDebug; - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return Messages.viewStatusStartedProfile; - else - return Messages.viewStatusStarted; - } else if (state == IServer.STATE_STOPPED) - return Messages.viewStatusStopped; - - return serverStateUnmanaged[state]; - } - - /** - * @see UIDecorator#getStateImage(int, String, int) - */ - public Image getStateImage(int state, String mode, int count) { - if (state == IServer.STATE_UNKNOWN) - return null; - else if (state == IServer.STATE_STARTING) - return startingImages[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingImages[count]; - else if (state == IServer.STATE_STOPPED) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED); - else { //if (state == IServer.STATE_STARTED) { - //String mode = server.getMode(); - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG); - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE); - else - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED); - } - } - - public boolean canRestart() { - return false; - } - - public void setupAction(Action action, int action2) { - action.setToolTipText(Messages.actionStopToolTip2); - action.setText(Messages.actionStop2); - action.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_DISCONNECT)); - action.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_DISCONNECT)); - action.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_DISCONNECT)); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java deleted file mode 100644 index 29206c58f..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ManagedUIDecorator.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.provisional; - -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; - -public class ManagedUIDecorator extends UIDecorator { - private static final String[] serverStateUnmanaged = new String[] { - "", - Messages.viewStatusStarting4, - Messages.viewStatusStarted2, - Messages.viewStatusStopping4, - Messages.viewStatusStopped2}; - - private static final String[] startingText = new String[] { - Messages.viewStatusStarting1, - Messages.viewStatusStarting2, - Messages.viewStatusStarting3}; - - private static final String[] stoppingText = new String[] { - Messages.viewStatusStopping1, - Messages.viewStatusStopping2, - Messages.viewStatusStopping3}; - - private static final Image[] startingImages = new Image[] { - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_2), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_3) - }; - - private static final Image[] stoppingImages = new Image[] { - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2) - }; - - /** - * @see UIDecorator#getStateLabel(int, String, int) - */ - public String getStateLabel(int state, String mode, int count) { - if (state == IServer.STATE_UNKNOWN) - return ""; - else if (state == IServer.STATE_STARTING) - return startingText[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingText[count]; - else if (state == IServer.STATE_STARTED) { - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return Messages.viewStatusStartedDebug; - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return Messages.viewStatusStartedProfile; - else - return Messages.viewStatusStarted; - } else if (state == IServer.STATE_STOPPED) - return Messages.viewStatusStopped; - - return serverStateUnmanaged[state]; - } - - /** - * @see UIDecorator#getStateImage(int, String, int) - */ - public Image getStateImage(int state, String mode, int count) { - if (state == IServer.STATE_UNKNOWN) - return null; - else if (state == IServer.STATE_STARTING) - return startingImages[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingImages[count]; - else if (state == IServer.STATE_STOPPED) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED); - else { //if (state == IServer.STATE_STARTED) { - //String mode = server.getMode(); - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG); - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE); - else - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED); - } - } - - public String getModuleName() { - return "module"; - } - - public boolean canRestart() { - return true; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/PublishedUIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/PublishedUIDecorator.java deleted file mode 100644 index b4f63b02e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/PublishedUIDecorator.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.provisional; - -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; - -public class PublishedUIDecorator extends UIDecorator { - private static final String[] serverStateUnmanaged = new String[] { - "", - Messages.viewStatusStarting4, - Messages.viewStatusStarted2, - Messages.viewStatusStopping4, - Messages.viewStatusStopped2}; - - private static final String[] startingText = new String[] { - Messages.viewStatusStarting1, - Messages.viewStatusStarting2, - Messages.viewStatusStarting3}; - - private static final String[] stoppingText = new String[] { - Messages.viewStatusStopping1, - Messages.viewStatusStopping2, - Messages.viewStatusStopping3}; - - private static final Image[] startingImages = new Image[] { - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_1), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_2), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTING_3) - }; - - private static final Image[] stoppingImages = new Image[] { - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_1), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2), - ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPING_2) - }; - - /** - * @see UIDecorator#getStateLabel(int, String, int) - */ - public String getStateLabel(int state, String mode, int count) { - if (state == IServer.STATE_UNKNOWN) - return ""; - else if (state == IServer.STATE_STARTING) - return startingText[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingText[count]; - else if (state == IServer.STATE_STARTED) { - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return Messages.viewStatusStartedDebug; - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return Messages.viewStatusStartedProfile; - else - return Messages.viewStatusStarted; - } else if (state == IServer.STATE_STOPPED) - return Messages.viewStatusStopped; - - return serverStateUnmanaged[state]; - } - - /** - * @see UIDecorator#getStateImage(int, String, int) - */ - public Image getStateImage(int state, String mode, int count) { - if (state == IServer.STATE_UNKNOWN) - return null; - else if (state == IServer.STATE_STARTING) - return startingImages[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingImages[count]; - else if (state == IServer.STATE_STOPPED) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED); - else { //if (state == IServer.STATE_STARTED) { - //String mode = server.getMode(); - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG); - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE); - else - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED); - } - } - - public String getModuleName() { - return "module"; - } - - public boolean canRestart() { - return false; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ServerEditorActionFactoryDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ServerEditorActionFactoryDelegate.java deleted file mode 100644 index d60a390dd..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/ServerEditorActionFactoryDelegate.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.provisional; - -import org.eclipse.jface.action.IAction; -import org.eclipse.ui.IEditorSite; - -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.editor.IServerEditorPartInput; -/** - * - * @plannedfor 1.0 - */ -public abstract class ServerEditorActionFactoryDelegate { - /** - * Returns true if this editor action should be visible on the given - * server. This allows actions to be filtered based on the server type - * or server attributes. - * - * @param server the server being edited - * @return <code>true</code> if the action should be displayed, or - * <code>false</code> otherwise - */ - public boolean shouldDisplay(IServerWorkingCopy server) { - return true; - } - - /** - * Create the action. - * - * @param site the editor site - * @param input the server editor port input - * @return an action that can be run against the server - */ - public abstract IAction createAction(IEditorSite site, IServerEditorPartInput input); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java deleted file mode 100644 index de9952d06..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecorator.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.provisional; - -import org.eclipse.jface.action.Action; -import org.eclipse.swt.graphics.Image; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; - -public abstract class UIDecorator { - public static final int ACTION_STOP = 0; - - /** - * Returns a string representing the given state. - * - * @param state a server state - * @param mode a launch mode - * @param count a timer count - * @return java.lang.String - */ - public abstract String getStateLabel(int state, String mode, int count); - - /** - * Returns an image representing the given state. - * - * @param state a server state - * @param mode a launch mode - * @param count a timer count - * @return org.eclipse.jface.parts.IImage - */ - public abstract Image getStateImage(int state, String mode, int count); - - public String getModuleName() { - return "module"; - } - - public boolean canRestart() { - return false; - } - - public void setupAction(Action action, int action2) { - action.setToolTipText(Messages.actionStopToolTip); - action.setText(Messages.actionStop); - action.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP)); - action.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP)); - action.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP)); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java deleted file mode 100644 index e55fdcf26..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/provisional/UIDecoratorManager.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.provisional; - -import org.eclipse.wst.server.core.IServerType; - -public class UIDecoratorManager { - protected static UIDecorator decorator = new ManagedUIDecorator(); - - public static UIDecorator getUIDecorator(IServerType serverType) { - return decorator; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java deleted file mode 100644 index dd6aaf426..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/AbstractServerAction.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import java.util.Iterator; - -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.actions.SelectionProviderAction; - -import org.eclipse.wst.server.core.IServer; -/** - * An abstract class for an action on a server. - */ -public abstract class AbstractServerAction extends SelectionProviderAction { - public Shell shell; - - public AbstractServerAction(Shell shell, ISelectionProvider selectionProvider, String name) { - super(selectionProvider, name); - this.shell = shell; - setEnabled(false); - } - - /** - * Return true if this server can currently be acted on. - * - * @return boolean - * @param server org.eclipse.wst.server.core.IServer - */ - public abstract boolean accept(IServer server); - - /** - * Perform action on this server. - * @param server org.eclipse.wst.server.core.IServer - */ - public abstract void perform(IServer server); - - public void run() { - Iterator iterator = getStructuredSelection().iterator(); - Object obj = iterator.next(); - if (obj instanceof IServer) { - IServer server = (IServer) obj; - if (accept(server)) - perform(server); - selectionChanged(getStructuredSelection()); - } - } - - /** - * Update the enable state. - * - * @param sel a selection - */ - public void selectionChanged(IStructuredSelection sel) { - if (sel.isEmpty()) { - setEnabled(false); - return; - } - boolean enabled = false; - Iterator iterator = sel.iterator(); - while (iterator.hasNext()) { - Object obj = iterator.next(); - if (obj instanceof IServer) { - IServer server = (IServer) obj; - if (accept(server)) - enabled = true; - } else { - setEnabled(false); - return; - } - } - setEnabled(enabled); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java deleted file mode 100644 index 138e8a2aa..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/DeleteAction.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.jface.action.Action; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.ui.internal.DeleteServerDialog; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.swt.widgets.Shell; -/** - * Action for deleting server resources. - */ -public class DeleteAction extends Action { - protected IServer[] servers; - protected IFolder[] configs; - protected Shell shell; - - /** - * DeleteAction constructor. - * - * @param shell a shell - * @param server a server - */ - public DeleteAction(Shell shell, IServer server) { - this(shell, new IServer[] { server }); - } - - /** - * DeleteAction constructor. - * - * @param shell a shell - * @param servers an array of servers - */ - public DeleteAction(Shell shell, IServer[] servers) { - super(Messages.actionDelete); - this.shell = shell; - - this.servers = servers; - - List list = new ArrayList(); - - int size = servers.length; - for (int i = 0; i < size; i++) { - if (servers[i].getServerConfiguration() != null) - list.add(servers[i].getServerConfiguration()); - } - - // remove configurations that are still referenced by other servers - IServer[] servers2 = ServerCore.getServers(); - if (servers2 != null) { - int size2 = servers2.length; - for (int j = 0; j < size2; j++) { - boolean found = false; - for (int i = 0; i < size; i++) { - if (servers[i].equals(servers2[j])) - found = true; - } - if (!found) { - IFolder folder = servers2[j].getServerConfiguration(); - if (folder != null && list.contains(folder)) - list.remove(folder); - } - } - } - - configs = new IFolder[list.size()]; - list.toArray(configs); - } - - /** - * Invoked when an action occurs. - */ - public void run() { - DeleteServerDialog dsd = new DeleteServerDialog(shell, servers, configs); - dsd.open(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModifyModulesAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModifyModulesAction.java deleted file mode 100644 index f8fa261d6..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModifyModulesAction.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.*; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog; -import org.eclipse.wst.server.ui.internal.wizard.ModifyModulesWizard; -/** - * Action to modify the modules of a server. - */ -public class ModifyModulesAction extends Action { - protected IWorkbenchPart part; - protected IServer server; - - /** - * ModifyModulesAction constructor comment. - * - * @param server a server - */ - public ModifyModulesAction(IServer server) { - super(Messages.actionModifyModules); - this.server = server; - } - - /* - * Notifies this action delegate that the selection in the workbench has changed. - */ - public void selectionChanged(IAction action, ISelection selection) { - server = null; - - if (selection instanceof IStructuredSelection) { - IStructuredSelection sel = (IStructuredSelection) selection; - Object obj = sel.getFirstElement(); - if (obj instanceof IServer) - server = (IServer) obj; - } - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart) - */ - public void setActivePart(IAction action, IWorkbenchPart targetPart) { - part = targetPart; - } - - /* - * Performs this action. - */ - public void run(IAction action) { - if (server == null) - return; - - Shell shell = part.getSite().getShell(); - //if (!ServerUIUtil.promptIfDirty(shell, server)) - // return; - - // check if there are any projects first - // get currently deployed modules - List deployed = new ArrayList(); - List modules = new ArrayList(); - IModule[] currentModules = server.getModules(); - if (currentModules != null) { - int size = currentModules.length; - for (int i = 0; i < size; i++) { - deployed.add(currentModules[i]); - } - } - - // get remaining modules - IModule[] modules2 = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes()); - if (modules != null) { - int size = modules2.length; - for (int i = 0; i < size; i++) { - IModule module = modules2[i]; - if (!deployed.contains(module)) { - IStatus status = server.canModifyModules(new IModule[] { module }, null, null); - if (status != null && status.getSeverity() != IStatus.ERROR) - modules.add(module); - } - } - } - - if (deployed.isEmpty() && modules.isEmpty()) { - MessageDialog.openInformation(shell, Messages.defaultDialogTitle, Messages.dialogAddRemoveModulesNone); - return; - } - - ModifyModulesWizard wizard = new ModifyModulesWizard(server); - ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard); - dialog.open(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java deleted file mode 100644 index 5452461bd..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -/** - * A utility class for referencing a server and a module at the same time. - */ -public class ModuleServer { - /** - * The server - */ - public IServer server; - - /** - * The module - */ - public IModule[] module; - - /** - * Create a new module-server. - * - * @param server the server - * @param module the module - */ - public ModuleServer(IServer server, IModule[] module) { - this.server = server; - this.module = module; - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (!(obj instanceof ModuleServer)) - return false; - - ModuleServer ms = (ModuleServer) obj; - if (!ms.server.equals(server)) - return false; - - if (ms.module.length != module.length) - return false; - - int size = module.length; - for (int i = 0; i < size; i++) { - if (!module[i].equals(ms.module[i])) - return false; - } - return true; - } - - /** - * @see Object#toString() - */ - public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append("Server-Module [" + server.getId() + "/" + server.getName() + ", ("); - - int size = module.length; - for (int i = 0; i < size; i++) { - if (i > 0) - sb.append(", "); - sb.append(module[i].getName()); - } - sb.append(")]"); - return sb.toString(); - } -} diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java deleted file mode 100644 index 07f690f03..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.swt.widgets.Shell; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog; -import org.eclipse.wst.server.ui.internal.wizard.ModifyModulesWizard; -/** - * - */ -public class ModuleSloshAction extends AbstractServerAction { - public ModuleSloshAction(Shell shell, ISelectionProvider selectionProvider, String name) { - super(shell, selectionProvider, name); - } - - /** - * Return true if this server can currently be acted on. - * @return boolean - * @param server org.eclipse.wst.server.core.IServer - */ - public boolean accept(IServer server) { - return true; - } - - /** - * Perform action on this server. - * @param server org.eclipse.wst.server.core.IServer - */ - public void perform(final IServer server) { - if (server == null) - return; - - //if (!ServerUIUtil.promptIfDirty(shell, server)) - // return; - - // check if there are any projects first - // get currently deployed modules - List deployed = new ArrayList(); - List modules = new ArrayList(); - IModule[] currentModules = server.getModules(); - if (currentModules != null) { - int size = currentModules.length; - for (int i = 0; i < size; i++) { - deployed.add(currentModules[i]); - } - } - - // get remaining modules - IModule[] modules2 = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes()); - if (modules != null) { - int size = modules2.length; - for (int i = 0; i < size; i++) { - IModule module = modules2[i]; - if (!deployed.contains(module)) { - IStatus status = server.canModifyModules(new IModule[] { module }, null, null); - if (status != null && status.getSeverity() != IStatus.ERROR) - modules.add(module); - } - } - } - - if (deployed.isEmpty() && modules.isEmpty()) { - MessageDialog.openInformation(shell, Messages.defaultDialogTitle, Messages.dialogAddRemoveModulesNone); - return; - } - - ModifyModulesWizard wizard = new ModifyModulesWizard(server); - ClosableWizardDialog dialog = new ClosableWizardDialog(shell, wizard); - dialog.open(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerAction.java deleted file mode 100644 index 6b02675eb..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerAction.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.action.Action; -import org.eclipse.swt.widgets.Shell; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Action for monitoring a server. - */ -public class MonitorServerAction extends Action { - protected IServer server; - protected Shell shell; - - /** - * MonitorServerAction constructor. - * - * @param shell a shell - * @param server a server - */ - public MonitorServerAction(Shell shell, IServer server) { - super(Messages.actionMonitorProperties); - this.shell = shell; - this.server = server; - } - - /** - * Invoked when an action occurs. - */ - public void run() { - MonitorServerDialog msd = new MonitorServerDialog(shell, server); - msd.open(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerDialog.java deleted file mode 100644 index df2fbc25e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerDialog.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.viewers.MonitorComposite; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -/** - * Dialog that prompts a user to monitor ports from a given server. - */ -public class MonitorServerDialog extends Dialog { - protected IServer server; - protected MonitorComposite monitorComp; - - /** - * MonitorServerDialog constructor comment. - * @param parentShell the parent shell - * @param server the server - */ - public MonitorServerDialog(Shell parentShell, IServer server) { - super(parentShell); - this.server = server; - - setBlockOnOpen(true); - } - - /** - * - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(Messages.dialogMonitorTitle); - } - - protected void createButtonsForButtonBar(Composite parent) { - createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); - } - - /** - * - */ - protected Control createDialogArea(Composite parent) { - // create a composite with standard margins and spacing - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); - layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); - layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); - composite.setLayout(layout); - GridData data = new GridData(GridData.FILL_BOTH); - data.widthHint = 550; - composite.setLayoutData(data); - composite.setFont(parent.getFont()); - //WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG); - - Label label = new Label(composite, SWT.WRAP); - label.setText(NLS.bind(Messages.dialogMonitorDescription, new String[] { server.getName() } )); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - label.setLayoutData(data); - - monitorComp = new MonitorComposite(composite, SWT.NONE, null, server); - monitorComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - - Dialog.applyDialogFont(composite); - - return composite; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java deleted file mode 100644 index d63b630af..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/MonitorServerPortAction.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.action.Action; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.IMonitoredServerPort; -import org.eclipse.wst.server.core.internal.IServerMonitorManager; -import org.eclipse.wst.server.core.internal.ServerMonitorManager; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.widgets.Shell; -/** - * Monitor a server port. - */ -public class MonitorServerPortAction extends Action { - protected Shell shell; - protected IServer server; - protected ServerPort port; - protected IMonitoredServerPort monitoredPort; - protected boolean checked; - - public MonitorServerPortAction(Shell shell, IServer server, ServerPort port) { - super(NLS.bind(Messages.actionMonitorPort, new String[] { port.getPort() + "", port.getName() })); - - this.shell = shell; - this.server = server; - this.port = port; - - IMonitoredServerPort[] msps = ServerMonitorManager.getInstance().getMonitoredPorts(server); - if (msps != null) { - int size = msps.length; - for (int i = 0; i < size; i++) { - if (port.equals(msps[i].getServerPort()) && // msps[i].isStarted() && - (msps[i].getContentTypes() == null || msps[i].getContentTypes().length == 0 || - (port.getContentTypes() != null && msps[i].getContentTypes().length == port.getContentTypes().length))) - monitoredPort = msps[i]; - } - } - - checked = monitoredPort != null; // && monitoredPort.isStarted(); - setChecked(checked); - } - - /** - * Enable or disable monitoring. - */ - public void run() { - IServerMonitorManager smm = ServerMonitorManager.getInstance(); - if (checked) { - smm.removeMonitor(monitoredPort); - } else { - if (monitoredPort == null) - monitoredPort = smm.createMonitor(server, port, -1, null); - - try { - smm.startMonitor(monitoredPort); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not monitor", e); - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java deleted file mode 100644 index d4435f5de..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/OpenAction.java +++ /dev/null @@ -1,46 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.action.Action; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * "Open" menu action. - */ -public class OpenAction extends Action { - protected IServer server; - - /** - * OpenAction constructor. - * - * @param server a server - */ - public OpenAction(IServer server) { - super(Messages.actionOpen); - - this.server = server; - setEnabled(server.getServerType() != null); - } - - /** - * Implementation of method defined on <code>IAction</code>. - */ - public void run() { - try { - ServerUIPlugin.editServer(server); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error editing element", e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java deleted file mode 100644 index c86ce8d8f..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java +++ /dev/null @@ -1,56 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.PublishServerJob; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.swt.widgets.Shell; -/** - * Publish to a server. - */ -public class PublishAction extends AbstractServerAction { - public PublishAction(Shell shell, ISelectionProvider selectionProvider, String name) { - super(shell, selectionProvider, name); - try { - selectionChanged((IStructuredSelection) selectionProvider.getSelection()); - } catch (Exception e) { - // ignore - } - } - - /** - * Return true if this server can currently be acted on. - * @return boolean - * @param server org.eclipse.wst.server.core.IServer - */ - public boolean accept(IServer server) { - return server.canPublish().isOK(); - } - - /** - * Perform action on this server. - * @param server org.eclipse.wst.server.core.IServer - */ - public void perform(final IServer server) { - if (!ServerUIPlugin.promptIfDirty(shell, server)) - return; - - if (!ServerUIPlugin.saveEditors()) - return; - - PublishServerJob publishJob = new PublishServerJob(server, IServer.PUBLISH_INCREMENTAL, false); - publishJob.setUser(true); - publishJob.schedule(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RemoveModuleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RemoveModuleAction.java deleted file mode 100644 index 72fc7ba6c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RemoveModuleAction.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.swt.widgets.Shell; -/** - * Action for removing a module from a server. - */ -public class RemoveModuleAction extends Action { - protected IServer server; - protected IModule module; - protected Shell shell; - - /** - * RemoveModuleAction constructor. - * - * @param shell a shell - * @param server a server - * @param module a module - */ - public RemoveModuleAction(Shell shell, IServer server, IModule module) { - super(Messages.actionRemove); - this.shell = shell; - - this.server = server; - this.module = module; - } - - /** - * Invoked when an action occurs. - */ - public void run() { - if (MessageDialog.openConfirm(shell, Messages.defaultDialogTitle, Messages.dialogRemoveModuleConfirm)) { - try { - IServerWorkingCopy wc = server.createWorkingCopy(); - wc.modifyModules(null, new IModule[] { module }, null); - wc.save(true, null); - } catch (Exception e) { - // ignore - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartAction.java deleted file mode 100644 index 5dddc16c5..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartAction.java +++ /dev/null @@ -1,75 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.PublishServerJob; -import org.eclipse.wst.server.core.internal.RestartServerJob; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager; -import org.eclipse.swt.widgets.Shell; -/** - * Restart a server. - */ -public class RestartAction extends AbstractServerAction { - protected String mode; - - public RestartAction(Shell shell, ISelectionProvider selectionProvider, String name) { - this(shell, selectionProvider, name, null); - } - - public RestartAction(Shell shell, ISelectionProvider selectionProvider, String name, String mode) { - super(shell, selectionProvider, name); - try { - selectionChanged((IStructuredSelection) selectionProvider.getSelection()); - } catch (Exception e) { - // ignore - } - this.mode = mode; - } - - /** - * Return true if this server can currently be acted on. - * - * @return boolean - * @param server org.eclipse.wst.server.core.IServer - */ - public boolean accept(IServer server) { - String mode2 = mode; - if (mode2 == null) - mode2 = server.getMode(); - return server.getServerType() != null && UIDecoratorManager.getUIDecorator(server.getServerType()).canRestart() && server.canRestart(mode2).isOK(); - } - - /** - * Perform action on this server. - * @param server org.eclipse.wst.server.core.IServer - */ - public void perform(IServer server) { - if (!ServerUIPlugin.promptIfDirty(shell, server)) - return; - - try { - PublishServerJob publishJob = new PublishServerJob(server, IServer.PUBLISH_INCREMENTAL, false); - String launchMode = mode; - if (launchMode == null) - launchMode = server.getMode(); - RestartServerJob restartJob = new RestartServerJob(server, launchMode); - publishJob.setNextJob(restartJob); - publishJob.schedule(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error restarting server", e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java deleted file mode 100644 index f5fd9822e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/RestartModuleAction.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.action.Action; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Restart a module on a server. - */ -public class RestartModuleAction extends Action { - protected IServer server; - protected IModule[] module; - - public RestartModuleAction(IServer server, IModule[] module) { - super(); - this.server = server; - this.module = module; - - int size = module.length; - setText(NLS.bind(Messages.actionRestartModule, module[size - 1].getName())); - - setEnabled(server.canControlModule(module, null).isOK() && server.getModuleState(module) != IServer.STATE_STOPPED); - } - - /** - * Implementation of method defined on <code>IAction</code>. - */ - public void run() { - server.restartModule(module, null); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerAction.java deleted file mode 100644 index 450031263..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerAction.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.actions.SelectionProviderAction; -/** - * - */ -public class ServerAction extends SelectionProviderAction { - protected Shell shell; - protected byte action; - - public ServerAction(Shell shell, ISelectionProvider provider, String label, byte action) { - super(provider, label); - this.shell = shell; - this.action = action; - setEnabled(ServerActionHelper.isActionEnabled(getSelection(), action)); - } - - /** - * Notifies this action that the given (non-structured) selection has changed - * in the selection provider. - * <p> - * The <code>SelectionProviderAction</code> implementation of this method - * does nothing. Subclasses may reimplement to react to this selection change. - * </p> - * - * @param selection the new selection - */ - public void selectionChanged(ISelection selection) { - setEnabled(ServerActionHelper.isActionEnabled(selection, action)); - } - - public void selectionChanged(IStructuredSelection selection) { - setEnabled(ServerActionHelper.isActionEnabled(selection, action)); - } - - /** - * The default implementation of this <code>IAction</code> method - * does nothing. Subclasses should override this method - * if they do not need information from the triggering event, - * or override <code>run(Event)</code> if they do. - */ - public void run() { - ServerActionHelper.performAction(shell, getSelection(), action); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHelper.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHelper.java deleted file mode 100644 index a766536af..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHelper.java +++ /dev/null @@ -1,247 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import java.util.Iterator; - -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.viewers.*; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.actions.NewServerWizardAction; -import org.eclipse.swt.widgets.Shell; -/** - * - */ -public class ServerActionHelper { - /** - * Constants for actions - */ - public static final byte ACTION_OPEN = 0; - public static final byte ACTION_DELETE = 1; - public static final byte ACTION_BOOKMARK = 2; - - private ServerActionHelper() { - // do nothing - } - - public static void fillContextMenu(Shell shell, ISelection selection, IMenuManager menu) { - MenuManager newMenu = new MenuManager(Messages.actionNew); - fillNewContextMenu(shell, selection, newMenu); - menu.add(newMenu); - fillOtherContextMenu(shell, selection, menu); - } - - public static void fillNewContextMenu(Shell shell, ISelection selection, IMenuManager menu) { - IAction newServerAction = new NewServerWizardAction(); - newServerAction.setText(Messages.actionNewServer); - menu.add(newServerAction); - } - - public static void fillOtherContextMenu(Shell shell, ISelection selection, IMenuManager menu) { - if (selection == null) - return; - - if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) - return; - } - - protected static void addServerActions(Shell shell, IMenuManager menu, IServer server) { - final ISelection selection = new StructuredSelection(server); - ISelectionProvider provider = new ISelectionProvider() { - public void addSelectionChangedListener(ISelectionChangedListener listener) { - // do nothing - } - public ISelection getSelection() { - return selection; - } - public void removeSelectionChangedListener(ISelectionChangedListener listener) { - // do nothing - } - public void setSelection(ISelection sel) { - // do nothing - } - }; - - // create the debug action - Action debugAction = new StartAction(shell, provider, "debug", ILaunchManager.DEBUG_MODE); - debugAction.setToolTipText(Messages.actionDebugToolTip); - debugAction.setText(Messages.actionDebug); - debugAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_DEBUG)); - debugAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_DEBUG)); - debugAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_DEBUG)); - menu.add(debugAction); - - // create the start action - Action runAction = new StartAction(shell, provider, "start", ILaunchManager.RUN_MODE); - runAction.setToolTipText(Messages.actionStartToolTip); - runAction.setText(Messages.actionStart); - runAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START)); - runAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START)); - runAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START)); - menu.add(runAction); - - // create the profile action - Action profileAction = new StartAction(shell, provider, "profile", ILaunchManager.PROFILE_MODE); - profileAction.setToolTipText(Messages.actionProfileToolTip); - profileAction.setText(Messages.actionProfile); - profileAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_PROFILE)); - profileAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_PROFILE)); - profileAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_PROFILE)); - menu.add(profileAction); - - // create the restart action - MenuManager menuManager = new MenuManager(Messages.actionRestart); - - Action restartAction = new RestartAction(shell, provider, "restart", ILaunchManager.RUN_MODE); - restartAction.setToolTipText(Messages.actionRestartToolTip); - restartAction.setText(Messages.actionRestart); - restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_RESTART)); - restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_RESTART)); - restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_RESTART)); - menuManager.add(restartAction); - //menu.add(restartAction); - menu.add(menuManager); - - // create the stop action - /*Action stopAction = new StopAction(shell, provider, "stop", IServerFactory.SERVER_STATE_SET_MANAGED); - stopAction.setToolTipText(Messages.actionStopToolTip")); - stopAction.setText(Messages.actionStop")); - stopAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP)); - stopAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP)); - stopAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP)); - menu.add(stopAction); - - // create the disconnect action - Action disconnectAction = new StopAction(shell, provider, "disconnect", IServerFactory.SERVER_STATE_SET_ATTACHED); - disconnectAction.setToolTipText(Messages.actionStopToolTip2")); - disconnectAction.setText(Messages.actionStop2")); - disconnectAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_DISCONNECT)); - disconnectAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_DISCONNECT)); - disconnectAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_DISCONNECT)); - menu.add(disconnectAction);*/ - - // create the publish action - Action publishAction = new PublishAction(shell, provider, "publish"); - publishAction.setToolTipText(Messages.actionPublishToolTip); - publishAction.setText(Messages.actionPublish); - publishAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_PUBLISH)); - publishAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_PUBLISH)); - publishAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_PUBLISH)); - menu.add(publishAction); - } - - public static boolean isActionEnabled(ISelection selection, byte action) { - if (selection == null || action < 0) - return false; - - if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) - return false; - - IStructuredSelection sel = (IStructuredSelection) selection; - - if (action == ACTION_OPEN) { - return false; - } else if (action == ACTION_DELETE) { - // get selection but avoid no selection or multiple selection - IModule[] module = null; - if (!sel.isEmpty()) { - Iterator iterator = sel.iterator(); - Object obj = iterator.next(); - if (obj instanceof ModuleServer) { - ModuleServer ms = (ModuleServer) obj; - module = ms.module; - } - if (iterator.hasNext()) - module = null; - } - - return (module == null || module.length == 1); - } - - return false; - } - - public static boolean performAction(Shell shell, ISelection selection, byte action) { - //if (!isActionEnabled(selection, action)) - // return false; - - if (selection == null || action < 0) - return false; - - if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) - return false; - - IStructuredSelection sel = (IStructuredSelection) selection; - - if (action == ACTION_OPEN) { - if (sel.size() != 1) - return false; - - Object obj = sel.getFirstElement(); - if (obj instanceof IServer) { - Action open = new OpenAction((IServer) obj); - open.run(); - return true; - } - return false; - } else if (action == ACTION_DELETE) { - // get selection but avoid no selection or multiple selection - IServer server = null; - IModule[] module = null; - if (!sel.isEmpty()) { - Iterator iterator = sel.iterator(); - Object obj = iterator.next(); - if (obj instanceof IServer) - server = (IServer) obj; - if (obj instanceof ModuleServer) { - ModuleServer ms = (ModuleServer) obj; - server = ms.server; - module = ms.module; - } - if (iterator.hasNext()) { - server = null; - module = null; - } - } - - if (module == null) - new DeleteAction(shell, server).run(); - else if (module.length == 1) - new RemoveModuleAction(shell, server, module[0]).run(); - - return true; - } - - return false; - } - - /** - * Returns an action of the specified type, which can be used for global. - * - * @param shell a shell - * @param provider a selection provider - * @param action an action - * @return an action - */ - public static IAction getAction(Shell shell, ISelectionProvider provider, byte action) { - if (action == ACTION_DELETE) { - return new ServerAction(shell, provider, Messages.actionDelete, ServerActionHelper.ACTION_DELETE); - } - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java deleted file mode 100644 index c82a0667e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java +++ /dev/null @@ -1,276 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.jface.viewers.ITableLabelProvider; - -import org.eclipse.ui.ISharedImages; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.ui.ServerUICore; -import org.eclipse.wst.server.ui.internal.DefaultServerLabelDecorator; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager; -import org.eclipse.swt.graphics.Image; -/** - * Server table label provider. - */ -public class ServerTableLabelProvider implements ITableLabelProvider { - public static final String[] syncState = new String[] { - Messages.viewSyncOkay, - Messages.viewSyncRestart, - Messages.viewSyncPublish, - Messages.viewSyncRestartPublish, - Messages.viewSyncPublishing}; - - public static final String[] syncStateUnmanaged = new String[] { - Messages.viewSyncOkay2, - Messages.viewSyncRestart2, - Messages.viewSyncPublish2, - Messages.viewSyncRestartPublish2, - Messages.viewSyncPublishing2}; - - private int count = 0; - - protected DefaultServerLabelDecorator decorator = new DefaultServerLabelDecorator(); - - protected IServer defaultServer; - - /** - * ServerTableLabelProvider constructor comment. - */ - public ServerTableLabelProvider() { - super(); - } - - public void addListener(ILabelProviderListener listener) { - // do nothing - } - - public void dispose() { - decorator.dispose(); - } - - public void setDefaultServer(IServer ds) { - defaultServer = ds; - } - - public IServer getDefaultServer() { - return defaultServer; - } - - public Image getColumnImage(Object element, int columnIndex) { - if (element instanceof ModuleServer) { - ModuleServer ms = (ModuleServer) element; - if (columnIndex == 0) { - return ServerUICore.getLabelProvider().getImage(ms.module[ms.module.length - 1]); - } else if (columnIndex == 1) - return getStateImage(ms.server.getServerType(), ms.server.getModuleState(ms.module), null); - else if (columnIndex == 2) { - IStatus status = ((Server) ms.server).getModuleStatus(ms.module); - if (status != null) { - ISharedImages sharedImages = ServerUIPlugin.getInstance().getWorkbench().getSharedImages(); - if (status.getSeverity() == IStatus.ERROR) - return sharedImages.getImage(ISharedImages.IMG_OBJS_ERROR_TSK); - else if (status.getSeverity() == IStatus.WARNING) - return sharedImages.getImage(ISharedImages.IMG_OBJS_WARN_TSK); - else if (status.getSeverity() == IStatus.INFO) - return sharedImages.getImage(ISharedImages.IMG_OBJS_INFO_TSK); - } - } - return null; - } - IServer server = (IServer) element; - if (columnIndex == 0) { - if (server.getServerType() != null) { - Image image = ImageResource.getImage(server.getServerType().getId()); - IStatus status = ((Server) server).getServerStatus(); - if (defaultServer != null && defaultServer.equals(server) || status != null) { - Image decorated = decorator.decorateImage(image, element); - if (decorated != null) - return decorated; - } - return image; - } - return null; - } else if (columnIndex == 1) { - IServerType serverType = server.getServerType(); - if (serverType == null) - return null; - //if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_PUBLISHED) - // return null; - return getServerStateImage(server); - } else - return null; - } - - public String getColumnText(Object element, int columnIndex) { - if (element instanceof ModuleServer) { - ModuleServer ms = (ModuleServer) element; - if (columnIndex == 0) { - int size = ms.module.length; - return ms.module[size - 1].getName(); - } else if (columnIndex == 1) - return getStateLabel(ms.server.getServerType(), ms.server.getModuleState(ms.module), null); - else if (columnIndex == 2) { - IStatus status = ((Server) ms.server).getModuleStatus(ms.module); - if (status != null) - return status.getMessage(); - return ""; - } - } - IServer server = (IServer) element; - if (columnIndex == 0) - return notNull(server.getName()); - else if (columnIndex == 1) { - IServerType serverType = server.getServerType(); - if (serverType != null) - return getServerStateLabel(server); - - return ""; - } else if (columnIndex == 2) { - IStatus status = ((Server) server).getServerStatus(); - if (status != null) - return status.getMessage(); - - if (server.getServerType() == null) - return ""; - - //if (server.getServerType().hasServerConfiguration() && server.getServerConfiguration() == null) - // return Messages.viewNoConfiguration"); - - if (server.getServerState() == IServer.STATE_UNKNOWN) - return ""; - - String serverId = server.getId(); - if (ServerTableViewer.publishing.contains(serverId)) - return syncState[4]; - - int i = 0; - //if (server.getServerRestartState()) - if (((Server)server).shouldRestart()) - i = 1; - - // republish - if (((Server)server).shouldPublish()) - i += 2; - - //IServerType serverType = server.getServerType(); - // TODO: state set - //if (serverType.getServerStateSet() == IServerType.SERVER_STATE_SET_MANAGED) - return syncState[i]; - //return syncStateUnmanaged[i]; - } else - return "-"; - } - - protected String notNull(String s) { - if (s == null) - return ""; - return s; - } - - public boolean isLabelProperty(Object element, String property) { - return false; - } - - public void removeListener(ILabelProviderListener listener) { - // do nothing - } - - /** - * Returns an image representing the server's state. - * - * @return org.eclipse.jface.parts.IImage - * @param server org.eclipse.wst.server.core.IServer - */ - protected Image getServerStateImage(IServer server) { - return getStateImage(server.getServerType(), server.getServerState(), server.getMode()); - } - - /** - * Returns an image representing the given state. - * - * @return org.eclipse.jface.parts.IImage - */ - protected Image getStateImage(IServerType serverType, int state, String mode) { - return UIDecoratorManager.getUIDecorator(serverType).getStateImage(state, mode, count); - /*if (state == IServer.STATE_UNKNOWN) - return null; - else if (state == IServer.STATE_STARTING) - return startingImages[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingImages[count]; - else if (state == IServer.STATE_STOPPED) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STOPPED); - else { //if (state == IServer.STATE_STARTED) { - //String mode = server.getMode(); - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_DEBUG); - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED_PROFILE); - else - return ImageResource.getImage(ImageResource.IMG_SERVER_STATE_STARTED); - }*/ - } - - /** - * Returns a string representing the server's state. - * - * @return java.lang.String - * @param server org.eclipse.wst.server.core.IServer - */ - protected String getServerStateLabel(IServer server) { - return getStateLabel(server.getServerType(), server.getServerState(), server.getMode()); - } - - /** - * Returns a string representing the given state. - * - * @return java.lang.String - */ - protected String getStateLabel(IServerType serverType, int state, String mode) { - return UIDecoratorManager.getUIDecorator(serverType).getStateLabel(state, mode, count); - /*if (stateSet == IServerType.SERVER_STATE_SET_PUBLISHED) - return ""; - - if (stateSet == IServerType.SERVER_STATE_SET_MANAGED) { - if (state == IServer.STATE_UNKNOWN) - return ""; - else if (state == IServer.STATE_STARTING) - return startingText[count]; - else if (state == IServer.STATE_STOPPING) - return stoppingText[count]; - else if (state == IServer.STATE_STARTED) { - if (ILaunchManager.DEBUG_MODE.equals(mode)) - return Messages.viewStatusStartedDebug"); - else if (ILaunchManager.PROFILE_MODE.equals(mode)) - return Messages.viewStatusStartedProfile"); - else - return Messages.viewStatusStarted"); - } else if (state == IServer.STATE_STOPPED) - return Messages.viewStatusStopped"); - } - - return serverStateUnmanaged[state];*/ - } - - protected void animate() { - count ++; - if (count > 2) - count = 0; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java deleted file mode 100644 index e71389449..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java +++ /dev/null @@ -1,493 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.viewers.*; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.util.PublishAdapter; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Tree; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.ISelectionListener; -import org.eclipse.ui.actions.ActionFactory; -/** - * Tree view showing servers and their associations. - */ -public class ServerTableViewer extends TreeViewer { - protected static final String ROOT = "root"; - - protected IServerLifecycleListener serverResourceListener; - protected IPublishListener publishListener; - protected IServerListener serverListener; - - protected static Object deletedElement = null; - - //protected static Shell fShell; - - // servers that are currently publishing and starting - protected static List publishing = new ArrayList(); - protected static List starting = new ArrayList(); - - protected ServerTableLabelProvider labelProvider; - protected ISelectionListener dsListener; - - protected ServersView view; - - public class ServerContentProvider implements IStructuredContentProvider, ITreeContentProvider { - public Object[] getElements(Object element) { - List list = new ArrayList(); - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (!((Server)servers[i]).isPrivate()) - list.add(servers[i]); - } - } - return list.toArray(); - } - - public void inputChanged(Viewer theViewer, Object oldInput, Object newInput) { - // do nothing - } - - public void dispose() { - // do nothing - } - - public Object[] getChildren(Object element) { - if (element instanceof ModuleServer) { - ModuleServer ms = (ModuleServer) element; - try { - IModule[] children = ms.server.getChildModules(ms.module, null); - int size = children.length; - ModuleServer[] ms2 = new ModuleServer[size]; - for (int i = 0; i < size; i++) { - int size2 = ms.module.length; - IModule[] module = new IModule[size2 + 1]; - System.arraycopy(ms.module, 0, module, 0, size2); - module[size2] = children[i]; - ms2[i] = new ModuleServer(ms.server, module); - } - return ms2; - } catch (Exception e) { - return null; - } - } - - IServer server = (IServer) element; - IModule[] modules = server.getModules(); - int size = modules.length; - ModuleServer[] ms = new ModuleServer[size]; - for (int i = 0; i < size; i++) { - ms[i] = new ModuleServer(server, new IModule[] { modules[i] }); - } - return ms; - } - - public Object getParent(Object element) { - if (element instanceof ModuleServer) { - ModuleServer ms = (ModuleServer) element; - return ms.server; - } - return null; - } - - public boolean hasChildren(Object element) { - if (element instanceof ModuleServer) { - // Check if the module server has child modules. - ModuleServer curModuleServer = (ModuleServer)element; - IServer curServer = curModuleServer.server; - IModule[] curModule = curModuleServer.module; - if (curServer != null && curModule != null) { - IModule[] curChildModule = curServer.getChildModules(curModule, null); - if (curChildModule != null && curChildModule.length > 0) - return true; - - return false; - } - - return false; - } - - IServer server = (IServer) element; - return server.getModules().length > 0; - } - } - - /*protected void createHoverHelp(Shell parent, Point p) { - if (fShell != null) { - fShell.dispose(); - fShell = null; - } - fShell = new Shell(parent, SWT.NO_FOCUS | SWT.ON_TOP | SWT.RESIZE | SWT.NO_TRIM); - GridLayout layout = new GridLayout(); - layout.marginHeight = 3; - layout.marginWidth = 3; - fShell.setLayout(layout); - - Display display = parent.getDisplay(); - StyledText text = new StyledText(fShell, SWT.NONE); - text.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND)); - text.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND)); - text.append("Testing\nThis is multi-line"); - - fShell.setLocation(p.x, p.y); - fShell.setBackground(display.getSystemColor(SWT.COLOR_BLACK)); - fShell.pack(); - fShell.setVisible(true); - }*/ - - protected Thread thread = null; - protected boolean stopThread = false; - - protected void startThread() { - stopThread = false; - if (thread != null) - return; - - thread = new Thread("Servers View Animator") { - public void run() { - while (!stopThread) { - try { - labelProvider.animate(); - final Object[] rootElements = ((ITreeContentProvider)getContentProvider()).getElements(null); - Display.getDefault().asyncExec(new Runnable() { - public void run() { - if (getTree() != null && !getTree().isDisposed()) - update(rootElements, null); - } - }); - Thread.sleep(250); - } catch (Exception e) { - Trace.trace(Trace.FINEST, "Error in animated server view", e); - } - thread = null; - } - } - }; - thread.setDaemon(true); - thread.start(); - } - - protected void stopThread() { - stopThread = true; - } - - /** - * ServerTableViewer constructor comment. - * - * @param view the view - * @param tree the tree - */ - public ServerTableViewer(final ServersView view, final Tree tree) { - super(tree); - this.view = view; - /*tree.addMouseMoveListener(new MouseMoveListener() { - public void mouseMove(MouseEvent e) { - if (fShell != null) { - fShell.dispose(); - fShell = null; - } - } - }); - tree.addMouseTrackListener(new MouseTrackListener() { - public void mouseEnter(MouseEvent event) { - // ignore - } - - public void mouseExit(MouseEvent event) { - // ignore - } - - public void mouseHover(MouseEvent event) { - createHoverHelp(tree.getShell(), tree.toDisplay(event.x, event.y)); - } - });*/ - - setContentProvider(new ServerContentProvider()); - labelProvider = new ServerTableLabelProvider(); - setLabelProvider(labelProvider); - setSorter(new ViewerSorter() { - // empty - }); - - setInput(ROOT); - - addListeners(); - - IActionBars actionBars = view.getViewSite().getActionBars(); - actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), new ServerAction(getControl().getShell(), this, "Delete it!", ServerActionHelper.ACTION_DELETE)); - - // TODO: add default server listener - /*dsListener = new ISelectionListener() { - public void selectionChanged(IWorkbenchPart part, ISelection selection) { - if (!(selection instanceof IStructuredSelection)) - return; - IStructuredSelection sel = (IStructuredSelection) selection; - final Object obj = sel.getFirstElement(); - IProject proj = null; - if (obj instanceof IResource) { - IResource res = (IResource) obj; - proj = res.getProject(); - } - if (proj == null && obj != null) { - try { - IResource res = (IResource) Platform.getAdapterManager().getAdapter(obj, IResource.class); - if (res != null) - proj = res.getProject(); - } catch (Exception e) { - // ignore - } - } - if (proj != null) { - final IProject project = proj; - Display.getDefault().asyncExec(new Runnable() { - public void run() { - if (getTree() == null || getTree().isDisposed()) - return; - - IServer defaultServer = null; - if (project != null) { - IProjectProperties props = ServerCore.getProjectProperties(project); - defaultServer = props.getDefaultServer(); - } - IServer oldDefaultServer = labelProvider.getDefaultServer(); - if ((oldDefaultServer == null && defaultServer == null) - || (oldDefaultServer != null && oldDefaultServer.equals(defaultServer))) - return; - labelProvider.setDefaultServer(defaultServer); - - if (oldDefaultServer != null) - refresh(oldDefaultServer); - if (defaultServer != null) - refresh(defaultServer); - } - }); - } - } - }; - view.getViewSite().getPage().addSelectionListener(dsListener);*/ - } - - protected void addListeners() { - serverResourceListener = new IServerLifecycleListener() { - public void serverAdded(IServer server) { - addServer(server); - server.addServerListener(serverListener); - ((Server) server).addPublishListener(publishListener); - } - public void serverChanged(IServer server) { - refreshServer(server); - } - public void serverRemoved(IServer server) { - removeServer(server); - server.removeServerListener(serverListener); - ((Server) server).removePublishListener(publishListener); - } - }; - ServerCore.addServerLifecycleListener(serverResourceListener); - - publishListener = new PublishAdapter() { - public void publishStarted(IServer server) { - handlePublishChange(server, true); - } - - public void publishFinished(IServer server, IStatus status) { - handlePublishChange(server, false); - } - }; - - serverListener = new IServerListener() { - public void serverChanged(ServerEvent event) { - if (event == null) { - return; - } - int eventKind = event.getKind(); - IServer server = event.getServer(); - if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) { - // server change event - if ((eventKind & ServerEvent.STATE_CHANGE) != 0) { - refreshServer(server); - int state = event.getState(); - String id = server.getId(); - if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) { - if (!starting.contains(id)) { - if (starting.isEmpty()) - startThread(); - starting.add(id); - } - } else { - if (starting.contains(id)) { - starting.remove(id); - if (starting.isEmpty()) - stopThread(); - } - } - } else - refreshServer(server); - } else if ((eventKind & ServerEvent.MODULE_CHANGE) != 0) { - // module change event - if ((eventKind & ServerEvent.STATE_CHANGE) != 0 || (eventKind & ServerEvent.PUBLISH_STATE_CHANGE) != 0) { - refreshServer(server); - } - } - } - }; - - // add listeners to servers - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - servers[i].addServerListener(serverListener); - ((Server) servers[i]).addPublishListener(publishListener); - } - } - } - - protected void refreshServer(final IServer server) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - try { - refresh(server); - ISelection sel = ServerTableViewer.this.getSelection(); - ServerTableViewer.this.setSelection(sel); - } catch (Exception e) { - // ignore - } - } - }); - } - - protected void handleDispose(DisposeEvent event) { - stopThread(); - //view.getViewSite().getPage().removeSelectionListener(dsListener); - - ServerCore.removeServerLifecycleListener(serverResourceListener); - - // remove listeners from server - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - servers[i].removeServerListener(serverListener); - ((Server) servers[i]).removePublishListener(publishListener); - } - } - - super.handleDispose(event); - } - - /** - * Called when the publish state changes. - * @param server org.eclipse.wst.server.core.IServer - */ - protected void handlePublishChange(IServer server, boolean isPublishing) { - String serverId = server.getId(); - if (isPublishing) - publishing.add(serverId); - else - publishing.remove(serverId); - - refreshServer(server); - } - - /** - * - */ - protected void handleServerModulesChanged(IServer server2) { - if (server2 == null) - return; - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (server2.equals(servers[i])) - refresh(servers[i]); - } - } - } - - /** - * Called when an element is added. - * @param server org.eclipse.wst.server.core.IServer - */ - protected void handleServerResourceAdded(IServer server) { - add(null, server); - } - - /*protected void handleServerResourceAdded(IServerConfiguration configuration) { - configurationChange(configuration, true); - }*/ - - /** - * Called when an element is changed. - * @param server org.eclipse.wst.server.core.IServer - */ - protected void handleServerResourceChanged(IServer server) { - refresh(server); - } - - /*protected void handleServerResourceChanged(IServerConfiguration configuration) { - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - IServerConfiguration config = servers[i].getServerConfiguration(); - if (configuration.equals(config)) - refresh(servers[i]); - } - } - }*/ - - /** - * Called when an element is removed. - * @param server org.eclipse.wst.server.core.IServer - */ - protected void handleServerResourceRemoved(IServer server) { - remove(server); - - String serverId = server.getId(); - publishing.remove(serverId); - - view.getViewSite().getActionBars().getStatusLineManager().setMessage(null, null); - } - - /*protected void handleServerResourceRemoved(IServerConfiguration configuration) { - configurationChange(configuration, false); - }*/ - - protected void addServer(final IServer server) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - add(ROOT, server); - } - }); - } - - protected void removeServer(final IServer server) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - remove(server); - } - }); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java deleted file mode 100644 index 5ea7fa108..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java +++ /dev/null @@ -1,416 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import java.util.Iterator; - -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.ui.IDebugUIConstants; -import org.eclipse.debug.ui.IDebugView; -import org.eclipse.jface.action.*; -import org.eclipse.jface.viewers.*; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.Trace; -import org.eclipse.wst.server.core.model.ServerDelegate; -import org.eclipse.wst.server.ui.internal.*; -import org.eclipse.swt.SWT; -import org.eclipse.swt.dnd.DND; -import org.eclipse.swt.dnd.FileTransfer; -import org.eclipse.swt.dnd.Transfer; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Tree; -import org.eclipse.swt.widgets.TreeColumn; -import org.eclipse.swt.widgets.TreeItem; -import org.eclipse.ui.*; -import org.eclipse.ui.part.ResourceTransfer; -import org.eclipse.ui.part.ViewPart; -import org.eclipse.ui.views.navigator.LocalSelectionTransfer; -/** - * View of server, their configurations and status. - */ -public class ServersView extends ViewPart { - private static final String TAG_COLUMN_WIDTH = "columnWidth"; - - protected int[] cols; - - protected Tree treeTable; - protected ServerTableViewer tableViewer; - - // actions on a server - protected Action[] actions; - protected MenuManager restartMenu; - - /** - * ServersView constructor comment. - */ - public ServersView() { - super(); - } - - /** - * createPartControl method comment. - * - * @param parent a parent composite - */ - public void createPartControl(Composite parent) { - treeTable = new Tree(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.NONE); - treeTable.setHeaderVisible(true); - treeTable.setLinesVisible(false); - treeTable.setLayoutData(new GridData(GridData.FILL_BOTH)); - treeTable.setFont(parent.getFont()); - PlatformUI.getWorkbench().getHelpSystem().setHelp(treeTable, ContextIds.VIEW_SERVERS); - - // add columns - TreeColumn column = new TreeColumn(treeTable, SWT.SINGLE); - column.setText(Messages.viewServer); - column.setWidth(cols[0]); - - TreeColumn column2 = new TreeColumn(treeTable, SWT.SINGLE); - column2.setText(Messages.viewStatus); - column2.setWidth(cols[1]); - - TreeColumn column3 = new TreeColumn(treeTable, SWT.SINGLE); - column3.setText(Messages.viewSync); - column3.setWidth(cols[2]); - - tableViewer = new ServerTableViewer(this, treeTable); - initializeActions(tableViewer); - - treeTable.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - try { - /*TableItem item = table.getSelection()[0]; - IServerResource resource = (IServerResource) item.getData(); - IServerResourceFactory factory = ServerUtil.getServerResourceFactory(resource); - String label = ServerLabelProvider.getInstance().getText(factory); - label += " ("; - label += ServerCore.getResourceManager().getServerResourceLocation(resource).getFullPath().toString().substring(1); - label += ")"; - getViewSite().getActionBars().getStatusLineManager().setMessage(ServerLabelProvider.getInstance().getImage(factory), label); - - if (resource instanceof IServer) { - IServer server = (IServer) resource; - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunch[] launches = launchManager.getLaunches(); - int size = launches.length; - for (int i = size-1; i >= 0; i--) { - ILaunchConfiguration config = launches[i].getLaunchConfiguration(); - if (LAUNCH_CONFIGURATION_TYPE_ID.equals(config.getType().getIdentifier()) && - ServerCore.getServerRef(server).equals(config.getAttribute(SERVER_REF, (String)null))) { - selectServerProcess(launches[i]); - return; - } - } - }*/ - } catch (Exception e) { - getViewSite().getActionBars().getStatusLineManager().setMessage(null, ""); - } - } - public void widgetDefaultSelected(SelectionEvent event) { - try { - TreeItem item = treeTable.getSelection()[0]; - Object data = item.getData(); - if (!(data instanceof IServer)) - return; - IServer server = (IServer) data; - ServerUIPlugin.editServer(server); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not open server", e); - } - } - }); - - MenuManager menuManager = new MenuManager("#PopupMenu"); - menuManager.setRemoveAllWhenShown(true); - final Shell shell = treeTable.getShell(); - menuManager.addMenuListener(new IMenuListener() { - public void menuAboutToShow(IMenuManager mgr) { - fillContextMenu(shell, mgr); - } - }); - Menu menu = menuManager.createContextMenu(parent); - treeTable.setMenu(menu); - getSite().registerContextMenu(menuManager, tableViewer); - getSite().setSelectionProvider(tableViewer); - - initDragAndDrop(); - } - - public void init(IViewSite site, IMemento memento) throws PartInitException { - super.init(site, memento); - cols = new int[3]; - for (int i = 0; i < 3; i++) { - cols[i] = 200; - if (memento != null) { - Integer in = memento.getInteger(TAG_COLUMN_WIDTH + i); - if (in != null) - cols[i] = in.intValue(); - } - } - } - - public void saveState(IMemento memento) { - TreeColumn[] tc = treeTable.getColumns(); - for (int i = 0; i < 3; i++) - memento.putInteger(TAG_COLUMN_WIDTH + i, tc[i].getWidth()); - } - - protected void selectServerProcess(Object process) { - IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow() ; - if (window != null) { - IWorkbenchPage page = window.getActivePage(); - if (page != null) { - IWorkbenchPart part = page.findView(IDebugUIConstants.ID_DEBUG_VIEW); - if (part != null) { - IDebugView view = (IDebugView)part.getAdapter(IDebugView.class); - if (view != null) { - Viewer viewer = view.getViewer(); - if (viewer != null) { - viewer.setSelection(new StructuredSelection(process)); - } - } - } - } - } - } - - /** - * Initialize actions - * - * @param provider a selection provider - */ - public void initializeActions(ISelectionProvider provider) { - Shell shell = getSite().getShell(); - - // create the debug action - Action debugAction = new StartAction(shell, provider, "debug", ILaunchManager.DEBUG_MODE); - debugAction.setToolTipText(Messages.actionDebugToolTip); - debugAction.setText(Messages.actionDebug); - debugAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_DEBUG)); - debugAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_DEBUG)); - debugAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_DEBUG)); - - // create the start action - Action runAction = new StartAction(shell, provider, "start", ILaunchManager.RUN_MODE); - runAction.setToolTipText(Messages.actionStartToolTip); - runAction.setText(Messages.actionStart); - runAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START)); - runAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START)); - runAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START)); - - // create the profile action - Action profileAction = new StartAction(shell, provider, "profile", ILaunchManager.PROFILE_MODE); - profileAction.setToolTipText(Messages.actionProfileToolTip); - profileAction.setText(Messages.actionProfile); - profileAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_PROFILE)); - profileAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_PROFILE)); - profileAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_PROFILE)); - - // create the restart menu - restartMenu = new MenuManager(Messages.actionRestart); - - Action restartAction = new RestartAction(shell, provider, "restartDebug", ILaunchManager.DEBUG_MODE); - restartAction.setToolTipText(Messages.actionDebugToolTip); - restartAction.setText(Messages.actionDebug); - restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_DEBUG)); - restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_DEBUG)); - restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_DEBUG)); - restartMenu.add(restartAction); - - restartAction = new RestartAction(shell, provider, "restartRun", ILaunchManager.RUN_MODE); - restartAction.setToolTipText(Messages.actionRestartToolTip); - restartAction.setText(Messages.actionStart); - restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START)); - restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START)); - restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START)); - restartMenu.add(restartAction); - - restartAction = new RestartAction(shell, provider, "restartProfile", ILaunchManager.PROFILE_MODE); - restartAction.setToolTipText(Messages.actionRestartToolTip); - restartAction.setText(Messages.actionProfile); - restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_START_PROFILE)); - restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_START_PROFILE)); - restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_START_PROFILE)); - restartMenu.add(restartAction); - - // create the restart action - restartAction = new RestartAction(shell, provider, "restart"); - restartAction.setToolTipText(Messages.actionRestartToolTip); - restartAction.setText(Messages.actionRestart); - restartAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_RESTART)); - restartAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_RESTART)); - restartAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_RESTART)); - - // create the stop action - Action stopAction = new StopAction(shell, provider, "stop"); - stopAction.setToolTipText(Messages.actionStopToolTip); - stopAction.setText(Messages.actionStop); - stopAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_STOP)); - stopAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_STOP)); - stopAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_STOP)); - - // create the disconnect action - /*Action disconnectAction = new StopAction(shell, provider, "disconnect", IServerType.SERVER_STATE_SET_ATTACHED); - disconnectAction.setToolTipText(Messages.actionStopToolTip2")); - disconnectAction.setText(Messages.actionStop2")); - disconnectAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_DISCONNECT)); - disconnectAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_DISCONNECT)); - disconnectAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_DISCONNECT));*/ - - // create the publish action - Action publishAction = new PublishAction(shell, provider, "publish"); - publishAction.setToolTipText(Messages.actionPublishToolTip); - publishAction.setText(Messages.actionPublish); - publishAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_PUBLISH)); - publishAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_PUBLISH)); - publishAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_PUBLISH)); - - // create the module slosh dialog action - Action addModuleAction = new ModuleSloshAction(shell, provider, "modules"); - addModuleAction.setToolTipText(Messages.actionModifyModulesToolTip); - addModuleAction.setText(Messages.actionModifyModules); - addModuleAction.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ETOOL_MODIFY_MODULES)); - addModuleAction.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CTOOL_MODIFY_MODULES)); - addModuleAction.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DTOOL_MODIFY_MODULES)); - - actions = new Action[7]; - actions[0] = debugAction; - actions[1] = runAction; - actions[2] = profileAction; - actions[3] = restartAction; - actions[4] = stopAction; - actions[5] = publishAction; - actions[6] = addModuleAction; - - // add toolbar buttons - IContributionManager cm = getViewSite().getActionBars().getToolBarManager(); - for (int i = 0; i < actions.length - 1; i++) { - cm.add(actions[i]); - } - } - - protected void fillContextMenu(Shell shell, IMenuManager menu) { - // get selection but avoid no selection or multiple selection - IServer server = null; - IModule[] module = null; - IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection(); - if (!selection.isEmpty()) { - Iterator iterator = selection.iterator(); - Object obj = iterator.next(); - if (obj instanceof IServer) - server = (IServer) obj; - if (obj instanceof ModuleServer) { - ModuleServer ms = (ModuleServer) obj; - server = ms.server; - module = ms.module; - } - if (iterator.hasNext()) { - server = null; - module = null; - } - } - - // new action - MenuManager newMenu = new MenuManager(Messages.actionNew); - ServerActionHelper.fillNewContextMenu(null, selection, newMenu); - menu.add(newMenu); - - // open action - if (server != null) { - menu.add(new OpenAction(server)); - if (server.getServerState() == IServer.STATE_UNKNOWN) - menu.add(new UpdateStatusAction(server)); - menu.add(new Separator()); - - if (module == null) - menu.add(new DeleteAction(shell, server)); - else if (module.length == 1) - menu.add(new RemoveModuleAction(shell, server, module[0])); - menu.add(new Separator()); - - // server actions - for (int i = 0; i < actions.length - 1; i++) { - if (i == 3) - menu.add(restartMenu); - else - menu.add(actions[i]); - } - - // monitor - if (server.getServerType() != null) { - final MenuManager menuManager = new MenuManager(Messages.actionMonitor); - - final IServer server2 = server; - final Shell shell2 = shell; - menuManager.addMenuListener(new IMenuListener() { - public void menuAboutToShow(IMenuManager manager) { - menuManager.removeAll(); - if (server2.getAdapter(ServerDelegate.class) != null) { - ServerPort[] ports = server2.getServerPorts(null); - if (ports != null) { - int size = ports.length; - for (int i = 0; i < size; i++) { - if (!ports[i].isAdvanced()) - menuManager.add(new MonitorServerPortAction(shell2, server2, ports[i])); - } - } - } - - if (!menuManager.isEmpty()) - menuManager.add(new Separator()); - - menuManager.add(new MonitorServerAction(shell2, server2)); - } - }); - - // add an initial menu item so that the menu appears correctly - menuManager.add(new MonitorServerAction(shell, server)); - menu.add(menuManager); - } - menu.add(new SwitchServerLocationAction(server)); - } - - if (server != null && module != null) { - menu.add(new Separator()); - menu.add(new RestartModuleAction(server, module)); - } - - menu.add(new Separator()); - menu.add(actions[6]); - - menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); - menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS+"-end")); - } - - /** - * - */ - public void setFocus() { - if (treeTable != null) - treeTable.setFocus(); - } - - /** - * Adds drag and drop support to the Servers view. - */ - protected void initDragAndDrop() { - int ops = DND.DROP_COPY; - Transfer[] transfers = new Transfer[] { LocalSelectionTransfer.getInstance(), - ResourceTransfer.getInstance(), FileTransfer.getInstance() }; - //tableViewer.addDragSupport(ops, transfers, new ServersViewDragAdapter(viewer)); - tableViewer.addDropSupport(ops | DND.DROP_DEFAULT, transfers, new ServersViewDropAdapter(tableViewer)); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java deleted file mode 100644 index 355700b90..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java +++ /dev/null @@ -1,123 +0,0 @@ -/********************************************************************** - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerDropAdapter; -import org.eclipse.swt.dnd.DND; -import org.eclipse.swt.dnd.DropTargetEvent; -import org.eclipse.swt.dnd.FileTransfer; -import org.eclipse.swt.dnd.TransferData; -import org.eclipse.ui.part.ResourceTransfer; -import org.eclipse.ui.views.navigator.LocalSelectionTransfer; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate; -/** - * - */ -public class ServersViewDropAdapter extends ViewerDropAdapter { - protected ServersViewDropAdapter(Viewer viewer) { - super(viewer); - } - - public void dragEnter(DropTargetEvent event) { - if (event.detail == DND.DROP_DEFAULT) - event.detail = DND.DROP_COPY; - - super.dragEnter(event); - } - - public boolean performDrop(Object data) { - Object target = getCurrentTarget(); - IServer server = null; - if (target instanceof IServer) - server = (IServer) target; - - if (server == null) - return false; - - final IServer finalServer = server; - RunOnServerActionDelegate ros = new RunOnServerActionDelegate() { - public IServer getServer(IModule module, String launchMode, IProgressMonitor monitor) { - return finalServer; - } - }; - Action action = new Action() { - // - }; - if (data instanceof IStructuredSelection) { - IStructuredSelection sel = (IStructuredSelection) data; - data = sel.getFirstElement(); - } - ros.selectionChanged(action, new StructuredSelection(data)); - - //if (!action.isEnabled()) - // return false; - - ros.run(action); - return true; - } - - public boolean validateDrop(Object target, int operation, TransferData transferType) { - if (target == null) - return false; - /*IServer server = null; - if (target instanceof IServer) - server = (IServer) target;*/ - //if (!ServerUIPlugin.hasModuleArtifact(target)) - // return false; - - System.out.println("Target: " + target + " " + operation + " " + transferType); - - if (FileTransfer.getInstance().isSupportedType(transferType)) - return true; - if (ResourceTransfer.getInstance().isSupportedType(transferType)) - return true; - if (LocalSelectionTransfer.getInstance().isSupportedType(transferType)) - return true; - - return false; - } - - /** - * Returns the resource selection from the LocalSelectionTransfer. - * - * @return the resource selection from the LocalSelectionTransfer - */ - /*private IResource[] getSelectedResources() { - ArrayList selectedResources = new ArrayList(); - - ISelection selection = LocalSelectionTransfer.getInstance() - .getSelection(); - if (selection instanceof IStructuredSelection) { - IStructuredSelection ssel = (IStructuredSelection) selection; - for (Iterator i = ssel.iterator(); i.hasNext();) { - Object o = i.next(); - if (o instanceof IResource) { - selectedResources.add(o); - } - else if (o instanceof IAdaptable) { - IAdaptable a = (IAdaptable) o; - IResource r = (IResource) a.getAdapter(IResource.class); - if (r != null) { - selectedResources.add(r); - } - } - } - } - return (IResource[]) selectedResources.toArray(new IResource[selectedResources.size()]); - }*/ -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java deleted file mode 100644 index 1ca37c3bb..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StartAction.java +++ /dev/null @@ -1,81 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.PublishServerJob; -import org.eclipse.wst.server.core.internal.ServerPreferences; -import org.eclipse.wst.server.core.internal.ServerType; -import org.eclipse.wst.server.core.internal.StartServerJob; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.swt.widgets.Shell; -/** - * Start a server. - */ -public class StartAction extends AbstractServerAction { - protected String launchMode = ILaunchManager.RUN_MODE; - - public StartAction(Shell shell, ISelectionProvider selectionProvider, String name, String launchMode) { - super(shell, selectionProvider, name); - this.launchMode = launchMode; - try { - selectionChanged((IStructuredSelection) selectionProvider.getSelection()); - } catch (Exception e) { - // ignore - } - } - - /** - * Return true if this server can currently be acted on. - * @return boolean - * @param server org.eclipse.wst.server.core.IServer - */ - public boolean accept(IServer server) { - return server.canStart(launchMode).isOK(); - } - - /** - * Perform action on this server. - * @param server org.eclipse.wst.server.core.IServer - */ - public void perform(final IServer server) { - //if (!ServerUIUtil.promptIfDirty(shell, server)) - // return; - - if (!ServerUIPlugin.saveEditors()) - return; - - if (!ServerPreferences.getInstance().isAutoPublishing()) { - StartServerJob startJob = new StartServerJob(server, launchMode); - startJob.schedule(); - return; - } - - try { - PublishServerJob publishJob = new PublishServerJob(server, IServer.PUBLISH_INCREMENTAL, false); - StartServerJob startJob = new StartServerJob(server, launchMode); - - if (((ServerType)server.getServerType()).startBeforePublish()) { - startJob.setNextJob(publishJob); - startJob.schedule(); - } else { - publishJob.setNextJob(startJob); - publishJob.schedule(); - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error starting server", e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java deleted file mode 100644 index 5abab0ec2..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -/** - * Stop (terminate) a server. - */ -public class StopAction extends AbstractServerAction { - public StopAction(Shell shell, ISelectionProvider selectionProvider, String name) { - super(shell, selectionProvider, name); - try { - selectionChanged((IStructuredSelection) selectionProvider.getSelection()); - } catch (Exception e) { - // ignore - } - } - - /** - * Return true if this server can currently be acted on. - * @return boolean - * @param server org.eclipse.wst.server.core.IServer - */ - public boolean accept(IServer server) { - if (server.getServerType() == null) - return false; - return server.getServerType() != null && server.canStop().isOK(); - } - - /** - * Perform action on this server. - * @param server org.eclipse.wst.server.core.IServer - */ - public void perform(final IServer server) { - ServerUIPlugin.addTerminationWatch(shell, server, ServerUIPlugin.STOP); - - Display.getDefault().asyncExec(new Runnable() { - public void run() { - MessageDialog dialog = new MessageDialog(shell, Messages.defaultDialogTitle, null, - NLS.bind(Messages.dialogStoppingServer, server.getName()), MessageDialog.INFORMATION, new String[0], 0); - dialog.setBlockOnOpen(false); - dialog.open(); - - server.stop(false); - dialog.close(); - } - }); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/SwitchServerLocationAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/SwitchServerLocationAction.java deleted file mode 100644 index 05adf79fd..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/SwitchServerLocationAction.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.action.Action; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.*; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Action to switch a server's location between the workspace and metadata. - */ -public class SwitchServerLocationAction extends Action { - protected Server server; - - /** - * An action to switch a server's location between the workspace and metadata. - * - * @param server a servers - */ - public SwitchServerLocationAction(IServer server) { - super(); - this.server = (Server) server; - if (this.server.getFile() != null) - setText(Messages.actionMoveServerToMetadata); - else - setText(Messages.actionMoveServerToWorkspace); - } - - /** - * Invoked when an action occurs. - */ - public void run() { - try { - Server.switchLocation(server, null); - } catch (CoreException ce) { - // ignore for now - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/UpdateStatusAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/UpdateStatusAction.java deleted file mode 100644 index 371e32988..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/UpdateStatusAction.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.view.servers; - -import org.eclipse.jface.action.Action; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.*; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Action to update a server's status. - */ -public class UpdateStatusAction extends Action { - protected IServer server; - - /** - * An action to update the status of a server. - * - * @param server a server - */ - public UpdateStatusAction(IServer server) { - super(Messages.actionUpdateStatus); - this.server = server; - } - - /** - * Invoked when an action occurs. - */ - public void run() { - UpdateServerJob job = new UpdateServerJob(server); - job.schedule(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java deleted file mode 100644 index 6aea532a1..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTableComposite.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Table; -/** - * - */ -public abstract class AbstractTableComposite extends Composite { - protected Table table; - protected TableViewer tableViewer; - - public AbstractTableComposite(Composite parent, int style) { - super(parent, style); - - createWidgets(); - } - - protected void createWidgets() { - GridLayout layout = new GridLayout(); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 1; - setLayout(layout); - - GridData data = new GridData(GridData.FILL_BOTH); - setLayoutData(data); - - createTable(); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - table.setLayoutData(data); - table.setLinesVisible(true); - createTableViewer(); - } - - protected void createTable() { - table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE); - } - - protected void createTableViewer() { - tableViewer = new LockedTableViewer(table); - } - - protected TableViewer getTableViewer() { - return tableViewer; - } - - protected Object getSelection(ISelection sel2) { - IStructuredSelection sel = (IStructuredSelection) sel2; - return sel.getFirstElement(); - } - - public void refresh() { - tableViewer.refresh(); - } - - public void refresh(Object obj) { - tableViewer.refresh(obj); - } - - public void remove(Object obj) { - tableViewer.remove(obj); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java deleted file mode 100644 index a86da408b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeComposite.java +++ /dev/null @@ -1,192 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.DoubleClickEvent; -import org.eclipse.jface.viewers.IDoubleClickListener; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Link; -import org.eclipse.swt.widgets.Tree; - -import org.eclipse.wst.server.ui.internal.Messages; -/** - * - */ -public abstract class AbstractTreeComposite extends Composite { - protected Tree tree; - protected TreeViewer treeViewer; - protected Label description; - - public AbstractTreeComposite(Composite parent, int style) { - super(parent, style); - - createWidgets(); - } - - protected void createWidgets() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = 3; - layout.verticalSpacing = 3; - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 2; - setLayout(layout); - - String descriptionText = getDescriptionLabel(); - if (descriptionText != null) { - Label label = new Label(this, SWT.WRAP); - label.setText(descriptionText); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - data.horizontalSpan = 2; - label.setLayoutData(data); - } - - Label label = new Label(this, SWT.WRAP); - label.setText(getTitleLabel()); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - if (descriptionText != null) - data.verticalIndent = 7; - data.horizontalSpan = 2; - label.setLayoutData(data); - - String details = getDetailsLabel(); - if (details != null) { - Link prefLink = new Link(this, SWT.NONE); - data = new GridData(GridData.HORIZONTAL_ALIGN_END); - data.horizontalSpan = 2; - prefLink.setLayoutData(data); - prefLink.setText("<a>" + details + "</a>"); - prefLink.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - detailsSelected(); - } - }); - } - - tree = new Tree(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE); - data = new GridData(GridData.FILL_BOTH); - data.horizontalSpan = 2; - tree.setLayoutData(data); - - treeViewer = new TreeViewer(tree); - treeViewer.setSorter(new ViewerSorter()); - treeViewer.addDoubleClickListener(new IDoubleClickListener() { - public void doubleClick(DoubleClickEvent event) { - IStructuredSelection s = (IStructuredSelection) event.getSelection(); - Object element = s.getFirstElement(); - if (treeViewer.isExpandable(element)) - treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element)); - } - }); - - label = new Label(this, SWT.NONE); - label.setText(""); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - label.setLayoutData(data); - - // view composite - Composite comp = new Composite(this, SWT.NONE); - layout = new GridLayout(); - layout.horizontalSpacing = 3; - layout.verticalSpacing = 0; - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 2; - comp.setLayout(layout); - - data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER); - comp.setLayoutData(data); - - label = new Label(comp, SWT.NONE); - label.setText(Messages.viewBy); - data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER); - label.setLayoutData(data); - - final Combo combo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY); - combo.setItems(getComboOptions()); - combo.select(1); - combo.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER)); - combo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - int sel = combo.getSelectionIndex(); - viewOptionSelected((byte) sel); - } - }); - - if (hasDescription()) { - description = new Label(this, SWT.WRAP); - description.setText(Messages.wizDescription); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - data.horizontalSpan = 2; - data.heightHint = 35; - description.setLayoutData(data); - } - - tree.forceFocus(); - } - - protected abstract String getDescriptionLabel(); - - protected abstract String getTitleLabel(); - - protected abstract String[] getComboOptions(); - - protected boolean hasDescription() { - return true; - } - - protected void setDescription(String text) { - if (description != null && text != null) - description.setText(Messages.wizDescription + " " + text); - } - - protected abstract void viewOptionSelected(byte option); - - protected TreeViewer getTreeViewer() { - return treeViewer; - } - - protected Object getSelection(ISelection sel2) { - IStructuredSelection sel = (IStructuredSelection) sel2; - return sel.getFirstElement(); - } - - public void refresh() { - treeViewer.refresh(); - } - - public void refresh(Object obj) { - treeViewer.refresh(obj); - } - - public void remove(Object obj) { - treeViewer.remove(obj); - } - - protected String getDetailsLabel() { - return null; - } - - protected void detailsSelected() { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java deleted file mode 100644 index 9cb8785d9..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeContentProvider.java +++ /dev/null @@ -1,223 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -/** - * Runtime type content provider. - */ -public abstract class AbstractTreeContentProvider implements ITreeContentProvider { - public static final byte STYLE_FLAT = 0; - - public static final String ROOT = "root"; - - protected byte style; - - protected Object initialSelection; - - public class TreeElement { - String text; - List contents; - } - - protected Object[] elements; - protected Map elementToParentMap = new HashMap(2); - protected Map textMap = new HashMap(2); - - /** - * AbstractTreeContentProvider constructor comment. - * - * @param style a style parameter - */ - public AbstractTreeContentProvider(byte style) { - super(); - this.style = style; - - fillTree(); - } - - public AbstractTreeContentProvider(byte style, boolean init) { - super(); - this.style = style; - } - - protected abstract void fillTree(); - - protected void clean() { - elements = null; - elementToParentMap = new HashMap(2); - textMap = new HashMap(2); - - initialSelection = null; - } - - protected TreeElement getOrCreate(List list, String text) { - try { - Object obj = textMap.get(text); - if (obj != null) - return (TreeElement) obj; - } catch (Exception e) { - return null; - } - - TreeElement element = new TreeElement(); - element.text = text; - element.contents = new ArrayList(); - textMap.put(text, element); - list.add(element); - return element; - } - - protected TreeElement getOrCreate(List list, String id, String text) { - try { - Object obj = textMap.get(id); - if (obj != null) - return (TreeElement) obj; - } catch (Exception e) { - return null; - } - - TreeElement element = new TreeElement(); - element.text = text; - element.contents = new ArrayList(); - textMap.put(id, element); - list.add(element); - return element; - } - - protected TreeElement getByText(String text) { - try { - return (TreeElement) textMap.get(text); - } catch (Exception e) { - return null; - } - } - - protected TreeElement getParentImpl(Object obj) { - try { - return (TreeElement) elementToParentMap.get(obj); - } catch (Exception e) { - return null; - } - } - - /** - * Disposes of this content provider. - * This is called by the viewer when it is disposed. - */ - public void dispose() { - // do nothing - } - - /** - * Returns the elements to display in the viewer - * when its input is set to the given element. - * These elements can be presented as rows in a table, items in a list, etc. - * The result is not modified by the viewer. - * - * @param element the input element - * @return the array of elements to display in the viewer - */ - public Object[] getElements(Object element) { - return elements; - } - - public Object[] getChildren(Object element) { - if (style == STYLE_FLAT) - return null; - else if (!(element instanceof TreeElement)) - return null; - - TreeElement rte = (TreeElement) element; - return rte.contents.toArray(); - } - - public Object getParent(Object element) { - if (style == STYLE_FLAT) - return null; - //else if (element instanceof TreeElement) - // return null; - - return getParentImpl(element); - } - - public boolean hasChildren(Object element) { - if (style == STYLE_FLAT) - return false; - //else if (!(element instanceof TreeElement)) - // return false; - Object[] children = getChildren(element); - return children != null && children.length > 0; - - //return true; - } - - /** - * Notifies this content provider that the given viewer's input - * has been switched to a different element. - * <p> - * A typical use for this method is registering the content provider as a listener - * to changes on the new input (using model-specific means), and deregistering the viewer - * from the old input. In response to these change notifications, the content provider - * propagates the changes to the viewer. - * </p> - * - * @param viewer the viewer - * @param oldInput the old input element, or <code>null</code> if the viewer - * did not previously have an input - * @param newInput the new input element, or <code>null</code> if the viewer - * does not have an input - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } - - private Object[] getAllObjects() { - List list = new ArrayList(); - Object[] obj = getElements(null); - if (obj != null) { - int size = obj.length; - for (int i = 0; i < size; i++) { - if (!(obj[i] instanceof AbstractTreeContentProvider.TreeElement)) - list.add(obj[i]); - getAllChildren(list, obj[i]); - } - } - return list.toArray(); - } - - private void getAllChildren(List list, Object element) { - Object[] obj = getChildren(element); - if (obj != null) { - int size = obj.length; - for (int i = 0; i < size; i++) { - if (!(obj[i] instanceof AbstractTreeContentProvider.TreeElement)) - list.add(obj[i]); - getAllChildren(list, obj[i]); - } - } - } - - public Object getInitialSelection() { - if (initialSelection == null) { - InitialSelectionProvider isp = ServerUIPlugin.getInitialSelectionProvider(); - initialSelection = isp.getInitialSelection(getAllObjects()); - } - return initialSelection; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java deleted file mode 100644 index 44f66c0c6..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; -/** - * Abstract tree label provider. - */ -public abstract class AbstractTreeLabelProvider extends BaseLabelProvider { - /** - * AbstractTreeLabelProvider constructor comment. - */ - public AbstractTreeLabelProvider() { - super(); - } - - /** - * @see BaseLabelProvider#getImage(Object) - */ - public Image getImage(Object element) { - if (element instanceof ServerTreeContentProvider.TreeElement) { - ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages(); - return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER); - } - return getImageImpl(element); - } - - /** - * Return an image for the given element. - * - * @param element an element - * @return an image - */ - protected abstract Image getImageImpl(Object element); - - /** - * @see BaseLabelProvider#getText(Object) - */ - public String getText(Object element) { - if (element instanceof ServerTreeContentProvider.TreeElement) { - return ((ServerTreeContentProvider.TreeElement) element).text; - } - return getTextImpl(element); - } - - /** - * Return a label for the given element. - * - * @param element an element - * @return a label - */ - protected abstract String getTextImpl(Object element); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java deleted file mode 100644 index aba56f46b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.swt.graphics.Image; -/** - * A basic label provider. - */ -public abstract class BaseLabelProvider implements ILabelProvider { - /** - * BaseLabelProvider constructor comment. - */ - public BaseLabelProvider() { - super(); - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) - */ - public void addListener(ILabelProviderListener listener) { - // do nothing - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() - */ - public void dispose() { - // do nothing - } - - /** - * @see ILabelProvider#getImage(java.lang.Object) - */ - public Image getImage(Object element) { - return null; - } - - /** - * @see ILabelProvider#getText(java.lang.Object) - */ - public String getText(Object element) { - return ""; - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String) - */ - public boolean isLabelProperty(Object element, String property) { - return false; - } - - /** - * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) - */ - public void removeListener(ILabelProviderListener listener) { - // do nothing - } - - protected String notNull(String s) { - if (s == null) - return ""; - return s; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java deleted file mode 100644 index a4b95874b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.IServerType; -/** - * Class used to sort categories, runtime types, and server types in the - * New wizards. - */ -public class DefaultViewerSorter extends ViewerSorter { - /** - * @see ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) - */ - public int compare(Viewer viewer, Object o1, Object o2) { - if (o1 instanceof AbstractTreeContentProvider.TreeElement) - o1 = ((AbstractTreeContentProvider.TreeElement) o1).text; - - if (o2 instanceof AbstractTreeContentProvider.TreeElement) - o2 = ((AbstractTreeContentProvider.TreeElement) o2).text; - - // filter out strings - if (o1 instanceof String && o2 instanceof String) - return compareCategories((String) o1, (String) o2); - if (o1 instanceof String) - return -1; - if (o2 instanceof String) - return 1; - - if (o1 instanceof IRuntimeType && o2 instanceof IRuntimeType) - return compareRuntimeTypes((IRuntimeType) o1, (IRuntimeType) o2); - - if (o1 instanceof IServerType && o2 instanceof IServerType) - return compareServerTypes((IServerType) o1, (IServerType) o2); - - return 0; - } - - /** - * Sort two category names. - * - * @param s1 the first category - * @param s2 the second category - * @return a negative number if the first element is less than the - * second element; the value <code>0</code> if the first element is - * equal to the second element; and a positive number if the first - * element is greater than the second element - */ - protected int compareCategories(String s1, String s2) { - return s1.compareTo(s2); - } - - /** - * Sort two runtime types. - * - * @param r1 the first runtime type - * @param r2 the second runtime type - * @return a negative number if the first element is less than the - * second element; the value <code>0</code> if the first element is - * equal to the second element; and a positive number if the first - * element is greater than the second element - */ - protected int compareRuntimeTypes(IRuntimeType r1, IRuntimeType r2) { - return r1.getName().compareToIgnoreCase(r2.getName()); - } - - /** - * Sort two server types. - * - * @param s1 the first server type - * @param s2 the second server type - * @return a negative number if the first element is less than the - * second element; the value <code>0</code> if the first element is - * equal to the second element; and a positive number if the first - * element is greater than the second element - */ - protected int compareServerTypes(IServerType s1, IServerType s2) { - return s1.getName().compareToIgnoreCase(s2.getName()); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java deleted file mode 100644 index 7171e03a6..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ILockedLabelProvider.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; -/** - * Extends <code>ITableLabelProvider</code> with methods to provide - * lock information. - */ -public interface ILockedLabelProvider { - /** - * Returns the lock info for the element. This value will be used - * to change the presentation of the table row. - * - * @param element the object representing the entire row, or - * <code>null</code> indicating that no input object is set - * in the viewer - * @return <code>true</code> if the item is locked, and <code>false</code> - * otherwise - */ - public boolean isLocked(Object element); -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InitialSelectionProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InitialSelectionProvider.java deleted file mode 100644 index b1dbff90e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InitialSelectionProvider.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -/** - * Class used to sort categories, runtime types, and server types in the - * New wizards. - */ -public class InitialSelectionProvider extends ViewerSorter { - - public Object getInitialSelection(Object[] obj) { - if (obj == null || obj.length == 0) - return null; - - if (obj[0] instanceof IRuntimeType) { - int size = obj.length; - IRuntimeType[] rt = new IRuntimeType[size]; - for (int i = 0; i < size; i++) - rt[i] = (IRuntimeType) obj[i]; - return getInitialSelection(rt); - } - - if (obj[0] instanceof IServerType) { - int size = obj.length; - IServerType[] st = new IServerType[size]; - for (int i = 0; i < size; i++) - st[i] = (IServerType) obj[i]; - return getInitialSelection(st); - } - - if (obj[0] instanceof IServer) { - int size = obj.length; - IServer[] st = new IServer[size]; - for (int i = 0; i < size; i++) - st[i] = (IServer) obj[i]; - return getInitialSelection(st); - } - - return null; - } - - /** - * - * @param serverTypes - * @return the initial selection - */ - public IServerType getInitialSelection(IServerType[] serverTypes) { - if (serverTypes == null) - return null; - - int size = serverTypes.length; - for (int i = 0; i < size; i++) { - if (hasRuntime(serverTypes[i])) - return serverTypes[i]; - } - return serverTypes[0]; - } - - /** - * - * @param servers - * @return the initial selection - */ - public IServer getInitialSelection(IServer[] servers) { - if (servers == null) - return null; - - return servers[0]; - } - - /** - * - * @param runtimeTypes - * @return the initial selection - */ - public IRuntimeType getInitialSelection(IRuntimeType[] runtimeTypes) { - if (runtimeTypes == null) - return null; - - int size = runtimeTypes.length; - for (int i = 0; i < size; i++) { - if (hasRuntime(runtimeTypes[i])) - return runtimeTypes[i]; - } - return runtimeTypes[0]; - } - - protected boolean hasRuntime(IServerType serverType) { - return hasRuntime(serverType.getRuntimeType()); - } - - protected boolean hasRuntime(IRuntimeType runtimeType) { - if (runtimeType == null) - return false; - IRuntime[] runtimes = ServerUIPlugin.getRuntimes(runtimeType); - return runtimes != null && runtimes.length > 0; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerComposite.java deleted file mode 100644 index 4d00e8abe..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerComposite.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.*; -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.wst.server.core.internal.IInstallableServer; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * - */ -public class InstallableServerComposite extends AbstractTreeComposite { - protected IInstallableServer selection; - protected InstallableServerSelectionListener listener; - - protected InstallableServerContentProvider contentProvider; - protected boolean initialSelection = true; - - public interface InstallableServerSelectionListener { - public void installableServerSelected(IInstallableServer server); - } - - public InstallableServerComposite(Composite parent, int style, InstallableServerSelectionListener listener2) { - super(parent, style); - this.listener = listener2; - - contentProvider = new InstallableServerContentProvider(InstallableServerContentProvider.STYLE_VENDOR); - treeViewer.setContentProvider(contentProvider); - treeViewer.setLabelProvider(new InstallableServerLabelProvider()); - treeViewer.setInput(AbstractTreeContentProvider.ROOT); - - treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - Object obj = getSelection(event.getSelection()); - if (obj instanceof IInstallableServer) { - selection = (IInstallableServer) obj; - setDescription(selection.getDescription()); - } else { - selection = null; - setDescription(""); - } - listener.installableServerSelected(selection); - } - }); - - treeViewer.setSorter(new ViewerSorter() { - public int compare(Viewer viewer, Object e1, Object e2) { - if (e1 instanceof IInstallableServer && !(e2 instanceof IInstallableServer)) - return 1; - if (!(e1 instanceof IInstallableServer) && e2 instanceof IInstallableServer) - return -1; - if (!(e1 instanceof IInstallableServer && e2 instanceof IInstallableServer)) - return super.compare(viewer, e1, e2); - IInstallableServer r1 = (IInstallableServer) e1; - IInstallableServer r2 = (IInstallableServer) e2; - return r1.getName().compareToIgnoreCase(r2.getName()); - } - }); - treeViewer.expandToLevel(2); - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - if (visible && initialSelection) { - initialSelection = false; - if (contentProvider.getInitialSelection() != null) - treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true); - } - } - - protected String getTitleLabel() { - return Messages.installableServerCompTree; - } - - protected String getDescriptionLabel() { - return null; - } - - protected String[] getComboOptions() { - return new String[] { Messages.name, - Messages.vendor, Messages.version }; - } - - protected void viewOptionSelected(byte option) { - ISelection sel = treeViewer.getSelection(); - treeViewer.setContentProvider(new InstallableServerContentProvider(option)); - treeViewer.setSelection(sel); - } - - public IInstallableServer getSelectedInstallableServer() { - return selection; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerContentProvider.java deleted file mode 100644 index add684fa5..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerContentProvider.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.server.core.internal.IInstallableServer; -import org.eclipse.wst.server.core.internal.ServerPlugin; -/** - * Installable server content provider. - */ -public class InstallableServerContentProvider extends AbstractTreeContentProvider { - public static final byte STYLE_VENDOR = 1; - public static final byte STYLE_VERSION = 2; - - public InstallableServerContentProvider(byte style) { - super(style, false); - - fillTree(); - } - - public void fillTree() { - clean(); - List list = new ArrayList(); - if (style != STYLE_FLAT) { - IInstallableServer[] iis = ServerPlugin.getInstallableServers(); - if (iis != null) { - int size = iis.length; - for (int i = 0; i < size; i++) { - IInstallableServer is = iis[i]; - TreeElement ele = null; - if (style == STYLE_VENDOR) { - ele = getOrCreate(list, is.getVendor()); - ele.contents.add(is); - elementToParentMap.put(is, ele); - } else if (style == STYLE_VERSION) { - ele = getOrCreate(list, is.getVersion()); - ele.contents.add(is); - elementToParentMap.put(is, ele); - } - } - } - } else { - IInstallableServer[] iis = ServerPlugin.getInstallableServers(); - if (iis != null) { - int size = iis.length; - for (int i = 0; i < size; i++) - list.add(iis[i]); - } - } - elements = list.toArray(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerLabelProvider.java deleted file mode 100644 index 3cb707299..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerLabelProvider.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.wst.server.core.internal.IInstallableServer; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.swt.graphics.Image; -/** - * Installable server label provider. - */ -public class InstallableServerLabelProvider extends AbstractTreeLabelProvider { - /** - * InstallableServerLabelProvider constructor comment. - */ - public InstallableServerLabelProvider() { - super(); - } - - /** - * - */ - protected Image getImageImpl(Object element) { - return ImageResource.getImage(ImageResource.IMG_SERVER); - } - - /** - * - */ - protected String getTextImpl(Object element) { - IInstallableServer is = (IInstallableServer) element; - return notNull(is.getName()); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java deleted file mode 100644 index ea06b4b55..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedCheckboxTableViewer.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.CheckboxTableViewer; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.swt.widgets.Widget; -/** - * - */ -public class LockedCheckboxTableViewer extends CheckboxTableViewer { - protected Color color; - - public LockedCheckboxTableViewer(Table table) { - super(table); - createColor(table); - } - - protected void createColor(Control c) { - color = new Color(c.getDisplay(), 255, 255, 225); - c.addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - color.dispose(); - } - }); - } - - public void doUpdateItem(Widget widget, Object element, boolean fullMap) { - if (color == null) - return; - if (widget instanceof TableItem) { - TableItem item = (TableItem) widget; - if (getLabelProvider() instanceof ILockedLabelProvider) { - ILockedLabelProvider provider = (ILockedLabelProvider) getLabelProvider(); - if (provider.isLocked(element)) { - item.setBackground(color); - item.setImage(0, null); - } else - item.setBackground(null); - } - } - super.doUpdateItem(widget, element, fullMap); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java deleted file mode 100644 index 1ec2d15b9..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/LockedTableViewer.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.swt.widgets.Widget; -/** - * - */ -public class LockedTableViewer extends TableViewer { - protected Color color; - - public LockedTableViewer(Composite parent) { - super(parent); - createColor(parent); - } - - public LockedTableViewer(Composite parent, int style) { - super(parent, style); - createColor(parent); - } - - public LockedTableViewer(Table table) { - super(table); - createColor(table); - } - - protected void createColor(Control c) { - color = new Color(c.getDisplay(), 255, 255, 225); - c.addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - color.dispose(); - } - }); - } - - public void doUpdateItem(Widget widget, Object element, boolean fullMap) { - if (color == null) - return; - if (widget instanceof TableItem) { - TableItem item = (TableItem) widget; - if (getLabelProvider() instanceof ILockedLabelProvider) { - ILockedLabelProvider provider = (ILockedLabelProvider) getLabelProvider(); - if (provider.isLocked(element)) { - item.setBackground(color); - item.setImage(0, null); - } else - item.setBackground(null); - } - } - super.doUpdateItem(widget, element, fullMap); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java deleted file mode 100644 index c7976905b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorComposite.java +++ /dev/null @@ -1,227 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.viewers.*; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; -import org.eclipse.wst.server.core.internal.IMonitoredServerPort; -import org.eclipse.wst.server.core.internal.IServerMonitorManager; -import org.eclipse.wst.server.core.internal.ServerMonitorManager; -import org.eclipse.wst.server.ui.internal.EclipseUtil; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.SWTUtil; -/** - * - */ -public class MonitorComposite extends Composite { - //protected ServerPort selection; - protected PortSelectionListener listener; - protected IServer server; - - protected IServerMonitorManager smm; - - protected Table monitorTable; - protected TableViewer monitorTableViewer; - - public interface PortSelectionListener { - public void portSelected(ServerPort port); - } - - public MonitorComposite(Composite parent, int style, PortSelectionListener listener2, IServer server) { - super(parent, style); - this.listener = listener2; - this.server = server; - - smm = ServerMonitorManager.getInstance(); - - GridLayout layout = new GridLayout(); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 2; - setLayout(layout); - - GridData data = new GridData(GridData.FILL_BOTH); - setLayoutData(data); - - monitorTable = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - //data.horizontalSpan = 2; - data.heightHint = 150; - //data.widthHint = 340; - monitorTable.setLayoutData(data); - monitorTable.setLinesVisible(true); - monitorTableViewer = new TableViewer(monitorTable); - - TableLayout tableLayout = new TableLayout(); - monitorTable.setLayout(tableLayout); - monitorTable.setHeaderVisible(true); - - tableLayout.addColumnData(new ColumnWeightData(8, 80, true)); - TableColumn col = new TableColumn(monitorTable, SWT.NONE); - col.setText(Messages.dialogMonitorColumnStatus); - - tableLayout.addColumnData(new ColumnWeightData(12, 120, true)); - col = new TableColumn(monitorTable, SWT.NONE); - col.setText(Messages.dialogMonitorColumnType); - - tableLayout.addColumnData(new ColumnWeightData(8, 80, true)); - col = new TableColumn(monitorTable, SWT.NONE); - col.setText(Messages.dialogMonitorColumnPort); - - tableLayout.addColumnData(new ColumnWeightData(8, 80, true)); - col = new TableColumn(monitorTable, SWT.NONE); - col.setText(Messages.dialogMonitorColumnMonitorPort); - - tableLayout.addColumnData(new ColumnWeightData(8, 80, true)); - col = new TableColumn(monitorTable, SWT.NONE); - col.setText(Messages.dialogMonitorColumnContentType); - - monitorTableViewer.setContentProvider(new MonitorContentProvider(server)); - monitorTableViewer.setLabelProvider(new MonitorLabelProvider(server)); - monitorTableViewer.setInput(AbstractTreeContentProvider.ROOT); - - monitorTableViewer.setSorter(new ViewerSorter() { - public int compare(Viewer viewer, Object e1, Object e2) { - IMonitoredServerPort port1 = (IMonitoredServerPort) e1; - IMonitoredServerPort port2 = (IMonitoredServerPort) e2; - if (port1.getServerPort().getPort() == port2.getServerPort().getPort()) { - if (port1.getMonitorPort() == port2.getMonitorPort()) { - return 0; - } else if (port1.getMonitorPort() > port2.getMonitorPort()) - return 1; - else - return -1; - } else if (port1.getServerPort().getPort() > port2.getServerPort().getPort()) - return 1; - else - return -1; - } - }); - - Composite buttonComp = new Composite(this, SWT.NONE); - buttonComp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING)); - layout = new GridLayout(); - layout.marginWidth = 0; - layout.marginHeight = 0; - buttonComp.setLayout(layout); - - final IServer server2 = server; - Button add = SWTUtil.createButton(buttonComp, Messages.add); - add.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - MonitorDialog dialog = new MonitorDialog(getShell(), server2); - if (dialog.open() != Window.CANCEL) { - ServerPort port = dialog.getServerPort(); - IMonitoredServerPort sp = smm.createMonitor(server2, port, dialog.getMonitorPort(), dialog.getContentTypes()); - if (sp != null) - monitorTableViewer.add(sp); - } - } - }); - - final Button edit = SWTUtil.createButton(buttonComp, Messages.edit); - edit.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection(); - IMonitoredServerPort port = (IMonitoredServerPort) sel.getFirstElement(); - MonitorDialog dialog = new MonitorDialog(getShell(), server2, port.getServerPort(), port.getMonitorPort(), port.getContentTypes()); - if (dialog.open() != Window.CANCEL) { - smm.removeMonitor(port); - monitorTableViewer.remove(port); - port = smm.createMonitor(server2, dialog.getServerPort(), dialog.getMonitorPort(), dialog.getContentTypes()); - if (port != null) { - monitorTableViewer.add(port); - monitorTableViewer.setSelection(new StructuredSelection(port)); - } - } - } - }); - edit.setEnabled(false); - - final Button remove = SWTUtil.createButton(buttonComp, Messages.remove); - remove.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IMonitoredServerPort msp = (IMonitoredServerPort) getSelection(monitorTableViewer.getSelection()); - if (msp.isStarted()) - smm.stopMonitor(msp); - smm.removeMonitor(msp); - monitorTableViewer.remove(msp); - } - }); - remove.setEnabled(false); - - final Button start = SWTUtil.createButton(buttonComp, Messages.start); - start.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection(); - IMonitoredServerPort msp = (IMonitoredServerPort) sel.getFirstElement(); - try { - smm.startMonitor(msp); - } catch (CoreException ce) { - EclipseUtil.openError(getShell(), ce.getLocalizedMessage()); - } - monitorTableViewer.refresh(msp); - monitorTableViewer.setSelection(new StructuredSelection(msp)); - } - }); - start.setEnabled(false); - - final Button stop = SWTUtil.createButton(buttonComp, Messages.stop); - stop.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IStructuredSelection sel = (IStructuredSelection) monitorTableViewer.getSelection(); - IMonitoredServerPort msp = (IMonitoredServerPort) sel.getFirstElement(); - smm.stopMonitor(msp); - monitorTableViewer.refresh(msp); - monitorTableViewer.setSelection(new StructuredSelection(msp)); - } - }); - stop.setEnabled(false); - - monitorTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - IMonitoredServerPort port = (IMonitoredServerPort) getSelection(monitorTableViewer.getSelection()); - if (port != null) { - edit.setEnabled(!port.isStarted()); - remove.setEnabled(true); - start.setEnabled(!port.isStarted()); - stop.setEnabled(port.isStarted()); - } else { - edit.setEnabled(false); - remove.setEnabled(false); - start.setEnabled(false); - stop.setEnabled(false); - } - } - }); - - IMonitoredServerPort[] msps = ServerMonitorManager.getInstance().getMonitoredPorts(server); - if (msps != null && msps.length > 0) - monitorTableViewer.setSelection(new StructuredSelection(msps[0])); - } - - protected Object getSelection(ISelection sel2) { - IStructuredSelection sel = (IStructuredSelection) sel2; - return sel.getFirstElement(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java deleted file mode 100644 index 466619272..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorContentProvider.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.Viewer; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.ServerMonitorManager; -/** - * Monitor port content provider. - */ -public class MonitorContentProvider implements IStructuredContentProvider { - protected IServer server; - - public MonitorContentProvider(IServer server) { - super(); - this.server = server; - } - - public void dispose() { - // do nothing - } - - public Object[] getElements(Object inputElement) { - return ServerMonitorManager.getInstance().getMonitoredPorts(server); - } - - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java deleted file mode 100644 index 8f564b5b1..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorDialog.java +++ /dev/null @@ -1,247 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.viewers.*; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.*; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.*; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Dialog that prompts a user to add or edit a server monitor. - */ -public class MonitorDialog extends Dialog { - protected IServer server; - protected ServerPort port; - protected int monitorPort = -1; - protected String[] portContentTypes; - protected String[] contentTypes; - protected boolean isEdit = false; - protected boolean portChanged = false; - - protected Button ok; - - protected Table table; - protected TableViewer tableViewer; - protected boolean init; - - /** - * MonitorDialog constructor comment. - * - * @param parentShell the shell - * @param server the server - */ - public MonitorDialog(Shell parentShell, IServer server) { - super(parentShell); - - this.server = server; - } - - public MonitorDialog(Shell parentShell, IServer server, ServerPort port, int monitorPort, String[] contentTypes) { - this(parentShell, server); - this.monitorPort = monitorPort; - this.contentTypes = contentTypes; - this.port = port; - isEdit = true; - } - - /** - * - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(Messages.dialogMonitorTitle); - } - - protected void createButtonsForButtonBar(Composite parent) { - ok = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); - createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false); - } - - /** - * - */ - protected Control createDialogArea(Composite parent) { - // create a composite with standard margins and spacing - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); - layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); - layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); - layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); - layout.numColumns = 2; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - composite.setFont(parent.getFont()); - //WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG); - - Label label = new Label(composite, SWT.WRAP); - label.setText(NLS.bind(Messages.dialogMonitorAddDescription, new String[] { server.getName() } )); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.horizontalSpan = 2; - data.widthHint = 275; - label.setLayoutData(data); - - table = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - data.heightHint = 100; - data.horizontalSpan = 2; - table.setLayoutData(data); - table.setLinesVisible(true); - tableViewer = new TableViewer(table); - - TableLayout tableLayout = new TableLayout(); - table.setLayout(tableLayout); - table.setHeaderVisible(true); - - tableLayout.addColumnData(new ColumnWeightData(12, 120, true)); - TableColumn col = new TableColumn(table, SWT.NONE); - col.setText(Messages.dialogMonitorColumnType); - - tableLayout.addColumnData(new ColumnWeightData(4, 40, true)); - col = new TableColumn(table, SWT.NONE); - col.setText(Messages.dialogMonitorColumnPort); - - tableViewer.setContentProvider(new PortContentProvider(server)); - tableViewer.setLabelProvider(new PortLabelProvider(server)); - tableViewer.setInput(AbstractTreeContentProvider.ROOT); - - tableViewer.setSorter(new ViewerSorter() { - public int compare(Viewer viewer, Object e1, Object e2) { - ServerPort port1 = (ServerPort) e1; - ServerPort port2 = (ServerPort) e2; - if (port1.getPort() == port2.getPort()) - return 0; - else if (port1.getPort() > port2.getPort()) - return 1; - else - return -1; - } - }); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.dialogMonitorMonitorPort); - - final Text portText = new Text(composite, SWT.BORDER); - data = new GridData(GridData.FILL_HORIZONTAL); - data.widthHint = 150; - portText.setLayoutData(data); - if (monitorPort >= 0) - portText.setText(monitorPort + ""); - - portText.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - try { - monitorPort = Integer.parseInt(portText.getText()); - if (ok != null) - ok.setEnabled(true); - } catch (Exception ex) { - monitorPort = -1; - if (ok != null) - ok.setEnabled(false); - } - portChanged = true; - } - }); - - label = new Label(composite, SWT.NONE); - label.setText(Messages.dialogMonitorContentType); - - final Combo combo = new Combo(composite, SWT.READ_ONLY); - data = new GridData(GridData.FILL_HORIZONTAL); - data.widthHint = 150; - combo.setLayoutData(data); - combo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - int size = combo.getItemCount(); - int sel = combo.getSelectionIndex(); - if (sel == size - 1) - contentTypes = portContentTypes; - else - contentTypes = new String[] { portContentTypes[sel] }; - } - }); - - tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - port = (ServerPort) getSelection(tableViewer.getSelection()); - if (port == null) - return; - if (!portChanged) { - portText.setText((port.getPort() + 1) + ""); - portChanged = false; - } - portContentTypes = port.getContentTypes(); - String[] s = null; - String all = Messages.dialogMonitorContentTypeAll; - if (portContentTypes == null || portContentTypes.length == 1) { - s = new String[] { all }; - } else { - int size = portContentTypes.length; - s = new String[size+1]; - for (int i = 0; i < size; i++) { - s[i] = MonitorLabelProvider.getContentTypeString(portContentTypes[i]); - } - s[size] = all; - } - combo.setItems(s); - combo.setText(all); - } - }); - - Dialog.applyDialogFont(composite); - - if (port != null) { - portChanged = true; - String[] ct = contentTypes; - tableViewer.setSelection(new StructuredSelection(port)); - if (ct != null && ct.length > 0) - combo.setText(MonitorLabelProvider.getContentTypeString(ct[0])); - } else if (tableViewer != null) { - try { - Object obj = tableViewer.getElementAt(0); - if (obj != null) - tableViewer.setSelection(new StructuredSelection(obj)); - } catch (Exception e) { - // ignore - } - } - - portChanged = false; - - return composite; - } - - protected Object getSelection(ISelection sel2) { - IStructuredSelection sel = (IStructuredSelection) sel2; - return sel.getFirstElement(); - } - - public int getMonitorPort() { - return monitorPort; - } - - public ServerPort getServerPort() { - return port; - } - - public String[] getContentTypes() { - return contentTypes; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java deleted file mode 100644 index 3d2a784be..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/MonitorLabelProvider.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.swt.graphics.Image; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.internal.IMonitoredServerPort; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Monitor port label provider. - */ -public class MonitorLabelProvider extends BaseLabelProvider implements ITableLabelProvider { - protected IServer server; - - public MonitorLabelProvider(IServer server) { - super(); - this.server = server; - } - - public Image getColumnImage(Object element, int columnIndex) { - IMonitoredServerPort port = (IMonitoredServerPort) element; - if (columnIndex == 0) { - if (port.isStarted()) - return ImageResource.getImage(ImageResource.IMG_MONITOR_ON); - return ImageResource.getImage(ImageResource.IMG_MONITOR_OFF); - } - return null; - } - - public String getColumnText(Object element, int columnIndex) { - IMonitoredServerPort port = (IMonitoredServerPort) element; - if (columnIndex == 0) { - if (port.isStarted()) - return Messages.started; - return Messages.stopped; - } else if (columnIndex == 1) - return notNull(port.getServerPort().getName()); - else if (columnIndex == 2) - return port.getServerPort().getPort() + ""; - else if (columnIndex == 3) - return port.getMonitorPort() + ""; - else { - String[] content = port.getContentTypes(); - if (content == null || content.length == 0) - return Messages.dialogMonitorContentTypeAll; - - StringBuffer sb = new StringBuffer(); - int size = content.length; - for (int i = 0; i < size; i++) { - if (i > 0) - sb.append(","); - sb.append(getContentTypeString(content[i])); - } - return sb.toString(); - } - } - - protected static String getContentTypeString(String s) { - if ("web".equals(s)) - return Messages.dialogMonitorContentTypeWeb; - else if ("webservices".equals(s)) - return Messages.dialogMonitorContentTypeWebServices; - else - return s; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java deleted file mode 100644 index fc9547391..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortContentProvider.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.Viewer; - -import org.eclipse.wst.server.core.IServer; -/** - * Monitor port content provider. - */ -public class PortContentProvider implements IStructuredContentProvider { - protected IServer server; - - public PortContentProvider(IServer server) { - super(); - this.server = server; - } - - public void dispose() { - // do nothing - } - - public Object[] getElements(Object inputElement) { - return server.getServerPorts(null); - } - - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java deleted file mode 100644 index 7c674f750..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/PortLabelProvider.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.swt.graphics.Image; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.ServerPort; -/** - * Server port label provider. - */ -public class PortLabelProvider extends BaseLabelProvider implements ITableLabelProvider { - protected IServer server; - - public PortLabelProvider(IServer server) { - super(); - this.server = server; - } - - public Image getColumnImage(Object element, int columnIndex) { - return null; - } - - public String getColumnText(Object element, int columnIndex) { - ServerPort port = (ServerPort) element; - if (columnIndex == 0) - return notNull(port.getName()); - else if (columnIndex == 1) - return port.getPort() + ""; - else - return ""; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java deleted file mode 100644 index 7e1799f47..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java +++ /dev/null @@ -1,178 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.CheckStateChangedEvent; -import org.eclipse.jface.viewers.CheckboxTableViewer; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.ICheckStateListener; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TableLayout; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.KeyListener; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.core.internal.ResourceManager; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * - */ -public class RuntimeComposite extends AbstractTableComposite { - protected IRuntime selection; - protected IRuntime defaultRuntime; - protected RuntimeSelectionListener listener; - - public interface RuntimeSelectionListener { - public void runtimeSelected(IRuntime runtime); - } - - class RuntimeViewerSorter extends ViewerSorter { - boolean sortByName; - public RuntimeViewerSorter(boolean sortByName) { - this.sortByName = sortByName; - } - - public int compare(Viewer viewer, Object e1, Object e2) { - IRuntime r1 = (IRuntime) e1; - IRuntime r2 = (IRuntime) e2; - if (sortByName) - return collator.compare(notNull(r1.getName()), notNull(r2.getName())); - - if (r1.getRuntimeType() == null) - return -1; - if (r2.getRuntimeType() == null) - return 1; - return collator.compare(notNull(r1.getRuntimeType().getName()), notNull(r2.getRuntimeType().getName())); - } - - protected String notNull(String s) { - if (s == null) - return ""; - return s; - } - } - - public RuntimeComposite(Composite parent, int style, RuntimeSelectionListener listener2) { - super(parent, style); - this.listener = listener2; - - TableLayout tableLayout = new TableLayout(); - table.setLayout(tableLayout); - table.setHeaderVisible(true); - - tableLayout.addColumnData(new ColumnWeightData(60, 160, true)); - TableColumn col = new TableColumn(table, SWT.NONE); - col.setText(Messages.columnName); - col.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - tableViewer.setSorter(new RuntimeViewerSorter(true)); - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - - tableLayout.addColumnData(new ColumnWeightData(45, 125, true)); - col = new TableColumn(table, SWT.NONE); - col.setText(Messages.columnType); - col.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - tableViewer.setSorter(new RuntimeViewerSorter(false)); - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - - tableViewer.setContentProvider(new RuntimeContentProvider()); - tableViewer.setLabelProvider(new RuntimeTableLabelProvider()); - tableViewer.setInput(AbstractTreeContentProvider.ROOT); - tableViewer.setColumnProperties(new String[] {"name", "type"}); - tableViewer.setSorter(new RuntimeViewerSorter(true)); - - tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - Object obj = getSelection(event.getSelection()); - if (obj instanceof IRuntime) - selection = (IRuntime) obj; - else - selection = null; - listener.runtimeSelected(selection); - } - }); - - table.addKeyListener(new KeyListener() { - public void keyPressed(KeyEvent e) { - if (e.character == 'l') { - try { - IRuntime runtime = getSelectedRuntime(); - IRuntimeWorkingCopy wc = runtime.createWorkingCopy(); - wc.setReadOnly(!runtime.isReadOnly()); - wc.save(false, null); - refresh(runtime); - } catch (Exception ex) { - // ignore - } - } - } - - public void keyReleased(KeyEvent e) { - // do nothing - } - }); - - final ResourceManager rm = ResourceManager.getInstance(); - defaultRuntime = rm.getDefaultRuntime(); - if (defaultRuntime != null) - ((CheckboxTableViewer)tableViewer).setChecked(defaultRuntime, true); - - ((CheckboxTableViewer)tableViewer).addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent event) { - try { - IRuntime runtime = (IRuntime) event.getElement(); - if (event.getChecked()) { - if (defaultRuntime != null && !runtime.equals(defaultRuntime)) - ((CheckboxTableViewer)tableViewer).setChecked(defaultRuntime, false); - rm.setDefaultRuntime(runtime); - defaultRuntime = runtime; - } else - rm.setDefaultRuntime(null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error setting default runtime", e); - } - } - }); - } - - protected void createTable() { - table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.CHECK); - } - - protected void createTableViewer() { - tableViewer = new LockedCheckboxTableViewer(table); - } - - public IRuntime getSelectedRuntime() { - return selection; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java deleted file mode 100644 index ab7f09eb9..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeContentProvider.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.Viewer; - -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.internal.Runtime; -/** - * Runtime content provider. - */ -public class RuntimeContentProvider implements IStructuredContentProvider { - /** - * RuntimeContentProvider constructor comment. - */ - public RuntimeContentProvider() { - super(); - } - - /** - * @see org.eclipse.jface.viewers.IContentProvider#dispose() - */ - public void dispose() { - // do nothing - } - - /** - * @see IStructuredContentProvider#getElements(Object) - */ - public Object[] getElements(Object inputElement) { - List list = new ArrayList(); - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (!((Runtime)runtimes[i]).isPrivate()) - list.add(runtimes[i]); - } - } - return list.toArray(); - } - - /** - * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, Object, Object) - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java deleted file mode 100644 index e1e711fe0..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.swt.graphics.Image; -/** - * Runtime table label provider. - */ -public class RuntimeTableLabelProvider extends BaseLabelProvider implements ITableLabelProvider, ILockedLabelProvider { - /** - * RuntimeTableLabelProvider constructor comment. - */ - public RuntimeTableLabelProvider() { - super(); - } - - /** - * @see ITableLabelProvider#getColumnImage(Object, int) - */ - public Image getColumnImage(Object element, int columnIndex) { - if (columnIndex == 0) { - IRuntime runtime = (IRuntime) element; - IRuntimeType runtimeType = runtime.getRuntimeType(); - if (runtimeType != null) - return ImageResource.getImage(runtimeType.getId()); - } - return null; - } - - /** - * @see ITableLabelProvider#getColumnText(Object, int) - */ - public String getColumnText(Object element, int columnIndex) { - IRuntime runtime = (IRuntime) element; - if (columnIndex == 0) - return notNull(runtime.getName()); - /*else if (columnIndex == 1) { - IPath location = runtime.getLocation(); - if (location == null) - return ""; - else - return notNull(location.toOSString()); - }*/ - else if (columnIndex == 1) { - IRuntimeType runtimeType = runtime.getRuntimeType(); - if (runtimeType != null) - return notNull(runtimeType.getName()); - return ""; - } else - return "X"; - } - - public boolean isLocked(Object element) { - IRuntime runtime = (IRuntime) element; - return runtime.isReadOnly(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java deleted file mode 100644 index 05a89596e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * Runtime content provider. - */ -public class RuntimeTreeContentProvider extends AbstractTreeContentProvider { - public static final byte STYLE_VENDOR = 1; - public static final byte STYLE_VERSION = 2; - public static final byte STYLE_TYPE = 3; - - /** - * RuntimeTreeContentProvider constructor. - * - * @param style a style - */ - public RuntimeTreeContentProvider(byte style) { - super(style); - } - - public void fillTree() { - clean(); - List list = new ArrayList(); - if (style != STYLE_FLAT) { - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - IRuntimeType runtimeType = runtimes[i].getRuntimeType(); - try { - TreeElement ele = null; - if (style == STYLE_VENDOR) - ele = getOrCreate(list, runtimeType.getVendor()); - else if (style == STYLE_VERSION) - ele = getOrCreate(list, runtimeType.getVersion()); - else if (style == STYLE_TYPE) - ele = getOrCreate(list, runtimeType.getName()); - ele.contents.add(runtimes[i]); - elementToParentMap.put(runtimes[i], ele); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error in runtime content provider", e); - } - } - } - } else { - IRuntime[] runtimes = ServerCore.getRuntimes(); - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) - list.add(runtimes[i]); - } - } - elements = list.toArray(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java deleted file mode 100644 index 4cf36de05..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; -/** - * Runtime label provider. - */ -public class RuntimeTreeLabelProvider extends AbstractTreeLabelProvider implements ITableLabelProvider { - /** - * RuntimeTreeLabelProvider constructor comment. - */ - public RuntimeTreeLabelProvider() { - super(); - } - - /** - * - */ - protected Image getImageImpl(Object element) { - IRuntime runtime = (IRuntime) element; - if (runtime.getRuntimeType() != null) - return ImageResource.getImage(runtime.getRuntimeType().getId()); - return null; - } - - /** - * - */ - protected String getTextImpl(Object element) { - IRuntime runtime = (IRuntime) element; - return notNull(runtime.getName()); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int) - */ - public Image getColumnImage(Object element, int columnIndex) { - if (columnIndex == 0) { - if (element instanceof ServerTreeContentProvider.TreeElement) { - ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages(); - return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER); - } - return getImageImpl(element); - } - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int) - */ - public String getColumnText(Object element, int columnIndex) { - if (element instanceof ServerTreeContentProvider.TreeElement) { - if (columnIndex == 0) - return ((ServerTreeContentProvider.TreeElement) element).text; - return ""; - } - IRuntime runtime = (IRuntime) element; - if (columnIndex == 0) - return runtime.getName(); - else if (columnIndex == 1) { - if (runtime.getRuntimeType() != null) - return notNull(runtime.getRuntimeType().getName()); - return ""; - } - return "X"; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java deleted file mode 100644 index cbafa1675..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.*; -import org.eclipse.jface.window.Window; -import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.NewInstallableServerWizard; -/** - * - */ -public class RuntimeTypeComposite extends AbstractTreeComposite { - protected IRuntimeType selection; - protected RuntimeTypeSelectionListener listener; - protected boolean creation; - protected String type; - protected String version; - protected String runtimeTypeId; - - protected RuntimeTypeTreeContentProvider contentProvider; - protected boolean initialSelection = true; - - public interface RuntimeTypeSelectionListener { - public void runtimeTypeSelected(IRuntimeType runtimeType); - } - - public RuntimeTypeComposite(Composite parent, int style, boolean creation, RuntimeTypeSelectionListener listener2, String type, String version, String runtimeTypeId) { - super(parent, style); - this.listener = listener2; - this.creation = creation; - this.type = type; - this.version = version; - this.runtimeTypeId = runtimeTypeId; - - contentProvider = new RuntimeTypeTreeContentProvider(RuntimeTypeTreeContentProvider.STYLE_VENDOR, creation, type, version, runtimeTypeId); - treeViewer.setContentProvider(contentProvider); - treeViewer.setLabelProvider(new RuntimeTypeTreeLabelProvider()); - treeViewer.setInput(AbstractTreeContentProvider.ROOT); - - treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - Object obj = getSelection(event.getSelection()); - if (obj instanceof IRuntimeType) { - selection = (IRuntimeType) obj; - setDescription(selection.getDescription()); - } else { - selection = null; - setDescription(""); - } - listener.runtimeTypeSelected(selection); - } - }); - - treeViewer.setSorter(new DefaultViewerSorter()); - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - if (visible && initialSelection) { - initialSelection = false; - if (contentProvider.getInitialSelection() != null) - treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true); - } - } - - protected String getTitleLabel() { - return Messages.runtimeTypeCompTree; - } - - protected String getDescriptionLabel() { - return Messages.runtimeTypeCompDescription; - } - - protected String[] getComboOptions() { - return new String[] { Messages.name, - Messages.vendor, Messages.version, - Messages.moduleSupport }; - } - - protected void viewOptionSelected(byte option) { - ISelection sel = treeViewer.getSelection(); - treeViewer.setContentProvider(new RuntimeTypeTreeContentProvider(option, creation, type, version, runtimeTypeId)); - treeViewer.setSelection(sel); - } - - public void refresh() { - ISelection sel = treeViewer.getSelection(); - RuntimeTypeTreeContentProvider cp = (RuntimeTypeTreeContentProvider) treeViewer.getContentProvider(); - treeViewer.setContentProvider(new RuntimeTypeTreeContentProvider(cp.style, creation, type, version, runtimeTypeId)); - treeViewer.setSelection(sel); - } - - public IRuntimeType getSelectedRuntimeType() { - return selection; - } - - protected String getDetailsLabel() { - if (ServerPlugin.getInstallableServers().length > 0) - return Messages.installableServerLink; - return null; - } - - protected void detailsSelected() { - NewInstallableServerWizard wizard2 = new NewInstallableServerWizard(); - WizardDialog dialog = new WizardDialog(getShell(), wizard2); - if (dialog.open() != Window.CANCEL) - refresh(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java deleted file mode 100644 index 88f77ceb7..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.server.core.*; -/** - * Runtime type content provider. - */ -public class RuntimeTypeTreeContentProvider extends AbstractTreeContentProvider { - public static final byte STYLE_VENDOR = 1; - public static final byte STYLE_VERSION = 2; - public static final byte STYLE_MODULE_TYPE = 3; - - protected boolean creation; - protected String type; - protected String version; - protected String runtimeTypeId; - - /** - * RuntimeTypeContentProvider constructor. - * - * @param style a style - * @param creation true to include runtimes that can be created - */ - public RuntimeTypeTreeContentProvider(byte style, boolean creation) { - super(style); - this.creation = creation; - } - - public RuntimeTypeTreeContentProvider(byte style, boolean creation, String type, String version, String runtimeTypeId) { - super(style, false); - this.type = type; - this.version = version; - this.runtimeTypeId = runtimeTypeId; - this.creation = creation; - - fillTree(); - } - - public void fillTree() { - clean(); - List list = new ArrayList(); - if (style != STYLE_FLAT) { - IRuntimeType[] runtimeTypes = ServerUtil.getRuntimeTypes(type, version, runtimeTypeId); - if (runtimeTypes != null) { - int size = runtimeTypes.length; - for (int i = 0; i < size; i++) { - IRuntimeType runtimeType = runtimeTypes[i]; - if (!creation || runtimeType.canCreate()) { - TreeElement ele = null; - if (style == STYLE_VENDOR) { - ele = getOrCreate(list, runtimeType.getVendor()); - ele.contents.add(runtimeType); - elementToParentMap.put(runtimeType, ele); - } else if (style == STYLE_VERSION) { - ele = getOrCreate(list, runtimeType.getVersion()); - ele.contents.add(runtimeType); - elementToParentMap.put(runtimeType, ele); - } else if (style == STYLE_MODULE_TYPE) { - // TODO: does not handle "jst.*" format - IModuleType[] moduleTypes = runtimeType.getModuleTypes(); - if (moduleTypes != null) { - int size2 = moduleTypes.length; - for (int j = 0; j < size2; j++) { - IModuleType mb = moduleTypes[j]; - if (mb != null) { - ele = getOrCreate(list, mb.getName()); - TreeElement ele2 = getOrCreate(ele.contents, mb.getName() + "/" + mb.getVersion(), mb.getVersion()); - ele2.contents.add(runtimeType); - elementToParentMap.put(runtimeType, ele2); - elementToParentMap.put(ele2, ele); - } - } - } - } - } - } - } - } else { - IRuntimeType[] runtimeTypes = ServerUtil.getRuntimeTypes(type, version, runtimeTypeId); - if (runtimeTypes != null) { - int size = runtimeTypes.length; - for (int i = 0; i < size; i++) { - IRuntimeType runtimeType = runtimeTypes[i]; - if (!creation || runtimeType.canCreate()) - list.add(runtimeType); - } - } - } - elements = list.toArray(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java deleted file mode 100644 index be65daf51..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.swt.graphics.Image; -/** - * Runtime type label provider. - */ -public class RuntimeTypeTreeLabelProvider extends AbstractTreeLabelProvider { - /** - * RuntimeTypeTreeLabelProvider constructor comment. - */ - public RuntimeTypeTreeLabelProvider() { - super(); - } - - /** - * - */ - protected Image getImageImpl(Object element) { - IRuntimeType runtimeType = (IRuntimeType) element; - return ImageResource.getImage(runtimeType.getId()); - } - - /** - * - */ - protected String getTextImpl(Object element) { - IRuntimeType runtimeType = (IRuntimeType) element; - return notNull(runtimeType.getName()); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/SView.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/SView.java deleted file mode 100644 index 9f380918b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/SView.java +++ /dev/null @@ -1,277 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.accessibility.ACC; -import org.eclipse.swt.accessibility.AccessibleAdapter; -import org.eclipse.swt.accessibility.AccessibleControlAdapter; -import org.eclipse.swt.accessibility.AccessibleControlEvent; -import org.eclipse.swt.accessibility.AccessibleEvent; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.events.FocusEvent; -import org.eclipse.swt.events.FocusListener; -import org.eclipse.swt.events.KeyAdapter; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.events.MouseListener; -import org.eclipse.swt.events.MouseTrackListener; -import org.eclipse.swt.events.PaintEvent; -import org.eclipse.swt.events.PaintListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Cursor; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.graphics.Region; -import org.eclipse.swt.widgets.Canvas; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.TypedListener; -/** - * Simple SWT widget with an image banner and a label. - */ -public class SView extends Canvas { - protected Color focusColor; - protected boolean mouseOver = false; - protected boolean hasFocus = false; - //protected boolean isOpen = true; - - //protected String name; - //protected String description; - - protected Color one; - protected Color two; - protected Color three; - - protected Color grone; - protected Color grtwo; - protected Color grthree; - - private Cursor cursor; - - public SView(Composite parent, int style) { - super(parent, style); - - cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND); - setCursor(cursor); - - one = new Color(getDisplay(), 224, 244, 252); - two = new Color(getDisplay(), 178, 212, 247); - three = new Color(getDisplay(), 138, 185, 242); - - grone = new Color(getDisplay(), 229, 255, 193); - grtwo = new Color(getDisplay(), 63, 214, 16); - grthree = new Color(getDisplay(), 21, 157, 4); - - addPaintListener(new PaintListener() { - public void paintControl(PaintEvent e) { - SView.this.paintControl(e); - } - }); - addMouseListener(new MouseListener() { - public void mouseDown(MouseEvent e) { - //changeTwistie(!isOpen); - } - public void mouseUp(MouseEvent e) { - // do nothing - } - public void mouseDoubleClick(MouseEvent e) { - // do nothing - } - }); - addMouseTrackListener(new MouseTrackListener() { - public void mouseEnter(MouseEvent e) { - mouseOver = true; - SView.this.redraw(); - } - public void mouseExit(MouseEvent e) { - mouseOver = false; - SView.this.redraw(); - } - public void mouseHover(MouseEvent e) { - // do nothing - } - }); - addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - //changeTwistie(!isOpen); - redraw(); - } - }); - addListener(SWT.Traverse, new Listener () { - public void handleEvent(Event e) { - if (e.detail != SWT.TRAVERSE_RETURN) - e.doit = true; - } - }); - addFocusListener(new FocusListener() { - public void focusGained(FocusEvent e) { - hasFocus = true; - redraw(); - } - public void focusLost(FocusEvent e) { - hasFocus = false; - redraw(); - } - }); - addKeyListener(new KeyAdapter() { - public void keyPressed(KeyEvent e) { - if (e.character == '\r') { - // Activation - notifyListeners(SWT.Selection); - } - } - }); - addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - disposeImpl(); - } - }); - - getAccessible().addAccessibleListener(new AccessibleAdapter() { - public void getName(AccessibleEvent e) { - //e.result = name; - } - - public void getDescription(AccessibleEvent e) { - //e.result = description; - } - }); - - getAccessible().addAccessibleControlListener(new AccessibleControlAdapter() { - public void getLocation(AccessibleControlEvent e) { - Rectangle location = getBounds(); - Point pt = toDisplay(new Point(location.x, location.y)); - e.x = pt.x; - e.y = pt.y; - e.width = location.width; - e.height = location.height; - } - - public void getChildCount(AccessibleControlEvent e) { - e.detail = 0; - } - - public void getRole(AccessibleControlEvent e) { - e.detail = ACC.ROLE_TREE; - } - - public void getState(AccessibleControlEvent e) { - //e.detail = isOpen ? ACC.STATE_EXPANDED : ACC.STATE_COLLAPSED; - } - }); - } - - protected void disposeImpl() { - if (cursor != null) { - cursor.dispose(); - cursor = null; - one.dispose(); - two.dispose(); - three.dispose(); - - grone.dispose(); - grtwo.dispose(); - grthree.dispose(); - } - } - - public void addSelectionListener(SelectionListener listener) { - checkWidget (); - if (listener == null) return; - TypedListener typedListener = new TypedListener (listener); - addListener (SWT.Selection,typedListener); - } - - public void removeSelectionListener(SelectionListener listener) { - checkWidget (); - if (listener == null) return; - removeListener (SWT.Selection, listener); - } - - protected void notifyListeners(int eventType) { - Event event = new Event(); - event.type = eventType; - event.widget = this; - notifyListeners(eventType, event); - } - - protected void paintRect(GC gc, int x, int y, Color a, Color b, Color c) { - int[] p = new int[] { 0, 2, 2, 0, 30, 0, 32, 2, 32, 30, 30, 32, 2, 32, 0, 30}; - - int[] q = new int[p.length]; - for (int i = 0; i < p.length / 2; i++) { - q[i*2] = p[i*2] + x; - q[i*2+1] = p[i*2+1] + y; - } - - Region region = new Region(getDisplay()); - region.add(q); - - gc.setClipping(region); - - gc.setBackground(a); - gc.setForeground(b); - gc.fillGradientRectangle(x, y, 32, 32, true); - gc.setClipping((Region)null); - gc.setForeground(c); - gc.drawPolygon(q); - - gc.setForeground(getForeground()); - gc.setBackground(getBackground()); - String st = "Tomcat Test Environment"; - Point stp = gc.stringExtent(st); - gc.drawString(st, x+16 - stp.x / 2, y + 32 + 2); - } - - void paintControl(PaintEvent e) { - GC gc = e.gc; - - Point s = getSize(); - - gc.setBackground(getBackground()); - gc.fillRectangle(0, 0, s.x, s.y); - - /*if (mouseOver) - gc.setBackground(getFocusColor()); - else - gc.setBackground(getForeground());*/ - - // one - paintRect(gc, 60, 0, one, two, three); - - paintRect(gc, 140, 0, grone, grtwo, grthree); - - /*if (hasFocus) { - gc.setBackground(getBackground()); - gc.setForeground(getFocusColor()); - gc.drawFocus(0, 0, 10, 11); - }*/ - } - - /*public Color getFocusColor() { - return focusColor; - } - - public void setFocusColor(Color color) { - focusColor = color; - }*/ - - public Point computeSize(int wHint, int hHint, boolean changed) { - return new Point(200, 60); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java deleted file mode 100644 index 4fdb5bd7a..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * - */ -public class ServerComposite extends AbstractTreeComposite { - protected IServer selection; - protected ServerSelectionListener listener; - protected ServerTreeContentProvider contentProvider; - protected boolean initialSelection = true; - protected byte viewOption; - - protected IModule module; - protected String launchMode; - protected boolean includeIncompatibleVersions; - - public interface ServerSelectionListener { - public void serverSelected(IServer server); - } - - public ServerComposite(Composite parent, int style, ServerSelectionListener listener2, IModule module, String launchMode) { - super(parent, style); - this.module = module; - this.launchMode = launchMode; - - this.listener = listener2; - - contentProvider = new ServerTreeContentProvider(ServerTreeContentProvider.STYLE_HOST, module, launchMode); - viewOption = ServerTreeContentProvider.STYLE_HOST; - treeViewer.setContentProvider(contentProvider); - treeViewer.setLabelProvider(new ServerTreeLabelProvider()); - treeViewer.setInput(AbstractTreeContentProvider.ROOT); - treeViewer.expandToLevel(1); - - treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - Object obj = getSelection(event.getSelection()); - if (obj instanceof IServer) { - selection = (IServer) obj; - setDescription(selection.getServerType().getRuntimeType().getDescription()); - } else { - selection = null; - setDescription(""); - } - listener.serverSelected(selection); - } - }); - } - - public ServerComposite(Composite parent, int style, ServerSelectionListener listener2) { - this(parent, style, listener2, null, null); - } - - public void setIncludeIncompatibleVersions(boolean b) { - includeIncompatibleVersions = b; - ISelection sel = treeViewer.getSelection(); - contentProvider.setIncludeIncompatibleVersions(b); - treeViewer.refresh(); - treeViewer.setSelection(sel, true); - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - if (visible && initialSelection) { - initialSelection = false; - if (contentProvider.getInitialSelection() != null) - treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true); - } - } - - public void refreshAll() { - ISelection sel = treeViewer.getSelection(); - contentProvider = new ServerTreeContentProvider(viewOption, module, launchMode); - contentProvider.setIncludeIncompatibleVersions(includeIncompatibleVersions); - treeViewer.setContentProvider(contentProvider); - treeViewer.setSelection(sel); - } - - protected String getDescriptionLabel() { - return null; //Messages.serverTypeCompDescription"); - } - - protected String getTitleLabel() { - return Messages.wizNewServerSelectExisting; - } - - protected String[] getComboOptions() { - return new String[] { Messages.name, Messages.host, - Messages.vendor, Messages.version }; - } - - protected void viewOptionSelected(byte option) { - ISelection sel = treeViewer.getSelection(); - viewOption = option; - contentProvider = new ServerTreeContentProvider(option, module, launchMode); - contentProvider.setIncludeIncompatibleVersions(includeIncompatibleVersions); - treeViewer.setContentProvider(contentProvider); - treeViewer.setSelection(sel); - } - - public IServer getSelectedServer() { - return selection; - } - - public void setSelection(IServer server) { - treeViewer.setSelection(new StructuredSelection(server), true); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java deleted file mode 100644 index c13a38bed..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeContentProvider.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleType; -import org.eclipse.wst.server.core.IRuntimeType; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -/** - * Runtime type content provider. - */ -public class ServerTreeContentProvider extends AbstractTreeContentProvider { - public static final byte STYLE_HOST = 1; - public static final byte STYLE_VENDOR = 2; - public static final byte STYLE_VERSION = 3; - - protected IModule module; - protected String launchMode; - protected boolean includeIncompatibleVersions; - - /** - * ServerTreeContentProvider constructor. - * - * @param style a style - */ - public ServerTreeContentProvider(byte style) { - super(style); - } - - public ServerTreeContentProvider(byte style, IModule module, String launchMode) { - super(style, false); - this.module = module; - this.launchMode = launchMode; - - fillTree(); - } - - public void setIncludeIncompatibleVersions(boolean b) { - includeIncompatibleVersions = b; - fillTree(); - } - - protected void fillTree() { - clean(); - List list = new ArrayList(); - if (style != STYLE_FLAT) { - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (acceptServer(servers[i])) { - IServerType serverType = servers[i].getServerType(); - IRuntimeType runtimeType = serverType.getRuntimeType(); - TreeElement te = null; - if (style == STYLE_HOST) { - te = getOrCreate(list, servers[i].getHost()); - } else if (style == STYLE_VERSION) { - String version = Messages.elementUnknownName; - if (runtimeType != null) - version = runtimeType.getVersion(); - te = getOrCreate(list, version); - } else if (style == STYLE_VENDOR) { - String vendor = Messages.elementUnknownName; - if (runtimeType != null) - vendor = runtimeType.getVendor(); - te = getOrCreate(list, vendor); - } - te.contents.add(servers[i]); - elementToParentMap.put(servers[i], te); - } - } - } - } else { - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - if (acceptServer(servers[i])) - list.add(servers[i]); - } - } - } - elements = list.toArray(); - } - - protected boolean acceptServer(IServer server) { - if (module == null || launchMode == null) - return true; - if (!ServerUIPlugin.isCompatibleWithLaunchMode(server, launchMode)) - return false; - - IModuleType mt = module.getModuleType(); - if (includeIncompatibleVersions) { - if (!ServerUtil.isSupportedModule(server.getServerType().getRuntimeType().getModuleTypes(), mt.getId(), null)) - return false; - } else { - if (!ServerUtil.isSupportedModule(server.getServerType().getRuntimeType().getModuleTypes(), mt.getId(), mt.getVersion())) - return false; - } - return true; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java deleted file mode 100644 index e56944cd2..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.swt.graphics.Image; -/** - * Server tree label provider. - */ -public class ServerTreeLabelProvider extends AbstractTreeLabelProvider { - /** - * ServerTreeLabelProvider constructor comment. - */ - public ServerTreeLabelProvider() { - super(); - } - - /** - * @see AbstractTreeLabelProvider#getImageImpl(Object) - */ - public Image getImageImpl(Object element) { - IServer server = (IServer) element; - return ImageResource.getImage(server.getServerType().getId()); - } - - /** - * @see AbstractTreeLabelProvider#getTextImpl(Object) - */ - public String getTextImpl(Object element) { - IServer server = (IServer) element; - return server.getName(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java deleted file mode 100644 index ab0573468..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeComposite.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.window.Window; -import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.wst.server.core.IModuleType; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.NewInstallableServerWizard; -/** - * - */ -public class ServerTypeComposite extends AbstractTreeComposite { - protected IServerType selection; - protected ServerTypeSelectionListener listener; - protected ServerTypeTreeContentProvider contentProvider; - protected boolean initialSelection = true; - - protected IModuleType moduleType; - - protected boolean isLocalhost; - protected boolean includeIncompatibleVersions; - - public interface ServerTypeSelectionListener { - public void serverTypeSelected(IServerType type); - } - - public ServerTypeComposite(Composite parent, int style, IModuleType moduleType, ServerTypeSelectionListener listener2) { - super(parent, style); - this.listener = listener2; - - this.moduleType = moduleType; - - contentProvider = new ServerTypeTreeContentProvider(ServerTypeTreeContentProvider.STYLE_VENDOR, moduleType); - treeViewer.setContentProvider(contentProvider); - treeViewer.setLabelProvider(new ServerTypeTreeLabelProvider()); - treeViewer.setInput(AbstractTreeContentProvider.ROOT); - - treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - Object obj = getSelection(event.getSelection()); - if (obj instanceof IServerType) { - selection = (IServerType) obj; - setDescription(selection.getDescription()); - } else { - selection = null; - setDescription(""); - } - listener.serverTypeSelected(selection); - } - }); - - treeViewer.setSorter(new DefaultViewerSorter()); - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - if (visible && initialSelection) { - initialSelection = false; - if (contentProvider.getInitialSelection() != null) - treeViewer.setSelection(new StructuredSelection(contentProvider.getInitialSelection()), true); - } - } - - public void setHost(boolean newHost) { - if (isLocalhost == newHost) - return; - - isLocalhost = newHost; - ISelection sel = treeViewer.getSelection(); - contentProvider.setLocalhost(isLocalhost); - treeViewer.refresh(); - //treeViewer.expandToLevel(2); - treeViewer.setSelection(sel, true); - } - - public void setIncludeIncompatibleVersions(boolean b) { - includeIncompatibleVersions = b; - ISelection sel = treeViewer.getSelection(); - contentProvider.setIncludeIncompatibleVersions(b); - treeViewer.refresh(); - treeViewer.setSelection(sel, true); - } - - protected String getDescriptionLabel() { - return null; - } - - protected String getTitleLabel() { - return Messages.serverTypeCompLabel; - } - - protected String[] getComboOptions() { - return new String[] { Messages.name, - Messages.vendor, Messages.version, - Messages.moduleSupport }; - } - - protected void viewOptionSelected(byte option) { - ISelection sel = treeViewer.getSelection(); - contentProvider = new ServerTypeTreeContentProvider(option, moduleType); - contentProvider.setLocalhost(isLocalhost); - contentProvider.setIncludeIncompatibleVersions(includeIncompatibleVersions); - treeViewer.setContentProvider(contentProvider); - treeViewer.setSelection(sel); - } - - public IServerType getSelectedServerType() { - return selection; - } - - public void refresh() { - ISelection sel = treeViewer.getSelection(); - ServerTypeTreeContentProvider cp = (ServerTypeTreeContentProvider) treeViewer.getContentProvider(); - treeViewer.setContentProvider(new ServerTypeTreeContentProvider(cp.style, moduleType)); - treeViewer.setSelection(sel); - } - - protected String getDetailsLabel() { - if (ServerPlugin.getInstallableServers().length > 0) - return Messages.installableServerLink; - return null; - } - - protected void detailsSelected() { - NewInstallableServerWizard wizard2 = new NewInstallableServerWizard(); - WizardDialog dialog = new WizardDialog(getShell(), wizard2); - if (dialog.open() != Window.CANCEL) - refresh(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java deleted file mode 100644 index 7c91e41e4..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java +++ /dev/null @@ -1,146 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * Server type content provider. - */ -public class ServerTypeTreeContentProvider extends AbstractTreeContentProvider { - public static final byte STYLE_VENDOR = 1; - public static final byte STYLE_VERSION = 2; - public static final byte STYLE_MODULE_TYPE = 3; - public static final byte STYLE_TYPE = 4; // not used yet - - protected boolean localhost; - - protected IModuleType moduleType; - protected boolean includeIncompatibleVersions; - - /** - * ServerTypeTreeContentProvider constructor. - * - * @param style a style - * @param moduleType a module type - */ - public ServerTypeTreeContentProvider(byte style, IModuleType moduleType) { - super(style, false); - localhost = true; - - this.moduleType = moduleType; - - fillTree(); - } - - public void fillTree() { - clean(); - - List list = new ArrayList(); - IServerType[] serverTypes = ServerCore.getServerTypes(); - if (serverTypes != null) { - int size = serverTypes.length; - for (int i = 0; i < size; i++) { - IServerType serverType = serverTypes[i]; - if (include(serverType)) { - if (style == STYLE_FLAT) { - list.add(serverType); - } else if (style != STYLE_MODULE_TYPE) { - try { - IRuntimeType runtimeType = serverType.getRuntimeType(); - TreeElement ele = null; - if (style == STYLE_VENDOR) - ele = getOrCreate(list, runtimeType.getVendor()); - else if (style == STYLE_VERSION) - ele = getOrCreate(list, runtimeType.getVersion()); - else if (style == STYLE_TYPE) - ele = getOrCreate(list, runtimeType.getName()); - ele.contents.add(serverType); - elementToParentMap.put(serverType, ele); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Error in server configuration content provider", e); - } - } else { // style = MODULE_TYPE - IRuntimeType runtimeType = serverType.getRuntimeType(); - IModuleType[] moduleTypes = runtimeType.getModuleTypes(); - if (moduleTypes != null) { - int size2 = moduleTypes.length; - for (int j = 0; j < size2; j++) { - IModuleType mb = moduleTypes[j]; - if (mb != null) { - TreeElement ele = getOrCreate(list, mb.getName()); - TreeElement ele2 = getOrCreate(ele.contents, mb.getName() + "/" + mb.getVersion(), mb.getVersion()); - ele2.contents.add(serverType); - elementToParentMap.put(serverType, ele2); - elementToParentMap.put(ele2, ele); - } - } - } - } - } - } - } - elements = list.toArray(); - } - - protected boolean include(IServerType serverType) { - IRuntimeType runtimeType = serverType.getRuntimeType(); - if (runtimeType == null) - return false; - - String moduleTypeId = null; - if (moduleType != null) - moduleTypeId = moduleType.getId(); - if (includeIncompatibleVersions) { - if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), moduleTypeId, null)) - return false; - } else { - String moduleVersion = null; - if (moduleType != null) - moduleVersion = moduleType.getVersion(); - if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), moduleTypeId, moduleVersion)) - return false; - } - - if (localhost || serverType.supportsRemoteHosts()) - return true; - - return false; - } - - protected boolean checkForNonStubEnvironmentRuntime(IServerType serverType) { - IRuntimeType runtimeType = serverType.getRuntimeType(); - IRuntime[] runtimes = ServerUIPlugin.getRuntimes(runtimeType); - if (runtimes == null || runtimes.length == 0) - return false; - - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (!runtimes[i].isStub()) - return true; - } - return false; - } - - public void setLocalhost(boolean local) { - localhost = local; - fillTree(); - } - - public void setIncludeIncompatibleVersions(boolean b) { - includeIncompatibleVersions = b; - fillTree(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java deleted file mode 100644 index c5de75f0a..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.viewers; - -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.swt.graphics.Image; -/** - * Server type label provider. - */ -public class ServerTypeTreeLabelProvider extends AbstractTreeLabelProvider { - /** - * ServerTypeTreeLabelProvider constructor comment. - */ - public ServerTypeTreeLabelProvider() { - super(); - } - - /** - * - */ - protected Image getImageImpl(Object element) { - IServerType type = (IServerType) element; - return ImageResource.getImage(type.getId()); - } - - /** - * - */ - protected String getTextImpl(Object element) { - IServerType type = (IServerType) element; - return notNull(type.getName()); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/InternetPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/InternetPreferencePage.java deleted file mode 100644 index 02f08d36c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/InternetPreferencePage.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.webbrowser; - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * A preference page that holds internet preferences. - */ -public class InternetPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { - /** - * InternetPreferencePage constructor comment. - */ - public InternetPreferencePage() { - super(); - noDefaultAndApplyButton(); - } - - /** - * Create the preference options. - * - * @param parent org.eclipse.swt.widgets.Composite - * @return org.eclipse.swt.widgets.Control - */ - protected Control createContents(Composite parent) { - initializeDialogUnits(parent); - - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 1; - layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); - layout.verticalSpacing = convertVerticalDLUsToPixels(4); - layout.marginWidth = 0; - layout.marginHeight = 0; - composite.setLayout(layout); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - composite.setLayoutData(data); - //PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF_BROWSER); - - Label label = new Label(composite, SWT.WRAP); - label.setText(Messages.preferenceInternetDescription); - data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - label.setLayoutData(data); - - Dialog.applyDialogFont(composite); - - return composite; - } - - /** - * Initializes this preference page using the passed workbench. - * - * @param workbench the current workbench - */ - public void init(IWorkbench workbench) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/OpenBrowserWorkbenchAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/OpenBrowserWorkbenchAction.java deleted file mode 100644 index 4e9e9217f..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/OpenBrowserWorkbenchAction.java +++ /dev/null @@ -1,81 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.webbrowser; - -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.action.IAction; -import org.eclipse.ui.*; -import org.eclipse.ui.browser.IWebBrowser; -import org.eclipse.ui.browser.IWorkbenchBrowserSupport; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * Action to open the Web broswer. - */ -public class OpenBrowserWorkbenchAction implements IWorkbenchWindowActionDelegate { - /** - * OpenBrowserWorkbenchAction constructor comment. - */ - public OpenBrowserWorkbenchAction() { - super(); - } - - /** - * Disposes this action delegate. The implementor should unhook any references - * to itself so that garbage collection can occur. - */ - public void dispose() { - // do nothing - } - - /** - * Initializes this action delegate with the workbench window it will work in. - * - * @param window the window that provides the context for this delegate - */ - public void init(IWorkbenchWindow window) { - // do nothing - } - - /** - * Performs this action. - * <p> - * This method is called when the delegating action has been triggered. - * Implement this method to do the actual work. - * </p> - * - * @param action the action proxy that handles the presentation portion of the - * action - */ - public void run(IAction action) { - try { - IWorkbenchBrowserSupport browserSupport = ServerUIPlugin.getInstance().getWorkbench().getBrowserSupport(); - IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR, null, null, null); - browser.openURL(null); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error opening browser", e); - } - } - - /** - * Notifies this action delegate that the selection in the workbench has changed. - * <p> - * Implementers can use this opportunity to change the availability of the - * action or to modify other presentation properties. - * </p> - * - * @param action the action proxy that handles presentation portion of the action - * @param selection the current selection in the workbench - */ - public void selectionChanged(IAction action, ISelection selection) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchBrowserWorkbenchAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchBrowserWorkbenchAction.java deleted file mode 100644 index 10f0f623c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchBrowserWorkbenchAction.java +++ /dev/null @@ -1,150 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.webbrowser; - -import java.util.Iterator; - -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IAction; -import org.eclipse.swt.events.MenuAdapter; -import org.eclipse.swt.events.MenuEvent; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.MenuItem; -import org.eclipse.ui.*; -import org.eclipse.ui.internal.browser.BrowserManager; -import org.eclipse.ui.internal.browser.IBrowserDescriptor; -import org.eclipse.ui.internal.browser.WebBrowserPreference; -import org.eclipse.ui.internal.browser.WebBrowserUtil; -/** - * Action to open the Web broswer. - */ -public class SwitchBrowserWorkbenchAction implements IWorkbenchWindowPulldownDelegate2 { - /** - * The menu created by this action - */ - private Menu fMenu; - - protected boolean recreateMenu = false; - - /** - * SwitchBrowserWorkbenchAction constructor comment. - */ - public SwitchBrowserWorkbenchAction() { - super(); - } - - public void dispose() { - setMenu(null); - } - - /** - * Sets this action's drop-down menu, disposing the previous menu. - * - * @param menu the new menu - */ - private void setMenu(Menu menu) { - if (fMenu != null) { - fMenu.dispose(); - } - fMenu = menu; - } - - public void init(IWorkbenchWindow window) { - // do nothing - } - - /** - * Adds the given action to the specified menu with an accelerator specified - * by the given number. - * - * @param menu the menu to add the action to - * @param action the action to add - * @param accelerator the number that should appear as an accelerator - */ - protected void addToMenu(Menu menu, IAction action, int accelerator) { - StringBuffer label= new StringBuffer(); - if (accelerator >= 0 && accelerator < 10) { - //add the numerical accelerator - label.append('&'); - label.append(accelerator); - label.append(' '); - } - label.append(action.getText()); - action.setText(label.toString()); - ActionContributionItem item= new ActionContributionItem(action); - item.fill(menu, -1); - } - - /** - * Fills the drop-down menu with favorites and launch history, - * launch shortcuts, and an action to open the launch configuration dialog. - * - * @param menu the menu to fill - */ - protected void fillMenu(Menu menu) { - int i = 0; - if (WebBrowserUtil.canUseInternalWebBrowser()) { - addToMenu(menu, new SwitchDefaultBrowserAction(null, WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.INTERNAL, null), i++); - } - IBrowserDescriptor current = BrowserManager.getInstance().getCurrentWebBrowser(); - BrowserManager browserManager = BrowserManager.getInstance(); - Iterator iterator = browserManager.getWebBrowsers().iterator(); - while (iterator.hasNext()) { - IBrowserDescriptor browser = (IBrowserDescriptor) iterator.next(); - addToMenu(menu, new SwitchDefaultBrowserAction(browser, WebBrowserPreference.getBrowserChoice() != WebBrowserPreference.INTERNAL && browser.equals(current), browserManager), i++); - } - } - - /** - * Creates the menu for the action - */ - private void initMenu() { - // Add listener to repopulate the menu each time - // it is shown because of dynamic history list - fMenu.addMenuListener(new MenuAdapter() { - public void menuShown(MenuEvent e) { - //if (recreateMenu) { - Menu m = (Menu) e.widget; - MenuItem[] items = m.getItems(); - for (int i = 0; i < items.length; i++) { - items[i].dispose(); - } - fillMenu(m); - recreateMenu = false; - //} - } - }); - } - - public void selectionChanged(IAction action, ISelection selection) { - // do nothing - } - - public void run(IAction action) { - // do nothing - } - - public Menu getMenu(Menu parent) { - setMenu(new Menu(parent)); - //fillMenu(fMenu); - initMenu(); - return fMenu; - } - - public Menu getMenu(Control parent) { - setMenu(new Menu(parent)); - //fillMenu(fMenu); - initMenu(); - return fMenu; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchDefaultBrowserAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchDefaultBrowserAction.java deleted file mode 100644 index d9f8a162e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/webbrowser/SwitchDefaultBrowserAction.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.webbrowser; - -import org.eclipse.jface.action.Action; -import org.eclipse.ui.internal.browser.BrowserManager; -import org.eclipse.ui.internal.browser.IBrowserDescriptor; -import org.eclipse.ui.internal.browser.WebBrowserPreference; -import org.eclipse.wst.server.ui.internal.Messages; -/** - * Action to open the Web browser. - */ -public class SwitchDefaultBrowserAction extends Action { - protected IBrowserDescriptor webbrowser; - protected BrowserManager browserManager; - - /** - * SwitchDefaultBrowserAction constructor comment. - * - * @param webbrowser a browser - * @param current true if this is the current browser - * @param manager the browser manager - */ - public SwitchDefaultBrowserAction(IBrowserDescriptor webbrowser, boolean current, BrowserManager manager) { - super(); - - this.webbrowser = webbrowser; - this.browserManager = manager; - if (webbrowser == null) - setText(Messages.internalWebBrowserName); - else - setText(webbrowser.getName()); - - if (current) - setChecked(true); - } - - /** - * Implementation of method defined on <code>IAction</code>. - */ - public void run() { - if (webbrowser == null) - WebBrowserPreference.setBrowserChoice(WebBrowserPreference.INTERNAL); - else { - WebBrowserPreference.setBrowserChoice(WebBrowserPreference.EXTERNAL); - browserManager.setCurrentWebBrowser(webbrowser); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java deleted file mode 100644 index 65f822eaf..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/AbstractWizard.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbench; -/** - * An abstract Wizard that contains helper methods. - */ -public abstract class AbstractWizard extends Wizard { - protected IWorkbench workbench; - protected IStructuredSelection selection; - - /** - * AbstractWizard constructor comment. - */ - public AbstractWizard() { - super(); - } - - /** - * Return the current workbench. - * - * @return the workbench - */ - public IWorkbench getWorkbench() { - return workbench; - } - - /** - * Initialize the workbench and current selection. - * - * @param newWorkbench - * @param newSelection - */ - public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) { - workbench = newWorkbench; - selection = newSelection; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ClosableWizardDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ClosableWizardDialog.java deleted file mode 100644 index 5e757508c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ClosableWizardDialog.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import org.eclipse.jface.wizard.IWizard; -import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.swt.widgets.Shell; -/** - * A closable wizard dialog. - */ -public class ClosableWizardDialog extends WizardDialog { - /** - * Constructor for ClosableWizardDialog. - * @param shell - * @param wizard - */ - public ClosableWizardDialog(Shell shell, IWizard wizard) { - super(shell, wizard); - } - - /** - * The Finish button has been pressed. - */ - public void finishPressed() { - super.finishPressed(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java deleted file mode 100644 index 0f364794a..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ModifyModulesWizard.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.PublishServerJob; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * A wizard used to add and remove modules. - */ -public class ModifyModulesWizard extends TaskWizard { - static class ModifyModulesWizard2 extends WizardFragment { - protected void createChildFragments(List list) { - list.add(new ModifyModulesWizardFragment()); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveServer(getTaskModel(), monitor); - - IServer server = (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER); - if (server.getServerState() != IServer.STATE_STOPPED) { - PublishServerJob publishJob = new PublishServerJob(server); - publishJob.schedule(); - } - } - }); - } - } - - /** - * ModifyModulesWizard constructor. - * - * @param server a server - */ - public ModifyModulesWizard(IServer server) { - super(Messages.wizModuleWizardTitle, new ModifyModulesWizard2()); - - if (server != null) - getTaskModel().putObject(TaskModel.TASK_SERVER, server.createWorkingCopy()); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewInstallableServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewInstallableServerWizard.java deleted file mode 100644 index be5c3fa63..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewInstallableServerWizard.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; - -import org.eclipse.wst.server.core.internal.IInstallableServer; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.fragment.NewInstallableServerWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * A wizard to create a new installable server. - */ -public class NewInstallableServerWizard extends TaskWizard { - /** - * NewInstallableServerWizard constructor comment. - */ - public NewInstallableServerWizard() { - super(Messages.wizNewServerWizardTitle, new WizardFragment() { - protected void createChildFragments(List list) { - list.add(new NewInstallableServerWizardFragment()); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - IInstallableServer is = (IInstallableServer) getTaskModel().getObject("installableServer"); - if (is != null) - is.install(monitor); - } - }); - } - }); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java deleted file mode 100644 index 04a2249ec..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewRuntimeWizard.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.fragment.NewRuntimeWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -import org.eclipse.ui.INewWizard; -import org.eclipse.ui.IWorkbench; -/** - * A wizard to create a new runtime. - */ -public class NewRuntimeWizard extends TaskWizard implements INewWizard { - /** - * NewRuntimeWizard constructor comment. - */ - public NewRuntimeWizard() { - super(Messages.wizNewRuntimeWizardTitle, new WizardFragment() { - protected void createChildFragments(List list) { - list.add(new NewRuntimeWizardFragment()); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - } - }); - } - }); - - setForcePreviousAndNextButtons(true); - } - - public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java deleted file mode 100644 index 00e954dbf..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/NewServerWizard.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.viewers.IStructuredSelection; - -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment; -import org.eclipse.wst.server.ui.internal.wizard.fragment.NewServerWizardFragment; -import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -import org.eclipse.ui.INewWizard; -import org.eclipse.ui.IWorkbench; -/** - * A wizard to create a new server and server configuration. - */ -public class NewServerWizard extends TaskWizard implements INewWizard { - /** - * NewServerWizard constructor comment. - */ - public NewServerWizard() { - this(null, null); - } - - public NewServerWizard(final String[] ids, final String[] values) { - super(Messages.wizNewServerWizardTitle, new WizardFragment() { - protected void createChildFragments(List list) { - list.add(new NewServerWizardFragment()); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.tempSaveRuntime(getTaskModel(), monitor); - WizardTaskUtil.tempSaveServer(getTaskModel(), monitor); - } - }); - list.add(new ModifyModulesWizardFragment()); - list.add(new TasksWizardFragment()); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - WizardTaskUtil.saveServer(getTaskModel(), monitor); - try { - IServer server = (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER); - ServerUIPlugin.getPreferences().addHostname(server.getHost()); - } catch (Exception e) { - // ignore - } - } - }); - } - }); - - if (ids != null) { - TaskModel taskModel2 = getTaskModel(); - int size = ids.length; - for (int i = 0; i < size; i++) { - taskModel2.putObject(ids[i], values[i]); - } - } - } - - public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) { - // do nothing - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/RunOnServerWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/RunOnServerWizard.java deleted file mode 100644 index ed5165c95..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/RunOnServerWizard.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.wizard.fragment.ModifyModulesWizardFragment; -import org.eclipse.wst.server.ui.internal.wizard.fragment.NewServerWizardFragment; -import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * A wizard used to select a server from various lists. - */ -public class RunOnServerWizard extends TaskWizard { - protected static NewServerWizardFragment task; - - /** - * RunOnServerWizard constructor comment. - * - * @param module a module - * @param launchMode a launch mode - */ - public RunOnServerWizard(final IModule module, final String launchMode) { - super(Messages.wizRunOnServerTitle, new WizardFragment() { - protected void createChildFragments(List list) { - task = new NewServerWizardFragment(module, launchMode); - list.add(task); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.tempSaveRuntime(getTaskModel(), monitor); - WizardTaskUtil.tempSaveServer(getTaskModel(), monitor); - } - }); - list.add(new ModifyModulesWizardFragment(module)); - list.add(new TasksWizardFragment()); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveRuntime(getTaskModel(), monitor); - WizardTaskUtil.saveServer(getTaskModel(), monitor); - try { - IServer server = (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER); - ServerUIPlugin.getPreferences().addHostname(server.getHost()); - } catch (Exception e) { - // ignore - } - } - }); - } - }); - - setNeedsProgressMonitor(true); - if (ILaunchManager.DEBUG_MODE.equals(launchMode)) - setWindowTitle(Messages.wizDebugOnServerTitle); - else if (ILaunchManager.PROFILE_MODE.equals(launchMode)) - setWindowTitle(Messages.wizProfileOnServerTitle); - } - - /** - * Return the server. - * @return org.eclipse.wst.server.core.IServer - */ - public IServer getServer() { - try { - return (IServer) getRootFragment().getTaskModel().getObject(TaskModel.TASK_SERVER); - } catch (Exception e) { - return null; - } - } - - public boolean isPreferredServer() { - if (task == null) - return false; - return task.isPreferredServer(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectClientWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectClientWizard.java deleted file mode 100644 index 3cb2a07e4..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectClientWizard.java +++ /dev/null @@ -1,57 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import org.eclipse.wst.server.core.internal.IClient; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.page.SelectClientComposite; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -import org.eclipse.swt.widgets.Composite; -/** - * A wizard used to select a server client from a list. - */ -public class SelectClientWizard extends TaskWizard { - protected static SelectClientComposite comp; - - /** - * SelectClientWizard constructor comment. - * - * @param clients an array of clients - */ - public SelectClientWizard(final IClient[] clients) { - super(Messages.wizSelectClientWizardTitle, - new WizardFragment() { - public boolean hasComposite() { - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage() - */ - public Composite createComposite(Composite parent, IWizardHandle wizard) { - comp = new SelectClientComposite(parent, wizard, clients); - return comp; - } - } - ); - - setForcePreviousAndNextButtons(true); - } - - /** - * Return the selected client. - * @return org.eclipse.wst.server.core.IClient - */ - public IClient getSelectedClient() { - return comp.getSelectedClient(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectTasksWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectTasksWizard.java deleted file mode 100644 index 16eb7f643..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/SelectTasksWizard.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * A wizard used to select server and module tasks. - */ -public class SelectTasksWizard extends TaskWizard { - protected static TasksWizardFragment fragment; - - /** - * SelectTasksWizard constructor. - * - * @param server a server - */ - public SelectTasksWizard(final IServer server) { - super(Messages.wizTaskWizardTitle, new WizardFragment() { - protected void createChildFragments(List list) { - fragment = new TasksWizardFragment(); - list.add(fragment); - list.add(new WizardFragment() { - public void performFinish(IProgressMonitor monitor) throws CoreException { - WizardTaskUtil.saveServer(getTaskModel(), monitor); - } - }); - } - }); - getTaskModel().putObject(TaskModel.TASK_SERVER, server); - addPages(); - } - - /** - * Return <code>true</code> if this wizard has tasks. - * - * @return <code>true</code> if this wizard has tasks, and <code>false</code> - * otherwise - */ - public boolean hasTasks() { - return fragment.hasTasks(); - } - - /** - * Return <code>true</code> if this wizard has optional tasks. - * - * @return <code>true</code> if this wizard has optional tasks, and - * <code>false</code> otherwise - */ - public boolean hasOptionalTasks() { - return fragment.hasOptionalTasks(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java deleted file mode 100644 index 4a3dcd6e9..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizard.java +++ /dev/null @@ -1,559 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IWorkspaceRunnable; -import org.eclipse.core.runtime.*; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.wizard.IWizard; -import org.eclipse.jface.wizard.IWizardContainer; -import org.eclipse.jface.wizard.IWizardPage; - -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.ui.internal.EclipseUtil; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.wst.server.ui.internal.wizard.page.WorkspaceRunnableAdapter; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * A wizard used to execute tasks. - */ -public class TaskWizard implements IWizard { - private static final byte FINISH = 2; - private static final byte CANCEL = 3; - - private List pages; - private boolean addingPages; - private Map fragmentData = new HashMap(); - protected TaskModel taskModel; - - private IWizardContainer container = null; - - private boolean needsProgressMonitor = false; - - private boolean forcePreviousAndNextButtons = false; - - private boolean isHelpAvailable = false; - - private Image defaultImage = null; - - private RGB titleBarColor = null; - - private String windowTitle = null; - - private IDialogSettings dialogSettings = null; - - private WizardFragment rootFragment; - private WizardFragment currentFragment; - - /** - * Create a new TaskWizard with the given title and root fragment. - * - * @param title a title - * @param rootFragment a root fragment - */ - public TaskWizard(String title, WizardFragment rootFragment) { - this(title, rootFragment, null); - setWindowTitle(title); - } - - /** - * Create a new TaskWizard with the given title, root fragment, and task model. - * - * @param title a title - * @param rootFragment a root fragment - * @param taskModel a task model - */ - public TaskWizard(String title, WizardFragment rootFragment, TaskModel taskModel) { - super(); - if (title != null) - setWindowTitle(title); - this.rootFragment = rootFragment; - this.taskModel = taskModel; - if (taskModel == null) - this.taskModel = new TaskModel(); - - setNeedsProgressMonitor(true); - setForcePreviousAndNextButtons(true); - } - - public void setTaskModel(TaskModel taskModel) { - this.taskModel = taskModel; - } - - public TaskModel getTaskModel() { - return taskModel; - } - - public void setRootFragment(WizardFragment rootFragment) { - this.rootFragment = rootFragment; - } - - public WizardFragment getRootFragment() { - return rootFragment; - } - - /** - * Cancel the client selection. - * - * @return boolean - */ - public boolean performCancel() { - final List list = getAllWizardFragments(); - IRunnableWithProgress runnable = new IRunnableWithProgress() { - public void run(IProgressMonitor monitor) throws InvocationTargetException { - try { - Iterator iterator = list.iterator(); - while (iterator.hasNext()) - executeTask((WizardFragment) iterator.next(), CANCEL, monitor); - } catch (CoreException ce) { - throw new InvocationTargetException(ce); - } - } - }; - - Throwable t = null; - try { - if (getContainer() != null) - getContainer().run(true, true, runnable); - else - runnable.run(new NullProgressMonitor()); - return true; - } catch (InvocationTargetException te) { - t = te.getCause(); - } catch (Exception e) { - t = e; - } - Trace.trace(Trace.SEVERE, "Error cancelling task wizard", t); - - if (t instanceof CoreException) { - EclipseUtil.openError(t.getLocalizedMessage(), ((CoreException)t).getStatus()); - } else - EclipseUtil.openError(t.getLocalizedMessage()); - - return false; - - } - - public boolean performFinish() { - if (currentFragment != null) - currentFragment.exit(); - - final WizardFragment cFragment = currentFragment; - - final List list = getAllWizardFragments(); - IWorkspaceRunnable runnable = new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - // enter & exit the remaining pages - int index = list.indexOf(cFragment); - while (index > 0 && index < list.size() - 1) { - final WizardFragment fragment = (WizardFragment) list.get(++index); - try { - Display.getDefault().syncExec(new Runnable() { - public void run() { - fragment.enter(); - fragment.exit(); - } - }); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not enter/exit page", e); - } - } - - if (useJob()) { - class FinishWizardJob extends Job { - public FinishWizardJob() { - super(getJobTitle()); - } - - public boolean belongsTo(Object family) { - return "org.eclipse.wst.server.ui.family".equals(family); - } - - public IStatus run(IProgressMonitor monitor2) { - try { - Iterator iterator = list.iterator(); - while (iterator.hasNext()) - executeTask((WizardFragment) iterator.next(), FINISH, monitor2); - } catch (CoreException ce) { - Trace.trace(Trace.SEVERE, "Error finishing wizard job", ce); - return new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, 0, ce.getLocalizedMessage(), null); - } - return Status.OK_STATUS; - } - } - - FinishWizardJob job = new FinishWizardJob(); - job.setUser(true); - job.schedule(); - } else { - Iterator iterator = list.iterator(); - while (iterator.hasNext()) - executeTask((WizardFragment) iterator.next(), FINISH, monitor); - } - } - }; - - Throwable t = null; - try { - if (getContainer() != null) - getContainer().run(true, true, new WorkspaceRunnableAdapter(runnable)); - else - runnable.run(new NullProgressMonitor()); - return true; - } catch (InvocationTargetException te) { - Trace.trace(Trace.SEVERE, "Error finishing task wizard", te); - t = te.getCause(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error finishing task wizard 2", e); - t = e; - } - - // TODO: show better error dialog, e.g. when Tomcat config is corrupt while doing Add/Remove - // it currently displays the error message twice - if (t instanceof CoreException) { - EclipseUtil.openError(t.getLocalizedMessage(), ((CoreException)t).getStatus()); - } else - EclipseUtil.openError(t.getLocalizedMessage()); - - return false; - } - - public void addPage(IWizardPage page) { - pages.add(page); - page.setWizard(this); - } - - protected void executeTask(WizardFragment fragment, byte type, IProgressMonitor monitor) throws CoreException { - if (fragment == null) - return; - - if (type == FINISH) - fragment.performFinish(monitor); - else if (type == CANCEL) - fragment.performCancel(monitor); - } - - protected WizardFragment getCurrentWizardFragment() { - return currentFragment; - } - - protected void switchWizardFragment(WizardFragment newFragment) { - List list = getAllWizardFragments(); - int oldIndex = list.indexOf(currentFragment); - int newIndex = list.indexOf(newFragment); - if (oldIndex == newIndex) - return; - - //safeExecuteTask(currentFragment, DEPARTURE); - if (currentFragment != null) - currentFragment.exit(); - - if (oldIndex < newIndex) - oldIndex ++; - else - oldIndex --; - - while (oldIndex != newIndex) { - WizardFragment fragment = (WizardFragment) list.get(oldIndex); - //safeExecuteTask(fragment, ARRIVAL); - //safeExecuteTask(fragment, DEPARTURE); - fragment.enter(); - fragment.exit(); - if (oldIndex < newIndex) - oldIndex ++; - else - oldIndex --; - } - - currentFragment = newFragment; - //safeExecuteTask(currentFragment, ARRIVAL); - currentFragment.enter(); - } - - private List getAllWizardFragments() { - List list = new ArrayList(); - list.add(rootFragment); - addSubWizardFragments(rootFragment, list); - - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - WizardFragment fragment = (WizardFragment) iterator.next(); - if (!taskModel.equals(fragment.getTaskModel())) - fragment.setTaskModel(taskModel); - } - return list; - } - - private void addSubWizardFragments(WizardFragment fragment, List list) { - Iterator iterator = fragment.getChildFragments().iterator(); - while (iterator.hasNext()) { - WizardFragment child = (WizardFragment) iterator.next(); - list.add(child); - addSubWizardFragments(child, list); - } - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#addPages() - */ - public void addPages() { - if (addingPages) - return; - - try { - addingPages = true; - pages = new ArrayList(); - Iterator iterator = getAllWizardFragments().iterator(); - while (iterator.hasNext()) { - WizardFragment fragment = (WizardFragment) iterator.next(); - TaskWizardPage page = getFragmentData(fragment); - if (fragment.hasComposite()) { - if (page != null) - addPage(page); - else { - TaskWizardPage page2 = new TaskWizardPage(fragment); - fragmentData.put(fragment, page2); - addPage(page2); - } - } - } - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error adding fragments to wizard", e); - } finally { - addingPages = false; - } - } - - /*private static void updateWizardPages() { - try { - current.updatePages(); - current.getContainer().updateButtons(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error updating wizard pages", e); - } - }*/ - - private TaskWizardPage getFragmentData(WizardFragment fragment) { - try { - TaskWizardPage page = (TaskWizardPage) fragmentData.get(fragment); - if (page != null) - return page; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error getting fragment data", e); - } - - return null; - } - - protected void updatePages() { - addPages(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#canFinish() - */ - public boolean canFinish() { - // Default implementation is to check if all pages are complete. - for (int i= 0; i < pages.size(); i++) { - if (!((IWizardPage)pages.get(i)).isPageComplete()) - return false; - } - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#createPageControls(org.eclipse.swt.widgets.Composite) - */ - public void createPageControls(Composite pageContainer) { - // the default behavior is to create all the pages controls - for (int i = 0; i < pages.size(); i++){ - IWizardPage page = (IWizardPage) pages.get(i); - page.createControl(pageContainer); - } - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#dispose() - */ - public void dispose() { - // notify pages - for (int i = 0; i < pages.size(); i++){ - ((IWizardPage)pages.get(i)).dispose(); - } - - // dispose of image - if (defaultImage != null) { - defaultImage.dispose(); - defaultImage = null; - } - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getContainer() - */ - public IWizardContainer getContainer() { - return container; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getDefaultPageImage() - */ - public Image getDefaultPageImage() { - return defaultImage; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getDialogSettings() - */ - public IDialogSettings getDialogSettings() { - return dialogSettings; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getNextPage(org.eclipse.jface.wizard.IWizardPage) - */ - public IWizardPage getNextPage(IWizardPage page) { - int index = pages.indexOf(page); - if (index == pages.size() - 1 || index == -1) - // last page or page not found - return null; - - return (IWizardPage)pages.get(index + 1); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getPage(java.lang.String) - */ - public IWizardPage getPage(String name) { - for (int i= 0; i < pages.size(); i++) { - IWizardPage page = (IWizardPage)pages.get(i); - String pageName = page.getName(); - if (pageName.equals(name)) - return page; - } - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getPageCount() - */ - public int getPageCount() { - return pages.size(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getPages() - */ - public IWizardPage[] getPages() { - return (IWizardPage[])pages.toArray(new IWizardPage[pages.size()]); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getPreviousPage(org.eclipse.jface.wizard.IWizardPage) - */ - public IWizardPage getPreviousPage(IWizardPage page) { - int index = pages.indexOf(page); - if (index == 0 || index == -1) - // first page or page not found - return null; - return (IWizardPage)pages.get(index - 1); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getStartingPage() - */ - public IWizardPage getStartingPage() { - if (pages.size() == 0) - return null; - - return (IWizardPage) pages.get(0); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getTitleBarColor() - */ - public RGB getTitleBarColor() { - return titleBarColor; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#getWindowTitle() - */ - public String getWindowTitle() { - return windowTitle; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#isHelpAvailable() - */ - public boolean isHelpAvailable() { - return isHelpAvailable; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#needsPreviousAndNextButtons() - */ - public boolean needsPreviousAndNextButtons() { - return forcePreviousAndNextButtons || pages.size() > 1; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#needsProgressMonitor() - */ - public boolean needsProgressMonitor() { - return needsProgressMonitor; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#setContainer(org.eclipse.jface.wizard.IWizardContainer) - */ - public void setContainer(IWizardContainer wizardContainer) { - this.container = wizardContainer; - } - - public void setDialogSettings(IDialogSettings settings) { - dialogSettings = settings; - } - - public void setNeedsProgressMonitor(boolean b) { - needsProgressMonitor = b; - } - - public void setForcePreviousAndNextButtons(boolean b) { - forcePreviousAndNextButtons = b; - } - - public void setWindowTitle(String title) { - windowTitle = title; - } - - protected boolean useJob() { - return false; - } - - protected String getJobTitle() { - return getWindowTitle(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizardPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizardPage.java deleted file mode 100644 index 02658ffc8..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/TaskWizardPage.java +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * A task wizard page. - */ -class TaskWizardPage extends WizardPage implements IWizardHandle { - protected WizardFragment fragment; - - protected boolean isEmptyError = false; - - public TaskWizardPage(WizardFragment fragment) { - super(fragment.toString()); - this.fragment = fragment; - } - - public void createControl(Composite parentComp) { - Composite comp = null; - try { - comp = fragment.createComposite(parentComp, this); - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not create wizard page composite", e); - } - if (comp == null) { - comp = new Composite(parentComp, SWT.NONE); - comp.setLayout(new FillLayout(SWT.VERTICAL)); - Label label = new Label(comp, SWT.NONE); - label.setText("Internal error"); - } - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.widthHint = convertHorizontalDLUsToPixels(150); - //data.heightHint = convertVerticalDLUsToPixels(350); - comp.setLayoutData(data); - setControl(comp); - } - - public boolean isPageComplete() { - //if (isEmptyError) - // return false; - try { - if (!fragment.isComplete()) - return false; - } catch (Exception e) { - return false; - } - //return (getMessage() == null || getMessageType() != ERROR); - return true; - } - - public boolean canFlipToNextPage() { - if (getNextPage() == null) - return false; - //if (isEmptyError) - // return false; - try { - if (!fragment.isComplete()) - return false; - } catch (Exception e) { - return false; - } - return true; - //return (getMessage() == null || getMessageType() != ERROR); - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - - if (visible) { - TaskWizard wizard = (TaskWizard) getWizard(); - wizard.switchWizardFragment(fragment); - - if (getContainer().getCurrentPage() != null) - getContainer().updateButtons(); - } - } - - public void setMessage(String message, int type) { - if (type == IMessageProvider.ERROR && "".equals(message)) { - isEmptyError = true; - message = null; - } else - isEmptyError = false; - super.setMessage(message, type); - WizardFragment frag = ((TaskWizard) getWizard()).getCurrentWizardFragment(); - if (!fragment.equals(frag)) - return; - getContainer().updateButtons(); - } - - public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException { - getWizard().getContainer().run(fork, cancelable, runnable); - } - - public void update() { - fragment.updateChildFragments(); - ((TaskWizard) getWizard()).updatePages(); - if (getContainer().getCurrentPage() != null) - getContainer().updateButtons(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java deleted file mode 100644 index 07c10442c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/WizardTaskUtil.java +++ /dev/null @@ -1,174 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard; - -import java.util.List; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.ProjectProperties; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.core.internal.ServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.EclipseUtil; -import org.eclipse.wst.server.ui.internal.Trace; -/** - * - */ -public class WizardTaskUtil { - private WizardTaskUtil() { - // do nothing - } - - public static void saveRuntime(TaskModel taskModel, IProgressMonitor monitor) throws CoreException { - IRuntime runtime = (IRuntime) taskModel.getObject(TaskModel.TASK_RUNTIME); - if (runtime != null && runtime instanceof IRuntimeWorkingCopy) { - IRuntimeWorkingCopy workingCopy = (IRuntimeWorkingCopy) runtime; - if (workingCopy.isDirty()) - taskModel.putObject(TaskModel.TASK_RUNTIME, workingCopy.save(false, monitor)); - } - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.internal.task.ITask#doTask() - */ - public static void saveServer(TaskModel taskModel, IProgressMonitor monitor) throws CoreException { - IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER); - if (server != null && server instanceof IServerWorkingCopy) { - IServerWorkingCopy workingCopy = (IServerWorkingCopy) server; - if (workingCopy.isDirty()) { - IFile file = ((Server)workingCopy).getFile(); - if (file != null) { - IProject project = file.getProject(); - - if (!file.getProject().exists()) - EclipseUtil.createNewServerProject(null, project.getName(), null, monitor); - - ProjectProperties pp = ServerPlugin.getProjectProperties(project); - if (!pp.isServerProject()) - pp.setServerProject(true, monitor); - } - taskModel.putObject(TaskModel.TASK_SERVER, workingCopy.save(false, monitor)); - } - } - } - - public static void tempSaveRuntime(TaskModel taskModel, IProgressMonitor monitor) throws CoreException { - IRuntime runtime = (IRuntime) taskModel.getObject(TaskModel.TASK_RUNTIME); - if (runtime != null && runtime instanceof IRuntimeWorkingCopy) { - IRuntimeWorkingCopy workingCopy = (IRuntimeWorkingCopy) runtime; - if (!workingCopy.isDirty()) - return; - - runtime = workingCopy.save(false, monitor); - taskModel.putObject(TaskModel.TASK_RUNTIME, runtime.createWorkingCopy()); - } - } - - public static void tempSaveServer(TaskModel taskModel, IProgressMonitor monitor) throws CoreException { - IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER); - if (server != null && server instanceof IServerWorkingCopy) { - IServerWorkingCopy workingCopy = (IServerWorkingCopy) server; - if (!workingCopy.isDirty()) - return; - - IFile file = ((Server)workingCopy).getFile(); - if (file != null) { - IProject project = file.getProject(); - - if (!file.getProject().exists()) - EclipseUtil.createNewServerProject(null, project.getName(), null, monitor); - - ProjectProperties pp = ServerPlugin.getProjectProperties(project); - if (!pp.isServerProject()) - pp.setServerProject(true, monitor); - } - IRuntime runtime = workingCopy.getRuntime(); - - server = workingCopy.save(false, monitor); - workingCopy = server.createWorkingCopy(); - - workingCopy.setRuntime(runtime); - if (workingCopy.getServerType().hasServerConfiguration()) { - ((ServerWorkingCopy)workingCopy).importConfiguration(runtime, null); - } - taskModel.putObject(TaskModel.TASK_SERVER, workingCopy); - } - } - - public static void addModule(IModule module, TaskModel taskModel, IProgressMonitor monitor) throws CoreException { - if (module == null) - return; - - IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER); - IModule parentModule = null; - try { - IModule[] parents = server.getRootModules(module, monitor); - if (parents != null && parents.length > 0) { - parentModule = parents[0]; - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not find parent module", e); - } - - if (parentModule == null) { - // Use the original module since no parent module is available. - parentModule = module; - } - - IModule[] modules = server.getModules(); - int size = modules.length; - for (int i = 0; i < size; i++) { - if (parentModule.equals(modules[i])) - return; - } - - IServerWorkingCopy workingCopy = server.createWorkingCopy(); - workingCopy.modifyModules(new IModule[] { parentModule }, new IModule[0], monitor); - taskModel.putObject(TaskModel.TASK_SERVER, workingCopy.save(false, monitor)); - } - - public static void modifyModules(List add, List remove, TaskModel taskModel, IProgressMonitor monitor) throws CoreException { - if ((add == null || add.isEmpty()) && (remove == null || remove.isEmpty())) - return; - - IServerWorkingCopy workingCopy = (IServerWorkingCopy) taskModel.getObject(TaskModel.TASK_SERVER); - - // modify modules - IModule[] remove2 = new IModule[0]; - if (remove != null) { - remove2 = new IModule[remove.size()]; - remove.toArray(remove2); - } - - IModule[] add2 = new IModule[0]; - if (add != null) { - add2 = new IModule[add.size()]; - add.toArray(add2); - } - - IFile file = ((Server)workingCopy).getFile(); - if (file != null) { - IProject project = file.getProject(); - - if (!file.getProject().exists()) - EclipseUtil.createNewServerProject(null, project.getName(), null, monitor); - - ProjectProperties pp = ServerPlugin.getProjectProperties(project); - if (!pp.isServerProject()) - pp.setServerProject(true, monitor); - } - - workingCopy.modifyModules(add2, remove2, monitor); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java deleted file mode 100644 index 594974fa5..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ModifyModulesWizardFragment.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.fragment; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.IModuleVisitor; -import org.eclipse.wst.server.core.internal.Server; -import org.eclipse.wst.server.ui.internal.Trace; -import org.eclipse.wst.server.ui.internal.wizard.WizardTaskUtil; -import org.eclipse.wst.server.ui.internal.wizard.page.ModifyModulesComposite; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * - */ -public class ModifyModulesWizardFragment extends WizardFragment { - protected ModifyModulesComposite comp; - - protected IModule module; - - public ModifyModulesWizardFragment() { - // do nothing - } - - public ModifyModulesWizardFragment(IModule module) { - this.module = module; - } - - public boolean hasComposite() { - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage() - */ - public Composite createComposite(Composite parent, IWizardHandle handle) { - comp = new ModifyModulesComposite(parent, handle, module); - return comp; - } - - public void setTaskModel(TaskModel taskModel) { - super.setTaskModel(taskModel); - if (comp != null) - comp.setTaskModel(taskModel); - } - - public List getChildFragments() { - updateModules(); - return super.getChildFragments(); - } - - public void enter() { - updateModules(); - } - - protected void updateModules() { - if (comp != null) { - IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER); - comp.setServer(server); - comp.setTaskModel(getTaskModel()); - } else if (module != null) { - TaskModel taskModel = getTaskModel(); - if (taskModel == null) - return; - IServerWorkingCopy server = (IServerWorkingCopy) taskModel.getObject(TaskModel.TASK_SERVER); - if (server == null) { - taskModel.putObject(TaskModel.TASK_MODULES, null); - return; - } - - final List moduleList = new ArrayList(); - if (server != null) { - ((Server) server).visit(new IModuleVisitor() { - public boolean visit(IModule[] module2) { - moduleList.add(module2); - return true; - } - }, null); - } - - // add module - IModule parent = null; - try { - IModule[] parents = server.getRootModules(module, null); - List list = new ArrayList(); - - if (parents != null && parents.length > 0) { - parent = parents[0]; - list.add(parent); - } - // TODO - get parent modules correct - if (!moduleList.contains(module)) { - moduleList.add(new IModule[] { module }); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not find parent module", e); - } - - taskModel.putObject(TaskModel.TASK_MODULES, moduleList); - } - } - - public void performFinish(IProgressMonitor monitor) throws CoreException { - if (comp != null) - WizardTaskUtil.modifyModules(comp.getModulesToAdd(), comp.getModulesToRemove(), getTaskModel(), monitor); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewInstallableServerWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewInstallableServerWizardFragment.java deleted file mode 100644 index 9716ce2ee..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewInstallableServerWizardFragment.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.fragment; - -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.wizard.page.NewInstallableServerComposite; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * - */ -public class NewInstallableServerWizardFragment extends WizardFragment { - protected NewInstallableServerComposite comp; - - public NewInstallableServerWizardFragment() { - // do nothing - } - - public boolean hasComposite() { - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage() - */ - public Composite createComposite(Composite parent, IWizardHandle wizard) { - comp = new NewInstallableServerComposite(parent, getTaskModel(), wizard); - - wizard.setTitle(Messages.wizNewInstallableServerTitle); - wizard.setDescription(Messages.wizNewInstallableServerDescription); - wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_SERVER)); - return comp; - } - - public boolean isComplete() { - return getTaskModel().getObject("installableServer") != null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java deleted file mode 100644 index 741d96fcb..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewRuntimeWizardFragment.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.fragment; - -import java.util.List; - -import org.eclipse.wst.server.core.IRuntimeWorkingCopy; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.wizard.page.NewRuntimeComposite; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; - -import org.eclipse.swt.widgets.Composite; -/** - * - */ -public class NewRuntimeWizardFragment extends WizardFragment { - protected NewRuntimeComposite page; - - // filter by type/version - protected String type; - protected String version; - - // filter by partial runtime type id - protected String runtimeTypeId; - - public NewRuntimeWizardFragment() { - // do nothing - } - - public NewRuntimeWizardFragment(String type, String version, String runtimeTypeId) { - this.type = type; - this.version = version; - this.runtimeTypeId = runtimeTypeId; - } - - public boolean hasComposite() { - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage() - */ - public Composite createComposite(Composite parent, IWizardHandle wizard) { - page = new NewRuntimeComposite(parent, wizard, getTaskModel(), type, version, runtimeTypeId); - return page; - } - - protected void createChildFragments(List list) { - if (getTaskModel() == null) - return; - - IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - if (runtime == null) - return; - - WizardFragment sub = ServerUIPlugin.getWizardFragment(runtime.getRuntimeType().getId()); - if (sub != null) - list.add(sub); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java deleted file mode 100644 index 23945e64d..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/NewServerWizardFragment.java +++ /dev/null @@ -1,140 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.fragment; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.swt.widgets.Composite; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.ServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.wizard.page.NewServerComposite; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * - */ -public class NewServerWizardFragment extends WizardFragment { - public static final String MODE = "mode"; - public static final byte MODE_EXISTING = 0; - public static final byte MODE_DETECT = 1; - public static final byte MODE_MANUAL= 2; - - protected NewServerComposite comp; - protected IModule module; - protected String launchMode; - - protected Map fragmentMap = new HashMap(); - protected Map configMap = new HashMap(); - - public NewServerWizardFragment() { - // do nothing - } - - public NewServerWizardFragment(IModule module, String launchMode) { - this.module = module; - this.launchMode = launchMode; - } - - public boolean hasComposite() { - return true; - } - - public void enter() { - super.enter(); - getTaskModel().putObject(TaskModel.TASK_LAUNCH_MODE, launchMode); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage() - */ - public Composite createComposite(Composite parent, IWizardHandle wizard) { - comp = new NewServerComposite(parent, wizard, module, launchMode); - if (getTaskModel() != null) - comp.setTaskModel(getTaskModel()); - return comp; - } - - protected WizardFragment getWizardFragment(String typeId) { - try { - WizardFragment fragment = (WizardFragment) fragmentMap.get(typeId); - if (fragment != null) - return fragment; - } catch (Exception e) { - // ignore - } - - WizardFragment fragment = ServerUIPlugin.getWizardFragment(typeId); - if (fragment != null) - fragmentMap.put(typeId, fragment); - return fragment; - } - - public List getChildFragments() { - List listImpl = new ArrayList(); - createChildFragments(listImpl); - return listImpl; - } - - protected void createChildFragments(List list) { - if (getTaskModel() == null) - return; - - Byte b = (Byte) getTaskModel().getObject(MODE); - if (b != null && b.byteValue() == MODE_MANUAL) { - IRuntime runtime = (IRuntime) getTaskModel().getObject(TaskModel.TASK_RUNTIME); - if (runtime != null && runtime instanceof IRuntimeWorkingCopy) { - WizardFragment sub = getWizardFragment(runtime.getRuntimeType().getId()); - if (sub != null) - list.add(sub); - } - - IServer svr = (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER); - if (svr != null && svr instanceof IServerWorkingCopy) { - IServerWorkingCopy server = (IServerWorkingCopy) svr; - // createConfiguration(server); - if (server.getServerType().hasServerConfiguration()) { - ((ServerWorkingCopy)server).importConfiguration(runtime, null); - } - WizardFragment sub = getWizardFragment(server.getServerType().getId()); - if (sub != null) - list.add(sub); - } - } else if (b != null && b.byteValue() == MODE_EXISTING) { - /*if (comp != null) { - IServer server = comp.getServer(); - if (server != null) - list.add(new TasksWizardFragment()); - }*/ - } - } - - public boolean isComplete() { - if (comp == null) - return false; - return comp.getServer() != null; - } - - public IServerWorkingCopy getServer() { - if (comp == null) - return null; - return comp.getServer(); - } - - public boolean isPreferredServer() { - if (comp == null) - return false; - return comp.isPreferredServer(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ServerConfigurationWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ServerConfigurationWizardFragment.java deleted file mode 100644 index 16803d5ed..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/ServerConfigurationWizardFragment.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.fragment; - -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * - */ -public class ServerConfigurationWizardFragment extends WizardFragment { - public ServerConfigurationWizardFragment() { - // do nothing - } - - public void enter() { - //TaskModel model = getTaskModel(); - //IRuntime runtime = (IRuntime) model.getObject(TaskModel.TASK_RUNTIME); - //IServerWorkingCopy server = (IServerWorkingCopy) model.getObject(TaskModel.TASK_SERVER); - - //IServerType type = server.getServerType(); - /*if (type.hasServerConfiguration() && server.getServerConfiguration() == null) { - try { - IFile file = null; - if (ServerCore.getServerPreferences().isCreateResourcesInWorkspace()) - file = ServerUtil.getUnusedServerConfigurationFile(WizardUtil.getServerProject(), type.getServerConfigurationType()); - - IServerConfigurationWorkingCopy serverConfiguration = type.getServerConfigurationType().importFromRuntime(null, file, runtime, new NullProgressMonitor()); - ServerUtil.setServerConfigurationDefaultName(serverConfiguration); - model.putObject(TaskModel.TASK_SERVER_CONFIGURATION, serverConfiguration); - server.setServerConfiguration(serverConfiguration); - updateChildFragments(); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Could not create configuration", e); - } - }*/ - } - - /*protected void createChildFragments(List list) { - IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER); - IServerConfiguration serverConfiguration = null; - if (server != null) - serverConfiguration = server.getServerConfiguration(); - if (serverConfiguration != null) { - WizardFragment sub = ServerUICore.getWizardFragment(serverConfiguration.getServerConfigurationType().getId()); - if (sub != null) - list.add(sub); - } - }*/ -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java deleted file mode 100644 index 1e14da12b..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.fragment; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.*; -import org.eclipse.wst.server.core.model.PublishOperation; -import org.eclipse.wst.server.ui.internal.editor.IOrdered; -import org.eclipse.wst.server.ui.internal.wizard.page.TasksComposite; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.wst.server.ui.wizard.WizardFragment; -/** - * - */ -public class TasksWizardFragment extends WizardFragment { - public class TaskInfo implements IOrdered { - public int kind; - public String id; - public PublishOperation task2; - - private static final String DEFAULT = "default:"; - - public boolean isSelected() { - if (id == null) - return false; - - if (selectedTaskMap.containsKey(id)) - return ((Boolean) selectedTaskMap.get(id)).booleanValue(); - - if (selectedTaskMap.containsKey(DEFAULT + id)) - return ((Boolean) selectedTaskMap.get(DEFAULT + id)).booleanValue(); - - return false; - } - - public void setDefaultSelected(boolean sel) { - selectedTaskMap.put(DEFAULT + getId(), new Boolean(sel)); - } - - public boolean getDefaultSelected() { - return ((Boolean) selectedTaskMap.get(DEFAULT + id)).booleanValue(); - } - - public void setSelected(boolean sel) { - selectedTaskMap.put(getId(), new Boolean(sel)); - } - - public int getOrder() { - return task2.getOrder(); - } - - protected String getId() { - return id; - } - } - - protected TasksComposite comp; - - protected List tasks; - protected boolean hasOptionalTasks; - - protected Map selectedTaskMap = new HashMap(); - - public TasksWizardFragment() { - // do nothing - } - - public void enter() { - updateTasks(); - - if (comp != null) - comp.createControl(); - } - - public List getChildFragments() { - updateTasks(); - return super.getChildFragments(); - } - - public void setTaskModel(TaskModel taskModel) { - super.setTaskModel(taskModel); - updateTasks(); - } - - public void updateTasks() { - tasks = null; - if (getTaskModel() == null) - return; - - IServer server = (IServer) getTaskModel().getObject(TaskModel.TASK_SERVER); - List modules = (List) getTaskModel().getObject(TaskModel.TASK_MODULES); - - if (server != null && modules == null) { - final List moduleList = new ArrayList(); - ((Server) server).visit(new IModuleVisitor() { - public boolean visit(IModule[] module2) { - moduleList.add(module2); - return true; - } - }, null); - - modules = moduleList; - } - - if (server != null && modules != null) { - tasks = new ArrayList(); - createTasks(server, modules); - } - - if (comp != null) - Display.getDefault().syncExec(new Runnable() { - public void run() { - comp.setTasks(tasks); - } - }); - } - - protected void createTasks(IServer server, List modules) { - if (server == null) - return; - - List enabledTasks = ((Server)server).getEnabledOptionalPublishOperationIds(); - List disabledTasks = ((Server)server).getDisabledPreferredPublishOperationIds(); - PublishOperation[] tasks2 = ((Server)server).getAllTasks(modules); - for (int j = 0; j < tasks2.length; j++) { - int kind = tasks2[j].getKind(); - String id = ((Server)server).getPublishOperationId(tasks2[j]); - if (kind == PublishOperation.OPTIONAL || kind == PublishOperation.PREFERRED) - hasOptionalTasks = true; - tasks2[j].setTaskModel(getTaskModel()); - - boolean selected = true; - if (kind == PublishOperation.OPTIONAL) { - if (!enabledTasks.contains(id)) - selected = false; - } else if (kind == PublishOperation.PREFERRED) { - if (disabledTasks.contains(id)) - selected = false; - } - addServerTask(server, tasks2[j], selected); - } - } - - public void addServerTask(IServer server, PublishOperation task2, boolean selected) { - TaskInfo sti = new TaskInfo(); - sti.task2 = task2; - sti.kind = task2.getKind(); - sti.id = ((Server)server).getPublishOperationId(task2); - sti.setDefaultSelected(selected); - - tasks.add(sti); - } - - public boolean hasComposite() { - return hasTasks(); - } - - /* (non-Javadoc) - * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage() - */ - public Composite createComposite(Composite parent, IWizardHandle wizard) { - comp = new TasksComposite(parent, wizard); - return comp; - } - - /** - * @see WizardFragment#performFinish(IProgressMonitor) - */ - public void performFinish(IProgressMonitor monitor) throws CoreException { - if (!hasOptionalTasks) - return; - - if (tasks == null || tasks.isEmpty()) - return; - - TaskModel taskModel = getTaskModel(); - IServer server = (IServer)taskModel.getObject(TaskModel.TASK_SERVER); - if (server == null) - return; - - boolean createdWC = false; - ServerWorkingCopy wc = null; - if (server instanceof ServerWorkingCopy) - wc = (ServerWorkingCopy)server; - else { - wc = (ServerWorkingCopy)server.createWorkingCopy(); - createdWC = true; - } - wc.resetPreferredPublishOperations(); - wc.resetOptionalPublishOperations(); - - Iterator iterator = tasks.iterator(); - while (iterator.hasNext()) { - TaskInfo task = (TaskInfo)iterator.next(); - if (PublishOperation.REQUIRED == task.kind) - continue; - - if (PublishOperation.PREFERRED == task.kind) { - if (!task.isSelected()) - wc.disablePreferredPublishOperations(task.task2); - } else if (PublishOperation.OPTIONAL == task.kind) { - if (task.isSelected()) - wc.enableOptionalPublishOperations(task.task2); - } - } - - if (createdWC && wc.isDirty()) - wc.save(true, monitor); - monitor.done(); - } - - /** - * Return <code>true</code> if this wizard has tasks. - * - * @return <code>true</code> if this wizard has tasks, and <code>false</code> - * otherwise - */ - public boolean hasTasks() { - return tasks == null || !tasks.isEmpty(); - } - - /** - * Return <code>true</code> if this wizard has optional tasks. - * - * @return <code>true</code> if this wizard has optional tasks, and - * <code>false</code> otherwise - */ - public boolean hasOptionalTasks() { - return hasOptionalTasks; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ElementCreationCache.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ElementCreationCache.java deleted file mode 100644 index 985961e66..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ElementCreationCache.java +++ /dev/null @@ -1,99 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; - -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.core.IServerWorkingCopy; -/** - * A helper class used to cache the creation of server elements. - */ -public class ElementCreationCache { - protected Map elementCache; - protected Map taskCache; - - /** - * ElementCreationCache constructor comment. - */ - public ElementCreationCache() { - super(); - elementCache = new HashMap(); - taskCache = new HashMap(); - } - - /** - * Return the key to use for the given factory. - * - * @param type the server type - * @param host the server host - * @return the key - */ - protected String getKey(IServerType type, String host) { - return type.getId() + "|" + host + "|"; - } - - /** - * Returns a server. - * - * @param type - * @param host a hostname or IP - * @param monitor a progress monitor - * @return a server working copy - * @throws CoreException if anything goes wrong - */ - public IServerWorkingCopy getServer(IServerType type, String host, IProgressMonitor monitor) throws CoreException { - try { - IServerWorkingCopy server = getCachedServer(type, host); - if (server != null) - return server; - } catch (Exception e) { - // ignore - } - - try { - IFile file = null; - //if (ServerPreferences.getInstance().isCreateResourcesInWorkspace()) - // file = ServerUtil.getUnusedServerFile(WizardUtil.getServerProject(), type); - - IServerWorkingCopy server = type.createServer(null, file, (IRuntime)null, monitor); - elementCache.put(getKey(type, host), server); - return server; - } catch (CoreException ce) { - throw ce; - } - } - - /** - * Returns a cached server resource. - * - * @param type the server type - * @param host a hostname or IP - * @return a working copy - */ - public IServerWorkingCopy getCachedServer(IServerType type, String host) { - try { - IServerWorkingCopy server = (IServerWorkingCopy) elementCache.get(getKey(type, host)); - if (server != null) - return server; - } catch (Exception e) { - // ignore - } - - return null; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java deleted file mode 100644 index f07ba231e..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/FixedTableLayout.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * 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 Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -//import java.util.ArrayList; -//import java.util.List; - -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Layout; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -/** - * - */ -public class FixedTableLayout extends Layout { - //private List columns = new ArrayList(); - - /*public void addColumnData(Integer data) { - columns.add(data); - }*/ - - /* (non-Javadoc) - * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean) - */ - protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) { - Table table = (Table) composite; - Point result = table.computeSize(wHint, hHint, flushCache); - return result; - } - - /* (non-Javadoc) - * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean) - */ - protected void layout(Composite composite, boolean flushCache) { - Table table = (Table) composite; - TableColumn[] tableColumns = table.getColumns(); - int width = table.getClientArea().width - 10; - - tableColumns[0].setWidth(width); - } -} diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java deleted file mode 100644 index 408d9bac9..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/HostnameComposite.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.util.List; - -import org.eclipse.jface.dialogs.Dialog; - -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.SWTUtil; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -/** - * A composite used to select a hostname. - */ -public class HostnameComposite extends Composite { - private static final String LOCALHOST = "localhost"; - protected String host; - protected IHostnameSelectionListener listener; - - protected Combo combo; - - public interface IHostnameSelectionListener { - public void hostnameSelected(String host); - } - - /** - * Create a new HostnameComposite. - * - * @param parent a parent composite - * @param listener2 a hostname selection listener - */ - public HostnameComposite(Composite parent, IHostnameSelectionListener listener2) { - super(parent, SWT.NONE); - this.listener = listener2; - - createControl(); - } - - /** - * Creates the UI of the page. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 3; - setLayout(layout); - //WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD); - - Label label = new Label(this, SWT.WRAP); - label.setText(Messages.hostname); - label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - List hosts = ServerUIPlugin.getPreferences().getHostnames(); - String[] s = new String[hosts.size()]; - hosts.toArray(s); - - combo = new Combo(this, SWT.DROP_DOWN); - combo.setItems(s); - combo.setText(LOCALHOST); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - data.horizontalSpan = 2; - combo.setLayoutData(data); - - combo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - hostnameChanged(combo.getText()); - } - }); - combo.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - Point p = combo.getSelection(); - hostnameChanged(combo.getText()); - combo.setSelection(p); - } - }); - - Dialog.applyDialogFont(this); - } - - protected void hostnameChanged(String newHost) { - if (newHost == null) - return; - - if (newHost.equals(host)) - return; - - host = newHost; - listener.hostnameSelected(host); - } - - public String getHostname() { - return host; - } - - public void setHostname(String hostname) { - combo.setText(hostname); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java deleted file mode 100644 index 9e2df33df..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java +++ /dev/null @@ -1,633 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.viewers.DoubleClickEvent; -import org.eclipse.jface.viewers.IDoubleClickListener; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Tree; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.ui.ServerUICore; -import org.eclipse.wst.server.ui.internal.*; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * A wizard page used to add and remove modules. - */ -public class ModifyModulesComposite extends Composite { - protected IWizardHandle wizard; - - protected IServerAttributes server; - - protected Map childModuleMap = new HashMap(); - protected Map parentModuleMap = new HashMap(); - - // original modules on the server - protected List originalModules = new ArrayList(); - - // modules available to be added to the server - protected List modules = new ArrayList(); - - // current modules on the server - protected List deployed = new ArrayList(); - - protected TreeViewer availableTreeViewer; - protected TreeViewer deployedTreeViewer; - - protected Button add, addAll; - protected Button remove, removeAll; - - protected TaskModel taskModel; - protected IModule newModule; - protected IModule origNewModule; - - protected Map errorMap; - - abstract class TreeContentProvider implements ITreeContentProvider { - public void dispose() { - // do nothing - } - - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } - - public Object[] getChildren(Object parentElement) { - IModule[] parent = (IModule[]) parentElement; - IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent)); - - List list = new ArrayList(); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - IModule child = children[i]; - - parentModuleMap.put(child, parent); - - int size2 = parent.length; - IModule[] module2 = new IModule[size2 + 1]; - System.arraycopy(parent, 0, module2, 0, size2); - module2[size2] = child; - list.add(module2); - } - } - return list.toArray(); - } - - public Object getParent(Object element) { - IModule[] child = (IModule[]) element; - return (IModule[]) parentModuleMap.get(child); - } - - public boolean hasChildren(Object element) { - IModule[] parent = (IModule[]) element; - IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent)); - return (children != null && children.length > 0); - } - } - - class AvailableContentProvider extends TreeContentProvider { - public Object[] getElements(Object inputElement) { - List list = new ArrayList(); - Iterator iterator = modules.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - list.add(new IModule[] { module }); - } - return list.toArray(); - } - } - - class DeployedContentProvider extends TreeContentProvider { - public Object[] getElements(Object inputElement) { - List list = new ArrayList(); - Iterator iterator = deployed.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - list.add(new IModule[] { module }); - } - return list.toArray(); - } - } - - /** - * The key element for the child module map - * ChildMapModuleKey - */ - protected class ChildModuleMapKey { - private IModule[] moduleTree; - - protected ChildModuleMapKey(IModule curModule) { - if (curModule != null) { - moduleTree = new IModule[] { curModule }; - } - } - - protected ChildModuleMapKey(IModule[] curModuleTree) { - moduleTree = curModuleTree; - } - - public boolean equals(Object obj) { - if (obj == this) // same object - return true; - - if (!(obj instanceof ChildModuleMapKey)) - return false; - - IModule[] curCompareModule = ((ChildModuleMapKey) obj).moduleTree; - if (curCompareModule == moduleTree) { - // the module tree is the same - return true; - } else if (moduleTree == null || curCompareModule == null || moduleTree.length != curCompareModule.length){ - return false; - } else { - // compare each module - for (int i = 0; i < curCompareModule.length; i++) { - if (!curCompareModule[i].equals(moduleTree[i])) - return false; - } - return true; - } - } - - public int hashCode() { - // force the same hash code on all the instances to makes sure the - // equals(Object) method is being used for comparing the objects - return 12345; - } - } - - /** - * Create a new ModifyModulesComposite. - * - * @param parent a parent composite - * @param wizard a wizard - * @param module the module that is being added - */ - public ModifyModulesComposite(Composite parent, IWizardHandle wizard, IModule module) { - super(parent, SWT.NONE); - this.wizard = wizard; - origNewModule = module; - - wizard.setTitle(Messages.wizModuleTitle); - wizard.setDescription(Messages.wizModuleDescription); - wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER)); - - createControl(); - } - - public void setServer(IServerAttributes server) { - if (server == this.server) - return; - - this.server = server; - originalModules = new ArrayList(); - deployed = new ArrayList(); - modules = new ArrayList(); - - childModuleMap = new HashMap(); - - if (server == null) - return; - - // get currently deployed modules - IModule[] currentModules = server.getModules(); - if (currentModules != null) { - int size = currentModules.length; - for (int i = 0; i < size; i++) { - originalModules.add(currentModules[i]); - deployed.add(currentModules[i]); - } - } - - // add new module - newModule = null; - errorMap = new HashMap(); - if (origNewModule != null) { - try { - IModule[] parents = server.getRootModules(origNewModule, null); - if (parents != null && parents.length > 0) - newModule = parents[0]; - else - newModule = origNewModule; - } catch (CoreException ce) { - errorMap.put(newModule, ce.getStatus()); - newModule = null; - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not find root module", e); - newModule = null; - } - } - if (newModule != null && !deployed.contains(newModule)) - deployed.add(newModule); - - // get remaining modules - IModule[] modules2 = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes()); - if (modules2 != null) { - int size = modules2.length; - for (int i = 0; i < size; i++) { - IModule module = modules2[i]; - if (!deployed.contains(module)) { - try { - IModule[] parents = server.getRootModules(module, null); - if (parents != null) { - int size2 = parents.length; - for (int j = 0; j < size2; j++) { - if (parents[j].equals(module)) { - IStatus status = server.canModifyModules(new IModule[] { module }, null, null); - if (status != null && !status.isOK()) - errorMap.put(module, status); - modules.add(module); - } - } - } - } catch (CoreException ce) { - errorMap.put(module, ce.getStatus()); - modules.add(module); - } - } - } - } - - // build child map - Iterator iterator = deployed.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - try { - IModule[] children = server.getChildModules(new IModule[] { module }, null); - if (children != null && children.length > 0) - childModuleMap.put(new ChildModuleMapKey(module), children); - } catch (Exception e) { - // ignore - } - } - - iterator = modules.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - try { - IModule[] children = server.getChildModules(new IModule[] { module }, null); - if (children != null && children.length > 0) - childModuleMap.put(new ChildModuleMapKey(module), children); - } catch (Exception e) { - // ignore - } - } - - if (availableTreeViewer != null) - Display.getDefault().syncExec(new Runnable() { - public void run() { - try { // update trees if we can - availableTreeViewer.refresh(); - deployedTreeViewer.refresh(); - setEnablement(); - } catch (Exception e) { - // ignore - } - } - }); - updateTaskModel(); - } - - public void setTaskModel(TaskModel model) { - this.taskModel = model; - } - - /** - * Creates the UI of the page. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.numColumns = 3; - setLayout(layout); - setFont(getParent().getFont()); - PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.MODIFY_MODULES_COMPOSITE); - - Label label = new Label(this, SWT.NONE); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - data.horizontalSpan = 3; - label.setLayoutData(data); - label.setText(Messages.wizModuleMessage); - - label = new Label(this, SWT.NONE); - label.setText(Messages.wizModuleAvailableList); - - label = new Label(this, SWT.NONE); - label.setText(""); - - label = new Label(this, SWT.NONE); - label.setText(Messages.wizModuleDeployedList); - - Tree availableTree = new Tree(this, SWT.BORDER); - data = new GridData(GridData.FILL_BOTH); - data.heightHint = 200; - data.widthHint = 150; - availableTree.setLayoutData(data); - - availableTreeViewer = new TreeViewer(availableTree); - availableTreeViewer.setLabelProvider(ServerUICore.getLabelProvider()); - availableTreeViewer.setContentProvider(new AvailableContentProvider()); - availableTreeViewer.setSorter(new ViewerSorter()); - availableTreeViewer.setInput("root"); - - availableTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - setEnablement(); - } - }); - availableTreeViewer.addDoubleClickListener(new IDoubleClickListener() { - public void doubleClick(DoubleClickEvent event) { - setEnablement(); - if (add.isEnabled()) - add(false); - } - }); - - // slosh buttons - Composite comp = new Composite(this, SWT.NONE); - data = new GridData(GridData.FILL_BOTH); - data.widthHint = 120; - comp.setLayoutData(data); - - layout = new GridLayout(); - layout.marginWidth = 5; - layout.marginHeight = 25; - layout.verticalSpacing = 20; - comp.setLayout(layout); - - add = new Button(comp, SWT.PUSH); - add.setText(Messages.wizModuleAdd); - add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - add.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - add(false); - } - }); - - remove = new Button(comp, SWT.PUSH); - remove.setText(Messages.wizModuleRemove); - remove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - remove.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - remove(false); - } - }); - - label = new Label(comp, SWT.NONE); - label.setText(""); - - addAll = new Button(comp, SWT.PUSH); - addAll.setText(Messages.wizModuleAddAll); - addAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - addAll.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - add(true); - } - }); - - removeAll = new Button(comp, SWT.PUSH); - removeAll.setText(Messages.wizModuleRemoveAll); - removeAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - removeAll.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - remove(true); - } - }); - - Tree deployedTree = new Tree(this, SWT.BORDER); - data = new GridData(GridData.FILL_BOTH); - data.widthHint = 150; - deployedTree.setLayoutData(data); - - deployedTreeViewer = new TreeViewer(deployedTree); - deployedTreeViewer.setLabelProvider(ServerUICore.getLabelProvider()); - deployedTreeViewer.setContentProvider(new DeployedContentProvider()); - deployedTreeViewer.setSorter(new ViewerSorter()); - deployedTreeViewer.setInput("root"); - - deployedTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - setEnablement(); - } - }); - deployedTreeViewer.addDoubleClickListener(new IDoubleClickListener() { - public void doubleClick(DoubleClickEvent event) { - setEnablement(); - if (remove.isEnabled()) - remove(false); - } - }); - - setEnablement(); - availableTree.setFocus(); - - Dialog.applyDialogFont(this); - } - - protected IModule getAvailableSelection() { - IStructuredSelection sel = (IStructuredSelection) availableTreeViewer.getSelection(); - return getModule((IModule[]) sel.getFirstElement()); - } - - protected IModule getDeployedSelection() { - IStructuredSelection sel = (IStructuredSelection) deployedTreeViewer.getSelection(); - return getModule((IModule[]) sel.getFirstElement()); - } - - protected static IModule getModule(IModule[] modules2) { - if (modules2 == null) - return null; - return modules2[modules2.length - 1]; - } - - protected void setEnablement() { - boolean enabled = false; - wizard.setMessage(null, IMessageProvider.NONE); - - IModule module = getAvailableSelection(); - if (module != null) { - try { - IStatus status = (IStatus) errorMap.get(module); - if (modules.contains(module)) { - if (status == null) - enabled = true; - else if (status.getSeverity() == IStatus.ERROR) - wizard.setMessage(status.getMessage(), IMessageProvider.ERROR); - else if (status.getSeverity() == IStatus.WARNING) - wizard.setMessage(status.getMessage(), IMessageProvider.WARNING); - else if (status.getSeverity() == IStatus.INFO) - wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION); - } - } catch (Exception e) { - // ignore - } - } - add.setEnabled(enabled); - addAll.setEnabled(modules.size() > 0); - - enabled = false; - module = getDeployedSelection(); - if (module != null) { - try { - if (deployed.contains(module) && !module.equals(newModule)) - enabled = true; - } catch (Exception e) { - // ignore - } - } - remove.setEnabled(enabled); - if (newModule == null) - removeAll.setEnabled(deployed.size() > 0); - else - removeAll.setEnabled(deployed.size() > 1); - } - - protected void add(boolean all) { - if (all) { - IModule[] modules2 = new IModule[modules.size()]; - modules.toArray(modules2); - moveAll(modules2, true); - } else - moveAll(new IModule[] { getAvailableSelection() }, true); - updateTaskModel(); - } - - protected void remove(boolean all) { - if (all) { - IModule[] modules2 = new IModule[deployed.size()]; - deployed.toArray(modules2); - moveAll(modules2, false); - } else - moveAll(new IModule[] { getDeployedSelection() }, false); - updateTaskModel(); - } - - protected void moveAll(IModule[] mods, boolean add2) { - int size = mods.length; - List list = new ArrayList(); - for (int i = 0; i < size; i++) { - IStatus status = (IStatus) errorMap.get(mods[i]); - - if (status == null && !list.contains(mods[i])) - list.add(mods[i]); - } - - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - if (add2) { - modules.remove(module); - deployed.add(module); - } else if (!module.equals(newModule)) { - modules.add(module); - deployed.remove(module); - } - } - - availableTreeViewer.refresh(); - deployedTreeViewer.refresh(); - - setEnablement(); - } - - protected void updateTaskModel() { - if (taskModel == null) - return; - - taskModel.putObject(TaskModel.TASK_MODULES, getModuleMap()); - wizard.update(); - } - - public List getModulesToRemove() { - List list = new ArrayList(); - Iterator iterator = originalModules.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - if (!deployed.contains(module)) - list.add(module); - } - return list; - } - - public List getModulesToAdd() { - List list = new ArrayList(); - Iterator iterator = deployed.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - if (!originalModules.contains(module)) - list.add(module); - } - return list; - } - - private void addChildMap(List map, IModule[] parents, IModule[] children) { - if (children == null) - return; - - int size = children.length; - for (int i = 0; i < size; i++) { - IModule module = children[i]; - - int size2 = parents.length; - IModule[] modules2 = new IModule[size2 + 1]; - System.arraycopy(parents, 0, modules2, 0, size2); - modules2[size2] = module; - map.add(modules2); - - IModule[] children2 = (IModule[]) childModuleMap.get(new ChildModuleMapKey(module)); - if (children2 != null) - addChildMap(map, modules2, children2); - } - } - - public List getModuleMap() { - final List map = new ArrayList(); - - Iterator iterator = deployed.iterator(); - while (iterator.hasNext()) { - IModule module = (IModule) iterator.next(); - IModule[] moduleTree = new IModule[] { module }; - map.add(moduleTree); - IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(module)); - if (children != null) - addChildMap(map, moduleTree, children); - } - - return map; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java deleted file mode 100644 index 8aaca6f3c..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewDetectServerComposite.java +++ /dev/null @@ -1,230 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.viewers.*; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerAttributes; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.ui.internal.SWTUtil; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -/** - * A wizard page used to detect a server. - */ -public class NewDetectServerComposite extends Composite { - protected String host; - - protected IServerWorkingCopy server; - protected IServerSelectionListener listener; - - protected List servers = new ArrayList(); - - protected Button detect; - protected Table table; - protected TableViewer tableViewer; - protected Label hostLabel; - - public interface IServerSelectionListener { - public void serverSelected(IServerAttributes server); - } - - public class ServerContentProvider implements IStructuredContentProvider { - public void dispose() { - // do nothing - } - - public Object[] getElements(Object inputElement) { - return servers.toArray(); - } - - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // do nothing - } - } - - public class ServerLabelProvider implements ITableLabelProvider { - public void addListener(ILabelProviderListener listener2) { - // do nothing - } - - public void dispose() { - // do nothing - } - - public Image getColumnImage(Object element, int columnIndex) { - return null; - } - - public String getColumnText(Object element, int columnIndex) { - IServer server2 = (IServer) element; - if (columnIndex == 0) - return server2.getName(); - else if (columnIndex == 0) - return "n/a"; - return null; - } - - public boolean isLabelProperty(Object element, String property) { - return false; - } - - public void removeListener(ILabelProviderListener listener2) { - // do nothing - } - } - - /** - * Create a new NewDetectServerComposite. - * - * @param parent a parent composite - * @param listener2 a server selection listener - */ - public NewDetectServerComposite(Composite parent, IServerSelectionListener listener2) { - super(parent, SWT.NONE); - this.listener = listener2; - - createControl(); - } - - protected Label createHeadingLabel(Composite parent, String text, int span) { - Label label = createLabel(parent, text, span, true, false); - label.setFont(JFaceResources.getBannerFont()); - return label; - } - - protected Label createLabel(Composite parent, String text, int span, boolean alignTop, boolean indent) { - Label label = new Label(parent, SWT.WRAP); - label.setText(text); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER); - if (alignTop) - data.verticalAlignment = GridData.BEGINNING; - data.horizontalSpan = span; - if (indent) - data.horizontalIndent = 10; - label.setLayoutData(data); - return label; - } - - /** - * Creates the UI of the page. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 2; - setLayout(layout); - //WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD); - - createHeadingLabel(this, "Select the Server", 2); - - table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - data.heightHint = 60; - data.widthHint = 50; - data.horizontalSpan = 2; - data.horizontalIndent = 10; - table.setLayoutData(data); - - TableLayout tableLayout = new TableLayout(); - table.setHeaderVisible(true); - - tableLayout.addColumnData(new ColumnWeightData(50, 100, true)); - TableColumn col = new TableColumn(table, SWT.NONE); - col.setText("Server"); - - tableLayout.addColumnData(new ColumnWeightData(40, 80, true)); - TableColumn col2 = new TableColumn(table, SWT.NONE); - col2.setText("Status"); - - table.setLayout(tableLayout); - - tableViewer = new TableViewer(table); - tableViewer.setContentProvider(new ServerContentProvider()); - tableViewer.setLabelProvider(new ServerLabelProvider()); - tableViewer.setColumnProperties(new String[] {"name", "status"}); - tableViewer.setInput("root"); - - String date = "<now>"; - hostLabel = createLabel(this, "Last detected servers on " + host + " at " + date + ":", 1, false, true); - - detect = SWTUtil.createButton(this, "Refresh"); - detect.setEnabled(false); - data = (GridData) detect.getLayoutData(); - data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END; - - // listeners - detect.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - // do nothing - } - }); - - tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - IStructuredSelection sel = (IStructuredSelection) event.getSelection(); - Object obj = sel.getFirstElement(); - IServerWorkingCopy newServer = null; - if (obj instanceof IServerWorkingCopy) - newServer = (IServerWorkingCopy) obj; - - if ((newServer == null && server != null) || (newServer != null && !newServer.equals(server))) { - server = newServer; - listener.serverSelected(server); - } - } - }); - - setHost(null); - - Dialog.applyDialogFont(this); - } - - public String getHost() { - return host; - } - - public void setHost(String host) { - this.host = host; - servers = new ArrayList(); - tableViewer.refresh(); - if (host != null) { - hostLabel.setText("Detected servers on " + host + ":"); - detect.setEnabled(true); - table.setEnabled(true); - } else { - hostLabel.setText("No host selected"); - detect.setEnabled(false); - table.setEnabled(false); - } - } - - public IServerWorkingCopy getServer() { - return server; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewInstallableServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewInstallableServerComposite.java deleted file mode 100644 index e921b2026..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewInstallableServerComposite.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import org.eclipse.jface.dialogs.Dialog; - -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.core.internal.IInstallableServer; -import org.eclipse.wst.server.ui.internal.SWTUtil; -import org.eclipse.wst.server.ui.internal.viewers.InstallableServerComposite; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -/** - * A composite used to select a server to install. - */ -public class NewInstallableServerComposite extends Composite { - private TaskModel taskModel; - private IWizardHandle wizard; - - /** - * Create a new NewInstallableServerComposite. - * - * @param parent a parent composite - * @param taskModel a task model - * @param wizard the wizard this composite is contained in - */ - public NewInstallableServerComposite(Composite parent, TaskModel taskModel, IWizardHandle wizard) { - super(parent, SWT.NONE); - this.taskModel = taskModel; - this.wizard = wizard; - - createControl(); - } - - /** - * Creates the UI of the page. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 3; - setLayout(layout); - //WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD); - - InstallableServerComposite comp = new InstallableServerComposite(this, SWT.NONE, new InstallableServerComposite.InstallableServerSelectionListener() { - public void installableServerSelected(IInstallableServer server) { - handleSelection(server); - } - }); - GridData data = new GridData(GridData.FILL_BOTH); - data.heightHint = 200; - comp.setLayoutData(data); - - Dialog.applyDialogFont(this); - } - - protected void handleSelection(IInstallableServer server) { - taskModel.putObject("installableServer", server); - wizard.update(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java deleted file mode 100644 index fe9898a29..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java +++ /dev/null @@ -1,396 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.preference.PreferenceDialog; -import org.eclipse.jface.window.Window; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.dialogs.PreferencesUtil; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.core.internal.ServerWorkingCopy; -import org.eclipse.wst.server.core.util.SocketUtil; -import org.eclipse.wst.server.ui.internal.*; -import org.eclipse.wst.server.ui.internal.viewers.ServerTypeComposite; -/** - * Wizard page used to create a server and configuration at the same time. - */ -public class NewManualServerComposite extends Composite { - public interface ServerSelectionListener { - public void serverSelected(IServerAttributes server); - public void runtimeSelected(IRuntime runtime); - } - - public interface IWizardHandle2 { - public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException; - public void update(); - public void setMessage(String newMessage, int newType); - } - protected IWizardHandle2 wizard; - - protected ServerTypeComposite serverTypeComposite; - - protected Label runtimeLabel; - protected Combo runtimeCombo; - protected Button runtimeButton; - protected IRuntime[] runtimes; - - protected IRuntime runtime; - protected IServerWorkingCopy server; - protected ServerSelectionListener listener; - - protected String host; - - protected IModuleType moduleType; - - protected ElementCreationCache cache = new ElementCreationCache(); - - /** - * Creates a new server and server configuration. If the initial - * resource selection contains exactly one container resource then it will be - * used as the default container resource. - * - * @param parent a parent composite - * @param wizard a wizard handle - * @param moduleType a module type - * @param listener a server selection listener - */ - public NewManualServerComposite(Composite parent, IWizardHandle2 wizard, IModuleType moduleType, ServerSelectionListener listener) { - super(parent, SWT.NONE); - this.wizard = wizard; - this.listener = listener; - - this.moduleType = moduleType; - - createControl(); - wizard.setMessage("", IMessageProvider.ERROR); //$NON-NLS-1$ - } - - /** - * Returns this page's initial visual components. - */ - protected void createControl() { - // top level group - GridLayout layout = new GridLayout(); - layout.numColumns = 3; - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.marginWidth = 0; - layout.marginHeight = 0; - setLayout(layout); - - this.setFont(getParent().getFont()); - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(this, ContextIds.NEW_SERVER_WIZARD); - - serverTypeComposite = new ServerTypeComposite(this, SWT.NONE, moduleType, new ServerTypeComposite.ServerTypeSelectionListener() { - public void serverTypeSelected(IServerType type2) { - handleTypeSelection(type2); - //WizardUtil.defaultSelect(parent, CreateServerWizardPage.this); - } - }); - serverTypeComposite.setIncludeIncompatibleVersions(true); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - data.horizontalSpan = 3; - serverTypeComposite.setLayoutData(data); - whs.setHelp(serverTypeComposite, ContextIds.NEW_SERVER_TYPE); - - runtimeLabel = new Label(this, SWT.NONE); - runtimeLabel.setText(Messages.wizNewServerRuntime); - - runtimeCombo = new Combo(this, SWT.READ_ONLY); - runtimeCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - runtimeCombo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - try { - runtime = runtimes[runtimeCombo.getSelectionIndex()]; - if (server != null) { - server.setRuntime(runtime); - listener.runtimeSelected(runtime); - } - } catch (Exception ex) { - // ignore - } - } - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - - runtimeButton = SWTUtil.createButton(this, Messages.installedRuntimes); - runtimeButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); - runtimeButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (showPreferencePage()) - updateRuntimeCombo(serverTypeComposite.getSelectedServerType()); - } - }); - Dialog.applyDialogFont(this); - } - - protected boolean showPreferencePage() { - String id = "org.eclipse.wst.server.ui.preferencePage"; - String id2 = "org.eclipse.wst.server.ui.runtime.preferencePage"; - final PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), id2, new String[] { id, id2 }, null); - return (dialog.open() == Window.OK); - } - - public void setHost(String host) { - this.host = host; - if (serverTypeComposite == null) - return; - if (host == null) { - serverTypeComposite.setHost(true); - } else if (SocketUtil.isLocalhost(host)) - serverTypeComposite.setHost(true); - else - serverTypeComposite.setHost(false); - handleTypeSelection(serverTypeComposite.getSelectedServerType()); - if (server != null) { - server.setHost(host); - ServerUtil.setServerDefaultName(server); - } - } - - /** - * Return the current editable element. - */ - protected void loadServerImpl(final IServerType serverType) { - //runtime = null; - server = null; - - if (serverType == null) - return; - - server = cache.getCachedServer(serverType, host); - if (server != null) { - server.setHost(host); - ServerUtil.setServerDefaultName(server); - runtime = server.getRuntime(); - return; - } - - final CoreException[] ce = new CoreException[1]; - - IRunnableWithProgress runnable = new IRunnableWithProgress() { - public void run(IProgressMonitor monitor) { - try { - monitor = ProgressUtil.getMonitorFor(monitor); - int ticks = 200; - monitor.beginTask(NLS.bind(Messages.loadingTask, serverType.getName()), ticks); - - server = cache.getServer(serverType, host, ProgressUtil.getSubMonitorFor(monitor, 200)); - if (server != null) { - server.setHost(host); - ServerUtil.setServerDefaultName(server); - - if (serverType.hasRuntime() && server.getRuntime() == null) { - server.setRuntime(runtime); - - if (server.getServerType().hasServerConfiguration()) { - ((ServerWorkingCopy)server).importConfiguration(runtime, null); - } - } - } - } catch (CoreException cex) { - ce[0] = cex; - } catch (Throwable t) { - Trace.trace(Trace.SEVERE, "Error creating element", t); //$NON-NLS-1$ - } finally { - monitor.done(); - } - } - }; - try { - wizard.run(true, false, runnable); - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Error with runnable", e); //$NON-NLS-1$ - } - - if (ce[0] != null) - wizard.setMessage(ce[0].getLocalizedMessage(), IMessageProvider.ERROR); - else if (server == null) - wizard.setMessage(Messages.wizErrorServerCreationError, IMessageProvider.ERROR); - } - - /** - * Look for test environment runtime first. Otherwise, pick any runtime. - * - * @return the default runtime - */ - protected IRuntime getDefaultRuntime() { - if (runtimes == null || runtimes.length == 0) - return null; - - if (runtimes != null) { - int size = runtimes.length; - for (int i = 0; i < size; i++) { - if (!runtimes[i].isStub()) - return runtimes[i]; - } - } - return runtimes[0]; - } - - protected void updateRuntimeCombo(IServerType serverType) { - runtime = null; - - if (serverType == null || !serverType.hasRuntime()) { - if (runtimeLabel != null) { - runtimeLabel.setEnabled(false); - runtimeCombo.setItems(new String[0]); - runtimeCombo.setEnabled(false); - runtimeLabel.setVisible(false); - runtimeCombo.setVisible(false); - runtimeButton.setEnabled(false); - runtimeButton.setVisible(false); - - } - return; - } - - IRuntimeType runtimeType = serverType.getRuntimeType(); - runtimes = ServerUIPlugin.getRuntimes(runtimeType); - - if (server != null && SocketUtil.isLocalhost(server.getHost()) && runtimes != null) { - List runtimes2 = new ArrayList(); - int size = runtimes.length; - for (int i = 0; i < size; i++) { - IRuntime runtime2 = runtimes[i]; - if (!runtime2.isStub()) - runtimes2.add(runtime2); - } - runtimes = new IRuntime[runtimes2.size()]; - runtimes2.toArray(runtimes); - } - - if (runtimes.length == 0) { - // create new runtime - try { - IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(null, null); - ServerUtil.setRuntimeDefaultName(runtimeWC); - runtimes = new IRuntime[1]; - runtimes[0] = runtimeWC; - } catch (Exception e) { - Trace.trace(Trace.SEVERE, "Couldn't create runtime", e); //$NON-NLS-1$ - } - } - - int size = runtimes.length; - String[] items = new String[size]; - for (int i = 0; i < size; i++) - items[i] = runtimes[i].getName(); - - runtime = getDefaultRuntime(); - if (runtimeCombo != null) { - runtimeCombo.setItems(items); - if (runtimes.length > 0) { - for (int i = 0; i < size; i++) { - if (runtimes[i].equals(runtime)) - runtimeCombo.select(i); - } - } - - boolean showRuntime = ServerUIPlugin.getRuntimes(runtimeType).length >=1; - runtimeCombo.setEnabled(showRuntime); - runtimeLabel.setEnabled(showRuntime); - runtimeButton.setEnabled(showRuntime); - runtimeLabel.setVisible(showRuntime); - runtimeCombo.setVisible(showRuntime); - runtimeButton.setVisible(showRuntime); - } - } - - /** - * Handle the server type selection. - */ - protected void handleTypeSelection(IServerType serverType) { - boolean wrong = false; - if (serverType != null && moduleType != null) { - IRuntimeType runtimeType = serverType.getRuntimeType(); - if (!ServerUtil.isSupportedModule(runtimeType.getModuleTypes(), moduleType)) { - serverType = null; - wrong = true; - //wizard.setMessage("Not the right spec level2", IMessageProvider.ERROR); - } - } - - updateRuntimeCombo(serverType); - if (wrong) { - server = null; - wizard.setMessage(NLS.bind(Messages.errorVersionLevel, new Object[] { moduleType.getName(), moduleType.getVersion() }), IMessageProvider.ERROR); - } else if (serverType == null) { - server = null; - wizard.setMessage("", IMessageProvider.ERROR); //$NON-NLS-1$ - } else { - wizard.setMessage(null, IMessageProvider.NONE); - loadServerImpl(serverType); - } - listener.serverSelected(server); - wizard.update(); - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - - if (visible) { - /*if (defaultServerFactory != null) { - tree.setSelection(new TreeItem[] { defaultServerFactory }); - tree.showItem(tree.getItems()[0]); - }*/ - // force the focus to initially validate the fields - handleTypeSelection(null); - } - - Control[] c = getChildren(); - if (c != null) { - int size = c.length; - for (int i = 0; i < size; i++) - if (c[i] != null && c[i] instanceof ServerTypeComposite) - c[i].setVisible(visible); - } - if (visible) - handleTypeSelection(serverTypeComposite.getSelectedServerType()); - } - - public void refresh() { - serverTypeComposite.refresh(); - } - - public IRuntime getRuntime() { - return runtime; - } - - public IServerWorkingCopy getServer() { - return server; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java deleted file mode 100644 index 06b33c3f9..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewRuntimeComposite.java +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.wst.server.core.*; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.SWTUtil; -import org.eclipse.wst.server.ui.internal.viewers.RuntimeTypeComposite; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Tree; -/** - * - */ -public class NewRuntimeComposite extends Composite { - protected Tree tree; - protected TreeViewer treeViewer; - - protected IRuntimeWorkingCopy runtime; - protected Map runtimeMap = new HashMap(); - - protected TaskModel taskModel; - protected IWizardHandle wizard; - - protected String type; - protected String version; - protected String runtimeTypeId; - - public NewRuntimeComposite(Composite parent, IWizardHandle wizard, TaskModel tm, String type, String version, String runtimeTypeId) { - super(parent, SWT.NONE); - - this.wizard = wizard; - this.taskModel = tm; - this.type = type; - this.version = version; - this.runtimeTypeId = runtimeTypeId; - - createControl(); - - wizard.setTitle(Messages.wizNewRuntimeTitle); - wizard.setDescription(Messages.wizNewRuntimeDescription); - wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_RUNTIME)); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) - */ - public void createControl() { - //initializeDialogUnits(parent); - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - setLayout(layout); - - final RuntimeTypeComposite comp = new RuntimeTypeComposite(this, SWT.NONE, true, new RuntimeTypeComposite.RuntimeTypeSelectionListener() { - public void runtimeTypeSelected(IRuntimeType runtimeType) { - handleSelection(runtimeType); - } - }, type, version, runtimeTypeId); - GridData data = new GridData(GridData.FILL_BOTH); - data.heightHint = 250; - comp.setLayoutData(data); - } - - protected void handleSelection(IRuntimeType runtimeType) { - if (runtimeType == null) - runtime = null; - else { - try { - runtime = null; - runtime = (IRuntimeWorkingCopy) runtimeMap.get(runtimeType); - } catch (Exception e) { - // ignore - } - if (runtime == null) { - try { - runtime = runtimeType.createRuntime(null, null); - ServerUtil.setRuntimeDefaultName(runtime); - if (runtime != null) - runtimeMap.put(runtimeType, runtime); - } catch (Exception e) { - // ignore - } - } - } - - taskModel.putObject(TaskModel.TASK_RUNTIME, runtime); - wizard.update(); - } - - public IRuntimeWorkingCopy getRuntime() { - return runtime; - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - - Control[] c = getChildren(); - if (c != null) { - int size = c.length; - for (int i = 0; i < size; i++) - if (c[i] != null) - c[i].setVisible(visible); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java deleted file mode 100644 index 348b95c43..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewServerComposite.java +++ /dev/null @@ -1,487 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.operation.IRunnableWithProgress; - -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.server.core.IModule; -import org.eclipse.wst.server.core.IModuleType; -import org.eclipse.wst.server.core.IRuntime; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerAttributes; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.core.IServerWorkingCopy; -import org.eclipse.wst.server.core.TaskModel; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.ServerUtil; -import org.eclipse.wst.server.ui.internal.*; -import org.eclipse.wst.server.ui.internal.viewers.ServerComposite; -import org.eclipse.wst.server.ui.internal.wizard.fragment.NewServerWizardFragment; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -/** - * A wizard page used to select a server. - */ -public class NewServerComposite extends Composite { - protected IWizardHandle wizard; - protected TaskModel taskModel; - protected IModule module; - protected String launchMode; - - protected static final byte MODE_EXISTING = 0; - protected static final byte MODE_DETECT = 1; - protected static final byte MODE_MANUAL= 2; - protected byte mode; - - protected Composite detectComp2; - protected NewDetectServerComposite detectComp; - protected HostnameComposite detectHostComp; - protected Composite manualComp2; - protected NewManualServerComposite manualComp; - protected HostnameComposite manualHostComp; - protected ServerComposite existingComp; - - protected Composite stack; - protected StackLayout stackLayout; - - protected String lastHostname; - - protected Button pref; - protected boolean preferred; - - protected IServerWorkingCopy existingWC; - - /** - * Create a new NewServerComposite. - * - * @param parent a parent composite - * @param wizard a wizard handle - * @param module a module - * @param launchMode a launch mode - */ - public NewServerComposite(Composite parent, IWizardHandle wizard, IModule module, String launchMode) { - super(parent, SWT.NONE); - this.wizard = wizard; - this.module = module; - this.launchMode = launchMode; - - wizard.setTitle(Messages.wizNewServerTitle); - wizard.setDescription(Messages.wizNewServerDescription); - wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_NEW_SERVER)); - - createControl(); - } - - public NewServerComposite(Composite parent, IWizardHandle wizard) { - this(parent, wizard, null, null); - } - - protected Label createLabel(Composite parent, String text, int span) { - Label label = new Label(parent, SWT.WRAP); - label.setText(text); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.horizontalSpan = span; - label.setLayoutData(data); - return label; - } - - protected Label createLabel(Composite parent, String text) { - return createLabel(parent, text, 1); - } - - protected Button createRadioButton(Composite parent, String text, int span) { - Button button = new Button(parent, SWT.RADIO); - button.setText(text); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.horizontalSpan = span; - data.horizontalIndent = 10; - button.setLayoutData(data); - return button; - } - - protected Text createText(Composite parent, String text2, int span) { - Text text = new Text(parent, SWT.NONE); - text.setText(text2); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.horizontalSpan = span; - text.setLayoutData(data); - return text; - } - - /** - * Creates the UI of the page. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - setLayout(layout); - //WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD); - - if (module != null) - createLabel(this, Messages.wizNewServerSelect, 1); - - Button existing = null; - if (module != null) { - final Button predefined = createRadioButton(this, Messages.wizNewServerExisting, 1); - predefined.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (predefined.getSelection()) - toggleMode(MODE_EXISTING); - } - }); - existing = predefined; - } - - /*final Button auto = createRadioButton(this, Messages.wizNewServerDetect"), 1); - auto.setEnabled(false); - auto.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (auto.getSelection()) - toggleMode(MODE_DETECT); - } - });*/ - - Button manual = null; - if (module != null) { - final Button manualButton = createRadioButton(this, Messages.wizNewServerManual, 1); - manualButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (manualButton.getSelection()) - toggleMode(MODE_MANUAL); - } - }); - manual = manualButton; - } - - stack = new Composite(this, SWT.NONE); - GridData data = new GridData(GridData.FILL_BOTH); - stack.setLayoutData(data); - stackLayout = new StackLayout(); - stackLayout.marginHeight = 0; - stackLayout.marginWidth = 0; - stack.setLayout(stackLayout); - - if (module != null) - createExistingComposite(stack); - createAutoComposite(stack); - createManualComposite(stack); - - if (existingComp != null) { - if (isExistingServer()) { - mode = MODE_EXISTING; - stackLayout.topControl = existingComp; - existing.setSelection(true); - } else { - mode = MODE_MANUAL; - stackLayout.topControl = manualComp2; - manualComp.setVisible(true); - if (manual != null) - manual.setSelection(true); - existing.setEnabled(false); - existingComp.setEnabled(false); - } - } else { - mode = MODE_MANUAL; - stackLayout.topControl = manualComp2; - manualComp.setVisible(true); - if (manual != null) - manual.setSelection(true); - } - - if (module != null) { - // preferred server button - pref = new Button(this, SWT.CHECK | SWT.WRAP); - pref.setText(Messages.wizSelectServerPreferred); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_END); - //pref.setSelection(true); - //preferred = true; - data.horizontalSpan = 1; - pref.setLayoutData(data); - pref.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - preferred = pref.getSelection(); - } - }); - PlatformUI.getWorkbench().getHelpSystem().setHelp(pref, ContextIds.SELECT_SERVER_PREFERENCE); - } - - Dialog.applyDialogFont(this); - } - - protected void toggleMode(byte newMode) { - if (!isVisible()) - return; - - if (newMode == mode) - return; - - mode = newMode; - wizard.setMessage(null, IMessageProvider.NONE); - - if (mode == MODE_EXISTING) { - stackLayout.topControl = existingComp; - existingComp.setSelection(existingComp.getSelectedServer()); - } else if (mode == MODE_DETECT) { - stackLayout.topControl = detectComp2; - detectComp.setVisible(true); - } else { - stackLayout.topControl = manualComp2; - manualComp.setVisible(true); - } - stack.layout(); - if (taskModel != null) { - taskModel.putObject(NewServerWizardFragment.MODE, new Byte(mode)); - updateTaskModel(); - } - } - - protected HostnameComposite createHostComposite(Composite comp) { - HostnameComposite hostComp = new HostnameComposite(comp, new HostnameComposite.IHostnameSelectionListener() { - public void hostnameSelected(String host) { - lastHostname = host; - if (detectComp != null) - detectComp.setHost(host); - if (manualComp != null) - manualComp.setHost(host); - } - }); - - if (lastHostname != null) - hostComp.setHostname(lastHostname); - - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 3; - hostComp.setLayoutData(data); - return hostComp; - } - - protected void createAutoComposite(Composite comp) { - detectComp2 = new Composite(comp, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 1; - detectComp2.setLayout(layout); - - detectHostComp = createHostComposite(detectComp2); - - detectComp = new NewDetectServerComposite(detectComp2, new NewDetectServerComposite.IServerSelectionListener() { - public void serverSelected(IServerAttributes server) { - // do nothing - } - }); - - if (lastHostname != null) - detectComp.setHost(lastHostname); - else - detectComp.setHost("localhost"); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - data.horizontalSpan = 3; - data.heightHint = 150; - detectComp.setLayoutData(data); - } - - protected void createExistingComposite(Composite comp) { - existingComp = new ServerComposite(comp, SWT.NONE, new ServerComposite.ServerSelectionListener() { - public void serverSelected(IServer server) { - wizard.setMessage(null, IMessageProvider.NONE); - - // check for compatibility - if (server != null && module != null) { - IServerType serverType = server.getServerType(); - IModuleType mt = module.getModuleType(); - if (!ServerUtil.isSupportedModule(serverType.getRuntimeType().getModuleTypes(), mt)) { - String type = mt.getName(); - wizard.setMessage(NLS.bind(Messages.errorVersionLevel, new Object[] { type, mt.getVersion() }), IMessageProvider.ERROR); - server = null; - } - if (wizard.getMessage() == null) { - try { - server.getRootModules(module, null); - } catch (CoreException ce) { - IStatus status = ce.getStatus(); - if (status != null) { - if (status.getSeverity() == IStatus.ERROR) - wizard.setMessage(status.getMessage(), IMessageProvider.ERROR); - else if (status.getSeverity() == IStatus.WARNING) - wizard.setMessage(status.getMessage(), IMessageProvider.WARNING); - else if (status.getSeverity() == IStatus.INFO) - wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION); - } - } catch (Exception e) { - Trace.trace(Trace.WARNING, "Could not find root module", e); - } - } - } - - if (existingWC != null) { - if (server != null && server.equals(existingWC.getOriginal())) - return; - existingWC = null; - } - if (server != null) - existingWC = server.createWorkingCopy(); - updateTaskModel(); - } - }, module, launchMode); - existingComp.setIncludeIncompatibleVersions(true); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - data.horizontalSpan = 3; - data.heightHint = 150; - existingComp.setLayoutData(data); - } - - protected boolean isExistingServer() { - if (module == null || launchMode == null) - return false; - - IServer[] servers = ServerCore.getServers(); - if (servers != null) { - int size = servers.length; - for (int i = 0; i < size; i++) { - IModuleType mt = module.getModuleType(); - if (ServerUIPlugin.isCompatibleWithLaunchMode(servers[i], launchMode) && - ServerUtil.isSupportedModule(servers[i].getServerType().getRuntimeType().getModuleTypes(), mt)) - return true; - } - } - return false; - } - - protected void createManualComposite(Composite comp) { - manualComp2 = new Composite(comp, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 1; - manualComp2.setLayout(layout); - manualComp2.setLayoutData(new GridData(GridData.FILL_BOTH)); - - manualHostComp = createHostComposite(manualComp2); - IModuleType mt = null; - if (module != null) - mt = module.getModuleType(); - - manualComp = new NewManualServerComposite(manualComp2, new NewManualServerComposite.IWizardHandle2() { - public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException { - wizard.run(fork, cancelable, runnable); - } - public void update() { - wizard.update(); - } - public void setMessage(String newMessage, int newType) { - wizard.setMessage(newMessage, newType); - } - }, mt, new NewManualServerComposite.ServerSelectionListener() { - public void serverSelected(IServerAttributes server) { - updateTaskModel(); - } - public void runtimeSelected(IRuntime runtime) { - updateTaskModel(); - } - }); - - if (lastHostname != null) - manualComp.setHost(lastHostname); - else - manualComp.setHost("localhost"); - - GridData data = new GridData(GridData.FILL_BOTH); - data.horizontalSpan = 3; - data.heightHint = 300; - manualComp.setLayoutData(data); - } - - protected void updateTaskModel() { - if (taskModel != null) { - IServerWorkingCopy server = getServer(); - if (server != null) { - taskModel.putObject(TaskModel.TASK_SERVER, server); - taskModel.putObject(TaskModel.TASK_RUNTIME, server.getRuntime()); - } else { - taskModel.putObject(TaskModel.TASK_SERVER, null); - taskModel.putObject(TaskModel.TASK_RUNTIME, null); - } - } - wizard.update(); - } - - public void setTaskModel(TaskModel model) { - taskModel = model; - taskModel.putObject(NewServerWizardFragment.MODE, new Byte(mode)); - updateTaskModel(); - } - - public IServerWorkingCopy getServer() { - if (mode == MODE_EXISTING) - return existingWC; //existingComp.getSelectedServer(); - else if (mode == MODE_DETECT) - return detectComp.getServer(); - else - return manualComp.getServer(); - } - - public IRuntime getRuntime() { - if (mode == MODE_EXISTING) { - IServer server = existingComp.getSelectedServer(); - if (server != null) - return server.getRuntime(); - return null; - } else if (mode == MODE_DETECT) - return null; - else - return manualComp.getRuntime(); - } - - /** - * Returns true if this server should become the preferred server. - * - * @return boolean - */ - public boolean isPreferredServer() { - return preferred; - } - - public void setVisible(boolean visible) { - super.setVisible(visible); - - Control[] c = getChildren(); - if (c != null) { - int size = c.length; - for (int i = 0; i < size; i++) - if (c[i] != null) - c[i].setVisible(visible); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java deleted file mode 100644 index 683fbfb65..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java +++ /dev/null @@ -1,161 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - **********************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.wst.server.core.internal.IClient; -import org.eclipse.wst.server.ui.ServerUICore; -import org.eclipse.wst.server.ui.internal.*; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -/** - * A wizard page used to select a server client. - */ -public class SelectClientComposite extends Composite { - protected IWizardHandle wizard; - - // the list of elements to select from - protected IClient[] clients; - - // the currently selected element - protected IClient selectedClient; - - // the table containing the elements - protected Table elementTable; - - // the description of the selected client - protected Label description; - - /** - * Create a new SelectClientComposite. - * - * @param parent a parent composite - * @param wizard a wizard handle - * @param clients an array of clients - */ - public SelectClientComposite(Composite parent, IWizardHandle wizard, IClient[] clients) { - super(parent, SWT.NONE); - this.wizard = wizard; - this.clients = clients; - - wizard.setTitle(Messages.wizSelectClientTitle); - wizard.setDescription(Messages.wizSelectClientDescription); - wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER_CLIENT)); - - createControl(); - } - - /** - * Clears the selected client. - */ - public void clearSelectedClient() { - selectedClient = null; - } - - /** - * Creates the UI of the page. - */ - protected void createControl() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = SWTUtil.convertHorizontalDLUsToPixels(this, 4); - layout.verticalSpacing = SWTUtil.convertVerticalDLUsToPixels(this, 4); - layout.marginWidth = 0; - layout.marginHeight = 0; - setLayout(layout); - - IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem(); - whs.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD); - - Label label = new Label(this, SWT.WRAP); - label.setText(Messages.wizSelectClientMessage); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - label.setLayoutData(data); - - elementTable = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); - data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL); - data.heightHint = 80; - data.horizontalIndent = 20; - elementTable.setLayoutData(data); - elementTable.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - handleSelection(); - } - public void widgetDefaultSelected(SelectionEvent e) { - handleSelection(); - //TODO: WizardUtil.defaultSelect(getWizard(), SelectClientWizardPage.this); - } - }); - whs.setHelp(elementTable, ContextIds.SELECT_CLIENT); - - if (clients != null) { - int size = clients.length; - for (int i = 0; i < size; i++) { - TableItem item = new TableItem(elementTable, SWT.NONE); - item.setText(0, ServerUICore.getLabelProvider().getText(clients[i])); - item.setImage(0, ServerUICore.getLabelProvider().getImage(clients[i])); - item.setData(clients[i]); - } - } - - description = new Label(this, SWT.WRAP); - description.setText(""); - data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.heightHint = 70; - description.setLayoutData(data); - - Dialog.applyDialogFont(this); - } - - /** - * Return the selected client. - * - * @return org.eclipse.wst.server.core.IClient - */ - public IClient getSelectedClient() { - return selectedClient; - } - - /** - * Handle the selection of a client. - */ - protected void handleSelection() { - int index = elementTable.getSelectionIndex(); - if (index < 0) - selectedClient = null; - else - selectedClient = clients[index]; - - if (selectedClient != null) - wizard.setMessage(null, IMessageProvider.NONE); - else - wizard.setMessage("", IMessageProvider.ERROR); - - String desc = null; - if (selectedClient != null) - desc = selectedClient.getDescription(); - if (desc == null) - desc = ""; - description.setText(desc); - - wizard.update(); - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java deleted file mode 100644 index 1d292ec10..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java +++ /dev/null @@ -1,135 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.util.List; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.wst.server.core.model.PublishOperation; -import org.eclipse.wst.server.ui.internal.ContextIds; -import org.eclipse.wst.server.ui.internal.ImageResource; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.SWTUtil; -import org.eclipse.wst.server.ui.internal.wizard.fragment.TasksWizardFragment; -import org.eclipse.wst.server.ui.wizard.IWizardHandle; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.PlatformUI; -/** - * A wizard page used to select server and module tasks. - */ -public class TasksComposite extends Composite { - protected IWizardHandle wizard; - - protected Composite comp; - - // the list of elements to select from - protected List tasks; - - protected boolean created; - - /** - * Create a new TasksComposite. - * - * @param parent a parent composite - * @param wizard a wizard handle - */ - public TasksComposite(Composite parent, IWizardHandle wizard) { - super(parent, SWT.NONE); - this.wizard = wizard; - - wizard.setTitle(Messages.wizTaskTitle); - wizard.setDescription(Messages.wizTaskDescription); - wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZBAN_SELECT_SERVER)); - - //createControl(); - } - - public void setTasks(List tasks) { - this.tasks = tasks; - - Control[] children = getChildren(); - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - children[i].dispose(); - } - } - - //createControl(); - //layout(true); - created = false; - } - - /** - * Creates the UI of the page. - */ - public void createControl() { - if (created) - return; - TasksLayout layout = new TasksLayout(SWTUtil.convertVerticalDLUsToPixels(this, 4)); - setLayout(layout); - PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.SELECT_TASK_WIZARD); - - int size = 0; - if (tasks != null) - size = tasks.size(); - - for (int i = 0; i < size; i++) { - Object obj = tasks.get(i); - final TasksWizardFragment.TaskInfo sti = (TasksWizardFragment.TaskInfo) obj; - final Button checkbox = new Button(this, SWT.CHECK | SWT.WRAP); - String label = sti.task2.getLabel(); - if (label != null) - checkbox.setText(label); - else - checkbox.setText(Messages.elementUnknownName); - checkbox.setFocus(); - - checkbox.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent event) { - sti.setSelected(checkbox.getSelection()); - } - public void widgetDefaultSelected(SelectionEvent event) { - sti.setSelected(checkbox.getSelection()); - } - }); - - Label description = new Label(this, SWT.WRAP); - String desc = sti.task2.getDescription(); - if (desc != null) - description.setText(desc); - else - description.setText(Messages.elementUnknownName); - - if (sti.kind == PublishOperation.REQUIRED) { - checkbox.setSelection(true); - checkbox.setEnabled(false); - description.setEnabled(false); - } else - checkbox.setSelection(sti.getDefaultSelected()); - } - - if (size == 0) { - Label label = new Label(this, SWT.NONE); - label.setText(Messages.wizTaskNone); - } - - Dialog.applyDialogFont(this); - layout(true, true); - created = true; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksLayout.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksLayout.java deleted file mode 100644 index 17bfbd5be..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksLayout.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Layout; -/** - * - */ -public class TasksLayout extends Layout { - private int verticalSpacing; - - public TasksLayout(int verticalSpacing) { - this.verticalSpacing = verticalSpacing; - } - - /* (non-Javadoc) - * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean) - */ - protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) { - return new Point(wHint, hHint); - } - - /* (non-Javadoc) - * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean) - */ - protected void layout(Composite composite, boolean flushCache) { - Control[] children = composite.getChildren(); - Rectangle r = composite.getClientArea(); - - int y = r.y; - if (children != null) { - int size = children.length; - for (int i = 0; i < size; i++) { - if (i % 2 == 0) { - int h = children[i].computeSize(r.width, SWT.DEFAULT).y; - children[i].setBounds(r.x, y, r.width, h); - y += h + verticalSpacing; - } else { - int h = Math.max(50, children[i].computeSize(r.width - 20, SWT.DEFAULT).y); - children[i].setBounds(r.x + 20, y, r.width - 20, h); - y += h + verticalSpacing; - } - } - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java deleted file mode 100644 index e3a819f70..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java +++ /dev/null @@ -1,245 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.IWizard; -import org.eclipse.jface.wizard.IWizardPage; -import org.eclipse.wst.server.core.internal.ServerPlugin; -import org.eclipse.wst.server.ui.internal.Messages; -import org.eclipse.wst.server.ui.internal.ServerUIPlugin; -import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.widgets.Shell; -/** - * A helper class for wizards. - */ -public class WizardUtil { - /** - * Use static methods. - */ - private WizardUtil() { - // do nothing - } - - /** - * Return a new or existing server project. - * - * @return the server project - */ - public static IProject getServerProject() { - IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - if (projects != null) { - int size = projects.length; - for (int i = 0; i < size; i++) { - if (ServerPlugin.getProjectProperties(projects[i]).isServerProject()) - return projects[i]; - } - } - - String s = findUnusedServerProjectName(); - return ResourcesPlugin.getWorkspace().getRoot().getProject(s); - } - - /** - * Finds an unused project name to use as a server project. - * - * @return java.lang.String - */ - protected static String findUnusedServerProjectName() { - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - String name = NLS.bind(Messages.defaultServerProjectName, ""); - int count = 1; - while (root.getProject(name).exists()) { - name = NLS.bind(Messages.defaultServerProjectName, ++count + ""); - } - return name; - } - - /** - * Return the container with the given name, if one exists. - * - * @param containerName java.lang.String - * @return org.eclipse.core.resources.IContainer - */ - public static IContainer findContainer(String containerName) { - if (containerName == null || containerName.equals("")) - return null; - - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - try { - IProject project = root.getProject(containerName); - if (project != null && project.exists()) - return project; - } catch (Exception e) { - // ignore - } - - try { - IFolder folder = root.getFolder(new Path(containerName)); - if (folder != null && folder.exists()) - return folder; - } catch (Exception e) { - // ignore - } - return null; - } - - /** - * Tries to find a server project folder in the heirarchy - * of the given resource. If it finds one, it returns the - * folder that the resource is or is in. - * - * @param resource org.eclipse.core.resources.IResource - * @return org.eclipse.core.resources.IContainer - */ - protected static IContainer findServerProjectContainer(IResource resource) { - IContainer container = null; - while (resource != null) { - if (container == null && resource instanceof IContainer) - container = (IContainer) resource; - - if (resource instanceof IFile) { - IFile file = (IFile) resource; - if (ServerUIPlugin.findServer(file) != null) - return null; - } - - if (resource instanceof IProject) { - if (resource.getProject().isOpen()) - return container; - } - resource = resource.getParent(); - } - return null; - } - - /** - * Return the full pathname of a container. - * - * @param container org.eclipse.core.resources.Container - * @return java.lang.String - */ - public static String getContainerText(IContainer container) { - String name = container.getName(); - while (container != null && !(container instanceof IProject)) { - container = container.getParent(); - name = container.getName() + "/" + name; - } - return name; - } - - /** - * Returns the selected container from this selection. - * - * @param selection the selection - * @return the container - */ - public static IContainer getSelectionContainer(IStructuredSelection selection) { - if (selection == null || selection.isEmpty()) - return null; - - Object obj = selection.getFirstElement(); - if (obj instanceof IResource) - return findServerProjectContainer((IResource) obj); - - return null; - } - - /** - * Return true if the container is a valid server project - * folder and is not "within" a server instance or configuration. - * - * @param name a container name - * @return <code>null</code> if the container is fine, and an error message - * otherwise - */ - public static String validateContainer(String name) { - IContainer container = WizardUtil.findContainer(name); - if (container == null || !container.exists()) { - IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.PROJECT); - if (status.isOK()) - return null; // we can create one later - return status.getMessage(); - } - - String error = Messages.wizErrorInvalidFolder; - try { - // find project of this container - IProject project = null; - if (container instanceof IProject) { - project = (IProject) container; - } else { - // look up hierarchy for project - IContainer temp = container.getParent(); - while (project == null && temp != null && !(temp instanceof IProject)) { - temp = temp.getParent(); - } - if (temp != null && temp instanceof IProject) - project = (IProject) temp; - } - - // validate the project - if (project != null && !project.isOpen()) - return Messages.wizErrorClosedProject; - - if (project == null || !project.exists() || !project.isOpen()) - return error; - - // make sure we're not embedding in another server element - IResource temp = container; - while (temp != null && !(temp instanceof IProject)) { - if (temp instanceof IFile) { - IFile file = (IFile) temp; - if (ServerUIPlugin.findServer(file) != null) - return error; - } - temp = temp.getParent(); - } - } catch (Exception e) { - return error; - } - return null; - } - - /** - * Returns true if the user said okay to creating a new server - * project. - * - * @param shell a shell - * @param projectName a project name - * @return <code>true</code> if the user wants to create a server project - */ - public static boolean promptForServerProjectCreation(Shell shell, String projectName) { - String msg = NLS.bind(Messages.createServerProjectDialogMessage, projectName); - return MessageDialog.openQuestion(shell, Messages.createServerProjectDialogTitle, msg); - } - - /** - * Handles default selection within a wizard by going to the next - * page, or finishing the wizard if possible. - * - * @param wizard a wizard - * @param page a wizard page - */ - public static void defaultSelect(IWizard wizard, IWizardPage page) { - if (page.canFlipToNextPage() && page.getNextPage() != null) - wizard.getContainer().showPage(page.getNextPage()); - else if (wizard.canFinish() && wizard.getContainer() instanceof ClosableWizardDialog) { - ClosableWizardDialog dialog = (ClosableWizardDialog) wizard.getContainer(); - dialog.finishPressed(); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java deleted file mode 100644 index e80519d33..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WorkspaceRunnableAdapter.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.internal.wizard.page; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.resources.IWorkspaceRunnable; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.operation.IRunnableWithProgress; -/** - * IRunnableWithProgressAdapter to allow it to run an IWorkspaceRunnable. - */ -public class WorkspaceRunnableAdapter implements IRunnableWithProgress { - private IWorkspaceRunnable workspaceRunnable; - - public WorkspaceRunnableAdapter(IWorkspaceRunnable runnable) { - workspaceRunnable = runnable; - } - - /* - * @see IRunnableWithProgress#run(IProgressMonitor) - */ - public void run(IProgressMonitor monitor) throws InvocationTargetException { - try { - ResourcesPlugin.getWorkspace().run(workspaceRunnable, monitor); - } catch (CoreException e) { - throw new InvocationTargetException(e); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.html b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.html deleted file mode 100644 index 3babaea24..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.html +++ /dev/null @@ -1,38 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>The server tools UI.</p> -<table width="500"> -<tr> -<td> -<p>ServerUICore is the main entry-point for the API. From here, clients -can get the wizard pages for a particular server type, get a label -provider for all server types, or launch Run on Server directly.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>ServerUIUtil provides utility methods. Currently, this is limited to -launching the server runtime wizard and editing an existing server -runtime.</p> -</td> -</tr> -</table> -<table width="500"> -<tr> -<td> -<p>ServerLaunchConfigurationTab is a generic server tools tab that can -be used in launch configuration tab groups for a server launch. It shows -information about the server to the user.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.xml b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.xml deleted file mode 100644 index 873e26402..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/package.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - -<abstract>The server tools UI.</abstract> - -<p>ServerUICore is the main entry-point for the API. From here, clients -can get the wizard pages for a particular server type, get a label -provider for all server types, or launch Run on Server directly.</p> - -<p>ServerUIUtil provides utility methods. Currently, this is limited to -launching the server runtime wizard and editing an existing server -runtime.</p> - -<p>ServerLaunchConfigurationTab is a generic server tools tab that can -be used in launch configuration tab groups for a server launch. It shows -information about the server to the user.</p> - -</body> -</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java deleted file mode 100644 index 85c9752a8..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/IWizardHandle.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.wizard; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.jface.dialogs.IMessageProvider; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.resource.ImageDescriptor; -/** - * A wizard handle. - * - * @since 1.0 - */ -public interface IWizardHandle extends IMessageProvider { - /** - * Updates the wizard error messages and buttons. - */ - public void update(); - - /** - * Sets the title of this wizard page. - * - * @param title the title of the wizard page - */ - public void setTitle(String title); - - /** - * The page's description. - * - * @param desc the page's description - */ - public void setDescription(String desc); - - /** - * The page's image descriptor. - * - * @param image the page's image descriptor - */ - public void setImageDescriptor(ImageDescriptor image); - - /** - * Set an error or warning message. - * - * @param newMessage the new message - * @param newType the new type, from IStatus - */ - public void setMessage(String newMessage, int newType); - - /** - * Execute a runnable within the context of the wizard. This will typically - * disable the wizard while the runnable is running, and provide a progress - * monitor for the user. - * - * @param fork true if a separate thread should be used - * @param cancelable true if it should be cancelable - * @param runnable the runnable - * @throws InterruptedException thrown if it is interrupted - * @throws InvocationTargetException thrown if there is an error - */ - public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException; -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java deleted file mode 100644 index d6e4d7bb5..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/WizardFragment.java +++ /dev/null @@ -1,214 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - Initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.server.ui.wizard; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.swt.widgets.Composite; - -import org.eclipse.wst.server.core.TaskModel; -/** - * A wizard fragment is a node within a wizard that provides a completely - * extendable wizard flow by supporting a flexible tree structure for the - * pages. As the user walks pages through the wizard, they are actually - * traversing the nodes of a tree, and each node can add or remove children - * at any time. - * - * Each node may be non-UI (useful for injecting behaviour into the tree) - * or contain a single wizard page (@see hasComposite() and - * createComposite(Composite, IWizardHandle)). The node may also have - * children (@see getChildFragments(), which should be updated or refreshed - * whenever the updateChildFragments() method is called by another node to - * let this node know that it's state may have changed. - * - * This implementation uses a createChildFragments() method to allow the - * fragment to add it's children into the tree. Note that this method may - * be called multiple times as the tree is updated and it must return the - * same instance of any children that have previously been returned. - * - * @since 1.0 - */ -public abstract class WizardFragment { - private TaskModel taskModel; - private boolean isComplete = true; - private List listImpl; - - /** - * Returns <code>true</code> if this fragment has an associated UI, - * and <code>false</code> otherwise. - * - * @return true if the fragment has a composite - */ - public boolean hasComposite() { - return false; - } - - /** - * Creates the composite associated with this fragment. - * This method is only called when hasComposite() returns true. - * - * @param parent a parent composite - * @param handle a wizard handle - * @return the created composite - */ - public Composite createComposite(Composite parent, IWizardHandle handle) { - return null; - } - - /** - * Sets the wizard task model. The task model is shared by all fragments - * in the wizard and is used to share data. - * - * @param taskModel the task model - */ - public void setTaskModel(TaskModel taskModel) { - this.taskModel = taskModel; - } - - /** - * Returns the wizard task model. - * - * @return the task model - */ - public TaskModel getTaskModel() { - return taskModel; - } - - /** - * Called when the wizard that this fragment belongs to has traversed - * into this wizard fragment. It is called to give the fragment the - * opportunity to initialize any values shown in the composite or - * update the task model. - * <p> - * When finish is pressed, the current fragment is exit()ed, and then - * performFinish() is called on all of the fragments in the tree. - * enter() and exit() are not called on the remaining fragments. - * </p> - */ - public void enter() { - // do nothing - } - - /** - * Called when the wizard that this fragment belongs to has traversed - * out of this wizard fragment. It is called to give the fragment the - * opportunity to save any values entered into the composite or - * update the task model. - * <p> - * When finish is pressed, the current fragment is exit()ed, and then - * performFinish() is called on all of the fragments in the tree. - * enter() and exit() are not called on the remaining fragments. - * </p> - */ - public void exit() { - // do nothing - } - - /** - * Called when the wizard that this fragment belongs to is finished. - * After exit()ing the current page, all fragment's performFinish() - * methods are called in order. - * <p> - * This method is not called on the UI thread and must not access the - * composite. Not only might the user never have accessed the fragment's - * composite, but this method may be called asynchronously on a job - * once the wizard has closed. - * </p> - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if something goes wrong - */ - public void performFinish(IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Called when the wizard that this fragment belongs to is canceled. - * After exit()ing the current page, all fragment's performCancel() - * methods are called in order. - * <p> - * This method is not called on the UI thread and must not access the - * composite. Not only might the user never have accessed the fragment's - * composite, but this method may be called asynchronously on a job - * once the wizard has closed. - * </p> - * - * @param monitor a progress monitor, or <code>null</code> if progress - * reporting and cancellation are not desired - * @throws CoreException if something goes wrong - */ - public void performCancel(IProgressMonitor monitor) throws CoreException { - // do nothing - } - - /** - * Returns the child fragments. Child fragments come directly after this fragment - * in the wizard flow. - * - * @return a list of child fragments - */ - public List getChildFragments() { - if (listImpl == null) { - listImpl = new ArrayList(); - createChildFragments(listImpl); - } - return listImpl; - } - - /** - * Called to give the fragment a chance to update it's child fragments in - * response to other changes within the wizard or task model. - */ - public void updateChildFragments() { - listImpl = null; - } - - /** - * This method is called by the implementation of getChildFragments() to - * allow this fragment to add it's children. This method must cache and - * return the same instance of any child fragment created. If new - * instances are created each time the wizard is updated, the enablement - * state and the flow of the wizard will be incorrect. - * - * @param list a list to add the child fragments to - */ - protected void createChildFragments(List list) { - // do nothing - } - - /** - * Returns true if this fragment is complete (can finish). If it is - * complete the user will be allowed to go to the next fragment or - * finish the wizard. If the fragment is not complete, the Next button - * will be disabled. If the fragment is complete but another fragment - * is not complete, the Finish button will not be enabled. - * - * @return <code>true</code> if the fragment is complete, and - * <code>false</code> otherwise - */ - public boolean isComplete() { - return isComplete; - } - - /** - * Set the isComplete state. - * - * @param complete <code>true</code> if the fragment is complete, and - * <code>false</code> otherwise - */ - protected void setComplete(boolean complete) { - this.isComplete = complete; - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.html b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.html deleted file mode 100644 index 29657b709..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.html +++ /dev/null @@ -1,22 +0,0 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css"> -<title>WTP API overview</title> -</head> -<body> -<p>Wizard and task support for the server tools UI.</p> -<table width="500"> -<tr> -<td> -<p>WizardFragment is extended to provide a subtree of wizard pages or tasks -that can be inserted into a larger wizard flow. TaskWizard is the standard -wizard that knows how to handle WizardFragments and display them in order -within a single wizard. It uses the TaskWizardPages to display the wizard -fragment's composites within the wizard.</p> -</td> -</tr> -</table> -</body> -</html> diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.xml b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.xml deleted file mode 100644 index 9043333d5..000000000 --- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/wizard/package.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<html> -<head> - <!-- Escape to the root of your source folder --> - <meta - name="root" - content="../../../../../../" /> - <title>WTP API overview</title> -</head> - -<body> - -<abstract>Wizard and task support for the server tools UI.</abstract> - -<p>WizardFragment is extended to provide a subtree of wizard pages or tasks -that can be inserted into a larger wizard flow. TaskWizard is the standard -wizard that knows how to handle WizardFragments and display them in order -within a single wizard. It uses the TaskWizardPages to display the wizard -fragment's composites within the wizard.</p> - -</body> -</html>
\ No newline at end of file |