This commit was manufactured by cvs2svn to create tag 'v200805140020'.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
index 88d7d17..4ade267 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
@@ -7,13 +7,12 @@
Bundle-ClassPath: .
Bundle-Localization: plugin
Export-Package: org.eclipse.jst.common.project.facet.core,
- org.eclipse.jst.common.project.facet.core.internal;x-internal:=true
+ org.eclipse.jst.common.project.facet.core.internal;x-friends:="org.eclipse.jst.common.project.facet.ui"
Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0)",
org.eclipse.core.runtime;bundle-version="[3.2.0,4.0)",
org.eclipse.jdt.core;bundle-version="[3.2.0,4.0)",
org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)"
+ org.eclipse.jdt.launching;bundle-version="[3.4.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Activator: org.eclipse.jst.common.project.facet.core.FacetCorePlugin
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/about.html b/plugins/org.eclipse.jst.common.project.facet.core/about.html
index 73db36e..2199df3 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/about.html
+++ b/plugins/org.eclipse.jst.common.project.facet.core/about.html
@@ -10,7 +10,7 @@
<H3>About This Content</H3>
-<P>June 06, 2007</P>
+<P>June, 2008</P>
<H3>License</H3>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/build.properties b/plugins/org.eclipse.jst.common.project.facet.core/build.properties
index c4aeebe..12ae70d 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/build.properties
+++ b/plugins/org.eclipse.jst.common.project.facet.core/build.properties
@@ -5,5 +5,4 @@
META-INF/,\
plugin.properties,\
component.xml,\
- about.html,\
- images/
+ about.html
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/images/java-facet.gif b/plugins/org.eclipse.jst.common.project.facet.core/images/java-facet.gif
deleted file mode 100644
index 37cb4e7..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/images/java-facet.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/images/standard-jre-component.gif b/plugins/org.eclipse.jst.common.project.facet.core/images/standard-jre-component.gif
deleted file mode 100644
index cb55e33..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/images/standard-jre-component.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
index d5362fb..d9b24bb 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
+++ b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
@@ -51,19 +51,8 @@
<type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
</adapter>
- <adapter>
- <runtime-component id="standard.jre"/>
- <factory class="org.eclipse.jst.common.project.facet.core.internal.StandardJreComponentLabelProvider$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="images/standard-jre-component.gif"/>
- </extension>
-
<extension point="org.eclipse.wst.common.project.facet.core.facets">
<project-facet id="jst.java">
@@ -107,10 +96,6 @@
</extension>
- <extension point="org.eclipse.wst.common.project.facet.ui.images">
- <image facet="jst.java" path="images/java-facet.gif"/>
- </extension>
-
<extension point="org.eclipse.wst.common.project.facet.core.listeners">
<listener
class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetRuntimeChangedListener"
@@ -133,13 +118,4 @@
<persistent value="true"/>
</extension>
- <extension
- point="org.eclipse.ui.ide.markerResolution">
- <markerResolutionGenerator
- markerType="org.eclipse.jst.common.project.facet.core.javaVersionMismatch"
- class="org.eclipse.jst.common.project.facet.core.internal.JavaVersionMismatchMarkerResolutions">
- </markerResolutionGenerator>
- </extension>
-
-
</plugin>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/FacetCorePlugin.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/FacetCorePlugin.java
new file mode 100644
index 0000000..eb05f4e
--- /dev/null
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/FacetCorePlugin.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies 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.common.project.facet.core;
+
+import org.eclipse.core.runtime.ILog;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+
+public final class FacetCorePlugin
+
+ extends Plugin
+
+{
+ public static final String PLUGIN_ID = "org.eclipse.jst.common.project.facet.core"; //$NON-NLS-1$
+ public static final String OUTPUT_FOLDER = "outputFolder"; //$NON-NLS-1$
+ public static final String PROD_PROP_SOURCE_FOLDER_LEGACY = "defaultSource"; //$NON-NLS-1$
+ private static final String PROD_PROP_SOURCE_FOLDER = "defaultJavaSourceFolder"; //$NON-NLS-1$
+ public static final String DEFAULT_SOURCE_FOLDER = "src"; //$NON-NLS-1$
+
+ private static FacetCorePlugin inst;
+
+ /**
+ * Get the plugin singleton.
+ */
+
+ public static FacetCorePlugin getDefault()
+ {
+ return inst;
+ }
+
+ public FacetCorePlugin() {
+ super();
+ if (inst == null)
+ inst = this;
+ }
+ public String getPluginID()
+ {
+ return PLUGIN_ID;
+ }
+
+ public static void log( final Exception e )
+ {
+ final ILog log = FacetCorePlugin.getDefault().getLog();
+ final String msg = "Encountered an unexpected exception."; //$NON-NLS-1$
+
+ log.log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e ) );
+ }
+
+
+ public static String getJavaSrcFolder(){
+ String srcFolder = FacetCorePlugin.getDefault().getPluginPreferences().getString(PROD_PROP_SOURCE_FOLDER_LEGACY);
+ if( srcFolder == null || srcFolder.equals("") ){
+ if( Platform.getProduct() != null ){
+ srcFolder = Platform.getProduct().getProperty( PROD_PROP_SOURCE_FOLDER );
+ if( srcFolder == null || srcFolder.equals("")){ //$NON-NLS-1$
+ srcFolder = Platform.getProduct().getProperty( PROD_PROP_SOURCE_FOLDER_LEGACY );
+ }
+ }
+ if( srcFolder == null || srcFolder.equals("") ){
+ srcFolder = DEFAULT_SOURCE_FOLDER;
+ }
+
+ }
+ return srcFolder;
+ }
+}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetInstallConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetInstallConfig.java
index 3d51d0c..ed2c1f9 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetInstallConfig.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetInstallConfig.java
@@ -28,9 +28,9 @@
public class JavaFacetInstallConfig
{
- private static final String PROD_PROP_SOURCE_FOLDER = "defaultJavaSourceFolder"; //$NON-NLS-1$
- private static final String PROD_PROP_SOURCE_FOLDER_LEGACY = "defaultSource"; //$NON-NLS-1$
- private static final String DEFAULT_SOURCE_FOLDER = "src"; //$NON-NLS-1$
+// private static final String PROD_PROP_SOURCE_FOLDER = "defaultJavaSourceFolder"; //$NON-NLS-1$
+// private static final String PROD_PROP_SOURCE_FOLDER_LEGACY = "defaultSource"; //$NON-NLS-1$
+// private static final String DEFAULT_SOURCE_FOLDER = "src"; //$NON-NLS-1$
private static final String PROD_PROP_OUTPUT_FOLDER = "defaultJavaOutputFolder"; //$NON-NLS-1$
private static final String PROD_PROP_OUTPUT_FOLDER_LEGACY = "outputFolder"; //$NON-NLS-1$
@@ -78,17 +78,7 @@
this.sourceFoldersReadOnly = Collections.unmodifiableList( this.sourceFolders );
this.defaultOutputFolder = null;
- String sourceFolder = getProductProperty( PROD_PROP_SOURCE_FOLDER );
-
- if( sourceFolder == null )
- {
- sourceFolder = getProductProperty( PROD_PROP_SOURCE_FOLDER_LEGACY );
- }
-
- if( sourceFolder == null )
- {
- sourceFolder = DEFAULT_SOURCE_FOLDER;
- }
+ String sourceFolder = FacetCorePlugin.getJavaSrcFolder();
this.sourceFolders.add( new Path( sourceFolder ) );
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaVersionMismatchMarkerResolutions.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaVersionMismatchMarkerResolutions.java
deleted file mode 100644
index 685964f..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaVersionMismatchMarkerResolutions.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 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 implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.Collections;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-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.IFacetedProject.Action;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaVersionMismatchMarkerResolutions
-
- implements IMarkerResolutionGenerator
-
-{
- public IMarkerResolution[] getResolutions( final IMarker marker )
- {
- return new IMarkerResolution[]
- {
- new Resolution1( marker ),
- new Resolution2( marker )
- };
- }
-
- private static final class Resolution1
-
- implements IMarkerResolution
-
- {
- private final IMarker marker;
-
- public Resolution1( final IMarker marker )
- {
- this.marker = marker;
- }
-
- public String getLabel()
- {
- final IProjectFacetVersion fv = getProjectFacetVersion();
- return NLS.bind( Resources.changeFacetVersion, fv );
- }
-
- public void run( final IMarker marker )
- {
- final Action action
- = new Action( Action.Type.VERSION_CHANGE,
- getProjectFacetVersion(), null );
-
- final IProject proj = this.marker.getResource().getProject();
-
- try
- {
- final IFacetedProject fproj
- = ProjectFacetsManager.create( proj );
-
- fproj.modify( Collections.singleton( action ), null );
- }
- catch( CoreException e )
- {
- ErrorDialog.openError( null, Resources.errorDialogTitle,
- Resources.errorDialogMessage,
- e.getStatus() );
- }
- }
-
- private IProjectFacetVersion getProjectFacetVersion()
- {
- final String level
- = this.marker.getAttribute( JavaFacetValidator.ATTR_COMPILER_LEVEL, null );
-
- return JavaFacetUtil.compilerLevelToFacet( level );
- }
- }
-
- private static final class Resolution2
-
- implements IMarkerResolution
-
- {
- private final IMarker marker;
-
- public Resolution2( final IMarker marker )
- {
- this.marker = marker;
- }
-
- public String getLabel()
- {
- final String level = getCompilerLevel();
- return NLS.bind( Resources.changeCompilerLevel, level );
- }
-
- public void run( final IMarker marker )
- {
- final IProject project = this.marker.getResource().getProject();
- final String level = getCompilerLevel();
-
- try
- {
- JavaFacetUtil.setCompilerLevel( project, level );
- JavaFacetUtil.scheduleFullBuild( project );
- }
- catch( CoreException e )
- {
- ErrorDialog.openError( null, Resources.errorDialogTitle,
- Resources.errorDialogMessage,
- e.getStatus() );
- }
- }
-
- private String getCompilerLevel()
- {
- final String fvstr
- = this.marker.getAttribute( JavaFacetValidator.ATTR_FACET_VERSION, null);
-
- final IProjectFacetVersion fv = JavaFacet.FACET.getVersion( fvstr );
-
- return JavaFacetUtil.facetToCompilerLevel( fv );
- }
- }
-
- private static final class Resources
-
- extends NLS
-
- {
- public static String changeFacetVersion;
- public static String changeCompilerLevel;
- public static String errorDialogTitle;
- public static String errorDialogMessage;
-
- static
- {
- initializeMessages( JavaVersionMismatchMarkerResolutions.class.getName(),
- Resources.class );
- }
- }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaVersionMismatchMarkerResolutions.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaVersionMismatchMarkerResolutions.properties
deleted file mode 100644
index 227ca0a..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaVersionMismatchMarkerResolutions.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-changeFacetVersion = Change Java project facet version to {0}
-changeCompilerLevel =Change Java compiler level to {0}
-errorDialogTitle = Error
-errorDialogMessage = Failed while applying the quick fix.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/StandardJreComponentLabelProvider.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/StandardJreComponentLabelProvider.java
deleted file mode 100644
index 8e0685b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/StandardJreComponentLabelProvider.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 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 implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class StandardJreComponentLabelProvider
-
- implements IRuntimeComponentLabelProvider
-
-{
- private final IRuntimeComponent rc;
-
- public StandardJreComponentLabelProvider( final IRuntimeComponent rc )
- {
- this.rc = rc;
- }
-
- public String getLabel()
- {
- final IRuntimeComponentVersion rcv = this.rc.getRuntimeComponentVersion();
- return "Java Runtime Environment v" + rcv.getVersionString();
- }
-
- public static final class Factory
-
- implements IAdapterFactory
-
- {
- private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
-
- public Class[] getAdapterList()
- {
- return ADAPTER_TYPES;
- }
-
- public Object getAdapter( final Object adaptableObject,
- final Class adapterType )
- {
- return new StandardJreComponentLabelProvider( (IRuntimeComponent) adaptableObject );
- }
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF
index a3c810c..1c6380c 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF
@@ -13,8 +13,8 @@
org.eclipse.wst.common.project.facet.core.runtime.events,
org.eclipse.wst.common.project.facet.core.util,
org.eclipse.wst.common.project.facet.core.util.internal;x-friends:="org.eclipse.wst.common.project.facet.ui,org.eclipse.wst.common.project.facet.core.tests"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,4.0)"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/about.html b/plugins/org.eclipse.wst.common.project.facet.core/about.html
index 73db36e..2199df3 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/about.html
+++ b/plugins/org.eclipse.wst.common.project.facet.core/about.html
@@ -10,7 +10,7 @@
<H3>About This Content</H3>
-<P>June 06, 2007</P>
+<P>June, 2008</P>
<H3>License</H3>
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/schemas/facets.exsd b/plugins/org.eclipse.wst.common.project.facet.core/schemas/facets.exsd
index 06541f0..b117579 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/schemas/facets.exsd
+++ b/plugins/org.eclipse.wst.common.project.facet.core/schemas/facets.exsd
@@ -1,10 +1,10 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.core">
+<schema targetNamespace="org.eclipse.wst.common.project.facet.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
- <appInfo>
+ <appinfo>
<meta.schema plugin="org.eclipse.wst.common.project.facet.core" id="facets" name="Project Facets Extension Point"/>
- </appInfo>
+ </appinfo>
<documentation>
This is the main extension point in the faceted project framework. It is used for defining project facets. A project facet can be thought of as a unit of functionality that the user can add to the project when the functionality is needed.
</documentation>
@@ -46,9 +46,9 @@
<documentation>
An optional name of the extension instance.
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute translatable="true"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -272,9 +272,9 @@
<documentation>
The version comparator class name. Has to implement java.util.Comparator&lt;String&gt; interface.
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute kind="java" basedOn="java.util.Comparator"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -303,9 +303,9 @@
<element name="preset">
<annotation>
- <appInfo>
+ <appinfo>
<meta.element deprecated="true"/>
- </appInfo>
+ </appinfo>
<documentation>
Declares a preset. A preset represents a common configuration of facets and their versions that a user might want to utilize on several projects. Presets can be supplied via this extension point or created by the user.
</documentation>
@@ -334,6 +334,8 @@
<complexType>
<sequence>
<element ref="label"/>
+ <element ref="fixed" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="preset"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
@@ -345,6 +347,18 @@
</complexType>
</element>
+ <element name="fixed">
+ <complexType>
+ <attribute name="facet" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
<element name="action">
<annotation>
<documentation>
@@ -417,9 +431,9 @@
<documentation>
The config factory class name. Has to implement org.eclipse.wst.common.project.facet.core.IActionConfigFactory interface.
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.core.IActionConfigFactory"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -437,9 +451,9 @@
<documentation>
The delegate class name. Has to implement org.eclipse.wst.common.project.facet.core.IDelegate interface.
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.core.IDelegate"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -447,9 +461,9 @@
<element name="event-handler">
<annotation>
- <appInfo>
+ <appinfo>
<meta.element deprecated="true"/>
- </appInfo>
+ </appinfo>
<documentation>
Adds an event handler for one of the events in the faceted project life cycle. The event-handler element can be used standalone or embeded inside the project-facet-version element. If used inside the project-facet-version element, the facet and version attributes are implied and should not be specified.<br/><br/>
@@ -545,9 +559,9 @@
<documentation>
Specifies the version provider that will be consulted in order to determine the default version. If this attribute is used, the <code>version</code> attribute will be ignored if present.
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.core.IDefaultVersionProvider"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -593,9 +607,9 @@
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="examples"/>
- </appInfo>
+ </appinfo>
<documentation>
<p>The following example illustrates the various facilities exposed by this extension point. This example is taken from the <i>Building Project Facets</i> tutorial.</p>
@@ -659,9 +673,9 @@
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="copyright"/>
- </appInfo>
+ </appinfo>
<documentation>
Copyright (c) 2005-2007 BEA Systems, Inc.
All rights reserved. This program and the accompanying materials
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/schemas/presets.exsd b/plugins/org.eclipse.wst.common.project.facet.core/schemas/presets.exsd
index 75cf7d6..ebc8395 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/schemas/presets.exsd
+++ b/plugins/org.eclipse.wst.common.project.facet.core/schemas/presets.exsd
@@ -1,10 +1,10 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.core">
+<schema targetNamespace="org.eclipse.wst.common.project.facet.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
- <appInfo>
+ <appinfo>
<meta.schema plugin="org.eclipse.wst.common.project.facet.core" id="presets" name="Faceted Project Presets"/>
- </appInfo>
+ </appinfo>
<documentation>
A preset represents a common configuration of facets and their versions that give a user a starting point when configuring a project. Presets can either be static or dynamic. Static presets are fully specified in this extension point. Dynamic presets are created using an extender-supplied factory that can take into account the context in which the preset will be used in. Static presets can also extend other presets.
@@ -37,9 +37,9 @@
<documentation>
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute translatable="true"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -146,27 +146,27 @@
<documentation>
The name of the factory class.
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.core.IPresetFactory"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="since"/>
- </appInfo>
+ </appinfo>
<documentation>
2.0
</documentation>
</annotation>
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="examples"/>
- </appInfo>
+ </appinfo>
<documentation>
<pre>
<extension point="org.eclipse.wst.common.project.facet.core.presets">
@@ -177,46 +177,31 @@
versions. If project targets one or more runtime, this preset will contain facets that are specified
to be the default for the primary runtime. -->
- <preset id="default.configuration">
+ <dynamic-preset id="default.configuration">
<factory class="org.eclipse.wst.common.project.facet.core.internal.DefaultConfigurationPresetFactory"/>
- </preset>
+ </dynamic-preset>
<!-- Creates a preset which extends the "default.configuration" preset and adds two facets. -->
- <preset id="my.favorite.preset" extends="default.configuration">
+ <static-preset id="my.favorite.preset" extends="default.configuration">
<label>My Favorite Configuration</label>
<description>Here is the description of my favorite configuration.</description>
<facet id="facet_a" version="1.2"/>
<facet id="facet_b" version="2.0"/>
- </preset>
+ </static-preset>
</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>
+ <appinfo>
<meta.section type="copyright"/>
- </appInfo>
+ </appinfo>
<documentation>
Copyright (c) 2005-2007 BEA Systems, Inc.<br/>
All rights reserved. This program and the accompanying materials
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultConfigurationPresetFactory.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultConfigurationPresetFactory.java
index 13bbd84..24f8509 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultConfigurationPresetFactory.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultConfigurationPresetFactory.java
@@ -25,9 +25,9 @@
*
* <ol>
* <li>If a runtime is selected, this preset will contain default facets as specified by
- * {@see IRuntime.getDefaultFacets(Set)}.</li>
+ * {@link IRuntime#getDefaultFacets(Set)}.</li>
* <li>If no runtime is selected, this preset will contain default versions for all of the
- * fixed facets as specified by {@see IProjectFacet.getDefaultVersion()}.
+ * fixed facets as specified by {@link IProjectFacet#getDefaultVersion()}.
* </ol>
*
* @since 3.0
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultVersionComparator.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultVersionComparator.java
index b8e6e91..0ab1612 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultVersionComparator.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/DefaultVersionComparator.java
@@ -83,7 +83,7 @@
* @param version the full version string
* @param segment the version segment
* @param position the position of the segment in the version string
- * @return the parsed representation of the segment as a {@see Comparable}
+ * @return the parsed representation of the segment as a {@link Comparable}
* @throws VersionFormatException if encountered an error while parsing
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/FacetedProjectFramework.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/FacetedProjectFramework.java
index 4698f4d..6ffb261 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/FacetedProjectFramework.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/FacetedProjectFramework.java
@@ -19,6 +19,7 @@
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
import org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl;
import org.eclipse.wst.common.project.facet.core.internal.FacetedProjectNature;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
/**
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
@@ -35,9 +36,9 @@
*
* <ol>
* <li>If a runtime is selected, this preset will contain default facets as specified by
- * {@see IRuntime.getDefaultFacets(Set)}.</li>
+ * {@link IRuntime#getDefaultFacets(Set)}.</li>
* <li>If no runtime is selected, this preset will contain default versions for all of the
- * fixed facets as specified by {@see IProjectFacet.getDefaultVersion()}.
+ * fixed facets as specified by {@link IProjectFacet#getDefaultVersion()}.
* </ol>
*
* @since 2.0
@@ -65,13 +66,13 @@
* Project Framework if the project is not faceted. For the code that
* operates in the context where it can be assumed that the framework has
* started already, better performance can be achieved by storing
- * {@see IProjectFacet} and {@see IProjectFacetVersion} instances using the
+ * {@link IProjectFacet} and {@link IProjectFacetVersion} instances using the
* singleton pattern and using the
- * {@see IFacetedProject.hasProjectFacet(IProjectFacet)} or
- * {@see IFacetedProject.hasProjectFacet(IProjectFacetVersion)} methods.</p>
+ * {@link IFacetedProject#hasProjectFacet(IProjectFacet)} or
+ * {@link IFacetedProject#hasProjectFacet(IProjectFacetVersion)} methods.</p>
*
* <p>This method is equivalent to calling
- * {@see hasProjectFacet(IProject,String,String)} with <code>null</code>
+ * {@link #hasProjectFacet(IProject,String,String)} with <code>null</code>
* version expression parameter.</p>
*
* @param project the project to check for the facet presence
@@ -97,10 +98,10 @@
* Project Framework if the project is not faceted. For the code that
* operates in the context where it can be assumed that the framework has
* started already, better performance can be achieved by storing
- * {@see IProjectFacet} and {@see IProjectFacetVersion} instances using the
+ * {@link IProjectFacet} and {@link IProjectFacetVersion} instances using the
* singleton pattern and using the
- * {@see IFacetedProject.hasProjectFacet(IProjectFacet)} or
- * {@see IFacetedProject.hasProjectFacet(IProjectFacetVersion)} methods.</p>
+ * {@link IFacetedProject#hasProjectFacet(IProjectFacet)} or
+ * {@link IFacetedProject#hasProjectFacet(IProjectFacetVersion)} methods.</p>
*
* @param project the project to check for the facet presence
* @param fid the project facet id
@@ -159,9 +160,9 @@
* @param types the types of the events to listen for
* @throws IllegalArgumentException if <code>listener</code> parameter is <code>null</code> or
* the <code>types</code> parameter is <code>null</code> or empty.
- * @see removeListener(IFacetedProjectListener)
- * @see IFacetedProject.addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
- * @see IFacetedProject.removeListener(IFacetedProjectListener)
+ * @see #removeListener(IFacetedProjectListener)
+ * @see IFacetedProject#addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
+ * @see IFacetedProject#removeListener(IFacetedProjectListener)
*/
public static void addListener( final IFacetedProjectListener listener,
@@ -180,14 +181,14 @@
/**
* Removes the faceted project listener that was previously registered using the
- * {@see addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])} method. If the
+ * {@link #addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])} method. If the
* specified listener is not present in the listener registry, this call will be ignored.
*
* @param listener the faceted project listener
* @throws IllegalArgumentException if <code>listener</code> parameter is <code>null</code>
- * @see addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
- * @see IFacetedProject.addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
- * @see IFacetedProject.removeListener(IFacetedProjectListener)
+ * @see #addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
+ * @see IFacetedProject#addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
+ * @see IFacetedProject#removeListener(IFacetedProjectListener)
*/
public static void removeListener( final IFacetedProjectListener listener )
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IConstraint.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IConstraint.java
index 530909d..019eec6 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IConstraint.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IConstraint.java
@@ -17,6 +17,7 @@
import java.util.Map;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
/**
* Models a single constraint in the constraint expression.
@@ -91,9 +92,9 @@
* Checks this constraint against the given set of project facets.
*
* @param facets a set of project facets
- * @return a status object with severity of {@see IStatus#OK} if the
- * constraint was satisfied or otherwise a {@see MultiStatus} composed of
- * {@see ValidationProblem} status objects
+ * @return a status object with severity of {@link IStatus#OK} if the
+ * constraint was satisfied or otherwise a {@link MultiStatus} composed of
+ * individual status objects for each of the problems
*/
IStatus check( Collection<IProjectFacetVersion> facets );
@@ -104,9 +105,9 @@
* @param facets a set of project facets
* @param validateSoftDependencies if <code>true</code> soft dependencies
* will be treated as required
- * @return a status object with severity of {@see IStatus#OK} if the
- * constraint was satisfied or otherwise a {@see MultiStatus} composed of
- * {@see ValidationProblem} status objects
+ * @return a status object with severity of {@link IStatus#OK} if the
+ * constraint was satisfied or otherwise a {@link MultiStatus} composed of
+ * individual status objects for each of the problems
*/
IStatus check( Collection<IProjectFacetVersion> facets,
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IDynamicPreset.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IDynamicPreset.java
index 6a345c2..b20a283 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IDynamicPreset.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IDynamicPreset.java
@@ -13,9 +13,11 @@
import java.util.Map;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
+
/**
* A dynamic preset is type of preset that needs to be resolved before it can be used. The resolve
- * operation relies the {@see IPresetFactory} specified when the dynamic preset is registered via
+ * operation relies the {@link IPresetFactory} specified when the dynamic preset is registered via
* the <code>presets</code> extension point and can take into account the context in which the
* preset will be used.
*
@@ -29,7 +31,7 @@
{
/**
- * The key of the context map entry whose value is an {@see IFacetedProjectBase} object.
+ * The key of the context map entry whose value is an {@link IFacetedProjectBase} object.
*
* @since 3.0
*/
@@ -37,14 +39,14 @@
static final String CONTEXT_KEY_FACETED_PROJECT = "CONTEXT_KEY_FACETED_PROJECT"; //$NON-NLS-1$
/**
- * The key of the context map entry whose value is a set of {@see IProjectFacet} objects
+ * The key of the context map entry whose value is a set of {@link IProjectFacet} objects
* representing the fixed facets.
*/
static final String CONTEXT_KEY_FIXED_FACETS = "CONTEXT_KEY_FIXED_FACETS"; //$NON-NLS-1$
/**
- * The key of the context map entry whose value is the primary runtime ({@see IRuntime}) or
+ * The key of the context map entry whose value is the primary runtime ({@link IRuntime}) or
* <code>null</code> if no runtime has been selected.
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProject.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProject.java
index 9fdf7e3..aba8ce3 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProject.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProject.java
@@ -22,7 +22,7 @@
/**
* This interface is used for manipulating the set of facets installed on a
- * project. Use {@see ProjectFacetsManager#create(IProject)} to get an instance
+ * project. Use {@link ProjectFacetsManager#create(IProject)} to get an instance
* of this interface.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
@@ -185,7 +185,7 @@
/**
* <p>Installs a project facet on this project. This method is equivalent to
- * calling the {@see #modify(Set, IProgressMonitor)} method with a single
+ * calling the {@link #modify(Set, IProgressMonitor)} method with a single
* install action.</p>
*
* <p>This method should not be called from the UI thread as it is long-
@@ -209,7 +209,7 @@
/**
* <p>Uninstalls a project facet from this project. This method is
- * equivalent to calling the {@see #modify(Set, IProgressMonitor)} method
+ * equivalent to calling the {@link #modify(Set, IProgressMonitor)} method
* with a single uninstall action.</p>
*
* <p>This method should not be called from the UI thread as it is long-
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProjectBase.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProjectBase.java
index 9de8a75..fb752bb 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProjectBase.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IFacetedProjectBase.java
@@ -22,7 +22,7 @@
/**
* This interface is used for manipulating the set of facets installed on a
- * project. Use {@see ProjectFacetsManager#create(IProject)} to get an instance
+ * project. Use {@link ProjectFacetsManager#create(IProject)} to get an instance
* of this interface.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
@@ -156,9 +156,9 @@
* @param types the types of the events to listen for
* @throws IllegalArgumentException if <code>listener</code> parameter is <code>null</code> or
* the <code>types</code> parameter is <code>null</code> or empty.
- * @see removeListener(IFacetedProjectListener)
- * @see FacetedProjectFramework.addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
- * @see FacetedProjectFramework.removeListener(IFacetedProjectListener)
+ * @see #removeListener(IFacetedProjectListener)
+ * @see FacetedProjectFramework#addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
+ * @see FacetedProjectFramework#removeListener(IFacetedProjectListener)
*/
void addListener( IFacetedProjectListener listener,
@@ -166,14 +166,14 @@
/**
* Removes the faceted project listener that was previously registered using the
- * {@see addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])} method. If the
+ * {@link #addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])} method. If the
* specified listener is not present in the listener registry, this call will be ignored.
*
* @param listener the faceted project listener
* @throws IllegalArgumentException if <code>listener</code> parameter is <code>null</code>
- * @see addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
- * @see FacetedProjectFramework.addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
- * @see FacetedProjectFramework.removeListener(IFacetedProjectListener)
+ * @see #addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
+ * @see FacetedProjectFramework#addListener(IFacetedProjectListener,IFacetedProjectEvent.Type[])
+ * @see FacetedProjectFramework#removeListener(IFacetedProjectListener)
*/
void removeListener( IFacetedProjectListener listener );
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IGroup.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IGroup.java
index 6e2ab65..6c972f2 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IGroup.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IGroup.java
@@ -14,7 +14,7 @@
import java.util.Set;
/**
- * A group is a named collection of {@see IProjectFacetVersion} objects. It is
+ * A group is a named collection of {@link IProjectFacetVersion} objects. It is
* used primarily as a parameter to the "requires" and "conflicts" constraints
* and allows a level of indirection where a facet does not need to know about
* all the members of the group. A given project facet version can belong to
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPreset.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPreset.java
index ac2555a..1a5dddb 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPreset.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPreset.java
@@ -41,8 +41,8 @@
/**
* Dynamic presets are created by registering a factory in the <code>presets</code>
* extension point and are not fully specified until they are resolved within the context
- * of use. To resolve a dynamic preset, cast the preset object to {@see IDynamicPreset} and
- * then use the {@see IDynamicPreset.resolve(java.util.Map)} method.
+ * of use. To resolve a dynamic preset, cast the preset object to {@link IDynamicPreset} and
+ * then use the {@link IDynamicPreset#resolve(java.util.Map)} method.
*/
DYNAMIC,
@@ -64,8 +64,8 @@
String getId();
/**
- * Returns the type of the preset. If the preset type is {@see Type.DYNAMIC}, then the preset
- * object can be cast to {@see IDynamicPreset}.
+ * Returns the type of the preset. If the preset type is {@link Type#DYNAMIC}, then the preset
+ * object can be cast to {@link IDynamicPreset}.
*
* @return the type of the preset
* @since 2.0
@@ -103,7 +103,7 @@
*
* @return <code>true</code> if the preset is user-defined,
* <code>false</code> otherwise
- * @deprecated use the {@see getType()} method instead
+ * @deprecated use the {@link #getType()} method instead
*/
boolean isUserDefined();
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPresetFactory.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPresetFactory.java
index 8e5bb7b..a1f563f 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPresetFactory.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IPresetFactory.java
@@ -30,7 +30,7 @@
* The factory method for creating a preset definition. The definition contains all of the
* information necessary for the system to create a preset. The factory can take into account
* the context that the preset will be used in when creating a preset definition. See
- * {@see IDynamicPreset} for documentation on what type of information the context can contain.
+ * {@link IDynamicPreset} for documentation on what type of information the context can contain.
*
* @param presetId the id of the preset
* @param context the information about context that this preset will be used in
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacet.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacet.java
index 636a2a4..7ac330f 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacet.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacet.java
@@ -143,7 +143,7 @@
/**
* Returns the facet version that should be selected by default. If the
* default version is not explicitly specified in the facet definition, the
- * latest version (as specified by {@see getLatestVersion()} method) will
+ * latest version (as specified by {@link #getLatestVersion()} method) will
* be returned.
*
* @return the facet version that should be selected by default
@@ -168,7 +168,7 @@
/**
* Returns the version comparator specified for this project facet. If no
* version comparator is specified, this method will return an instance of
- * the {@see DefaultVersionComparator}.
+ * the {@link DefaultVersionComparator}.
*
* @return the version comparator specified for this project facet
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacetVersion.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacetVersion.java
index da5c29f..14f11dc 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacetVersion.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/IProjectFacetVersion.java
@@ -88,7 +88,7 @@
* @param type action type
* @return <code>true</code> if this project facet supports the provided
* action type, <code>false</code> otherwise
- * @deprecated use {@link supports( Set, Action.Type)} instead
+ * @deprecated use {@link #supports( Set, IFacetedProject.Action.Type)} instead
*/
boolean supports( Action.Type type );
@@ -118,7 +118,7 @@
/**
* Returns the action definition corresponding to a particular action type
- * over this project facet version. The {@link supports( Set, Action.Type )}
+ * over this project facet version. The {@link #supports( Set, IFacetedProject.Action.Type )}
* method can be used to check whether the action is supported prior to
* calling this method.
*
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/MinimalConfigurationPresetFactory.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/MinimalConfigurationPresetFactory.java
index d11804c..de78903 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/MinimalConfigurationPresetFactory.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/MinimalConfigurationPresetFactory.java
@@ -18,6 +18,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS;
import org.eclipse.wst.common.project.facet.core.internal.DefaultFacetsExtensionPoint;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
/**
* Preset factory for the <code>minimal.configuration</code> preset. This preset only contains
@@ -25,9 +26,9 @@
*
* <ol>
* <li>If a runtime is selected, the versions are looked up using
- * {@see IRuntime.getDefaultFacets(Set)}.</li>
+ * {@link IRuntime#getDefaultFacets(Set)}.</li>
* <li>If no runtime is selected, this versions are the default versions as specified
- * by {@see IProjectFacet.getDefaultVersion()}.
+ * by {@link IProjectFacet#getDefaultVersion()}.
* </ol>
*
* @since 3.0
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/PresetDefinition.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/PresetDefinition.java
index f724b27..24c481d 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/PresetDefinition.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/PresetDefinition.java
@@ -17,7 +17,7 @@
/**
* The preset definition is used in several contexts as a means of describing a preset. It is
- * different from {@see IPreset} in that the preset definition is not an actual preset that's
+ * different from {@link IPreset} in that the preset definition is not an actual preset that's
* registered with the system.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/ProjectFacetsManager.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/ProjectFacetsManager.java
index 1ff0754..4546ec6 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/ProjectFacetsManager.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/ProjectFacetsManager.java
@@ -19,13 +19,14 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
import org.eclipse.wst.common.project.facet.core.internal.FacetedProjectFrameworkImpl;
/**
* This is the entry point to the project facet framework API. From here, you
* can (among other things) list available project facets and create instances
- * of {@see IFacetedProject}.
+ * of {@link IFacetedProject}.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
@@ -406,9 +407,9 @@
*
* @param base the set of project facets that the actions will be applied to
* @param actions the set of actions to evaluate
- * @return a status object with severity of {@see IStatus#OK} if all of the
- * constraints were satisfied or otherwise a {@see MultiStatus} composed
- * of {@see ValidationProblem} status objects
+ * @return a status object with severity of {@link IStatus#OK} if all of the
+ * constraints were satisfied or otherwise a {@link MultiStatus} composed of
+ * individual status objects for each of the problems
*/
public static IStatus check( final Set<IProjectFacetVersion> base,
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectEvent.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectEvent.java
index c34bef9..2bdbec9 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectEvent.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectEvent.java
@@ -38,7 +38,7 @@
/**
* Type of the event that gets triggered right before a facet is installed. Events of this
- * type can be cast to {@see IProjectFacetActionEvent} interface to get additional details
+ * type can be cast to {@link IProjectFacetActionEvent} interface to get additional details
* about the change.
*/
@@ -46,7 +46,7 @@
/**
* Type of the event that gets triggered right after a facet is installed. Events of this
- * type can be cast to {@see IProjectFacetActionEvent} interface to get additional details
+ * type can be cast to {@link IProjectFacetActionEvent} interface to get additional details
* about the change.
*/
@@ -54,7 +54,7 @@
/**
* Type of the event that gets triggered right before a facet is uninstalled. Events of this
- * type can be cast to {@see IProjectFacetActionEvent} interface to get additional details
+ * type can be cast to {@link IProjectFacetActionEvent} interface to get additional details
* about the change.
*/
@@ -62,7 +62,7 @@
/**
* Type of the event that gets triggered right after a facet is uninstalled. Events of this
- * type can be cast to {@see IProjectFacetActionEvent} interface to get additional details
+ * type can be cast to {@link IProjectFacetActionEvent} interface to get additional details
* about the change.
*/
@@ -70,7 +70,7 @@
/**
* Type of the event that gets triggered right before a facet version is changed. Events of
- * this type can be cast to {@see IProjectFacetActionEvent} interface to get additional
+ * this type can be cast to {@link IProjectFacetActionEvent} interface to get additional
* details about the change.
*/
@@ -78,7 +78,7 @@
/**
* Type of the event that gets triggered right after a facet version is changed. Events of
- * this type can be cast to {@see IProjectFacetActionEvent} interface to get additional
+ * this type can be cast to {@link IProjectFacetActionEvent} interface to get additional
* details about the change.
*/
@@ -86,7 +86,7 @@
/**
* Type of the event that gets triggered when project's fixed facets are changed. Events
- * of this type can be cast to {@see IFixedFacetsChangedEvent} interface to get additional
+ * of this type can be cast to {@link IFixedFacetsChangedEvent} interface to get additional
* details about the change.
*/
@@ -94,7 +94,7 @@
/**
* Type of the event that gets triggered when the set of runtimes that the project targets
- * is changed. Events of this type can be cast to {@see ITargetedRuntimesChangedEvent}
+ * is changed. Events of this type can be cast to {@link ITargetedRuntimesChangedEvent}
* interface to get additional details about the change.
*/
@@ -102,7 +102,7 @@
/**
* Type of the event that gets triggered when the primary targeted runtime of the project
- * is changed. Events of this type can be cast to {@see IPrimaryRuntimeChangedEvent}
+ * is changed. Events of this type can be cast to {@link IPrimaryRuntimeChangedEvent}
* interface to get additional details about the change.
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectFrameworkListener.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectFrameworkListener.java
index 4d00c94..28efd2b 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectFrameworkListener.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectFrameworkListener.java
@@ -11,10 +11,13 @@
package org.eclipse.wst.common.project.facet.core.events;
+import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+
/**
* This interface is implemented by those who wish to receive events when a faceted project is
- * changed. There are three ways to register a listener: (a) using methods on {@see
- * IFacetedProject}, (b) using methods on {@see FacetedProjectFramework}, or (c) using the provided
+ * changed. There are three ways to register a listener: (a) using methods on {@link
+ * IFacetedProject}, (b) using methods on {@link FacetedProjectFramework}, or (c) using the provided
* extension point. Method (a) catches only events for a specific faceted project while methods
* (b) and (c) catch events for all faceted projects in the workspace.
*
@@ -29,7 +32,7 @@
* <p>All events except for <code>PROJECT_MODIFIED</code> of this type are triggered in the
* lock context of the operation that caused the original change. This guarantees that the
* project has not changed further from the state it was in after the change was complete,
- * however the listener is unable to call any modifier methods on the {@see IFacetedProject}
+ * however the listener is unable to call any modifier methods on the {@link IFacetedProject}
* interface. To do so, the listener must spin off a thread.</p>
*
* <p>It is highly advised that any listener that performs non-critical or long-running tasks
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectListener.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectListener.java
index 43ce60a..e673b33 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectListener.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/events/IFacetedProjectListener.java
@@ -11,10 +11,13 @@
package org.eclipse.wst.common.project.facet.core.events;
+import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+
/**
* This interface is implemented by those who wish to receive events when a faceted project is
- * changed. There are three ways to register a listener: (a) using methods on {@see
- * IFacetedProject}, (b) using methods on {@see FacetedProjectFramework}, or (c) using the provided
+ * changed. There are three ways to register a listener: (a) using methods on {@link
+ * IFacetedProject}, (b) using methods on {@link FacetedProjectFramework}, or (c) using the provided
* extension point. Method (a) catches only events for a specific faceted project while methods
* (b) and (c) catch events for all faceted projects in the workspace.
*
@@ -29,7 +32,7 @@
* <p>All events except for <code>PROJECT_MODIFIED</code> of this type are triggered in the
* lock context of the operation that caused the original change. This guarantees that the
* project has not changed further from the state it was in after the change was complete,
- * however the listener is unable to call any modifier methods on the {@see IFacetedProject}
+ * however the listener is unable to call any modifier methods on the {@link IFacetedProject}
* interface. To do so, the listener must spin off a thread.</p>
*
* <p>It is highly advised that any listener that performs non-critical or long-running tasks
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectAdapter.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectAdapter.java
index f90d1e4..3a8a6b8 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectAdapter.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectAdapter.java
@@ -18,7 +18,7 @@
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
/**
- * Adapts {@see IProject} to {@see IFacetedProject}.
+ * Adapts {@link IProject} to {@link IFacetedProject}.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectFrameworkImpl.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectFrameworkImpl.java
index 26768d3..99510d1 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectFrameworkImpl.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectFrameworkImpl.java
@@ -82,7 +82,7 @@
import org.osgi.service.prefs.Preferences;
/**
- * The implementation of the {@see ProjectFacetsManager} abstract class.
+ * The implementation of the {@link ProjectFacetsManager} abstract class.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectWorkingCopy.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectWorkingCopy.java
index d33a5fd..f09c005 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectWorkingCopy.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProjectWorkingCopy.java
@@ -1802,30 +1802,41 @@
throws CoreException
{
- synchronized( this.lock )
+ final SubMonitor pm = SubMonitor.convert( monitor, 100 );
+
+ try
{
- final SubMonitor pm = SubMonitor.convert( monitor, 100 );
+ // In order to avoid deadlocks, we clone the working copy. This allows us to release
+ // the lock on this working copy while running mergeChanges(). This is important since
+ // mergeChanges() can call out to third-party code.
- try
+ final IFacetedProjectWorkingCopy clone;
+
+ synchronized( this.lock )
{
- final IFacetedProject fpj;
+ clone = clone();
+ }
- if( this.project == null )
- {
- fpj = ProjectFacetsManager.create( this.projectName,
- this.projectLocation,
- pm.newChild( 10, SubMonitor.SUPPRESS_ALL_LABELS ) );
- }
- else
- {
- fpj = this.project;
- pm.worked( 10 );
- }
+ final IFacetedProject fpj;
+
+ if( this.project == null )
+ {
+ fpj = ProjectFacetsManager.create( this.projectName,
+ this.projectLocation,
+ pm.newChild( 10, SubMonitor.SUPPRESS_ALL_LABELS ) );
+ }
+ else
+ {
+ fpj = this.project;
+ pm.worked( 10 );
+ }
+
+ ( (FacetedProject) fpj ).mergeChanges( clone, pm.newChild( 90 ) );
- ( (FacetedProject) fpj ).mergeChanges( this, pm.newChild( 90 ) );
-
- // Make sure that the working copy is still valid after changes are committed.
-
+ // Reset the working copy so that it can be used again.
+
+ synchronized( this.lock )
+ {
this.project = fpj;
this.projectName = null;
this.projectNameValidation = Status.OK_STATUS;
@@ -1833,10 +1844,10 @@
revertChanges();
}
- finally
- {
- pm.done();
- }
+ }
+ finally
+ {
+ pm.done();
}
}
@@ -1848,8 +1859,6 @@
{
synchronized( this.lock )
{
- // TODO: Both this method and the clone method ignore the action config objects.
-
setProjectName( fpjwc.getProjectName() );
setProjectLocation( fpjwc.getProjectLocation() );
setFixedProjectFacets( fpjwc.getFixedProjectFacets() );
@@ -1863,6 +1872,9 @@
{
setSelectedPreset( selectedPreset.getId() );
}
+
+ this.actions.clear();
+ this.actions.addAll( ( (FacetedProjectWorkingCopy) fpjwc ).actions );
}
}
finally
@@ -1924,6 +1936,9 @@
clone.setSelectedPreset( selectedPreset.getId() );
}
+ clone.actions.clear();
+ clone.actions.addAll( this.actions );
+
return clone;
}
}
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/Group.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/Group.java
index 92b2526..f93d068 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/Group.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/Group.java
@@ -19,7 +19,7 @@
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
/**
- * The implementation of the {@see IGroup} interface.
+ * The implementation of the {@link IGroup} interface.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/UserPreset.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/UserPreset.java
index 7d7116a..cf71da4 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/UserPreset.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/UserPreset.java
@@ -19,7 +19,7 @@
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
/**
- * The implementation of the {@see IPreset} interface that's used for user-defined presets.
+ * The implementation of the {@link IPreset} interface that's used for user-defined presets.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntime.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntime.java
index 0534689..a3821b0 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntime.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntime.java
@@ -27,13 +27,13 @@
* runtime components.
*
* <p>This interface is not intended to be implemented outside of this framework. Client code can
- * get access to <code>IRuntime</code> objects by using methods on the {@see RuntimeManager}
+ * get access to <code>IRuntime</code> objects by using methods on the {@link RuntimeManager}
* class.</p>
*
- * @see RuntimeManager.getRuntimes()
- * @see RuntimeManager.getRuntime(String)
- * @see RuntiemManager.isRuntimeDefined(String)
- * @see RuntimeManager.defineRuntime(String,List<IRuntimeComponent>,Map<String,String>)
+ * @see RuntimeManager#getRuntimes()
+ * @see RuntimeManager#getRuntime(String)
+ * @see RuntimeManager#isRuntimeDefined(String)
+ * @see RuntimeManager#defineRuntime(String,List,Map)
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
@@ -52,7 +52,7 @@
/**
* Returns the localized name of this runtime. If not specified, this will default to the name
- * of the runtime as returned by the {@see getName()} method.
+ * of the runtime as returned by the {@link #getName()} method.
*
* <p>The localized name should be used in all communications with the user while all metadata
* references to the runtime should use the unlocalized name. Note that there is an inherent
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeBridge.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeBridge.java
index 7e9c32a..10b5ad7 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeBridge.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeBridge.java
@@ -33,7 +33,7 @@
* Returns the set of names for runtimes that this bridge wants to export.
* The system will try to accommodate these name choices, but may have to
* disambiguate names due to collisions. However, even if the runtime name
- * is changed, the name that will be passed into the {@see bridge(String)}
+ * is changed, the name that will be passed into the {@link #bridge(String)}
* call will be the original name provided by this method call.
*
* @return the set of names for runtimes that this bridge wants to export
@@ -46,11 +46,11 @@
/**
* Returns a stub that represents the bridged runtime. The system will
- * wrap this stub and expose it to the clients through the {@see IRuntime}
+ * wrap this stub and expose it to the clients through the {@link IRuntime}
* interface.
*
* @param name the name of the bridged runtime (as returned by the
- * {@see getExportedRuntimeNames()}) method
+ * {@link #getExportedRuntimeNames()}) method
* @return a stub that represents the bridged runtime
* @throws CoreException if failed while bridging
*/
@@ -61,7 +61,7 @@
/**
* Represents a single bridged runtime. The system will wrap this interface
- * and expose it to clients as {@see IRuntime}. All relevant calls will be
+ * and expose it to clients as {@link IRuntime}. All relevant calls will be
* delegated to this interface.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
@@ -85,8 +85,7 @@
* contents will vary depending on how the runtime was created and
* what component types/versions it's comprised of.
*
- * @return the properties associated with this runtime (key type:
- * {@see String}, value type: {@see String})
+ * @return the properties associated with this runtime
*/
Map<String,String> getProperties();
@@ -94,7 +93,7 @@
/**
* Represents a single bridged runtime. The system will wrap this interface
- * and expose it to clients as {@see IRuntime}. All relevant calls will be
+ * and expose it to clients as {@link IRuntime}. All relevant calls will be
* delegated to this interface.
*
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
@@ -123,8 +122,7 @@
* contents will vary depending on how the runtime was created and
* what component types/versions it's comprised of.
*
- * @return the properties associated with this runtime (key type:
- * {@see String}, value type: {@see String})
+ * @return the properties associated with this runtime
* @since 3.0
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponent.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponent.java
index 7285f68..1292c38 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponent.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponent.java
@@ -21,10 +21,10 @@
*
* <p>This interface is not intended to be implemented outside of this framework. Client code can
* get access to <code>IRuntimeComponent</code> objects by using methods on the
- * {@see IRuntime} and {@see RuntimeManager} classes.</p>
+ * {@link IRuntime} and {@link RuntimeManager} classes.</p>
*
- * @see IRuntime.getRuntimeComponents()
- * @see RuntimeManager.createRuntimeComponent(IRuntimeComponentVersion,Map<String,String>)
+ * @see IRuntime#getRuntimeComponents()
+ * @see RuntimeManager#createRuntimeComponent(IRuntimeComponentVersion,Map)
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentType.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentType.java
index 0c548ef..1e0c501 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentType.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentType.java
@@ -17,6 +17,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.wst.common.project.facet.core.DefaultVersionComparator;
/**
* Represents the type of a runtime component. A runtime instance is composed of multiple runtime
@@ -25,11 +26,11 @@
* <p>This interface is not intended to be implemented outside of this framework. Runtime component
* types are declared using <code>org.eclipse.wst.common.project.facet.core.runtimes</code>
* extension point. Once declared, client code can get access to <code>IRuntimeComponentType</code>
- * objects by using methods on the {@see RuntimeManager} class.</p>
+ * objects by using methods on the {@link RuntimeManager} class.</p>
*
- * @see RuntimeManager.getRuntimeComponentTypes()
- * @see RuntimeManager.getRuntimeComponentType(String)
- * @see RuntimeManager.isRuntimeComponentTypeDefined(String)
+ * @see RuntimeManager#getRuntimeComponentTypes()
+ * @see RuntimeManager#getRuntimeComponentType(String)
+ * @see RuntimeManager#isRuntimeComponentTypeDefined(String)
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
@@ -78,11 +79,11 @@
boolean hasVersion( String version );
/**
- * Returns the {@see IRuntimeComponentVersion} object corresponding to the
+ * Returns the {@link IRuntimeComponentVersion} object corresponding to the
* provided version string.
*
* @param version the version string
- * @return the {@see IRuntimeComponentVersion} object corresponding to the
+ * @return the {@link IRuntimeComponentVersion} object corresponding to the
* provided version string
* @throws IllegalArgumentException if the version does not exist
*/
@@ -116,7 +117,7 @@
/**
* Returns the version comparator specified for this runtime component type.
* If no version comparator is specified, this method will return an
- * instance of the {@see DefaultVersionComparator}.
+ * instance of the {@link DefaultVersionComparator}.
*
* @return the version comparator specified for this runtime component type
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentVersion.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentVersion.java
index 7046650..a24d472 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentVersion.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/IRuntimeComponentVersion.java
@@ -21,14 +21,14 @@
* versions are declared using <code>org.eclipse.wst.common.project.facet.core.runtimes</code>
* extension point. Once declared, client code can get access to
* <code>IRuntimeComponentVersion</code> objects by using methods on the
- * {@see IRuntimeComponentType} class.</p>
+ * {@link IRuntimeComponentType} class.</p>
*
- * @see IRuntimeComponentType.getVersions()
- * @see IRuntimeComponentType.getVersions(String)
- * @see IRuntimeComponentType.getVersion(String)
- * @see IRuntimeComponentType.hasVersion(String)
- * @see IRuntimeComponentType.getLatestVersion()
- * @see IRuntimeComponentType.getSortedVersions(boolean)
+ * @see IRuntimeComponentType#getVersions()
+ * @see IRuntimeComponentType#getVersions(String)
+ * @see IRuntimeComponentType#getVersion(String)
+ * @see IRuntimeComponentType#hasVersion(String)
+ * @see IRuntimeComponentType#getLatestVersion()
+ * @see IRuntimeComponentType#getSortedVersions(boolean)
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/RuntimeManager.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/RuntimeManager.java
index 0aab848..37588ee 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/RuntimeManager.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/runtime/RuntimeManager.java
@@ -54,11 +54,11 @@
}
/**
- * Returns the {@see IRuntimeComponentType} object corresponding to the
+ * Returns the {@link IRuntimeComponentType} object corresponding to the
* specified runtime component type id.
*
* @param id the runtime componenet type id
- * @return the {@see IRuntimeComponentType} object corresponding to the
+ * @return the {@link IRuntimeComponentType} object corresponding to the
* specified runtime componenet type id
* @throws IllegalArgumentException if the runtime component type id is not
* recognized
@@ -148,7 +148,7 @@
/**
* Creates a new runtime componenet. This method is intended to be used in
- * conjunction with the {@see defineRuntime(String,List,Map)} method.
+ * conjunction with the {@link #defineRuntime(String,List,Map)} method.
*
* @param rcv the runtime component version
* @param properties the runtime component properties
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/.project b/plugins/org.eclipse.wst.common.project.facet.doc.api/.project
deleted file mode 100644
index 6a74c76..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.common.project.facet.doc.api</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <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>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.project.facet.doc.api/META-INF/MANIFEST.MF
deleted file mode 100644
index e4b8e32..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.project.facet.doc.api;singleton:=true
-Bundle-Version: 1.0.0.qualifier
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/build.properties b/plugins/org.eclipse.wst.common.project.facet.doc.api/build.properties
deleted file mode 100644
index 41997e1..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = META-INF/,\
- content/,\
- plugin.properties,\
- plugin.xml,\
- toc.xml
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/description.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/description.html
deleted file mode 100644
index e3c8a66..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/description.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
- http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
-<title>Checking WTP out</title>
-<link
- rel="stylesheet"
- type="text/css"
- href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">Faceted Project Framework</p>
-
-<p>The Faceted Project Framework allows the plugin developer to think of
-projects as composed of units of functionality, otherwise known as facets, that
-can be added and removed by the user.</p>
-
-<p>Project facets are most frequently used for adding natures, builders,
-classpath entries, and resources to a project.</p>
-
-<p>Primary Benefits</p>
-
-<ul>
- <li>Consistent user experience.</li>
- <li>Ability to accurately describe capabilities of the runtime platform.</li>
-</ul>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/downloads/enablement-example.zip b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/downloads/enablement-example.zip
deleted file mode 100644
index 03e7c89..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/downloads/enablement-example.zip
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/enabling-based-on-facets.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/enabling-based-on-facets.html
deleted file mode 100644
index 50ce36a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/enabling-based-on-facets.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Enabling UI Elements Based on Project Facets</title>
- <link type="text/css" rel="stylesheet" href="tutorial/tutorial.css"/>
-</head>
-
-<body>
-
-<h1 align="center">Enabling UI Elements Based on Project Facets</h1>
-
-<p>User interface elements often need to be selectively enabled based on the
-presence of a facet in a project. The two most common examples are project
-properties pages and menu actions associated with a facet. The Faceted Project
-Framework provides a way to do that via a property tester that can be used in
-any extension point that supports the Eclipse Platform's common expression
-language.</p>
-
-<p>
- <b>Property Name:</b> <code>org.eclipse.wst.common.project.facet.core.projectFacet</code><br/>
- <b>Property Value:</b> <code>[facet.id](:[version.expr])?</code>
-</p>
-
-<p>As you can see from the format of the property value, you can either test
-using just the project facet id or you can also include a version expression if
-only certain versions should be matched.</p>
-
-<p>The following two examples demonstrate how the facets property tester can be
-used. To explore further, you can also download the
-<a href="downloads/enablement-example.zip">complete runnable source</a> of these
-examples.</p>
-
-<p><b>Example 1</b></p>
-
-<p>Enables a project properties page based on the presence of a facet. Note the
-use of the <code>forcePluginActivation</code> attribute. This attribute makes
-sure that the property tester will be invoked even if the Faceted Project
-Framework plugins have not been activated yet. Omitting this attribute will cause
-the test expression to return false in that situation. Also note the use of the
-<code>adapt</code> operator to adapt the object to <code>IProject</code>. This
-is necessary as some views may represent project entities using other types. For
-instance, in the JDT's Package Explorer the projects are instances of
-<code>org.eclipse.jdt.core.IJavaProject</code>.</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="code-text">org.eclipse.ui.propertyPages</span>">
- <page
- id="<span class="code-text">ExampleFacetPropertiesPage</span>"
- objectClass="<span class="code-text">org.eclipse.core.resources.IProject</span>"
- adaptable="<span class="code-text">true</span>"
- name="<span class="code-text">Example Facet Properties</span>"
- class="<span class="code-text">org.eclipse.wst.project.facet.examples.enablement.ExampleFacetPropertiesPage</span>">
- <enabledWhen>
- <adapt type="<span class="code-text">org.eclipse.core.resources.IProject</span>">
- <test
- forcePluginActivation="<span class="code-text">true</span>"
- property="<span class="code-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
- value="<span class="code-text">example.facet1</span>"/>
- </adapt>
- </enabledWhen>
- </page>
-</extension></pre>
-</div>
-
-<p><b>Example 2</b></p>
-
-<p>Enables a menu action if either one of the two facets specified is installed
-in a project. Note the use of a version expression to match only certain versions.</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="code-text">org.eclipse.ui.popupMenus</span>">
- <objectContribution
- id="<span class="code-text">exampleFacetPopup</span>"
- objectClass="<span class="code-text">org.eclipse.core.resources.IProject</span>"
- adaptable="<span class="code-text">true</span>">
- <action
- id="<span class="code-text">exampleFacetPopupAction</span>"
- label="<span class="code-text">Example Facet Popup</span>"
- class="<span class="code-text">org.eclipse.wst.project.facet.examples.enablement.ExampleFacetPopupAction</span>"
- menubarPath="<span class="code-text">additions</span>"
- enablesFor="<span class="code-text">+</span>">
- </action>
- <enablement>
- <adapt type="<span class="code-text">org.eclipse.core.resources.IProject</span>">
- <or>
- <test
- forcePluginActivation="<span class="code-text">true</span>"
- property="<span class="code-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
- value="<span class="code-text">example.facet1:1.0</span>"/>
- <test
- forcePluginActivation="<span class="code-text">true</span>"
- property="<span class="code-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
- value="<span class="code-text">example.facet2:[1.1-2.2]</span>"/>
- </or>
- </adapt>
- </enablement>
- </objectContribution>
-</extension></pre>
-</div>
-
-<br/><br/><br/><br/>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/format.css b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/format.css
deleted file mode 100644
index c02625e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/format.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/* CSS Document */
-body {
- font-family: Arial, Helvetica, sans-serif
-}
-
-.ueberschrift {
- font-family: Arial, Helvetica, sans-serif;
- font-size: x-large;
- margin-top: 20px;
-}
-
-.code {
- font-family: Courier, "Courier New", Arial, Helvetica, sans-serif;
- font-size: 11px;
- font-weight: normal;
- line-height: 16px;
- color: #0467B4;
- background-color: #CCCCCC;
- padding: 5px 7px 5px 13px;
- border: 1px solid black;
-}
-
-.note {
- font-size: smaller
-}
-
-.description {
- font-family: "Times New Roman", Times, serif;
- font-size: xx-large;
-}
-
-.schema {
- font-style: italic;
- font-size: large
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/listeners.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/listeners.html
deleted file mode 100644
index a9c725c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/listeners.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Listening for Changes to Faceted Projects</title>
- <link type="text/css" rel="stylesheet" href="tutorial/tutorial.css"/>
-</head>
-
-<body>
-
-<style type="text/css">
-
- .subHeader
- {
- font-size: 16px;
- font-weight: bold;
- }
-
- .eventsTableHeaderCell
- {
- font-weight: bold;
- border-bottom: 1px solid #000000;
- padding: 2px;
- }
-
- .eventsTableTypeCell
- {
- vertical-align: top;
- padding-top: 2px;
- padding-bottom: 2px;
- padding-left: 2px;
- padding-right: 20px;
- }
-
- .eventsTableInterfaceCell
- {
- vertical-align: top;
- padding-top: 2px;
- padding-bottom: 2px;
- padding-left: 2px;
- padding-right: 20px;
- }
-
- .eventsTableDescriptionCell
- {
- vertical-align: top;
- padding: 2px;
- }
-
-</style>
-
-<h1 align="center">Listening for Changes to Faceted Projects</h1>
-
-<p>The Faceted Project Framework provides a facility that will notify any interested parties when
-a change is made to the model of a faceted project. Listeners can be registered either via a direct
-API call or via an extension point. Listeners can be global or scoped to a specific project.</p>
-
-<p class="subHeader">Events</p>
-
-<table style="border-collapse:collapse">
-
- <tr>
- <td class="eventsTableHeaderCell">Event Type</td>
- <td class="eventsTableHeaderCell">Event Object Interface</td>
- <td class="eventsTableHeaderCell">Description</td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">PROJECT_MODIFIED</td>
- <td class="eventsTableInterfaceCell">IFacetedProjectEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered when faceted project metadata is modified in any way. No detailed information
- about the change is provided. Note that while listening for PROJECT_MODIFIED events is
- guaranteed to catch all other events, the inverse is not true. Listing on all the other
- events is not guaranteed to catch all PROJECT_MODIFIED events. This is because there are
- circumstances when the system does not have the details about the type of the change
- (such as when the faceted project metadata file is modified on disk).
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">PRE_INSTALL</td>
- <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered right before a facet is installed.
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">POST_INSTALL</td>
- <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
- <td>Gets triggered right after a facet is installed.</td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">PRE_UNINSTALL</td>
- <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered right before a facet is uninstalled.
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">POST_UNINSTALL</td>
- <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered right after a facet is uninstalled.
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">PRE_VERSION_CHANGE</td>
- <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered right before a facet version is changed.
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">POST_VERSION_CHANGE</td>
- <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered right after a facet version is changed.
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">FIXED_FACETS_CHANGED</td>
- <td class="eventsTableInterfaceCell">IFixedFacetsChangedEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered when project's fixed facets are changed.
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">TARGETED_RUNTIMES_CHANGED</td>
- <td class="eventsTableInterfaceCell">ITargetedRuntimesChangedEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered when the set of runtimes that the project targets is changed.
- </td>
- </tr>
-
- <tr>
- <td class="eventsTableTypeCell">PRIMARY_RUNTIME_CHANGED</td>
- <td class="eventsTableInterfaceCell">IPrimaryRuntimeChangedEvent</td>
- <td class="eventsTableDescriptionCell">
- Gets triggered when the primary targeted runtime of the project is changed.
- </td>
- </tr>
-
-</table>
-
-<p class="subHeader">Registering a Listener</p>
-
-<p>All listeners have to implement <code>IFacetedProjectListener</code> interface which looks like
-this:</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.core.events;
-
-<span class="java-keyword">public interface</span> IFacetedProjectListener
-{
- <span class="java-keyword">void</span> handleEvent( IFacetedProjectEvent event );
-}
-</pre>
-</div>
-
-<p>Depending on the event type, it may be possible to cast the event object to a more specific
-interface in order to get details about the event. See the event table for information about which
-event object interface corresponds with which event type.</p>
-
-<p>There are three ways to register a listener:</p>
-
-<ol>
- <li>IFacetedProject.addListener()</li>
- <li>FacetedProjectFramework.addListener()</li>
- <li>Extension Point: org.eclipse.wst.common.project.facet.core.listeners</p>
-</ol>
-
-<p>All of these methods allows you to specify which events the listener should be notified about.
-Not specifying event types on registration will cause the listener to be notified about all events.
-This is typically not desired. If a listener needs to react to any change in the project and has no
-need to analyze specific events, it should be registered for the <code>PROJECT_MODIFIED</code>
-event.</p>
-
-<p>The first method registers a listener that is scoped to a specific project. The last two
-register a global listener which will be notified about changes in all faceted projects that are
-present in the workspace. In most circumstances, if a global listener is needed, it should be
-registered via the extension point rather than using <code>FacetedProjectFramework.addListener()</code>
-API. Using the extension point guarantees that the listener will not miss any events due to not
-being registered early enough. It also delays initialization of the plugin bundle containing the
-listener until an event that the listener is interested in is fired.</p>
-
-<p class="subHeader">Extension Point</p>
-
-<p>The extension point that's used for registering listeners is quite simple. Only two pices of
-information need to be supplied: the listener class name and an optional list of event types.</p>
-
-<div class="code">
-<pre class="xml-code"><extension point="<span class="code-text">org.eclipse.wst.common.project.facet.core.listeners</span>">
- <listener
- class="<span class="code-text">{class:org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener}</span>"
- eventTypes="<span class="code-text">{event.types}</span>"/> <i>(1 or more)</i>
-<extension>
-</pre>
-</div>
-
-<p>The <code>eventTypes</code> attribute value should be a comma-separated list of event types.</p>
-
-<p class="subHeader">Examples</p>
-
-<p>This example registers a very simple listener that prints out events received. The listener is
-registered several different ways for the purposes of this example.</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.mycorp.myproduct;
-
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-
-<span class="java-keyword">public final class</span> ListenerImpl <span class="java-keyword">implements</span> IFacetedProjectListener
-{
- <span class="java-keyword">public void</span> handleEvent( <span class="java-keyword">final</span> IFacetedProjectEvent event )
- {
- System.out.println( event.toString() );
- }
-}
-</pre>
-</div>
-
-<p>The following code snippet registers the above listener on a specific project to listen for
-changes in the runtimes that the project targets.</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IFacetedProject;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-
-...
-
-IProject pj;
-
-...
-
-<span class="java-keyword">final</span> IFacetedProject fpj = ProjectFacetsManager.create( pj );
-<span class="java-keyword">final</span> ListenerImpl listener = <span class="java-keyword">new</span> ListenerImpl();
-
-fpj.addListener( listener,
- IFacetedProjectEvent.Type.TARGETED_RUNTIMES_CHANGED,
- IFacetedProjectEvent.Type.PRIMARY_RUNTIME_CHANGED );
-
-...
-
-fpj.removeListener( listener );
-</pre>
-</div>
-
-<p>The following code snippet register the above listener to listen for the PRE_INSTALL and
-PRE_UNINSTALL events in all faceted projects.</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-
-...
-
-<span class="java-keyword">final</span> ListenerImpl listener = <span class="java-keyword">new</span> ListenerImpl();
-
-FacetedProjectFramework.addListener( listener,
- IFacetedProjectEvent.Type.PRE_INSTALL,
- IFacetedProjectEvent.Type.PRE_UNINSTALL );
-
-...
-
-FacetedProjectFramework.removeListener( listener );
-</pre>
-</div>
-
-<p>The following code snippet accomplishes the same thing as the one above, except it does this
-via the extension point.</p>
-
-<div class="code">
-<pre class="xml-code"><extension point="<span class="code-text">org.eclipse.wst.common.project.facet.core.listeners</span>">
- <listener class="<span class="code-text">com.mycorp.myproduct.ListenerImpl</span>" eventTypes="<span class="code-text">PRE_INSTALL,PRE_UNINSTALL</span>"/>
-<extension>
-</pre>
-</div>
-
-<br/><br/><br/><br/>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/questions.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/questions.html
deleted file mode 100644
index b48b0d9..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/questions.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Questions & Answers</title>
- <link rel="stylesheet" type="text/css" href="tutorial/tutorial.css"/>
-</head>
-</head>
-
-<body>
-
-<h1 align="center">Questions & Answers</h1>
-
-<p><b><a name="configure.facets.button">Question: I'd like to be able to configure my
-facet after it is installed using the Project Facets property page or the
-Add/Remove Facets wizard. Why isn't there a configure button?</b></p>
-
-<p><b>Answer:</b> The Project Facets property page and the Add/Remove Facets wizard
-are intended for managing the set of facets that are installed on a project.
-When configuration of an installed facet needs to be changed, the expectation is
-that the facet author will use existing Eclipse facilities to provide project
-property pages. For example, the <code>jst.java</code> facet is configured using
-the <i>Java Build Path</i>, <i>Java Code Style</i>, and <i>Java Compiler</i>
-property pages.</p>
-
-<br/><br/><br/>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen01.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen01.gif
deleted file mode 100644
index 6d8bfb7..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen01.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen02.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen02.gif
deleted file mode 100644
index a481aef..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen02.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen03.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen03.gif
deleted file mode 100644
index c61e29e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen03.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen04.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen04.gif
deleted file mode 100644
index fae4b62..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen04.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen05.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen05.gif
deleted file mode 100644
index b33903e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen05.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen06.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen06.gif
deleted file mode 100644
index 977690b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen06.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen07.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen07.gif
deleted file mode 100644
index 3133e18..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen07.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen08.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen08.gif
deleted file mode 100644
index e4040ca..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/images/screen08.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/materials/solution.zip b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/materials/solution.zip
deleted file mode 100644
index 499b7dc..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/materials/solution.zip
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/materials/starter.zip b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/materials/starter.zip
deleted file mode 100644
index bc20cab..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/materials/starter.zip
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/tutorial.css b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/tutorial.css
deleted file mode 100644
index 27036ad..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/tutorial.css
+++ /dev/null
@@ -1,120 +0,0 @@
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold; line-height: 14px; margin-top: 30px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-
-pre {
- padding: 0px;
- margin-top: 0px;
- margin-left: 0px;
- margin-bottom: 0px;
- margin-right: 0px;
- text-align: left;
-}
-
-.code {
- border: 1px dashed #3c78b5;
- font-size: 11px;
- font-family: Courier;
- margin: 10px;
- line-height: 13px;
- text-align: left;
- background-color: #f0f0f0;
- padding: 10px;
-}
-
-.code-xml {
- color: #000000;
-}
-
-.schema-type
-{
- color: #009100;
- background-color: inherit;
-}
-
-.schema-type-link a:link
-{
- color: #009100;
- text-decoration: none
-}
-
-.schema-type-link a:visited
-{
- color: #009100;
- text-decoration: none
-}
-
-.schema-control {
- color: #009100;
- font-style: italic;
- background-color: inherit;
-}
-
-.code-text {
- color: #009100;
- background-color: inherit;
-}
-
-.context-code {
- color: #767676;
- background-color: inherit;
-}
-
-.xml-text
-{
- color: #009100;
-}
-
-.java-code
-{
- color: #000000;
-}
-
-.java-comment
-{
- color: #009100;
-}
-
-.java-javadoc-keyword
-{
- font-weight: bold;
-}
-
-.java-keyword
-{
- color: #7f0055;
- font-weight: bold;
-}
-
-.java-literal
-{
- color: #009100;
-}
-
-.java-context
-{
- color: #767676;
-}
-
-.java-context-keyword
-{
- font-weight: bold;
-}
-
-.screen-shot
-{
- margin: 10px;
-}
-
-.block-indent
-{
- margin: 10px;
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/tutorial.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/tutorial.html
deleted file mode 100644
index e2dc7fe..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/tutorial/tutorial.html
+++ /dev/null
@@ -1,1203 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Extending WTP Using Project Facets</title>
- <link type="text/css" rel="stylesheet" href="tutorial.css"/>
-</head>
-
-<body>
-
-<h1 align="center">Extending WTP Using Project Facets</h1>
-
-<blockquote>
-<b>Summary</b><br/>
-The Faceted Project Framework allows the plugin developer to think of Web Tools
-Platform (WTP) projects as composed of units of functionality, otherwise known
-as facets, that can be added and removed by the user. This tutorial walks you
-through an example of creating a couple of basic facets and in the process
-covers the majority of the framework's extension points. This tutorial has been
-written for version 1.5 of the Web Tools Platform.
-<br/><br/>
-
-<b>Konstantin Komissarchik</b><br/>
-BEA Systems, Inc.<br/>
-September 5, 2006
-</blockquote>
-
-<hr width="100%">
-
-<h2>Introduction</h2>
-
-<p>Faceted Project Framework provides a powerful mechanism for extending the
-capabilities of the Web Tools Platform. Project facets are typically used as
-a way of adding functionality to a project. When a facet is added to the
-project it can perform any necessary setup actions such as copying resources,
-installing builders, adding natures, etc. Facets can also be used as markers for
-enabling user interface elements.</p>
-
-<p>Some of the readers may be wondering how
-facets are different from the project natures which are supported by the Eclipse
-platform. Natures are designed to be hidden from user's view. They are
-essentially markers that are set behind the scenes by tooling. Project facets,
-on the other hand, have been designed from the ground up to be manipulated by
-the end users. The Faceted Project Framework provides all the necessary user
-interface elements for managing the facets on a project and since facets
-are self describing the user is prevented from creating invalid configurations.
-Basically, it is no longer necessary to write custom project creation wizards or
-the "Enable Feature X" menu actions. Common way of managing which facets are
-installed on a project means less burden on the plugin writer and better end user
-experience.</p>
-
-<p>This tutorial covers the extension points and Java API that are used for
-creating project facets. The reader is assumed to be already familiar with
-developing plugins for Eclipse and to have user-level knowledge of the Web Tools
-Platform.</p>
-
-<h2>Tutorial Scenario</h2>
-
-<p>You are a developer for a company which develops a product called
-FormGen. FormGen is basically a servlet that generates HTML forms based on XML
-definition files. The product is composed of a jar containing the servlet and
-some basic widgets. There is also an add-on jar with some extra widgets. Users
-have been manually adding the jars into the WEB-INF/lib directories of their
-web projects and setting up the servlet definitions in web.xml by hand. Your
-task is to make this setup easier by writing a couple of project facets that
-will perform these actions automatically.</p>
-
-<h2>Table of Contents</h2>
-
-<div class="block-indent">
-1. <a href="#getting.started">Getting Started</a><br/>
-2. <a href="#creating.basic.facets">Creating Basic Facet Definitions</a><br/>
-3. <a href="#specifying.constraints">Specifying Constraints</a><br/>
-4. <a href="#implementing.actions">Implementing Actions</a><br/>
-5. <a href="#creating.categories">Creating Categories</a><br/>
-6. <a href="#decorating">Decorating</a><br/>
-7. <a href="#adding.wizard.pages">Adding Wizard Pages</a><br/>
-8. <a href="#defining.presets">Defining Presets</a><br/>
-9. <a href="#runtime.mappings">Specifying Runtime Support Mappings</a><br/>
-10. <a href="#summary">Summary</a><br/>
-Appendix A: <a href="#custom.version.comparators">Custom Version Comparators</a><br/>
-Appendix B: <a href="#version.expressions">Version Expressions</a><br/>
-Appendix C: <a href="#property.tester">Property Tester</a><br/>
-Appendix D: <a href="#wizard.context">Wizard Context</a><br/>
-</div>
-
-<h2><a name="getting.started">1. Getting Started</a></h2>
-
-<p>To follow along with this tutorial, you will need to have a working install
-of Web Tools Platform v1.5. The tutorial is not designed to be used with 1.0.x
-version of WTP as there are numerous extension point and API differences. You
-can download the install kits for WTP and its prerequisites, including Eclipse
-Platform v3.2, at the following locations:</p>
-
-<ul>
- <li><a href="http://download.eclipse.org/eclipse/downloads/">Eclipse Platform Download Site</a></li>
- <li><a href="http://download.eclipse.org/webtools/downloads/">Web Tools Platform Download Site</a></li>
-</ul>
-
-<p>Once the required software has been installed you will need to
-create a new workspace and add the <a href="materials/starter.zip">starter project</a>
-to it. The starter project includes the materials and utility code that will
-be used in this tutorial. If you get stuck at any point you can take a peek at
-the <a href="materials/solution.zip">solution project</a>.</p>
-
-<h2><a name="creating.basic.facets">2. Creating Basic Facet Definitions</a></h2>
-
-<p>Project facets are declared via the <code>org.eclipse.wst.common.project.facet.core.facets</code>
-extension point. This is a pretty large extension point with lots of facilities,
-but we will start small and progress incrementally while building the tutorial
-facets. Here is the part of the schema that we will be working with initially:</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="org.eclipse.wst.common.project.facet.core.facets">
-
- <project-facet id="<span class="schema-type">{string}</span>"> <span class="schema-control">(0 or more)</span>
- <label><span class="schema-type">{string}</span></label>
- <description><span class="schema-type">{string}</span></description> <span class="schema-control">(optional)</span>
- </project-facet>
-
- <project-facet-version facet="<span class="schema-type">{string}</span>" version="<span class="schema-type">{string}</span>"/> <span class="schema-control">(0 or more)</span>
-
-</extension></pre>
-</div>
-
-<p>As you can see, there are two top-level elements in this part of the extension
-point schema. The <code><project-facet></code> element is used to declare
-the facet itself. The <code><project-facet-version></code> element is used
-to declare versions of the facet. Every facet implementation needs to provide
-at least one facet version declaration. In fact, as you will see later in this
-tutorial, the bulk of the work happens in the <code><project-facet-version></code>
-declaration. For now all you need to remember is that a facet cannot be used
-unless it has at least one version.</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="code-text">org.eclipse.wst.common.project.facet.core.facets</span>">
-
- <project-facet id="<span class="code-text">formgen.core</span>">
- <label><span class="code-text">FormGen Core</span></label>
- <description>
- <span class="code-text">Enables generation of HTML forms based on XML definition files.</span>
- </description>
- </project-facet>
-
- <project-facet-version facet="<span class="code-text">formgen.core</span>" version="<span class="code-text">1.0</span>"/>
-
- <project-facet id="<span class="code-text">formgen.ext</span>">
- <label><span class="code-text">FormGen Extensions</span></label>
- <description>
- <span class="code-text">Enables additional FormGen widgets.</span>
- </description>
- </project-facet>
-
- <project-facet-version facet="<span class="code-text">formgen.ext</span>" version="<span class="code-text">1.0</span>"/>
-
-</extension></pre>
-</div>
-
-<p>Insert the above code into your plugin.xml file and lets see it in action.
-Launch Eclipse with your FormGen plugin and then open the Dynamic Web Project
-wizard. Make sure that <code><none></code> is selected in the Target Runtime
-field on the first page and go to the second page. You should see a screen that
-looks like the following. Note that the FormGen facets that you have created
-are displayed.</p>
-
-<div class="screen-shot"><img src="images/screen01.gif"/></div>
-
-<h2><a name="specifying.constraints">3. Specifying Constraints</a></h2>
-
-<p>One of the problems with what we have so far is that the FormGen facets
-appear in other module project wizards such as the EJB Project Wizard. That, of
-course, makes no sense since FormGen is servlet-based technology and so is only
-applicable to J2EE web applications. To solve this problem we will use the
-constraint mechanism to specify the dependencies.</p>
-
-<p>Here is what that part of the extension point schema looks like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet-version></span>
- <constraint> <span class="schema-control">(optional)</span>
- <span class="schema-control">[expr]</span>
- </constraint>
- <span class="context-code"></project-facet-version>
-</extension></span>
-
-<span class="schema-control">[expr] =</span>
- <requires facet="<span class="schema-type">{string}</span>" version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>" soft="<span class="schema-type">{boolean}</span>"/> <span class="schema-control">or</span>
- <conflicts facet="<span class="schema-type">{string}</span>" version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>"/> <span class="schema-control">or</span>
- <conflicts group="<span class="schema-type">{string}</span>"/> <span class="schema-control">or</span>
- <and>
- <span class="schema-control">[expr]</span> <span class="schema-control">(1 or more)</span>
- </and> <span class="schema-control">or</span>
- <or>
- <span class="schema-control">[expr]</span> <span class="schema-control">(1 or more)</span>
- </or></pre>
-</div>
-
-<p>As you can see, the constraint is an expression tree and you have four
-operators at your disposal. Lets go over them one by one.</p>
-
-<div style="margin-left: 10px">
-<p><b>requires</b></p>
-
-<p>The <code>requires</code> operator is the most frequently used of all the operators.
-It is used to specify a dependency on another facet. If the <code>version</code>
-attribute is not specified, any version of the referenced facet will satisfy
-the constraint. If only specific versions will do, the <code>version</code>
-attribute can contain a <a href="#version.expressions">version expression</a>.</p>
-
-<p>The <code>soft</code> attribute is used to create a special kind of a
-dependency. Facet selection will not be prevented if the dependency is not
-met, but if the dependency is met, the facet is guaranteed to be installed
-after the referenced facet.</p>
-
-<p><b>conflicts</b></p>
-
-<p>The <code>conflicts</code> constraint is used to indicate that the declaring
-facet will not work correctly if installed into the same project as referenced
-facets. The <code>conflicts</code> constraint comes in two flavors. You can
-either specify a conflict with a single facet or with a group of facets.</p>
-
-<p>What are groups of facets? Facet groups are a way to designate a conflict with
-a certain class of facets without having to list all of the facets explicitly.
-For instance, the WTP module facets all belong to the "modules" group. They also
-each declare a conflict with the "modules" group. This prevents two module facets
-from being installed into the same project. By declaring a conflict with a
-group whose membership can expand as necessary, third parties can add module
-facets on top of WTP and have the new facets interact correctly with the
-built-in module facets.</p>
-
-<p>A facet group is created the first time a facet declares group membership.
-Here is the extension point schema for declaring group membership:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet-version></span>
- <group-member id="<span class="schema-type">{string}</span>"/> <span class="schema-control">(0 or more)</span>
- <span class="context-code"></project-facet-version>
-</extension></span>
-</pre>
-</div>
-
-<p><b>and & or</b>
-
-<p>The <code>and</code> & <code>or</code> constraints are used to perform
-logical conjunction and disjunction over their operands. Although it is legal
-for these operators to have only one operand, typically they will have two or
-more.</p>
-</div>
-
-<p>We can now specify the constraints for the FormGen facets. The facet id that
-marks a project as a J2EE web module is <code>jst.web</code>. We will setup
-a dependency on it from the <code>formgen.core</code> facet. The
-<code>formgen.ext</code> facet can then depend on the <code>formgen.ext</code>
-facet. That latter constraint will ensure that the FormGen Extensions
-are not installed without installing FormGen Core.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets">
-
- <project-facet-version id="formgen.core" version="1.0"></span>
- <constraint>
- <requires facet="<span class="xml-text">jst.web</span>" version="<span class="xml-text">2.2,2.3,2.4</span>"/>
- </constraint>
- <span class="context-code"></project-facet>
-
- <project-facet-version id="formgen.ext" version="1.0"></span>
- <constraint>
- <requires facet="<span class="xml-text">formgen.core</span>" version="<span class="xml-text">1.0</span>"/>
- </constraint>
- <span class="context-code"></project-facet>
-
-</extension></span></pre>
-</div>
-
-<p>Once the above code is added, the FormGen facets should only appear in the
-Dynamic Web Project wizard.</p>
-
-<h2><a name="implementing.actions">4. Implementing Actions</a></h2>
-
-<p>Let's now try selecting the FormGen Core facet on the facets selection page
-of the Dynamic Web Project wizard. If you do that, you should see the
-following error message appear.</p>
-
-<div class="screen-shot"><img src="images/screen02.gif"/></div>
-
-<p>This error message is displayed because the install action has not been
-implemented for this facet. What's an action? An action is an operation that a
-user can perform on a facet. There are three action types <code>INSTALL</code>,
-<code>UNINSTALL</code>, and <code>VERSION_CHANGE</code>. We will now implement
-the install actions for the FormGen facets.</p>
-
-<p>Here is what that part of the extension point schema looks like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets"></span>
- <action id="<span class="schema-type">{string}</span>" facet="<span class="schema-type">{string}</span>" version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>" type="<span class="schema-type">INSTALL|UNINSTALL|VERSION_CHANGE</span>">
- <delegate class="<span class="schema-type">{class:org.eclipse.wst.common.project.facet.core.IDelegate}</span>"/>
- <property name="<span class="schema-type">{string}</span>" value="<span class="schema-type">{string}</span>"/> <span class="schema-control">(0 or more)</span>
- </action>
-<span class="context-code"></extension></span>
-</pre>
-</div>
-
-<ul>
-
- <li><p>The version attribute can contain a single version or a <a href="#version.expressions">version expression</a>.
- It can also be omitted if the action applies to all versions of the facet.</p></li>
-
- <li><p>The <code>id</code> attribute is optional. If not specified, the framework
- will automatically generate one using the following pattern:</p>
- <p><code>[facet-id]#[version-expression]#[action-type](#[prop-name]=[prop-value])*</code></p>
- <p>As you can see, it is better to provide an explicit id rather than letting
- the framework generate it. Later in the tutorial we will cover extension
- points that make references to action ids.</p>
-
- <li><p>The <code><action></code> element can also be embeded inside the
- <code><project-facet-version></code> element. In that case, the
- <code>facet</code> and <code>version</code> attributes should be omitted.
- Note that if the same delegate implementation applies to multiple facet
- versions, it is better to provide a single action declaration externally.
- This allows the framework to perform certain kinds of optimizations</p></li>
-
- <li><p>For the <code>VERSION_CHANGE</code> action, it is possible to restrict
- the applicability of the action definition with regards to the starting
- version. To do that, simply specify "from.versions" property in the action
- definition. The value is a <a href="#version.expressions">version expression</a>.
- If this property is not specified, the framework will assume that the delegate
- is capable of converting from any starting version.</p></li>
-
-</ul>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.core;
-
-<span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-
-<span class="java-comment">/**
- * This interface is implemented in order to provide logic associated with
- * a particular event in project facet's life cycle, such as install or
- * uninstall.
- */</span>
-
-<span class="java-keyword">public interface</span> IDelegate
-{
- <span class="java-comment">/**
- * The method that's called to execute the delegate.
- *
- * <span class="java-javadoc-keyword">@param</span> project the workspace project
- * <span class="java-javadoc-keyword">@param</span> fv the project facet version that this delegate is handling; this
- * is useful when sharing the delegate among several versions of the same
- * project facet or even different project facets
- * <span class="java-javadoc-keyword">@param</span> config the configuration object, or <code>null</code> if defaults
- * should be used
- * <span class="java-javadoc-keyword">@param</span> monitor the progress monitor
- * <span class="java-javadoc-keyword">@throws</span> CoreException if the delegate fails for any reason
- */</span>
-
- <span class="java-keyword">void</span> execute( IProject project,
- IProjectFacetVersion fv,
- Object config,
- IProgressMonitor monitor )
-
- <span class="java-keyword">throws</span> CoreException;
-}
-</pre>
-</div>
-
-<p>Let's now dive in and implement the install delegates for the FormGen facets.
-The <code>formgen.core</code> facet should (a) copy <code>formgen-core.jar</code>
-into the project's <code>WEB-INF/lib</code> directory, and (b) register the
-FormGen servlet in <code>web.xml</code>. The <code>formgen.ext</code> facet should
-copy the <code>formgen-ext.jar</code> into the project's <code>WEB-INF/lib</code>
-directory.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets"></span>
-
- <span class="context-code"><project-facet-version facet="formgen.core" version="1.0"></span>
- <action type="<span class="xml-text">INSTALL</span>">
- <delegate class="<span class="xml-text">com.formgen.eclipse.FormGenCoreFacetInstallDelegate</span>"/>
- </action>
- <span class="context-code"></project-facet-version></span>
-
- <span class="context-code"><project-facet-version facet="formgen.ext" version="1.0"></span>
- <action type="<span class="xml-text">INSTALL</span>">
- <delegate class="<span class="xml-text">com.formgen.eclipse.FormGenExtFacetInstallDelegate</span>"/>
- </action>
- <span class="context-code"></project-facet-version></span>
-
-<span class="context-code"></extension></span>
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.core.resources.IFolder;
-<span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.Path;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IDelegate;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-<span class="java-keyword">public final class</span> FormGenCoreFacetInstallDelegate <span class="java-keyword">implements</span> IDelegate
-{
- <span class="java-keyword">public void</span> execute( <span class="java-keyword">final</span> IProject pj,
- <span class="java-keyword">final</span> IProjectFacetVersion fv,
- <span class="java-keyword">final</span> Object config,
- <span class="java-keyword">final</span> IProgressMonitor monitor )
-
- <span class="java-keyword">throws</span> CoreException
-
- {
- monitor.beginTask( "", 2 );
-
- <span class="java-keyword">try</span>
- {
- <span class="java-keyword">final</span> IFolder webInfLib = Utils.getWebInfLibDir( pj );
-
- Utils.copyFromPlugin( new Path( "libs/formgen-core.jar" ),
- webInfLib.getFile( "formgen-core.jar" ) );
-
- monitor.worked( 1 );
-
- Utils.registerFormGenServlet( pj );
-
- monitor.worked( 1 );
- }
- <span class="java-keyword">finally</span>
- {
- monitor.done();
- }
- }
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.core.resources.IFolder;
-<span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.Path;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IDelegate;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-<span class="java-keyword">public final class</span> FormGenExtFacetInstallDelegate <span class="java-keyword">implements</span> IDelegate
-{
- <span class="java-keyword">public void</span> execute( <span class="java-keyword">final</span> IProject pj,
- <span class="java-keyword">final</span> IProjectFacetVersion fv,
- <span class="java-keyword">final</span> Object config,
- <span class="java-keyword">final</span> IProgressMonitor monitor )
-
- <span class="java-keyword">throws</span> CoreException
-
- {
- monitor.beginTask( "", 1 );
-
- <span class="java-keyword">try</span>
- {
- <span class="java-keyword">final</span> IFolder webInfLib = Utils.getWebInfLibDir( pj );
-
- Utils.copyFromPlugin( new Path( "libs/formgen-ext.jar" ),
- webInfLib.getFile( "formgen-ext.jar" ) );
-
- monitor.worked( 1 );
- }
- <span class="java-keyword">finally</span>
- {
- monitor.done();
- }
-
- }
-}
-</pre>
-</div>
-
-<p>Once the install actions have been implemented, you should be able to select
-the FormGen facets on the Facets Selection Page of the Dynamic Web Project Wizard
-without getting any error messages. You should also be able to complete the
-project creation and see the following highlighted artifacts in the new project.
-These artifacts have been created by the FormGen facet install delegates.</p>
-
-<div class="screen-shot"><img src="images/screen03.gif"/></div>
-
-<h2><a name="creating.categories">5. Creating Categories</a></h2>
-
-<p>Project facets can be grouped into categories in order to provide the "one
-click" exprience for novice users and retain the fine-grained control for advanced
-users. You are told that most of FormGen users always add both of the jars to
-their web apps. These users would benefit from having the FormGen facets grouped
-into a category and so we will do just that.</p>
-
-<p>Here is what that part of the extension point schema looks like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets"></span>
- <category id="<span class="schema-type">{string}</span>">
- <label><span class="schema-type">{string}</span></label>
- <description><span class="schema-type">{string}</span></description> <span class="schema-control">(optional)</span>
- </category>
- <span class="context-code"><project-facet></span>
- <category><span class="schema-type">{string}</span></category> <span class="schema-control">(optional)</span>
- <span class="context-code"></project-facet></span>
-<span class="context-code"></extension></span>
-</pre>
-</div>
-
-<p>We can now create a category around the FormGen facets.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets"></span>
-
- <category id="<span class="schema-type">formgen.category</span>">
- <label><span class="schema-type">FormGen</span></label>
- <description><span class="schema-type">Enables generation of HTML forms based on XML definition files.</span></description>
- </category>
-
- <span class="context-code"><project-facet id="formgen.core"></span>
- <category><span class="schema-type">formgen.category</span></category>
- <span class="context-code"></project-facet></span>
-
- <span class="context-code"><project-facet id="formgen.ext"></span>
- <category><span class="schema-type">formgen.category</span></category>
- <span class="context-code"></project-facet></span>
-
-<span class="context-code"></extension></span>
-</pre>
-</div>
-
-<p>Once the above change has been put in place, the facets selection page should
-look like this:</p>
-
-<div class="screen-shot"><img src="images/screen04.gif"/></div>
-
-<h2><a name="decorating">6. Decorating</a></h2>
-
-<p>Custom icons can be provided for facets and categories. If an icon is not
-provided, a default icon is used. The icons are helpful as a way to better
-differentiate facets and to make them stand out.</p>
-
-<p>Here is what that extension point looks like:</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="org.eclipse.wst.common.project.facet.ui.images">
- <image facet="<span class="schema-type">{string}</span>" path="<span class="schema-type">{string}</span>"/> <span class="schema-control">(0 or more)</span>
- <image category="<span class="schema-type">{string}</span>" path="<span class="schema-type">{string}</span>"/> <span class="schema-control">(0 or more)</span>
-</extension>
-</pre>
-</div>
-
-<p>Your starter project came with three icons in the <code>icons</code> folder.
-We will now associate them with the FormGen facets and the category.</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.ui.images</span>">
- <image facet="<span class="xml-text">formgen.core</span>" path="<span class="xml-text">icons/formgen-core.gif</span>"/>
- <image facet="<span class="xml-text">formgen.ext</span>" path="<span class="xml-text">icons/formgen-ext.gif</span>"/>
- <image category="<span class="xml-text">formgen.category</span>" path="<span class="xml-text">icons/formgen-cat.gif</span>"/>
-</extension>
-</pre>
-</div>
-
-<p>Once the above snippet has been added to your plugin.xml file, the facets
-selection page should look like this:</p>
-
-<div class="screen-shot"><img src="images/screen05.gif"/></div>
-
-<h2><a name="adding.wizard.pages">7. Adding Wizard Pages</a></h2>
-
-<p>It is often desirable to gather user input prior to installing a facet.
-The framework allows a sequence of wizard pages to be associated with facet
-actions. The supplied wizard pages are shown after the facets selection
-page. Based on user feedback, you known that FormGen users often customize
-the URL pattern of the FormGen servlet so you would like to give them the ability
-to do that in the wizard when the FormGen facets are being installed.</p>
-
-<p>Here is what the relevant parts of the extension points look like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <action></span>
- <config-factory class="<span class="schema-type">class:org.eclipse.wst.common.project.facet.core.IActionConfigFactory</span>"/>
- <span class="context-code"></action>
-</extension></span>
-
-<extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.ui.wizardPages</span>">
- <wizard-pages action="<span class="schema-type">{string}</span>"> <span class="schema-control">(0 or more)</span>
- <page class="<span class="schema-type">{class:org.eclipse.wst.common.project.facet.ui.IFacetWizardPage}</span>"/> <span class="schema-control">(1 or more)</span>
- </wizard-pages>
-</extension>
-</pre>
-</div>
-
-<p>One thing to note here is that in order to enable communication between the
-facet action delegate and the wizard pages, we go back to the action declaration
-and provide an action config factory. The object created by the factory is
-populated by the wizard pages and is read by the action delegate. No restrictions
-are placed on the shape of the config object. You may choose to implement a custom
-class or you can use a something generic like <code>java.util.HashMap</code>.</p>
-
-<p>Another thing to note is that the <code>wizardPages</code> extension point refers
-to the actions by their ids, so it becomes more important to explicitly specify
-the id rather than letting the framework automatically generate one.</p>
-
-<p>Here are the interfaces that are used in the above extension point schema:</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.core;
-
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-
-<span class="java-comment">/**
- * This interface is implemented in order to provide a method for creating
- * a config object that will be used for parameterizing the facet action
- * delegate.
- */</span>
-
-<span class="java-keyword">public interface</span> IActionConfigFactory
-{
- <span class="java-comment">/**
- * Creates a new facet action configuration object. The new configuration
- * object should ideally be populated with reasonable defaults.
- *
- * <span class="java-javadoc-keyword">@return</span> a new facet action configuration object
- * <span class="java-javadoc-keyword">@throws</span> CoreException if failed while creating the configuration object
- */</span>
-
- Object create() <span class="java-keyword">throws</span> CoreException;
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.ui;
-
-<span class="java-keyword">import</span> org.eclipse.jface.wizard.IWizardPage;
-
-<span class="java-comment">/**
- * This interface is implemented by the wizard pages associated with project
- * facet actions.
- */</span>
-
-<span class="java-keyword">public interface</span> IFacetWizardPage <span class="java-keyword">extends</span> IWizardPage
-{
- <span class="java-comment">/**
- * The framework will call this method in order to provide the wizard
- * context to the wizard page. The wizard context can be used to find out
- * about other actions being configured by the wizard.
- *
- * <span class="java-javadoc-keyword">@param</span> context the wizard context
- */</span>
-
- <span class="java-keyword">void</span> setWizardContext( IWizardContext context );
-
- <span class="java-comment">/**
- * The framework will call this method in order to provide the action config
- * object that the wizard page should save user selection into. The
- * populated config object will then be passed to the action delegate.
- *
- * <span class="java-javadoc-keyword">@param</span> config the action config object
- */</span>
-
- <span class="java-keyword">void</span> setConfig( Object config );
-
- <span class="java-comment">/**
- * This method is called after the user has pressed the <code>Finish</code>
- * button. It allows the wizard page to transfer user selection into the
- * config object. Alternative, instead of using this method, the wizard
- * page could update the model on the fly as the user is making changes.
- */</span>
-
- <span class="java-keyword">void</span> transferStateToConfig();
-}
-</pre>
-</div>
-
-<p>We will now implement a wizard page for the <code>facet.core</code> facet
-install action. The wizard page will allow the user to change the default
-servlet URL pattern for the FormGen servlet.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet-version facet="formgen.core" version="1.0">
- <action type="INSTALL"</span> id="<span class="xml-text">formgen.core.install</span>"<span class="context-code">></span>
- <config-factory class="<span class="xml-text">com.formgen.eclipse.FormGenCoreFacetInstallConfig$Factory</span>"/>
- <span class="context-code"></action>
- </project-facet-version>
-</extension></span>
-
-<extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.ui.wizardPages</span>">
- <wizard-pages action="<span class="xml-text">formgen.core.install</span>">
- <page class="<span class="schema-type">com.formgen.eclipse.FormGenCoreFacetInstallPage</span>"/>
- </wizard-pages>
-</extension>
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-
-<span class="java-keyword">public final class</span> FormGenCoreFacetInstallConfig
-{
- <span class="java-keyword">private</span> String urlPattern = <span class="java-literal">"*.form"</span>;
-
- <span class="java-keyword">public</span> String getUrlPattern()
- {
- <span class="java-keyword">return this</span>.urlPattern;
- }
-
- <span class="java-keyword">public void</span> setUrlPattern( <span class="java-keyword">final</span> String urlPattern )
- {
- <span class="java-keyword">this</span>.urlPattern = urlPattern;
- }
-
- <span class="java-keyword">public static final class</span> Factory <span class="java-keyword">implements</span> IActionConfigFactory
- {
- <span class="java-keyword">public</span> Object create()
- {
- <span class="java-keyword">return new</span> FormGenCoreFacetInstallConfig();
- }
- }
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.swt.SWT;
-<span class="java-keyword">import</span> org.eclipse.swt.layout.GridData;
-<span class="java-keyword">import</span> org.eclipse.swt.layout.GridLayout;
-<span class="java-keyword">import</span> org.eclipse.swt.widgets.Composite;
-<span class="java-keyword">import</span> org.eclipse.swt.widgets.Label;
-<span class="java-keyword">import</span> org.eclipse.swt.widgets.Text;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage;
-
-<span class="java-keyword">public final class</span> FormGenCoreFacetInstallPage <span class="java-keyword">extends</span> AbstractFacetWizardPage
-{
- <span class="java-keyword">private</span> FormGenCoreFacetInstallConfig config;
- <span class="java-keyword">private</span> Text urlPatternTextField;
-
- <span class="java-keyword">public</span> FormGenCoreFacetInstallPage()
- {
- <span class="java-keyword">super</span>( <span class="java-literal">"formgen.core.facet.install.page"</span> );
-
- setTitle( <span class="java-literal">"FormGen Core"</span> );
- setDescription( <span class="java-literal">"Configure the FormGen servlet."</span> );
- }
-
- <span class="java-keyword">public void</span> createControl( <span class="java-keyword">final</span> Composite parent )
- {
- <span class="java-keyword">final</span> Composite composite = <span class="java-keyword">new</span> Composite( parent, SWT.NONE );
- composite.setLayout( <span class="java-keyword">new</span> GridLayout( 1, <span class="java-keyword">false</span> ) );
-
- <span class="java-keyword">final</span> Label label = <span class="java-keyword">new</span> Label( composite, SWT.NONE );
- label.setLayoutData( gdhfill() );
- label.setText( <span class="java-literal">"URL Pattern:"</span> );
-
- <span class="java-keyword">this</span>.urlPatternTextField = <span class="java-keyword">new</span> Text( composite, SWT.BORDER );
- <span class="java-keyword">this</span>.urlPatternTextField.setLayoutData( gdhfill() );
- <span class="java-keyword">this</span>.urlPatternTextField.setText( this.config.getUrlPattern() );
-
- setControl( composite );
- }
-
- <span class="java-keyword">public void</span> setConfig( <span class="java-keyword">final</span> Object config )
- {
- <span class="java-keyword">this</span>.config = (FormGenCoreFacetInstallConfig) config;
- }
-
- <span class="java-keyword">public void</span> transferStateToConfig()
- {
- <span class="java-keyword">this</span>.config.setUrlPattern( <span class="java-keyword">this</span>.urlPatternTextField.getText() );
- }
-
- <span class="java-keyword">private static</span> GridData gdhfill()
- {
- <span class="java-keyword">return new</span> GridData( GridData.FILL_HORIZONTAL );
- }
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-context"><span class="java-context-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-context-keyword">import</span> org.eclipse.core.resources.IFolder;
-<span class="java-context-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-context-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-context-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-<span class="java-context-keyword">import</span> org.eclipse.core.runtime.Path;
-<span class="java-context-keyword">import</span> org.eclipse.wst.common.project.facet.core.IDelegate;
-<span class="java-context-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-<span class="java-context-keyword">public final class</span> FormGenCoreFacetInstallDelegate <span class="java-context-keyword">implements</span> IDelegate
-{
- <span class="java-context-keyword">public void</span> execute( <span class="java-context-keyword">final</span> IProject pj,
- <span class="java-context-keyword">final</span> IProjectFacetVersion fv,
- <span class="java-context-keyword">final</span> Object config,
- <span class="java-context-keyword">final</span> IProgressMonitor monitor )
-
- <span class="java-context-keyword">throws</span> CoreException
-
- {
- monitor.beginTask( "", 2 );
-
- try
- {</span>
- <span class="java-keyword">final</span> FormGenCoreFacetInstallConfig cfg
- = (FormGenCoreFacetInstallConfig) config;
-
- <span class="java-context"><span class="java-context-keyword">final</span> IFolder webInfLib = Utils.getWebInfLibDir( pj );
-
- Utils.copyFromPlugin( <span class="java-context-keyword">new</span> Path( "libs/formgen-core.jar" ),
- webInfLib.getFile( "formgen-core.jar" ) );
-
- monitor.worked( 1 );</span>
-
- Utils.registerFormGenServlet( pj, cfg.getUrlPattern() );
-
- <span class="java-context">monitor.worked( 1 );
- }
- <span class="java-context-keyword">finally</span>
- {
- monitor.done();
- }
- }
-}</span>
-</pre>
-</div>
-
-<p>Once the above code changes have been made you should see another page appear
-in the Dynamic Web Project Wizard after the FormGen facets are selected. The
-new page will appear after the Web Module page, which is associated with the
-<code>jst.web</code> facet. That's because <code>formgen.core</code> facet
-depends on the <code>jst.web</code> facet. If this dependency relationship
-was not specified the relative order of these pages would be unspecified.</p>
-
-<div class="screen-shot"><img src="images/screen06.gif"/></div>
-
-<h2><a name="defining.presets">8. Defining Presets</a></h2>
-
-<p>As the number of available facets grows, it becomes increasingly difficult
-for the user to figure out which combinations make sense. This is where presets
-come in. Presets (or Configurations, as they are referred to in the UI) are
-simply combinations of facets that someone has determined are useful in certain
-situations. Presets can be created by the user or supplied via an extension
-point.</p>
-
-<p>Here is the extension point schema for declaring presets:</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.facets</span>">
- <preset id="<span class="schema-type">{string}</span>">
- <label><span class="schema-type">{string}</span></label>
- <description><span class="schema-type">{string}</span></description> <span class="schema-control">(optional)</span>
- <facet id="<span class="schema-type">{string}</span>" version="<span class="schema-type">{string}</span>"/> <span class="schema-control">(1 or more)</span>
- </preset>
-</extension>
-</pre>
-</div>
-
-<p>Note that in order for a preset to apply to a given faceted project, the
-preset needs to include all of the project's "fixed facets". Fixed facets are
-the facets that are key to the proper operation of that project type and so
-cannot be removed. You can identify fixed facets by the lock icon.</p>
-
-<p>Let's now create a preset that includes formgen facets.</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.facets</span>">
- <preset id="<span class="xml-text">formgen.preset</span>">
- <label><span class="xml-text">FormGen Web Project</span></label>
- <description><span class="xml-text">Creates a web project with FormGen functionality.</span></description>
- <facet id="<span class="xml-text">jst.java</span>" version="<span class="xml-text">5.0</span>"/>
- <facet id="<span class="xml-text">jst.web</span>" version="<span class="xml-text">2.2</span>"/>
- <facet id="<span class="xml-text">formgen.core</span>" version="<span class="xml-text">1.0</span>"/>
- <facet id="<span class="xml-text">formgen.ext</span>" version="<span class="xml-text">1.0</span>"/>
- </preset>
-</extension>
-</pre>
-</div>
-
-<p>Here is how the preset shows up on the facets selection page:</p>
-
-<div class="screen-shot"><img src="images/screen07.gif"/></div>
-
-<p>The preset can also be selected on the first page of all WTP project
-creation wizards. Here is how this looks in the Dynamic Web Project wizard:</p>
-
-<div class="screen-shot"><img src="images/screen08.gif"/></div>
-
-<h2><a name="runtime.mappings">9. Specifying Runtime Support Mappings</a></h2>
-
-<p>One of the most important functions of the faceted project framework is to
-be able to accurately model whether a certain server runtime supports a
-given project. We do that by "mapping" project facets to runtime components
-that support them. If the artifacts created by a facet will run on any server
-that supports all of the facet's upstream dependencies, then the <code>any</code>
-wildcard can be used.</p>
-
-<p>It's important to note that every facet needs to specify a support mapping of
-some kind. Facets that don't specify any support mappings are treated as not
-supported by any runtime, which is not very useful.</p>
-
-<p>Here is the extension point that's used for specifying the support mappings:</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.runtimes</span>">
- <supported> <span class="schema-control">(0 or more)</span>
- <runtime-component any="<span class="schema-type">{boolean}</span>"/> <span class="schema-control">(optional)</span>
- <runtime-component id="<span class="schema-type">{string}</span>"/ version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>"/> <span class="schema-control">(0 or more)</span>
- <facet id="<span class="schema-type">{string}</span>"/ version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>"/> <span class="schema-control">(1 or more)</span>
- </supported>
-</extension>
-</pre>
-</div>
-
-<p>The <code><supported></code> block can reference any number of runtime
-components as well as any number of facets. The semantics of that is to declare
-as supported every combination in the resulting cross-product.</p>
-
-<p>The <code>version</code> attributes of the <code><runtime-component></code>
-and <code><facet></code> elements can be omitted to include all versions.</p>
-
-<p>The FormGen facets don't have any special support requirements. They will run
-on any server that supports the j2ee servlet spec. We will use the <code>any</code>
-wildcard to designate that.</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.runtimes</span>">
- <supported>
- <runtime-component any="<span class="xml-text">true</span>"/>
- <facet id="<span class="xml-text">formgen.core</span>"/>
- <facet id="<span class="xml-text">formgen.ext</span>"/>
- </supported>
-</extension>
-</pre>
-</div>
-
-<p>Alternative, if for some reason the FormGen functionality required a specific
-runtime, such as Tomcat, we would use something like the this instead:</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.runtimes</span>">
- <supported>
- <runtime-component id="<span class="xml-text">org.eclipse.jst.server.tomcat</span>" version="<span class="xml-text">[5.0</span>"/>
- <facet id="<span class="xml-text">formgen.core</span>"/>
- <facet id="<span class="xml-text">formgen.ext</span>"/>
- </supported>
-</extension>
-</pre>
-</div>
-
-<p>The above more restrictive specification will prevent FormGen facets from
-being selected if the project is targetted to any runtime other than Apache
-Tomcat 5.0 or newer.</p>
-
-<h2><a name="summary">10. Summary</a></h2>
-
-<p>In this tutorial we created two fully-functional project facets by specifying
-constraints, implementing actions, grouping facets into categories, and creating
-wizard pages to allow users to parameterize facet installation. You should now
-be well prepared to create your own facets. Additional information not covered
-by this tutorial can be found in the following appendix sections.</p>
-
-<h2><a name="custom.version.comparators">Appendix A: Custom Version Comparators</a></h2>
-
-<p>The faceted project framework needs to be able to compare facet version
-strings. The framework supplies a default version comparator that can handle
-version strings encoded using the standard decimal notation (such as 1.2 or
-5.66.5533), but if you want to use a different format you will need to supply
-a custom version comparator.</p>
-
-<p>Here is how you plug in a custom version comparator:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet></span>
- <version-comparator class="<span class="schema-type">{class:java.util.Comparator<String>}</span>"/>
- <span class="context-code"></project-facet>
-</extension></span>
-</pre>
-</div>
-
-<p>When implementing a version comparator you can either start from scratch
-or subclass the default version comparator (<code>org.eclipse.wst.common.project.facet.core.DefaultVersionComparator</code>).
-Subclassing the default version comparator makes sense if the version format
-differs only slightly from the default format, such as using separators other
-than dots or having non-numeric characters at certain positions. Here are the
-protected methods exposed by the <code>DefaultVersionComparator</code> class
-that are designed to be overridden:</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-comment">/**
- * Returns the string containing the separator characters that should be
- * used when breaking the version string into segments. The default
- * implementation returns ".". Subclasses can override this method.
- *
- * <span class="java-javadoc-keyword">@return</span> the separator characters
- */</span>
-
-<span class="java-keyword">protected</span> String getSeparators();
-
-<span class="java-comment">/**
- * Parses a segment of the version string. The default implementation parses
- * the first segment as an integer (leading zeroes are ignored) and the
- * rest of the segments as decimals (leading zeroes are kept). Subclasses
- * can override this method to provide custom parsing for any number of
- * segments.
- *
- * <span class="java-javadoc-keyword">@param</span> version the full version string
- * <span class="java-javadoc-keyword">@param</span> segment the version segment
- * <span class="java-javadoc-keyword">@param</span> position the position of the segment in the version string
- * <span class="java-javadoc-keyword">@return</span> the parsed representation of the segment as a {@see Comparable}
- * <span class="java-javadoc-keyword">@throws</span> VersionFormatException if encountered an error while parsing
- */</span>
-
-<span class="java-keyword">protected</span> Comparable parse( <span class="java-keyword">final</span> String version,
- <span class="java-keyword">final</span> String segment,
- <span class="java-keyword">final</span> int position )
-
- <span class="java-keyword">throws</span> VersionFormatException;
-</pre>
-</div>
-
-<h2><a name="version.expressions">Appendix B: Version Expressions</a></h2>
-
-<p>A version expression is a syntax for specifying more than one version. The
-version expressions are used throughout the framework's extension points, but
-you will most likely first encounter them while specifying the <code>requires</code>
-constraint.</p>
-
-<p>A version expression is composed of multiple segments separated by commas.
-The commas function as an OR operation. Each segment is either a single version,
-a range, or a wildcard. Ranges are represented by bracket and dash notation such
-as [x-y). A bracket means inclusive, while the parenthesis means exclusive. Open
-ended ranges are also supported. A wildcard (represented by '*' character) can
-be used to match any version. It is not possible to use the wildcard to match
-part of the version string.</p>
-
-<p>Here are some examples:</p>
-
-<div class="code">
-<pre class="java-code">1.2
-1.2,1.5,3.2
-[1.2-3.2]
-[3.7-5.0)
-[3.7
-5.0)
-1.2,[3.0-4.5),[7.3
-*
-</pre>
-</div>
-
-<h2><a name="property.tester">Appendix C: Property Tester</a></h2>
-
-<p>A property tester is provided by the Faceted Project Framework that allows
-the presence of the facet in a project to be tested by any extension point that
-works with <code>org.eclipse.core.expressions</code> package. The most common
-usage is to enable user interface elements (such as actions and project property
-pages). The property name is <code>org.eclipse.wst.common.project.facet.core.projectFacet</code>
-and the value is either a facet id or a facet id followed by a colon and
-a <a href="#version.expressions">version expression</a>.</p>
-
-<p>Here is an example of using facets property tester to control enablement of
-a project properties page:</p>
-
-<div class="code">
-<pre class="code-xml"><extension point="<span class="xml-text">org.eclipse.ui.propertyPages</span>">
- <page
- adaptable="<span class="xml-text">true</span>"
- objectClass="<span class="xml-text">org.eclipse.core.resources.IProject</span>"
- name="<span class="xml-text">FormGen Properties</span>"
- class="<span class="xml-text">com.formgen.eclipse.FormGenPropertiesPage</span>"
- id="<span class="xml-text">org.eclipse.jst.j2ee.internal.J2EEDependenciesPage</span>">
- <enabledWhen>
- <test
- forcePluginActivation="<span class="xml-text">true</span>"
- property="<span class="xml-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
- value="<span class="xml-text">formgen.core</span>"/>
- </enabledWhen>
- </page>
-</extension>
-</pre>
-</div>
-
-<h2><a name="wizard.context">Appendix D: Wizard Context</a></h2>
-
-<p>Sometimes it desirable to be able to adjust the behavior of facet action
-wizard pages based on user input in the wizard pages of other facets. The
-<code>IWizardContext</code> interface can be used for this purpose. The wizard
-page gets a handle on <code>IWizardContext</code> interface when it's
-<code>setWizardContext</code> method is called. When writing code that relies
-on the wizard context, there are a couple of points you should keep in mind.</p>
-
-<ol>
-
- <li><p>The facet whose value you wish to check may have already been installed
- in the past. In that case you will not find it's install configuration in
- the wizard context. You will need to write conditional logic that will
- consult the wizard context or looks at project state on disk.</p></li>
-
- <li><p>You should make sure that a reasonable default is provided in your
- config object for the API-only scenario where your wizard page will not be
- involved.</p>
-
-</ol>
-
-<p>Here is what the <code>IWizardContext</code> interface looks like:</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.ui;
-
-<span class="java-keyword">import</span> java.util.Set;
-
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
-
-<span class="java-comment">/**
- * The interface exposed to the facet action wizard pages that allows them
- * to gather information about the wizard state.
- */</span>
-
-<span class="java-keyword">public interface</span> IWizardContext
-{
- <span class="java-comment">/**
- * Returns the name of the project that the wizard is operating on. If the
- * wizard is in the project creation mode, the project will not yet exist
- * in the workspace.
- *
- * <span class="java-javadoc-keyword">@return</span> the name of the project that the wizard is operating on
- */</span>
-
- String getProjectName();
-
- <span class="java-comment">/**
- * Returns the set of facets currently selected in the wizard. If the wizard
- * is in the add/remove facets mode (vs. project creation), this method will
- * return the set of facets currently installed in a project after being
- * modified by the current set of actions.
- *
- * <span class="java-javadoc-keyword">@return</span> the set of facets currently selected in the wizard (element type:
- * {<span class="java-javadoc-keyword">@see</span> IProjectFacetVersion})
- */</span>
-
- Set getSelectedProjectFacets();
-
- <span class="java-comment">/**
- * Determines whether the specified facet is currently selected in the
- * wizard. See {@see getSelectedProjectFacets()} for more information.
- *
- * <span class="java-javadoc-keyword">@param</span> fv the project facet version object
- * <span class="java-javadoc-keyword">@return</span> <code>true</code> if an only if the provided project facet is
- * currently selected in the wizard
- */</span>
-
- <span class="java-keyword">boolean</span> isProjectFacetSelected( IProjectFacetVersion fv );
-
- <span class="java-comment">/**
- * Returns the set of actions currently specified by the user.
- *
- * <span class="java-javadoc-keyword">@return</span> the set of actions currently specified by the user
- */</span>
-
- Set getActions();
-
- <span class="java-comment">/**
- * Finds the action of specified type that applies to the specified facet,
- * if such action exists. If the wizard is in the add/remove facets mode
- * (vs. project creation), you cannot depend on finding the install action
- * for a required facet as that facet may have already been installed.
- *
- * <span class="java-javadoc-keyword">@param</span> type the action type
- * <span class="java-javadoc-keyword">@param</span> fv the project facet version object
- * <span class="java-javadoc-keyword">@return</span> the action object or <code>null</code>
- */</span>
-
- Action getAction( Action.Type type,
- IProjectFacetVersion fv );
-}
-</pre>
-</div>
-
-<br/><br/><br/>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew150.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew150.html
deleted file mode 100644
index c354809..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew150.html
+++ /dev/null
@@ -1,363 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
- http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
-<title>What's New for 1.5?</title>
-<link
- rel="stylesheet"
- type="text/css"
- href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 1.5?</p>
-
-<p>This document describes the API changes that have been made in the Faceted
-Project Framework for WTP 1.5 release. Both Java API and extension point changes
-are covered. Note that the Faceted Project Framework API remains provisional
-for the 1.5 release. This means it will continue undergoing further significant
-changes in future release(s).</p>
-
-<p><b>Attention:</b> All Java API and extension points that have been deprecated
-in the 1.5 release will be removed in the 2.0 release. Until that point they
-will continue to function and be fully supported.</p>
-
-<ol>
- <li><a href="#vexprs">Version Expressions</a></li>
- <li><a href="#actions">Action Definitions</a></li>
- <li><a href="#wizard">Wizard Pages</a></li>
- <li><a href="#event.handlers">Event Handlers</a></li>
- <li><a href="#runtimes">Targeting Multiple Runtimes</a></li>
- <li><a href="#presets">Descriptions for Presets</a></li>
- <li><a href="#misc">Miscellaneous</a></li>
-</ol>
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="vexprs">1. Version Expressions</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>Version expressions are used in various context throughout the framework's
-extension points and Java API when multiple versions need to be specified. In
-the 1.0.x release, the vesion expressions were of the form "<1.5,2.3,2.5,>=5.0",
-where commas indicate a disjunction (or). This syntax did not allow ranges to be
-specified and was unwieldy due to the need to escape the angle brackets in the
-plugin.xml files. So this syntax has been deprecated in the 1.5 release. The new
-syntax also uses commas to specify a disjunction, but now ranges can be
-specified using "[1.3-6.3)" notation. Square brackets mean inclusive, while
-parenthesis mean exclusive. Open ranges can also be specified using notation
-like "[1.3" and "6.3)".</p>
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="actions">2. Action Definitions</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>Action definitions have been made into first class entities with the new
-ability to be assigned an id and the creation of the browsing API. In addition,
-it is now possible to create constrained VERSION_CHANGE actions in order to
-designate precisely which versions the delegate is capable of changing from.
-Multiple VERSION_CHANGE delegates with different "from.versions" constraint
-can be specified.</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- ...
- <action</font> id="string" <font color="#7B7B7B">... >
- ...
- </font>
- <property name="from.versions" value="string"/> <i>(0 or 1)</i>
- <font color="#7B7B7B">
- ...
- </action>
- ...
-<extension></font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-org.eclipse.wst.common.project.facet.core.IActionDefinition
-{
- static final String PROP_FROM_VERSIONS;
- String getId();
- IProjectFacet getProjectFacet();
- IVersionExpr getVersionExpr();
- Action.Type getActionType();
- Map getProperties();
- Object getProperty( String name );
- Object createConfigObject( IProjectFacetVersion fv, String pjname );
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacetVersion
-{
- ...</font>
- boolean supports( Set base, Action.Type type );
- Set getActionDefinitions();
- Set getActionDefinitions( Action.Type type );
- IActionDefinition getActionDefinition( Set base, Action.Type type );
- <font color="#7B7B7B">...
-}</font>
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.ProjectFacetsManager
-{
- ...</font>
- Set getActionDefinitions();
- boolean isActionDefined( String id );
- IActionDefinition getActionDefinition( String id );
- <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor=#FFF1C1>
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacetVersion
-{
- ...</font>
- boolean supports( Action.Type type );
- Object createActionConfig( Action.Type type, String pjname );
- boolean isSameActionConfig( Action.Type type, IProjectFacetVersion fv );
- <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="wizard">3. Wizard Pages</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>The extension point schema for defining wizard pages associated with the
-project facet actions has been revised to be more flexible.</p>
-
-<p><u>Deprecated Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor=#FFF1C1>
-<pre>
-<extension point="org.eclipse.wst.common.project.facet.ui.wizard">
- <wizard-pages facet="...">
- <install> <i>(0 or 1)</i>
- <page class="..."/> <i>(1 or more)</i>
- </install>
- <uninstall> <i>(0 or 1)</i>
- <page class="..."/> <i>(1 or more)</i>
- </uninstall>
- </wizard-pages>
-</extension>
-</pre>
-</td></tr></table>
-
-<p><u>Replacement Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<extension point="org.eclipse.wst.common.project.facet.ui.wizardPages">
- <wizard-pages action="..."> <i>(1 or more)</i>
- <page class="..."/> <i>(1 or more)</i>
- </wizard-pages>
-</extension>
-</pre>
-</td></tr></table>
-
-<p>Note the new extension point id. The "action" attribute should contain the
-action that these pages are to be associated with. The action id can
-be explicitly specified via the new "id" attribute available on the "action"
-element of the core facets extension point. If not specified, the default id
-is generated using the "[facet-id]#[version-expression]#[action-type]"
-pattern.</p>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.ui.ProjectFacetsUiManager
-{
- ...</font>
- List getWizardPages( Action.Type type, IProjectFacetVersion fv );
- <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-<p><u>Replacement Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.ui.ProjectFacetsUiManager
-{
- ...</font>
- List getWizardPages( String actionId );
- <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="event.handlers">4. Event Handlers</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>A new event handling facility has been added. This makes for a clear separation
-between actions (user initiated), and events (automatic). Prior to this change
-it was possible to register a "runtime-changed" action. That usage is now
-deprecated and should be converted to use event handler extension point. Various
-new events have also been added.</p>
-
-<p><u>Event Types</u></p>
-
-<p>PRE_INSTALL, POST_INSTALL, PRE_UNINSTALL, POST_UNINSTALL, PRE_VERSION_CHANGE,
-POST_VERSION_CHANGE, RUNTIME_CHANGED</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- ...</font>
- <event-handler type="..." facet="..." version="...">
- <delegate class="..."/>
- </event-handler>
- <font color="#7B7B7B">...
-<extension></font>
-</pre>
-</td></tr></table>
-
-<p><u>RUNTIME_CHANGED Event</u></p>
-
-<p>In the 1.0.x release it was possible to register a "runtime-changed" action.
-That usage is now deprecated and should be converted into a RUNTIME_CHANGED
-event handler. The RUNTIME_CHANGED event handler delegate gets passed in a
-config object that carries additional information about the event.</p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-org.eclipse.wst.common.project.facet.core.IRuntimeChangedEvent
-{
- IRuntime getOldRuntime();
- IRuntime getNewRuntime();
-}
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="runtimes">5. Targeting Multiple Runtimes</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>The ability for a project to target multiple runtimes has been further
-fleshed out during the 1.5 release.</p>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{
- ...</font>
- IRuntime getRuntime();
- void setRuntime( IRuntime runtime );
- <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-<p><u>Replacement Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{
- ...</font>
- Set getTargetedRuntimes();
- void setTargetedRuntimes( Set runtimes, IProgressMonitor monitor );
- void addTargetedRuntime( IRuntime runtime, IProgressMonitor monitor );
- void removeTargetedRuntime( IRuntime runtime, IProgressMonitor monitor );
- IRuntime getPrimaryRuntime();
- void setPrimaryRuntime( IRuntime runtime, IProgressMonitor monitor );
- <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="presets">6. Descriptions for Presets</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>It is now possible to associate description with presets.</p>
-
-<p><u>Extension Points Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- ...
- <preset>
- ...</font>
- <description>...</description> <i>(0 or 1)</i>
- <font color="#7B7B7B">...
- </preset>
- ...
-<extension></font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.ProjectFacetsManager
-{
- ...</font>
- IPreset definePreset( String name, String description, Set facets );
- <font color="#7B7B7B">...
-}</font>
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IPreset
-{
- ...</font>
- String getDescription();
- <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="misc">7. Miscellaneous</a></font></p>
-<!-- ********************************************************************** -->
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacetVersion
-{
- ...</font>
- boolean isValidFor( Set fixed );
- boolean conflictsWith( IProjectFacetVersion fv );
- String getPluginId();
- <font color="#7B7B7B">...
-}</font>
-
-org.eclipse.wst.common.project.facet.core.IVersionExpr
-{
- boolean evaluate( String version );
- String toDisplayString();
-}
-</pre>
-</td></tr></table>
-
-<p></p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew151.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew151.html
deleted file mode 100644
index f6d3d8d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew151.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
- http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
-<title>What's New for 1.5.1?</title>
-<link
- rel="stylesheet"
- type="text/css"
- href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 1.5.1?</p>
-
-<p>This document describes the API changes that have been made in the Faceted
-Project Framework for WTP 1.5.1 release. Both Java API and extension point
-changes are covered. Note that the Faceted Project Framework API remains
-provisional for the 1.5.1 release. This means it will continue undergoing
-further significant changes in future release(s).</p>
-
-<ol>
- <li><a href="#defver">Specifying Default Facet Version</a></li>
- <li><a href="#wildcard">Wildcard Support in Version Expressions</a></li>
-</ol>
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="vexprs">1. Specifying Default Facet Version</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>It is now possible to specify the facet version that will be used by default
-when the facet is presented to the user. There are two ways to specify the default
-version. You can either specify a static default or you can implement the
-<code>IDefaultVersionProvider</code> interface. If a default version is not
-specified, the latest version will be used instead.</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet></font>
- <default-version version="{string}"/> <i>(optional)</i>
- <default-version provider="{class:org.eclipse.wst.common.project.facet.core.IDefaultVersionProvider}"/> <i>(optional)</i>
- <font color="#7B7B7B"></project-facet>
-<extension></font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacet
-{</font>
- IProjectFacetVersion getDefaultVersion();
-<font color="#7B7B7B">}</font>
-
-org.eclipse.wst.common.project.facet.core.IDefaultVersionProvider
-{
- IProjectFacetVersion getDefaultVersion();
-}
-</pre>
-</td></tr></table>
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="wildcard">2. Wildcard Support in Version Expressions</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>A wildcard character '*' can now be used in version expressions in order to
-match any version. Note that it is not possible to use the wildcard to match
-part of the version string.</p>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IVersionExpr
-{</font>
- static final String WILDCARD_SYMBOL = "*";
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-<p></p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew20.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew20.html
deleted file mode 100644
index 97f5f0b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/content/whatsnew20.html
+++ /dev/null
@@ -1,447 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
- http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
-<title>What's New for 2.0?</title>
-<link
- rel="stylesheet"
- type="text/css"
- href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 2.0?</p>
-
-<p>This document describes the API changes that have been made in the Faceted Project Framework for
-the WTP 2.0 release. Both Java API and extension point changes are covered. All API that was
-deprecated in this release is still supported, but clients are advised to switch to non-deprecated
-alternatives as soon as feasible.</p>
-
-<ol>
- <li><a href="#generics">Generics</a></li>
- <li><a href="#presets">Improvements to Presets</a></li>
- <li><a href="#comparable">IProjectFacetVersion and IRuntimeComponentVersion Extend Comparable</a></li>
- <li><a href="#requires-group">Requires Constraint Supports Groups</a></li>
- <li><a href="#group-labels">Labels and Descriptions for Groups</a></li>
- <li><a href="#validate">New IFacetedProject Validation API</a></li>
- <li><a href="#new-wizard-class">AddRemoveFacetsWizard Class Renamed to ModifyFacetedProjectWizard</a></li>
- <li><a href="#pde-limitations">Extension Point Schema Changes to Work Around PDE Limitations</a></li>
- <li><a href="#listeners">Listeners and Events</a></li>
- <li><a href="#misc">Miscellaneous</a></li>
-</ol>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="#generics">1. Generics</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>All of the framework's API now use Java 5 generics. This has been done in a backwards compatible
-way and existing clients are expected to continue to work without any modifications. In order for a
-client to gain access to the type safety afforded by generics in this API, the client plugin's Java
-compiler level should be configured to be 5.0 or newer.</p>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="presets">2. Improvements to Presets</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>Significant improvements have been made to the presets facility for the 2.0 release. A new type of
-preset, referred to as a dynamic preset, is now available. A dynamic preset uses an extender-supplied
-factory to synthesize the preset definition on the fly based on the context in which it will be
-used. The "old-style" declarative presets are still available and are now referred to as static
-presets. Static presets have also been improved to allow them to extend other presets. A static
-preset can even extend a dynamic preset.</p>
-
-<p>There is also a new preset that's part of the framework. It's a dynamic preset with id of
-"default.configuration" and whose contents are synthesized as follows:</p>
-
-<ol>
- <li>If a runtime is selected, this preset will contain default facets as specified by
- IRuntime.getDefaultFacets(Set).</li>
- <li>If no runtime is selected, this preset will contain default versions for all of the fixed
- facets as specified by IProjectFacet.getDefaultVersion().</li>
-</ol>
-
-<p><u>New Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<extension point="org.eclipse.wst.common.project.facet.core.presets">
- <static-preset id="<i>{string}</i>" extends="<i>{string}</i>">
- <label><i>{string}</i></label> <i>(optional)</i>
- <description><i>{string}</i></description> <i>(optional)</i>
- <facet id="<i>{string}</i>" version="<i>{string}</i>"/> <i>(1 or more)</i>
- </static-preset> <i>(0 or more)</i>
- <dynamic-preset id="<i>{string}</i>">
- <factory class="<i>{class:org.eclipse.wst.common.project.facet.core.IPresetFactory}</i>"/>
- </dynamic-preset> <i>(0 or more)</i>
-<extension>
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets"></font>
- <preset id="<i>{string}</i>">
- <label><i>{string}</i></label> <i>(optional)</i>
- <description><i>{string}</i></description> <i>(optional)</i>
- <facet id="<i>{string}</i>" version="<i>{string}</i>"/> <i>(1 or more)</i>
- </preset> <i>(0 or more)</i>
-<font color="#7B7B7B"><extension></font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">interface org.eclipse.wst.common.project.facet.core.IPreset
-{</font>
- enum Type { STATIC, DYNAMIC, USER_DEFINED }
- Type getType();
-<font color="#7B7B7B">}</font>
-
-interface org.eclipse.wst.common.project.facet.core.IDynamicPreset extends IPreset
-{
- static final String CONTEXT_KEY_FIXED_FACETS;
- static final String CONTEXT_KEY_PRIMARY_RUNTIME;
- IPreset resolve( Map<String,Object> context );
-}
-
-interface org.eclipse.wst.common.project.facet.core.IPresetFactory
-{
- PresetDefinition createPreset( String presetId, Map<String,Object> context );
-}
-
-class org.eclipse.wst.common.project.facet.core.PresetDefinition
-{
- PresetDefinition( String label, String description, Set<IProjectFacetVersion> facets );
- String getLabel();
- String getDescription();
- Set<IProjectFacetVersion> getProjectFacets();
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.FacetedProjectFramework
-{</font>
- static final String DEFAULT_CONFIGURATION_PRESET_ID;
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor=#FFF1C1>
-<pre>
-<font color="#7B7B7B">interface org.eclipse.wst.common.project.facet.core.IPreset
-{</font>
- boolean isUserDefined()
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="#comparable">3. IProjectFacetVersion and IRuntimeComponentVersion Extend Comparable</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>The IProjectFacetVersion and IRuntimeComponentVersion interfaces now extend
-Comparable. Using the compareTo methods will yield significantly better performance
-than calling the version comparator directly on the version strings as the
-compareTo methods use pre-computed results and do not need to parse the version
-strings.</p>
-
-<p>As part of this change, IVersionExpr.evaluate( String ) method has been
-replaced with IVersionExpr.check( Comparable ) method.</p>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="#requires-group">4. Requires Constraint Supports Groups</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>The requires constraint can now be declared using facet groups instead of
-individual facets. Any member of the group will satisfy the constraint. This
-allows a level of indirection so that a facet does not need to know about all of
-the group members.</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet-version>
- <constraint></font>
- <requires group="group.id"/>
- <font color="#7B7B7B"></constraint>
- </project-facet-version>
-<extension></font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="group-labels">5. Labels and Descriptions for Groups</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>It is now possible to associate labels and description with groups. Note that
-groups are still automatically created on first use, so the use of the new group
-element is only necessary in order to specify the label and the description.</p>
-
-<p><u>Extension Points Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets"></font>
- <group id="..."> <i>(0 or more)</i>
- <label>...</label>
- <description>...</description> <i>(0 or 1)</i>
- </group>
-<font color="#7B7B7B"><extension></font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IGroup
-{</font>
- String getLabel();
- String getDescription();
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="validate">6. New IFacetedProject Validation API</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>There is now API for validating the faceted project. It allows the caller to
-find out about any problems with the project without searching for problem
-markers created by the faceted project validation builder. The validation
-builder now uses the new API.</p>
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
- IStatus validate( IProgressMonitor monitor );
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="new-wizard-class">7. AddRemoveFacetsWizard Class Renamed to ModifyFacetedProjectWizard</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>The AddRemoveFacetsWizard class has been renamed to ModifyFacetedProjectWizard
-to align with terminology change being made in the rest of the system. The old
-class is deprecated, but still supported (extends the new class).</p>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="pde-limitations">8. Extension Point Schema Changes to Work Around PDE Limitations</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>In order to work around false warnings reported by PDE's extension point schema validation, the
-following changes have been made to the framework's extension points. The old syntax is deprecated,
-but is still supported.</p>
-
-<p>When declaring that a facet belongs to a category...</p>
-
-<p><u>Old Syntax</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet></font>
- <category>...</category>
- <font color="#7B7B7B"></project-facet>
-<extension></font>
-</pre>
-</td></tr></table>
-
-<p><u>New Syntax</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets">
- <project-facet></font>
- <member category="..."/>
- <font color="#7B7B7B"></project-facet>
-<extension></font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="listeners">9. Listeners and Events</a></font></p>
-<!-- ********************************************************************** -->
-
-<p>The existing facilities for listening on faceted project model changes have been re-designed to
-provide more information about the change that took place and to provide the same facility
-regardless of whether the client chooses to register the listener via direct API call or via an
-extension point.</p>
-
-<p>In 1.5, extenders could either:</p>
-
-<ol>
-
- <li>Use <code>IFacetedProject.addListener()</code> method. Listener would get called when any
- aspect of faceted project model was changed, but the listener was not given any details about
- the change that took place.<br/><br/></li>
-
- <li>Use <code><event-handler></code> element of the
- <code>org.eclipse.wst.common.project.facet.core.facets</code> extension point to register an
- <code>IDelegate</code> implementation which is similar to how actions are implemented. This
- approach gave user a bit more control over what events to process as well as more information
- regarding what actually took place. However, not all changes could be surfaced via this
- interface due to limitations of the extension point and the <code>IDelegate</code> interface.</li>
-
-</ol>
-
-<p>Full discussion of the new facility can be found <a href="listeners.html">here</a>.</p>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener
-{
- void handleEvent( IFacetedProjectEvent event );
-}
-
-org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent
-{
- enum Type
- {
- PROJECT_MODIFIED,
- PRE_INSTALL,
- POST_INSTALL,
- PRE_UNINSTALL,
- POST_UNINSTALL,
- PRE_VERSION_CHANGE,
- POST_VERSION_CHANGE,
- FIXED_FACETS_CHANGED,
- TARGETED_RUNTIMES_CHANGED,
- PRIMARY_RUNTIME_CHANGED
- }
-
- Type getType();
- IFacetedProject getProject();
-}
-
-org.eclipse.wst.common.project.facet.core.events.IFixedFacetsChangedEvent : IFacetedProjectEvent
-{
- Set<IProjectFacet> getOldFixedFacets();
- Set<IProjectFacet> getNewFixedFacets();
-}
-
-org.eclipse.wst.common.project.facet.core.events.IProjectFacetActionEvent : IFacetedProjectEvent
-{
- IProjectFacet getProjectFacet();
- IProjectFacetVersion getProjectFacetVersion();
- Object getActionConfig();
-}
-
-org.eclipse.wst.common.project.facet.core.events.IPrimaryRuntimeChangedEvent : IFacetedProjectEvent
-{
- IRuntime getOldPrimaryRuntime();
- IRuntime getNewPrimaryRuntime();
-}
-
-org.eclipse.wst.common.project.facet.core.events.ITargetedRuntimesChangedEvent : IFacetedProjectEvent
-{
- Set<IRuntime> getOldTargetedRuntimes();
- Set<IRuntime> getNewTargetedRuntimes();
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
- void addListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener, IFacetedProjectEvent.Type... );
- void removeListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener );
-<font color="#7B7B7B">}</font>
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.FacetedProjectFramework
-{</font>
- void addListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener, IFacetedProjectEvent.Type... );
- void removeListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener );
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-<p><u>New Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<extension point="org.eclipse.wst.common.project.facet.core.listeners">
- <listener
- class="{class:org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener}"
- eventTypes="{csv:org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type}"/> <i>(1 or more)</i>
-<extension>
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor=#FFF1C1>
-<pre>
-org.eclipse.wst.common.project.facet.core.IFacetedProjectListener
-{
- projectChanged();
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
- void addListener( org.eclipse.wst.common.project.facet.core.IFacetedProjectListener );
- void removeListener( org.eclipse.wst.common.project.facet.core.IFacetedProjectListener );
-<font color="#7B7B7B">}</font>
-
-org.eclipse.wst.common.project.facet.core.IRuntimeChangedEvent
-{
- IRuntime getOldRuntime();
- IRuntime getNewRuntime();
-}
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B"><extension point="org.eclipse.wst.common.project.facet.core.facets"></font>
- <event-handler type="{string}" facet="{string}" version="{string}">
- <delegate class="{class:org.eclipse.wst.common.project.facet.core.IDelegate}"/>
- </event-handler>
-<font color="#7B7B7B"><extension></font>
-</pre>
-</td></tr></table>
-
-
-<!-- ********************************************************************** -->
-<p><font size="+1"><a name="misc">10. Miscellaneous</a></font></p>
-<!-- ********************************************************************** -->
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10"> </td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
- boolean isTargetable( IRuntime runtime );
- boolean isTargeted( IRuntime runtime );
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.properties b/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.properties
deleted file mode 100644
index 46efccb..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Faceted Project Framework API Documentation
-providerName = Eclipse.org
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.xml b/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.xml
deleted file mode 100644
index 2c0c04e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
- <extension point="org.eclipse.help.toc">
- <toc file="toc.xml" primary="true">
- </toc>
- </extension>
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/toc.xml b/plugins/org.eclipse.wst.common.project.facet.doc.api/toc.xml
deleted file mode 100644
index 5116230..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/toc.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Faceted Project Framework Developer Guide" topic="content/description.html">
- <topic label="Tutorial"
- href="content/tutorial/tutorial.html">
- </topic>
- <topic label="Listening for Changes to Faceted Projects"
- href="content/listeners.html">
- </topic>
- <topic label="Enabling UI Elements Based on Project Facets"
- href="content/enabling-based-on-facets.html">
- </topic>
- <topic label="Questions & Answers"
- href="content/questions.html">
- </topic>
- <topic label="New for 1.5"
- href="content/whatsnew150.html">
- </topic>
- <topic label="New for 1.5.1"
- href="content/whatsnew151.html">
- </topic>
- <topic label="New for 2.0"
- href="content/whatsnew20.html">
- </topic>
-</toc>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF
index 09627d3..e6de155 100644
--- a/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF
@@ -9,11 +9,11 @@
Bundle-Localization: plugin
Export-Package: org.eclipse.wst.common.project.facet.ui,
org.eclipse.wst.common.project.facet.ui.internal;x-internal:=true
-Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)";visibility:=reexport,
- org.eclipse.ui.forms;bundle-version="[3.2.0,4.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,4.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)";visibility:=reexport,
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,1.4.0)";visibility:=reexport
+Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
+ org.eclipse.ui.forms;bundle-version="[3.3.100,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)";visibility:=reexport
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/about.html b/plugins/org.eclipse.wst.common.project.facet.ui/about.html
index 73db36e..2199df3 100644
--- a/plugins/org.eclipse.wst.common.project.facet.ui/about.html
+++ b/plugins/org.eclipse.wst.common.project.facet.ui/about.html
@@ -10,7 +10,7 @@
<H3>About This Content</H3>
-<P>June 06, 2007</P>
+<P>June, 2008</P>
<H3>License</H3>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
index 0b3e21b..00599bd 100644
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
+++ b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
@@ -687,10 +687,16 @@
return;
}
+ int available = 0;
int selected = 0;
for( IProjectFacet f : category.getProjectFacets() )
{
+ if( this.fpjwc.isFacetAvailable( f ) )
+ {
+ available++;
+ }
+
if( this.fpjwc.hasProjectFacet( f ) )
{
selected++;
@@ -702,7 +708,7 @@
this.treeViewer.setChecked( category, false );
this.treeViewer.setGrayed( category, false );
}
- else if( selected == category.getProjectFacets().size() )
+ else if( selected == available )
{
this.treeViewer.setChecked( category, true );
this.treeViewer.setGrayed( category, false );
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java
index b112200..69cb8ac 100644
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java
+++ b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java
@@ -1,12 +1,14 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc.
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms 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 implementation and ongoing maintenance
+ * IBM Corporation - initial API and implementation
+ * Tom Schindl <tom.schindl@bestsolution.at> - bugfix in 174739
+ * Konstantin Komissarchik - mproving behavior in the read-only case
******************************************************************************/
package org.eclipse.wst.common.project.facet.ui.internal.util;
diff --git a/tests/org.eclipse.wst.common.project.facet.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.common.project.facet.core.tests/META-INF/MANIFEST.MF
index 7902a48..85a169c 100644
--- a/tests/org.eclipse.wst.common.project.facet.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.common.project.facet.core.tests/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
Bundle-SymbolicName: org.eclipse.wst.common.project.facet.core.tests;singleton:=true
Bundle-Version: 1.3.0.qualifier
Bundle-Localization: plugin
-Require-Bundle: org.junit,
+Require-Bundle: org.junit;bundle-version="[3.8.2,4.0.0)",
org.eclipse.wst.common.project.facet.core,
org.eclipse.core.runtime,
org.eclipse.core.resources
diff --git a/tests/org.eclipse.wst.common.project.facet.core.tests/about.html b/tests/org.eclipse.wst.common.project.facet.core.tests/about.html
index 9e73bda..0799bdb 100644
--- a/tests/org.eclipse.wst.common.project.facet.core.tests/about.html
+++ b/tests/org.eclipse.wst.common.project.facet.core.tests/about.html
@@ -10,7 +10,7 @@
<H3>About This Content</H3>
-<P>June 06, 2007</P>
+<P>June, 2008</P>
<H3>License</H3>
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/about.html b/tests/org.eclipse.wst.common.project.facet.ui.tests/about.html
index 9e73bda..0799bdb 100644
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/about.html
+++ b/tests/org.eclipse.wst.common.project.facet.ui.tests/about.html
@@ -10,7 +10,7 @@
<H3>About This Content</H3>
-<P>June 06, 2007</P>
+<P>June, 2008</P>
<H3>License</H3>