This commit was manufactured by cvs2svn to create tag 'v20051005_1222'.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.classpath b/plugins/org.eclipse.wst.common.project.facet.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore b/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore
deleted file mode 100644
index 1150533..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-build.xml
-facet-ui.jar
-temp.folder
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.project b/plugins/org.eclipse.wst.common.project.facet.ui/.project
deleted file mode 100644
index df18711..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.common.project.facet.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d7840a2..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Jun 06 17:14:05 PDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/build.properties b/plugins/org.eclipse.wst.common.project.facet.ui/build.properties
deleted file mode 100644
index f78a7b0..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.facet-ui.jar = src/
-output.facet-ui.jar = bin/
-bin.includes = plugin.xml,\
- plugin.properties,\
- facet-ui.jar,\
- images/
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/error.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/error.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/error.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties b/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties
deleted file mode 100644
index f722f53..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-add.remove.facets = Add/Remove Project Facets...
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml b/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml
deleted file mode 100644
index 5f4a8f1..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
- id="org.eclipse.wst.common.project.facet.ui"
- name="Project Facet UI"
- version="1.0"
- class="org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin">
-
- <runtime>
- <library name="facet-ui.jar">
- <export name="*"/>
- </library>
- </runtime>
-
- <requires>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.wst.common.project.facet.core"/>
- </requires>
-
- <extension-point
- id="wizard"
- name="Feature Wizard Pages Extension Point"
- schema="schemas/wizard-pages.exsd"/>
-
- <extension
- point="org.eclipse.ui.popupMenus">
- <objectContribution
- adaptable="true"
- objectClass="org.eclipse.core.resources.IProject"
- nameFilter="*"
- id="org.eclipse.wst.common.project.facet.ui.AddRemoveProjectFacetsMenuItem">
- <filter name="nature" value="org.eclipse.wst.common.project.facet.core.nature"/>
- <action
- label="%add.remove.facets"
- class="org.eclipse.wst.common.project.facet.ui.internal.AddRemoveFacetsAction"
- menubarPath="additions"
- enablesFor="+"
- id="org.eclipse.wst.common.project.facet.ui.AddRemoveProjectFacetsMenuAction"/>
- </objectContribution>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd b/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd
deleted file mode 100644
index 3d1581e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.ui">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.wst.common.project.facet.ui" id="wizard" name="Project Facet Wizard Pages Extension Point"/>
- </appInfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="wizard-pages" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="wizard-pages">
- <complexType>
- <sequence>
- <element ref="install" minOccurs="0" maxOccurs="1"/>
- <element ref="uninstall" minOccurs="0" maxOccurs="1"/>
- </sequence>
- <attribute name="facet" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="version" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="install">
- <complexType>
- <sequence>
- <element ref="config"/>
- <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="uninstall">
- <complexType>
- <sequence>
- <element ref="config"/>
- <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="page">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="config">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java
deleted file mode 100644
index fc614cb..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.wizard.WizardPage;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class AbstractFacetWizardPage
-
- extends WizardPage
- implements IFacetWizardPage
-
-{
- protected IWizardContext context;
-
- public AbstractFacetWizardPage( final String name )
- {
- super( name );
- }
-
- public final void setWizardContext( final IWizardContext context )
- {
- this.context = context;
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java
deleted file mode 100644
index 382112d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-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;
-import org.eclipse.wst.common.project.facet.ui.internal.ConflictingFacetsFilter;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionPage;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionPanel;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public class AddRemoveFacetsWizard
-
- extends Wizard
-
-{
- protected IFacetedProject fproj;
-
- private final WizardContext context = new WizardContext();
- protected FacetsSelectionPage facetsSelectionPage;
- private FacetPages[] facetPages = new FacetPages[ 0 ];
- private Composite pageContainer;
-
- public AddRemoveFacetsWizard( final IFacetedProject fproj )
- {
- this.fproj = fproj;
-
- setNeedsProgressMonitor( true );
- setForcePreviousAndNextButtons( true );
- setWindowTitle( "Add/Remove Project Facets" );
- }
-
- public void addPages()
- {
- this.facetsSelectionPage = new FacetsSelectionPage();
-
- if( this.fproj != null )
- {
- this.facetsSelectionPage.setInitialSelection( this.fproj.getProjectFacets() );
- this.facetsSelectionPage.setFixedProjectFacets( this.fproj.getFixedProjectFacets());
- this.facetsSelectionPage.setFilters( new FacetsSelectionPanel.IFilter[] { new ConflictingFacetsFilter( this.fproj.getFixedProjectFacets() ) } );
- this.facetsSelectionPage.setRuntime( this.fproj.getRuntime() );
- }
-
- this.facetsSelectionPage.addSelectedFacetsChangedListener
- (
- new Listener()
- {
- public void handleEvent( final Event event )
- {
- handleSelectedFacetsChangedEvent();
- }
- }
- );
-
- addPage( this.facetsSelectionPage );
- }
-
- public int getPageCount()
- {
- return getPages().length;
- }
-
- public IWizardPage[] getPages()
- {
- final ArrayList list = new ArrayList();
-
- list.add( this.facetsSelectionPage );
-
- for( int i = 0; i < this.facetPages.length; i++ )
- {
- list.addAll( this.facetPages[ i ].pages );
- }
-
- return (IWizardPage[]) list.toArray( new IWizardPage[ 0 ] );
- }
-
- public IWizardPage getPage( final String pageName )
- {
- final IWizardPage[] pages = getPages();
-
- for( int i = 0; i < pages.length; i++ )
- {
- final IWizardPage page = pages[ i ];
-
- if( page.getName().equals( pageName ) )
- {
- return page;
- }
- }
-
- return null;
- }
-
- public IWizardPage getStartingPage()
- {
- return getPages()[ 0 ];
- }
-
- public IWizardPage getNextPage( final IWizardPage page )
- {
- final IWizardPage[] pages = getPages();
-
- int pos = -1;
-
- for( int i = 0; i < pages.length; i++ )
- {
- if( pages[ i ] == page )
- {
- pos = i;
- }
- }
-
- if( pos == pages.length - 1 )
- {
- return null;
- }
- else
- {
- return pages[ pos + 1 ];
- }
- }
-
- public IWizardPage getPreviousPage( final IWizardPage page )
- {
- final IWizardPage[] pages = getPages();
-
- int pos = -1;
-
- for( int i = 0; i < pages.length; i++ )
- {
- if( pages[ i ] == page )
- {
- pos = i;
- }
- }
-
- if( pos == 0 )
- {
- return null;
- }
- else
- {
- return pages[ pos - 1 ];
- }
- }
-
- public boolean canFinish()
- {
- if( ! this.facetsSelectionPage.isPageComplete() )
- {
- return false;
- }
-
- final IWizardPage[] pages = getPages();
-
- for( int i = 0; i < pages.length; i++ )
- {
- if( ! pages[ i ].isPageComplete() )
- {
- return false;
- }
- }
-
- return true;
- }
-
- public void createPageControls( final Composite container )
- {
- super.createPageControls( container );
- this.pageContainer = container;
- handleSelectedFacetsChangedEvent();
- }
-
- public boolean performFinish()
- {
- for( int i = 0; i < this.facetPages.length; i++ )
- {
- final FacetPages fp = this.facetPages[ i ];
-
- for( Iterator itr = fp.pages.iterator(); itr.hasNext(); )
- {
- ( (IFacetWizardPage) itr.next() ).transferStateToConfig();
- }
- }
-
- final Set actions = this.facetsSelectionPage.getActions();
-
- final WorkspaceModifyOperation op = new WorkspaceModifyOperation()
- {
- protected void execute( final IProgressMonitor monitor )
-
- throws CoreException
-
- {
- monitor.beginTask( "", actions.size() );
-
- try
- {
- performFinish( monitor );
- }
- finally
- {
- monitor.done();
- }
- }
- };
-
- try
- {
- getContainer().run( true, true, op );
- }
- catch( InterruptedException e )
- {
- return false;
- }
- catch( InvocationTargetException e )
- {
- final Throwable te = e.getTargetException();
-
- if( te instanceof CoreException )
- {
- final CoreException ce = (CoreException) te;
-
- ErrorDialog.openError( getShell(), Resources.errDlgTitle,
- ce.getMessage(), ce.getStatus() );
-
- FacetUiPlugin.log( ce );
- }
- else
- {
- throw new RuntimeException( e.getTargetException() );
- }
- }
-
- return true;
- }
-
- protected void performFinish( final IProgressMonitor monitor )
-
- throws CoreException
-
- {
- monitor.beginTask( "", 2 );
-
- try
- {
- this.fproj.setRuntime( this.facetsSelectionPage.getSelectedRuntime(),
- new SubProgressMonitor( monitor, 1 ) );
-
- this.fproj.modify( this.facetsSelectionPage.getActions(),
- new SubProgressMonitor( monitor, 1 ) );
- }
- finally
- {
- monitor.done();
- }
- }
-
- public String getProjectName()
- {
- return this.fproj.getProject().getName();
- }
-
- private static final class FacetPages
- {
- public Action action;
- public List pages;
- }
-
- private void handleSelectedFacetsChangedEvent()
- {
- // Get the set of actions and sort them.
-
- final Set base;
-
- if( this.fproj == null )
- {
- base = Collections.EMPTY_SET;
- }
- else
- {
- base = this.fproj.getProjectFacets();
- }
-
- final Set actions = this.facetsSelectionPage.getActions();
- final ArrayList sortedActions = new ArrayList( actions );
- ProjectFacetsManager.sort( base, sortedActions );
-
- // Recalculate the sequence of wizard pages.
-
- final ArrayList newFacetPages = new ArrayList();
- final boolean[] markers = new boolean[ this.facetPages.length ];
-
- for( Iterator itr1 = sortedActions.iterator(); itr1.hasNext(); )
- {
- final Action action = (Action) itr1.next();
- final IProjectFacetVersion f = action.getProjectFacetVersion();
- FacetPages fp = findFacetPages( action, markers );
-
- if( fp == null )
- {
- fp = new FacetPages();
- fp.action = action;
- fp.pages = ProjectFacetsUiManager.getWizardPages( action.getType(), f );
-
- for( Iterator itr2 = fp.pages.iterator(); itr2.hasNext(); )
- {
- final IFacetWizardPage page
- = (IFacetWizardPage) itr2.next();
-
- page.setWizard( this );
- page.setWizardContext( this.context );
- page.setConfig( action.getConfig() );
-
- if( page.getControl() == null )
- {
- page.createControl( this.pageContainer );
- page.getControl().setVisible( false );
- }
- }
- }
-
- newFacetPages.add( fp );
- }
-
- for( int i = 0; i < this.facetPages.length; i++ )
- {
- if( ! markers[ i ] )
- {
- for( Iterator itr = this.facetPages[ i ].pages.iterator();
- itr.hasNext(); )
- {
- final IFacetWizardPage page
- = (IFacetWizardPage) itr.next();
-
- page.setWizard( null );
- page.dispose();
- }
- }
- }
-
- this.facetPages = new FacetPages[ newFacetPages.size() ];
- newFacetPages.toArray( this.facetPages );
-
- this.pageContainer.layout( true, true );
- }
-
- private FacetPages findFacetPages( final Action action,
- final boolean[] markers )
- {
- for( int i = 0; i < this.facetPages.length; i++ )
- {
- final FacetPages fp = this.facetPages[ i ];
-
- if( fp.action == action )
- {
- markers[ i ] = true;
- return fp;
- }
- }
-
- return null;
- }
-
- /**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
- private final class WizardContext
-
- implements IWizardContext
-
- {
- public String getProjectName()
- {
- return AddRemoveFacetsWizard.this.getProjectName();
- }
-
- public Set getSelectedProjectFacets()
- {
- return AddRemoveFacetsWizard.this.facetsSelectionPage.getSelectedProjectFacets();
- }
-
- public boolean isProjectFacetSelected( final IProjectFacetVersion fv )
- {
- return getSelectedProjectFacets().contains( fv );
- }
-
- public Set getActions()
- {
- final FacetsSelectionPage page
- = AddRemoveFacetsWizard.this.facetsSelectionPage;
-
- return page.getActions();
- }
-
- public Action getAction( final Action.Type type,
- final IProjectFacetVersion f )
- {
- for( Iterator itr = getActions().iterator(); itr.hasNext(); )
- {
- final Action action = (Action) itr.next();
-
- if( action.getType() == type && action.getProjectFacetVersion() == f )
- {
- return action;
- }
- }
-
- return null;
- }
- }
-
- private static final class Resources
-
- extends NLS
-
- {
- public static String errDlgTitle;
-
- static
- {
- initializeMessages( AddRemoveFacetsWizard.class.getName(),
- Resources.class );
- }
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.properties
deleted file mode 100644
index feb2801..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.properties
+++ /dev/null
@@ -1 +0,0 @@
-errDlgTitle = Error
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java
deleted file mode 100644
index fab2c0a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.ui.internal.ConflictingFacetsFilter;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionPanel;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class FacetedProjectWizard
-
- extends AddRemoveFacetsWizard
- implements INewWizard
-
-{
- private final IFacetedProjectTemplate template;
- private WizardNewProjectCreationPage firstPage;
- private String projectName;
- private IPath customPath;
-
- public FacetedProjectWizard()
- {
- super( null );
-
- this.template = getTemplate();
-
- this.setWindowTitle( "New " + this.template.getLabel() );
- this.setDefaultPageImageDescriptor( getDefaultPageImageDescriptor() );
- }
-
- public void init( final IWorkbench workbench,
- final IStructuredSelection selection )
- {
-
- }
-
- public void addPages()
- {
- this.firstPage = new WizardNewProjectCreationPage( "first.page" );
- this.firstPage.setTitle( this.template.getLabel() );
- this.firstPage.setDescription( getPageDescription() );
-
- addPage( this.firstPage );
-
- super.addPages();
-
- this.facetsSelectionPage.setInitialPreset( this.template.getInitialPreset() );
-
- final Set fixed = this.template.getFixedProjectFacets();
-
- this.facetsSelectionPage.setFixedProjectFacets( fixed );
-
- final ConflictingFacetsFilter filter
- = new ConflictingFacetsFilter( fixed );
-
- this.facetsSelectionPage.setFilters( new FacetsSelectionPanel.IFilter[] { filter } );
- }
-
- public boolean canFinish()
- {
- return this.firstPage.isPageComplete() && super.canFinish();
- }
-
- public IWizardPage[] getPages()
- {
- final IWizardPage[] base = super.getPages();
- final IWizardPage[] pages = new IWizardPage[ base.length + 1 ];
-
- pages[ 0 ] = this.firstPage;
- System.arraycopy( base, 0, pages, 1, base.length );
-
- return pages;
- }
-
- public synchronized boolean performFinish()
- {
- this.projectName = this.firstPage.getProjectName();
-
- this.customPath
- = this.firstPage.useDefaults()
- ? null : this.firstPage.getLocationPath();
-
- return super.performFinish();
- }
-
- protected void performFinish( final IProgressMonitor monitor )
-
- throws CoreException
-
- {
- this.fproj
- = ProjectFacetsManager.create( this.projectName,
- this.customPath, monitor );
-
- super.performFinish( monitor );
-
- final Set fixed = this.template.getFixedProjectFacets();
- this.fproj.setFixedProjectFacets( fixed );
- }
-
- public synchronized String getProjectName()
- {
- if( this.fproj == null )
- {
- return this.firstPage.getProjectName();
- }
- else
- {
- return this.fproj.getProject().getName();
- }
- }
-
- protected abstract IFacetedProjectTemplate getTemplate();
- protected abstract String getPageDescription();
- protected abstract ImageDescriptor getDefaultPageImageDescriptor();
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java
deleted file mode 100644
index 6b3a9ee..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.wizard.IWizardPage;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IFacetWizardPage
-
- extends IWizardPage
-
-{
- void setWizardContext( final IWizardContext context );
- void setConfig( final Object config );
- void transferStateToConfig();
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java
deleted file mode 100644
index 8dfa4d6..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IRuntimeComponentLabelProvider
-{
- String getLabel();
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java
deleted file mode 100644
index 409d34e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.util.Set;
-
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IWizardContext
-{
- String getProjectName();
-
- Set getSelectedProjectFacets();
-
- boolean isProjectFacetSelected( IProjectFacetVersion fv );
-
- Set getActions();
-
- Action getAction( Action.Type type,
- IProjectFacetVersion f );
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java
deleted file mode 100644
index 68c801b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.util.List;
-
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.ui.internal.ProjectFacetsUiManagerImpl;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ProjectFacetsUiManager
-{
- private static ProjectFacetsUiManagerImpl impl
- = new ProjectFacetsUiManagerImpl();
-
- private ProjectFacetsUiManager() {}
-
- public static Object getConfig( final Action.Type actionType,
- final IProjectFacetVersion f )
- {
- return impl.getConfig( actionType, f );
- }
-
- /**
- * @return (element type: {@see IFacetWizardPage})
- */
-
- public static List getWizardPages( final Action.Type actionType,
- final IProjectFacetVersion f )
- {
- return impl.getWizardPages( actionType, f );
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/AddRemoveFacetsAction.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/AddRemoveFacetsAction.java
deleted file mode 100644
index 2b12be0..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/AddRemoveFacetsAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.ui.AddRemoveFacetsWizard;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class AddRemoveFacetsAction
-
- implements IObjectActionDelegate
-
-{
- private Shell shell = null;
- private ISelection selection = null;
-
- public void setActivePart( final IAction action,
- final IWorkbenchPart targetPart )
- {
- this.shell = targetPart.getSite().getShell();
- }
-
- public void run( final IAction action )
- {
- if( this.selection instanceof IStructuredSelection )
- {
- final IStructuredSelection ssel
- = (IStructuredSelection) this.selection;
-
- final IProject project = (IProject) ssel.getFirstElement();
- final IFacetedProject fproj;
-
- try
- {
- fproj = ProjectFacetsManager.create( project );
- }
- catch( CoreException e )
- {
- // TODO: Handle this better.
- throw new RuntimeException( e );
- }
-
- final IWizard wizard = new AddRemoveFacetsWizard( fproj );
- final WizardDialog dialog = new WizardDialog( this.shell, wizard );
-
- dialog.open();
- }
- }
-
- public void selectionChanged( final IAction action,
- final ISelection selection )
- {
- this.selection = selection;
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConflictingFacetsFilter.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConflictingFacetsFilter.java
deleted file mode 100644
index 99021b5..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConflictingFacetsFilter.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.wst.common.project.facet.core.IConstraint;
-import org.eclipse.wst.common.project.facet.core.IGroup;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ConflictingFacetsFilter
-
- implements FacetsSelectionPanel.IFilter
-
-{
- private final Set fixed;
-
- public ConflictingFacetsFilter( final Set fixed )
- {
- this.fixed = fixed;
- }
-
- public boolean check( final IProjectFacetVersion fv )
- {
- for( Iterator itr = this.fixed.iterator(); itr.hasNext(); )
- {
- final IProjectFacet f = (IProjectFacet) itr.next();
-
- if( f.getVersions().contains( fv ) )
- {
- return true;
- }
- }
-
- return check( fv.getConstraint() );
- }
-
- private boolean check( final IConstraint op )
- {
- if( op.getType() == IConstraint.Type.AND )
- {
- for( Iterator itr = op.getOperands().iterator(); itr.hasNext(); )
- {
- if( ! check( (IConstraint) itr.next() ) )
- {
- return false;
- }
- }
-
- return true;
- }
- else if( op.getType() == IConstraint.Type.OR )
- {
- for( Iterator itr = op.getOperands().iterator(); itr.hasNext(); )
- {
- if( check( (IConstraint) itr.next() ) )
- {
- return true;
- }
- }
-
- return false;
- }
- else if( op.getType() == IConstraint.Type.CONFLICTS )
- {
- final String gid = (String) op.getOperand( 0 );
- final IGroup group = ProjectFacetsManager.getGroup( gid );
-
- for( Iterator itr = this.fixed.iterator(); itr.hasNext(); )
- {
- final IProjectFacet f = (IProjectFacet) itr.next();
-
- if( group.getMembers().containsAll( f.getVersions() ) )
- {
- return false;
- }
- }
-
- return true;
- }
- else if( op.getType() == IConstraint.Type.REQUIRES )
- {
- final String name = (String) op.getOperand( 0 );
- final String version = (String) op.getOperand( 1 );
-
- final boolean allowNewer
- = ( (Boolean) op.getOperand( 2 ) ).booleanValue();
-
- final boolean soft
- = ( (Boolean) op.getOperand( 3 ) ).booleanValue();
-
- if( soft )
- {
- return true;
- }
- else
- {
- final IProjectFacet rf
- = ProjectFacetsManager.getProjectFacet( name );
-
- final Set versions = rf.getVersions();
- final Comparator comp = rf.getVersionComparator();
-
- for( Iterator itr = versions.iterator(); itr.hasNext(); )
- {
- final IProjectFacetVersion fv
- = (IProjectFacetVersion) itr.next();
-
- final String fvstr = fv.getVersionString();
-
- final int compres = comp.compare( fvstr, version );
-
- if( ( allowNewer && compres >= 0 ) ||
- ( ! allowNewer && compres == 0 ) )
- {
- if( check( fv ) )
- {
- return true;
- }
- }
- }
-
- return false;
- }
- }
- else
- {
- throw new IllegalStateException();
- }
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java
deleted file mode 100644
index 587c56e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetUiPlugin
-
- extends AbstractUIPlugin
-
-{
- public static final String PLUGIN_ID
- = "org.eclipse.wst.common.project.facet.ui";
-
- private static FacetUiPlugin plugin;
-
- public FacetUiPlugin()
- {
- super();
- plugin = this;
- }
-
- public static FacetUiPlugin getInstance()
- {
- return plugin;
- }
-
- public static void log( final Exception e )
- {
- final ILog log = getInstance().getLog();
- final String msg = e.getMessage();
-
- log.log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e ) );
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java
deleted file mode 100644
index 26c73f3..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionPage
-
- extends WizardPage
-
-{
- private IPreset initialPreset;
- private Set initialSelection;
- private final Set fixed;
- private FacetsSelectionPanel.IFilter[] filters;
- private IRuntime runtime;
- private FacetsSelectionPanel panel;
- private ArrayList listeners;
-
- public FacetsSelectionPage()
- {
- super( "facets.selection.page" );
-
- setTitle( "Select Project Facets" );
- setDescription( "Select facets for this project." );
-
- this.initialPreset = null;
- this.initialSelection = null;
- this.fixed = new HashSet();
- this.filters = new FacetsSelectionPanel.IFilter[ 0 ];
- this.runtime = null;
- this.listeners = new ArrayList();
- }
-
- public void setInitialPreset( final IPreset preset )
- {
- this.initialPreset = preset;
- }
-
- public void setInitialSelection( final Set sel )
- {
- this.initialSelection = sel;
- }
-
- public void setFixedProjectFacets( final Set fixed )
- {
- this.fixed.clear();
- this.fixed.addAll( fixed );
- }
-
- public void setFilters( final FacetsSelectionPanel.IFilter[] filters )
- {
- this.filters = filters;
- }
-
- public void setRuntime( final IRuntime runtime )
- {
- this.runtime = runtime;
- }
-
- public Set getActions()
- {
- return this.panel.getActions();
- }
-
- public Set getSelectedProjectFacets()
- {
- return this.panel.getSelectedProjectFacets();
- }
-
- public void addSelectedFacetsChangedListener( final Listener listener )
- {
- this.listeners.add( listener );
- }
-
- public void removeSelectedFacetsChangedListener( final Listener listener )
- {
- this.listeners.remove( listener );
- }
-
- public IRuntime getSelectedRuntime()
- {
- return this.panel.getSelectedRuntime();
- }
-
- public void createControl( final Composite parent )
- {
- this.panel
- = new FacetsSelectionPanel( parent, SWT.NONE, this.runtime );
-
- this.panel.setFixedProjectFacets( this.fixed );
-
- if( this.initialPreset != null )
- {
- this.panel.selectPreset( this.initialPreset );
- }
-
- if( this.initialSelection != null )
- {
- this.panel.setSelectedProjectFacets( this.initialSelection );
- }
-
- for( int i = 0; i < this.filters.length; i++ )
- {
- this.panel.addFilter( this.filters[ i ] );
- }
-
- this.panel.addSelectionChangedListener
- (
- new ISelectionChangedListener()
- {
- public void selectionChanged( final SelectionChangedEvent e )
- {
- handleSelectionChangedEvent( e );
- }
- }
- );
-
- this.panel.addListener
- (
- new Listener()
- {
- public void handleEvent( final Event event )
- {
- handleSelectedFacetsChangedEvent( event );
- }
- }
- );
-
- setControl( this.panel );
- }
-
- private void handleSelectionChangedEvent( final SelectionChangedEvent e )
- {
- final IStructuredSelection ss
- = (IStructuredSelection) e.getSelection();
-
- final Object sel = ss.getFirstElement();
-
- if( sel != null )
- {
- final String desc;
-
- if( sel instanceof IProjectFacet )
- {
- desc = ( (IProjectFacet) sel ).getDescription();
- }
- else
- {
- desc = ( (ICategory) sel ).getDescription();
- }
-
- setDescription( desc );
- }
- }
-
- private void handleSelectedFacetsChangedEvent( final Event event )
- {
- for( int i = 0, n = this.listeners.size(); i < n; i++ )
- {
- ( (Listener) this.listeners.get( i ) ).handleEvent( event );
- }
-
- final boolean valid
- = FacetsSelectionPage.this.panel.isSelectionValid();
-
- setPageComplete( valid );
- }
-
-}
-
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
deleted file mode 100644
index e156ae9..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
+++ /dev/null
@@ -1,1630 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.ui.ProjectFacetsUiManager;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionPanel
-
- extends Composite
- implements ISelectionProvider
-
-{
- private static final String CW_FACET = "cw.facet";
- private static final String CW_VERSION = "cw.version";
- private static final String SASH1W1 = "sash.1.weight.1";
- private static final String SASH1W2 = "sash.1.weight.2";
- private static final String SASH2W1 = "sash.2.weight.1";
- private static final String SASH2W2 = "sash.2.weight.2";
- private static final Font FIXED_FONT;
-
- static
- {
- final FontData system
- = Display.getCurrent().getSystemFont().getFontData()[ 0 ];
-
- final FontData italic
- = new FontData( system.getName(), system.getHeight(), SWT.BOLD );
-
- FIXED_FONT = new Font( Display.getCurrent(), italic );
- }
-
- private final IDialogSettings settings;
- private final SashForm sform1;
- private final SashForm sform2;
- private final Label presetsLabel;
- private final Combo presetsCombo;
- private final Button savePresetButton;
- private final Button deletePresetButton;
- private final CheckboxTreeViewer tree;
- private final TreeColumn colFacet;
- private final TreeColumn colVersion;
- private final ComboBoxCellEditor ceditor;
- private final TableViewer problemsView;
- private final RuntimesPanel runtimesPanel;
-
- /**
- * Contains the <code>TableRowData</code> objects representing all of the
- * facets, regardless whether they are displayed or not.
- */
-
- private final ArrayList data;
- private final HashSet fixed;
- private final HashSet base;
- private final HashSet actions;
- private final ArrayList presets;
-
- private IStatus problems;
- private final HashSet filters;
- private final ArrayList listeners;
- private final ArrayList selectionListeners;
-
- public interface IFilter
- {
- boolean check( IProjectFacetVersion fv );
- }
-
- public FacetsSelectionPanel( final Composite parent,
- final int style,
- final IRuntime runtime )
- {
- super( parent, style );
-
- this.data = new ArrayList();
- this.fixed = new HashSet();
- this.base = new HashSet();
- this.actions = new HashSet();
- this.presets = new ArrayList();
- this.problems = Status.OK_STATUS;
- this.filters = new HashSet();
- this.listeners = new ArrayList();
- this.selectionListeners = new ArrayList();
-
- for( Iterator itr = ProjectFacetsManager.getProjectFacets().iterator();
- itr.hasNext(); )
- {
- this.data.add( new TableRowData( (IProjectFacet) itr.next() ) );
- }
-
- // Read the dialog settings.
-
- final IDialogSettings root
- = FacetUiPlugin.getInstance().getDialogSettings();
-
- IDialogSettings temp = root.getSection( getClass().getName() );
-
- if( temp == null )
- {
- temp = root.addNewSection( getClass().getName() );
- }
-
- if( temp.get( CW_FACET ) == null ) temp.put( CW_FACET, 200 );
- if( temp.get( CW_VERSION ) == null ) temp.put( CW_VERSION, 100 );
- if( temp.get( SASH1W1 ) == null ) temp.put( SASH1W1, 60 );
- if( temp.get( SASH1W2 ) == null ) temp.put( SASH1W2, 40 );
- if( temp.get( SASH2W1 ) == null ) temp.put( SASH2W1, 70 );
- if( temp.get( SASH2W2 ) == null ) temp.put( SASH2W2, 30 );
-
- this.settings = temp;
-
- // Layout the panel.
-
- setLayout( new GridLayout( 1, false ) );
-
- this.sform1 = new SashForm( this, SWT.HORIZONTAL | SWT.SMOOTH );
- this.sform1.setLayoutData( gdfill() );
-
- final Composite composite = new Composite( this.sform1, SWT.NONE );
- composite.setLayoutData( gdhfill() );
-
- final GridLayout layout = new GridLayout( 4, false );
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- composite.setLayout( layout );
-
- this.presetsLabel = new Label( composite, SWT.NONE );
- this.presetsLabel.setText( "Presets: " );
-
- this.presetsCombo = new Combo( composite, SWT.READ_ONLY );
- this.presetsCombo.setLayoutData( gdhfill() );
-
- this.presetsCombo.addSelectionListener
- (
- new SelectionAdapter()
- {
- public void widgetSelected( final SelectionEvent e )
- {
- handlePresetSelected();
- }
- }
- );
-
- this.savePresetButton = new Button( composite, SWT.PUSH );
- this.savePresetButton.setText( "Save" );
- this.savePresetButton.setLayoutData( whint( new GridData(), 60 ) );
-
- this.savePresetButton.addSelectionListener
- (
- new SelectionAdapter()
- {
- public void widgetSelected( final SelectionEvent e )
- {
- handleSavePreset();
- }
- }
- );
-
- this.deletePresetButton = new Button( composite, SWT.PUSH );
- this.deletePresetButton.setText( "Delete" );
- this.deletePresetButton.setLayoutData( whint( new GridData(), 60 ) );
-
- this.deletePresetButton.addSelectionListener
- (
- new SelectionAdapter()
- {
- public void widgetSelected( final SelectionEvent e )
- {
- handleDeletePreset();
- }
- }
- );
-
- refreshPresetsCombo();
-
- this.sform2 = new SashForm( composite, SWT.VERTICAL | SWT.SMOOTH );
- this.sform2.setLayoutData( hspan( gdfill(), 4 ) );
-
- this.tree = new CheckboxTreeViewer( this.sform2, SWT.BORDER );
- this.tree.getTree().setHeaderVisible( true );
-
- this.ceditor
- = new ComboBoxCellEditor( this.tree.getTree(), new String[ 0 ],
- SWT.READ_ONLY );
-
- this.tree.setColumnProperties( new String[] { "facet", "version" } );
- this.tree.setCellModifier( new CellModifier() );
- this.tree.setCellEditors( new CellEditor[] { null, this.ceditor } );
-
- this.tree.setContentProvider( new ContentProvider() );
- this.tree.setLabelProvider( new LabelProvider() );
- this.tree.setSorter( new Sorter() );
-
- this.colFacet = new TreeColumn( this.tree.getTree(), SWT.NONE );
- this.colFacet.setText( "Project Facet" );
- this.colFacet.setWidth( this.settings.getInt( CW_FACET ) );
- this.colFacet.setResizable( true );
-
- this.colFacet.addListener
- (
- SWT.Resize,
- new Listener()
- {
- public void handleEvent( final Event event )
- {
- settings.put( CW_FACET, colFacet.getWidth() );
- }
- }
- );
-
- this.colVersion = new TreeColumn( this.tree.getTree(), SWT.NONE );
- this.colVersion.setText( "Version" );
- this.colVersion.setWidth( this.settings.getInt( CW_VERSION ) );
- this.colVersion.setResizable( true );
-
- this.colVersion.addListener
- (
- SWT.Resize,
- new Listener()
- {
- public void handleEvent( final Event event )
- {
- settings.put( CW_VERSION, colVersion.getWidth() );
- }
- }
- );
-
- this.tree.setInput( new Object() );
-
- this.tree.addSelectionChangedListener
- (
- new ISelectionChangedListener()
- {
- public void selectionChanged( final SelectionChangedEvent e )
- {
- FacetsSelectionPanel.this.selectionChanged( e );
- }
- }
- );
-
- this.tree.addCheckStateListener
- (
- new ICheckStateListener()
- {
- public void checkStateChanged( final CheckStateChangedEvent e )
- {
- FacetsSelectionPanel.this.checkStateChanged( e );
- }
- }
- );
-
- this.tree.getTree().addListener
- (
- SWT.MouseDown,
- new Listener()
- {
- public void handleEvent( final Event event )
- {
- handleMouseDownEvent( event );
- }
- }
- );
-
- this.problemsView = new TableViewer( this.sform2, SWT.BORDER );
- this.problemsView.setContentProvider( new ProblemsContentProvider() );
- this.problemsView.setLabelProvider( new ProblemsLabelProvider() );
- this.problemsView.setInput( new Object() );
-
- this.problemsView.getTable().addListener
- (
- SWT.Resize,
- new Listener()
- {
- public void handleEvent( final Event event )
- {
- final int[] weights = sform2.getWeights();
- settings.put( SASH2W1, weights[ 0 ] );
- settings.put( SASH2W2, weights[ 1 ] );
- }
- }
- );
-
- final int[] weights2
- = new int[] { this.settings.getInt( SASH2W1 ),
- this.settings.getInt( SASH2W2 ) };
-
- this.sform2.setWeights( weights2 );
-
- this.runtimesPanel
- = new RuntimesPanel( this.sform1, SWT.NONE, this, runtime );
-
- this.runtimesPanel.setLayoutData( hhint( gdhfill(), 80 ) );
-
- this.runtimesPanel.addFilter
- (
- new RuntimesPanel.IFilter()
- {
- public boolean check( final IRuntime runtime )
- {
- for( Iterator itr = getSelectedProjectFacets().iterator();
- itr.hasNext(); )
- {
- final IProjectFacetVersion fv
- = (IProjectFacetVersion) itr.next();
-
- if( ! runtime.supports( fv ) )
- {
- return false;
- }
- }
-
- return true;
- }
- }
- );
-
- this.runtimesPanel.addListener
- (
- SWT.Resize,
- new Listener()
- {
- public void handleEvent( final Event event )
- {
- final int[] weights = sform1.getWeights();
- settings.put( SASH1W1, weights[ 0 ] );
- settings.put( SASH1W2, weights[ 1 ] );
- }
- }
- );
-
- final int[] weights1
- = new int[] { this.settings.getInt( SASH1W1 ),
- this.settings.getInt( SASH1W2 ) };
-
- this.sform1.setWeights( weights1 );
-
- updateValidationDisplay();
- }
-
- public boolean isSelectionValid()
- {
- return this.problems.isOK();
- }
-
- public Set getActions()
- {
- return this.actions;
- }
-
- public Action getAction( final Action.Type type,
- final IProjectFacetVersion f )
- {
- return getAction( this.actions, type, f );
- }
-
- private static Action getAction( final Set actions,
- final Action.Type type,
- final IProjectFacetVersion f )
- {
- for( Iterator itr = actions.iterator(); itr.hasNext(); )
- {
- final Action action = (Action) itr.next();
-
- if( action.getType() == type && action.getProjectFacetVersion() == f )
- {
- return action;
- }
- }
-
- return null;
- }
-
- private Action createAction( final Set actions,
- final Action.Type type,
- final IProjectFacetVersion f )
- {
- Action action = getAction( actions, type, f );
-
- if( action == null )
- {
- final Object config = ProjectFacetsUiManager.getConfig( type, f );
- action = new Action( type, f, config );
- }
-
- return action;
- }
-
- public IRuntime getSelectedRuntime()
- {
- return this.runtimesPanel.getSelectedRuntime();
- }
-
- public Set getSelectedProjectFacets()
- {
- final HashSet set = new HashSet();
-
- for( int i = 0, n = this.data.size(); i < n; i++ )
- {
- final TableRowData trd = (TableRowData) this.data.get( i );
-
- if( trd.isSelected() )
- {
- set.add( trd.getCurrentVersion() );
- }
- }
-
- return set;
- }
-
- public void setSelectedProjectFacets( final Set sel )
- {
- for( Iterator itr = sel.iterator(); itr.hasNext(); )
- {
- final IProjectFacetVersion fv
- = (IProjectFacetVersion) itr.next();
-
- final IProjectFacet f = fv.getProjectFacet();
- final TableRowData trd = findTableRowData( f );
-
- trd.setSelected( true );
- trd.setCurrentVersion( fv );
-
- this.tree.setChecked( trd, true );
-
- this.base.add( fv );
- }
-
- this.tree.refresh();
- this.runtimesPanel.refresh();
- updateValidationDisplay();
- }
-
- public void selectPreset( final IPreset preset )
- {
- if( preset != null )
- {
- final int index = this.presets.indexOf( preset );
-
- if( index == -1 )
- {
- throw new IllegalArgumentException();
- }
-
- this.presetsCombo.select( index + 1 );
- handlePresetSelected();
- }
- }
-
- public void setFixedProjectFacets( final Set fixed )
- {
- for( int i = 0, n = this.data.size(); i < n; i++ )
- {
- ( (TableRowData) this.data.get( i ) ).setFixed( false );
- }
-
- for( Iterator itr = fixed.iterator(); itr.hasNext(); )
- {
- final IProjectFacet f = (IProjectFacet) itr.next();
- final TableRowData trd = findTableRowData( f );
-
- this.fixed.add( f );
- trd.setFixed( true );
- trd.setSelected( true );
- this.tree.setChecked( trd, true );
- }
-
- this.tree.refresh();
- this.runtimesPanel.refresh();
- refreshPresetsCombo();
- updateValidationDisplay();
- }
-
- public void addFilter( final IFilter filter )
- {
- this.filters.add( filter );
- this.tree.refresh();
- }
-
- public void removeFilter( final IFilter filter )
- {
- this.filters.remove( filter );
- this.tree.refresh();
- }
-
- public void addListener( final Listener listener )
- {
- this.listeners.add( listener );
- }
-
- public void removeListener( final Listener listener )
- {
- this.listeners.remove( listener );
- }
-
- private void notifyListeners()
- {
- for( int i = 0, n = this.listeners.size(); i < n; i++ )
- {
- ( (Listener) this.listeners.get( i ) ).handleEvent( null );
- }
- }
-
- public void addSelectionChangedListener( final ISelectionChangedListener listener )
- {
- this.selectionListeners.add( listener );
- }
-
- public void removeSelectionChangedListener( final ISelectionChangedListener listener )
- {
- this.selectionListeners.remove( listener );
- }
-
- public ISelection getSelection()
- {
- final IStructuredSelection ss
- = (IStructuredSelection) this.tree.getSelection();
-
- Object sel = ss.getFirstElement();
-
- if( sel instanceof TableRowData )
- {
- sel = ( (TableRowData) sel ).getProjectFacet();
- }
-
- if( sel == null )
- {
- return new StructuredSelection( new Object[ 0 ] );
- }
- else
- {
- return new StructuredSelection( sel );
- }
- }
-
- public void setSelection( final ISelection selection )
- {
- final IStructuredSelection ss = (IStructuredSelection) selection;
- final Object sel = ss.getFirstElement();
- final ISelection ts;
-
- if( sel == null )
- {
- ts = new StructuredSelection( new Object[ 0 ] );
- }
- else
- {
- if( sel instanceof IProjectFacet )
- {
- final TableRowData trd
- = findTableRowData( (IProjectFacet) sel );
-
- ts = new StructuredSelection( trd );
- }
- else
- {
- ts = selection;
- }
- }
-
- this.tree.setSelection( ts );
- }
-
- public void notifySelectionChangedListeners()
- {
- final SelectionChangedEvent event
- = new SelectionChangedEvent( this, getSelection() );
-
- for( int i = 0, n = this.selectionListeners.size(); i < n; i++ )
- {
- final ISelectionChangedListener listener
- = (ISelectionChangedListener) this.selectionListeners.get( i );
-
- listener.selectionChanged( event );
- }
- }
-
- private void selectionChanged( final SelectionChangedEvent event )
- {
- final Object selection
- = ( (IStructuredSelection) event.getSelection() ).getFirstElement();
-
- if( selection instanceof TableRowData )
- {
- final TableRowData trd = (TableRowData) selection;
-
- if( trd == null )
- {
- return;
- }
-
- // Reset the contents of the combo box cell editor to contain the
- // versions of the selected project facet.
-
- final IProjectFacetVersion[] versions = trd.getVersions();
- final String[] verstrs = new String[ versions.length ];
-
- for( int i = 0; i < versions.length; i++ )
- {
- verstrs[ i ] = versions[ i ].getVersionString();
- }
-
- this.ceditor.setItems( verstrs );
-
- for( int i = 0; i < versions.length; i++ )
- {
- if( versions[ i ] == trd.getCurrentVersion() )
- {
- this.ceditor.setValue( new Integer( i ) );
- break;
- }
- }
- }
-
- notifySelectionChangedListeners();
- }
-
- private void checkStateChanged( final CheckStateChangedEvent event )
- {
- final Object el = event.getElement();
- final boolean checked = event.getChecked();
-
- if( el instanceof TableRowData )
- {
- final TableRowData trd = (TableRowData) el;
-
- if( trd.isFixed() )
- {
- if( ! checked )
- {
- this.tree.setChecked( el, true );
- }
-
- return;
- }
-
- trd.setSelected( checked );
- refreshCategoryState( trd );
- }
- else
- {
- final ContentProvider cp
- = (ContentProvider) this.tree.getContentProvider();
-
- final Object[] children = cp.getChildren( el );
-
- for( int i = 0; i < children.length; i++ )
- {
- final TableRowData trd = (TableRowData) children[ i ];
- trd.setSelected( checked );
- this.tree.setChecked( trd, checked );
- }
-
- this.tree.setGrayed( el, false );
- }
-
- updateValidationDisplay();
- this.runtimesPanel.refresh();
-
- this.presetsCombo.select( 0 );
- refreshPresetsButtons();
- }
-
- private void updateValidationDisplay()
- {
- final Set sel = getSelectedProjectFacets();
- final Set old = new HashSet( this.actions );
- this.actions.clear();
-
- // What has been removed?
-
- for( Iterator itr = base.iterator(); itr.hasNext(); )
- {
- final IProjectFacetVersion f
- = (IProjectFacetVersion) itr.next();
-
- if( ! sel.contains( f ) )
- {
- this.actions.add( createAction( old, Action.Type.UNINSTALL, f ) );
- }
- }
-
- // What has been added?
-
- for( Iterator itr = sel.iterator(); itr.hasNext(); )
- {
- final IProjectFacetVersion f
- = (IProjectFacetVersion) itr.next();
-
- if( ! base.contains( f ) )
- {
- this.actions.add( createAction( old, Action.Type.INSTALL, f ) );
- }
- }
-
- // Coalesce uninstall/install pairs into version change actions, if
- // possible.
-
- final HashSet toadd = new HashSet();
- final HashSet toremove = new HashSet();
-
- for( Iterator itr1 = this.actions.iterator(); itr1.hasNext(); )
- {
- final Action action1 = (Action) itr1.next();
-
- for( Iterator itr2 = this.actions.iterator(); itr2.hasNext(); )
- {
- final Action action2 = (Action) itr2.next();
-
- if( action1.getType() == Action.Type.UNINSTALL &&
- action2.getType() == Action.Type.INSTALL )
- {
- final IProjectFacetVersion f1 = action1.getProjectFacetVersion();
- final IProjectFacetVersion f2 = action2.getProjectFacetVersion();
-
- if( f1.getProjectFacet() == f2.getProjectFacet() )
- {
- if( f2.supports( Action.Type.VERSION_CHANGE ) )
- {
- toremove.add( action1 );
- toremove.add( action2 );
- toadd.add( createAction( old, Action.Type.VERSION_CHANGE, f2 ) );
- }
- }
- }
- }
- }
-
- this.actions.removeAll( toremove );
- this.actions.addAll( toadd );
-
- this.problems = ProjectFacetsManager.check( this.base, this.actions );
- this.problemsView.refresh();
-
- if( this.problems.isOK() )
- {
- this.sform2.setMaximizedControl( this.tree.getTree() );
- }
- else
- {
- this.sform2.setMaximizedControl( null );
- }
-
- notifyListeners();
- }
-
- private void refreshPresetsCombo()
- {
- this.presetsCombo.removeAll();
- this.presets.clear();
-
- for( Iterator itr1 = ProjectFacetsManager.getPresets().iterator();
- itr1.hasNext(); )
- {
- final IPreset preset = (IPreset) itr1.next();
- final HashSet temp = new HashSet();
-
- for( Iterator itr2 = preset.getProjectFacets().iterator();
- itr2.hasNext(); )
- {
- final IProjectFacetVersion fv
- = (IProjectFacetVersion) itr2.next();
-
- temp.add( fv.getProjectFacet() );
- }
-
- if( temp.containsAll( this.fixed ) )
- {
- this.presets.add( preset );
- }
- }
-
- Collections.sort
- (
- this.presets,
- new Comparator()
- {
- public int compare( final Object p1,
- final Object p2 )
- {
- if( p1 == p2 )
- {
- return 0;
- }
- else
- {
- final String label1 = ( (IPreset) p1 ).getLabel();
- final String label2 = ( (IPreset) p2 ).getLabel();
-
- return label1.compareTo( label2 );
- }
- }
- }
- );
-
- this.presetsCombo.add( "<custom>" );
-
- for( Iterator itr = this.presets.iterator(); itr.hasNext(); )
- {
- final IPreset preset = (IPreset) itr.next();
- this.presetsCombo.add( preset.getLabel() );
- }
-
- this.presetsCombo.select( 0 );
- refreshPresetsButtons();
- }
-
- private void refreshPresetsButtons()
- {
- final int selection = this.presetsCombo.getSelectionIndex();
-
- if( selection == 0 )
- {
- this.savePresetButton.setEnabled( true );
- this.deletePresetButton.setEnabled( false );
- }
- else
- {
- final IPreset preset = (IPreset) this.presets.get( selection - 1 );
-
- this.savePresetButton.setEnabled( false );
- this.deletePresetButton.setEnabled( preset.isUserDefined() );
- }
- }
-
- private void refreshCategoryState( final TableRowData trd )
- {
- final ICategory category = trd.getProjectFacet().getCategory();
-
- if( category != null )
- {
- int selected = 0;
-
- for( Iterator itr = category.getProjectFacets().iterator();
- itr.hasNext(); )
- {
- final TableRowData ctrd
- = findTableRowData( (IProjectFacet) itr.next() );
-
- if( ctrd.isSelected() )
- {
- selected++;
- }
- }
-
- if( selected == 0 )
- {
- this.tree.setChecked( category, false );
- this.tree.setGrayed( category, false );
- }
- else if( selected == category.getProjectFacets().size() )
- {
- this.tree.setChecked( category, true );
- this.tree.setGrayed( category, false );
- }
- else
- {
- this.tree.setGrayChecked( category, true );
- }
- }
- }
-
- private boolean isFilteredOut( final IProjectFacetVersion fv )
- {
- for( Iterator itr = FacetsSelectionPanel.this.filters.iterator();
- itr.hasNext(); )
- {
- if( ! ( (IFilter) itr.next() ).check( fv ) )
- {
- return true;
- }
- }
-
- return false;
- }
-
- private TableRowData findTableRowData( final IProjectFacet f )
- {
- for( int i = 0, n = this.data.size(); i < n; i++ )
- {
- final TableRowData trd = (TableRowData) this.data.get( i );
-
- if( trd.getProjectFacet() == f )
- {
- return trd;
- }
- }
-
- throw new IllegalStateException();
- }
-
- private void handleMouseDownEvent( final Event event )
- {
- final ArrayList items = getAllTreeItems();
-
- for( int i = 0, n = items.size(); i < n; i++ )
- {
- final TreeItem item = (TreeItem) items.get( i );
-
- if( item.getBounds( 1 ).contains( event.x, event.y ) )
- {
- this.tree.getTree().setSelection( new TreeItem[] { item } );
- this.tree.editElement( item.getData(), 1 );
- break;
- }
- }
- }
-
- private void handlePresetSelected()
- {
- final int selection = this.presetsCombo.getSelectionIndex();
-
- if( selection > 0 )
- {
- final IPreset preset = (IPreset) this.presets.get( selection - 1 );
- final Set selected = new HashSet();
-
- for( Iterator itr = preset.getProjectFacets().iterator();
- itr.hasNext(); )
- {
- final IProjectFacetVersion fv
- = (IProjectFacetVersion) itr.next();
-
- final TableRowData trd
- = findTableRowData( fv.getProjectFacet() );
-
- if( ! trd.isSelected() )
- {
- this.tree.setChecked( trd, true );
- trd.setSelected( true );
- refreshCategoryState( trd );
- }
-
- if( trd.getCurrentVersion() != fv )
- {
- trd.setCurrentVersion( fv );
- this.tree.update( trd, null );
- }
-
- selected.add( trd );
- }
-
- for( Iterator itr = this.data.iterator(); itr.hasNext(); )
- {
- final TableRowData trd = (TableRowData) itr.next();
-
- if( ! selected.contains( trd ) )
- {
- this.tree.setChecked( trd, false );
- trd.setSelected( false );
- refreshCategoryState( trd );
- }
- }
- }
-
- refreshPresetsButtons();
- updateValidationDisplay();
- this.runtimesPanel.refresh();
- }
-
- private void handleSavePreset()
- {
- final InputDialog dialog
- = new InputDialog( getShell(), "Save Preset",
- "Enter the name for the preset.",
- null, null );
-
- if( dialog.open() == IDialogConstants.OK_ID )
- {
- final String name = dialog.getValue();
- final Set facets = getSelectedProjectFacets();
-
- final IPreset preset
- = ProjectFacetsManager.definePreset( name, facets );
-
- refreshPresetsCombo();
-
- final int pos = this.presets.indexOf( preset );
- this.presetsCombo.select( pos + 1 );
- refreshPresetsButtons();
- }
- }
-
- private void handleDeletePreset()
- {
- final int selection = this.presetsCombo.getSelectionIndex();
- final IPreset preset = (IPreset) this.presets.get( selection - 1 );
-
- ProjectFacetsManager.deletePreset( preset );
-
- refreshPresetsCombo();
- }
-
- private ArrayList getAllTreeItems()
- {
- final ArrayList result = new ArrayList();
- getAllTreeItems( this.tree.getTree().getItems(), result );
- return result;
- }
-
- private static void getAllTreeItems( final TreeItem[] items,
- final ArrayList result)
- {
- for( int i = 0; i < items.length; i++ )
- {
- final TreeItem item = items[ i ];
- result.add( item );
-
- getAllTreeItems( item.getItems(), result );
- }
- }
-
- private final class TableRowData
- {
- private IProjectFacet f;
- private List versions;
- private IProjectFacetVersion current;
- private boolean isSelected;
- private boolean isFixed;
-
- public TableRowData( final IProjectFacet f )
- {
- this.f = f;
- this.versions = f.getSortedVersions( false );
- this.current = f.getLatestVersion();
- this.isSelected = false;
- this.isFixed = false;
- }
-
- public IProjectFacet getProjectFacet()
- {
- return this.f;
- }
-
- public IProjectFacetVersion[] getVersions()
- {
- final ArrayList list = new ArrayList();
-
- for( Iterator itr = this.versions.iterator(); itr.hasNext(); )
- {
- final IProjectFacetVersion fv
- = (IProjectFacetVersion) itr.next();
-
- if( ! isFilteredOut( fv ) )
- {
- list.add( fv );
- }
- }
-
- final IProjectFacetVersion[] array
- = new IProjectFacetVersion[ list.size() ];
-
- return (IProjectFacetVersion[]) list.toArray( array );
- }
-
- public IProjectFacetVersion getCurrentVersion()
- {
- if( isFilteredOut( this.current ) )
- {
- this.current = getVersions()[ 0 ];
- }
-
- return this.current;
- }
-
- public void setCurrentVersion( final IProjectFacetVersion fv )
- {
- this.current = fv;
- }
-
- public boolean isSelected()
- {
- if( getVersions().length == 0 )
- {
- this.isSelected = false;
- }
-
- return this.isSelected;
- }
-
- public void setSelected( final boolean isSelected )
- {
- this.isSelected = isSelected;
- }
-
- public boolean isFixed()
- {
- return this.isFixed;
- }
-
- public void setFixed( final boolean isFixed )
- {
- this.isFixed = isFixed;
- }
-
- public boolean isVisible()
- {
- return getVersions().length > 0;
- }
- }
-
- private final class ContentProvider
-
- implements ITreeContentProvider
-
- {
- public Object[] getElements( final Object element )
- {
- final ArrayList list = new ArrayList();
- final Set categories = ProjectFacetsManager.getCategories();
-
- for( Iterator itr1 = categories.iterator(); itr1.hasNext(); )
- {
- boolean visible = false;
-
- final ICategory cat = (ICategory) itr1.next();
-
- for( Iterator itr2 = cat.getProjectFacets().iterator();
- itr2.hasNext(); )
- {
- final IProjectFacet f
- = (IProjectFacet) itr2.next();
-
- if( findTableRowData( f ).isVisible() )
- {
- visible = true;
- break;
- }
- }
-
- if( visible )
- {
- list.add( cat );
- }
- }
-
- for( int i = 0; i < FacetsSelectionPanel.this.data.size(); i++ )
- {
- final TableRowData trd
- = (TableRowData) FacetsSelectionPanel.this.data.get( i );
-
- if( trd.getProjectFacet().getCategory() == null && trd.isVisible() )
- {
- list.add( trd );
- }
- }
-
- return list.toArray();
- }
-
- public Object[] getChildren( final Object parent )
- {
- if( parent instanceof ICategory )
- {
- final ICategory category = (ICategory) parent;
-
- final ArrayList trds = new ArrayList();
-
- for( Iterator itr = category.getProjectFacets().iterator();
- itr.hasNext(); )
- {
- final TableRowData trd
- = findTableRowData( (IProjectFacet) itr.next() );
-
- if( trd.isVisible() )
- {
- trds.add( trd );
- }
- }
-
- return trds.toArray();
- }
- else
- {
- return new Object[ 0 ];
- }
- }
-
- public Object getParent( final Object element )
- {
- if( element instanceof TableRowData )
- {
- final IProjectFacet f
- = ( (TableRowData) element ).getProjectFacet();
-
- return f.getCategory();
- }
- else
- {
- return null;
- }
- }
-
- public boolean hasChildren( final Object element )
- {
- return ( element instanceof ICategory ) &&
- ! ( (ICategory) element ).getProjectFacets().isEmpty();
- }
-
- public void dispose() { }
-
- public void inputChanged( final Viewer viewer,
- final Object oldObject,
- final Object newObject ) {}
- }
-
- private final class LabelProvider
-
- implements ITableLabelProvider, IFontProvider
-
- {
- private ImageRegistry imageRegistry = new ImageRegistry();
-
- public String getColumnText( final Object element,
- final int column )
- {
- if( element instanceof ICategory )
- {
- if( column == 0 )
- {
- return ( (ICategory) element ).getLabel();
- }
- else
- {
- return "";
- }
- }
- else
- {
- final TableRowData trd = (TableRowData) element;
-
- switch( column )
- {
- case 0:
- {
- return trd.getProjectFacet().getLabel();
- }
- case 1:
- {
- final String vstr
- = trd.getCurrentVersion().getVersionString();
-
- return trd.getVersions().length == 1
- ? vstr : vstr + " ...";
- }
- default:
- {
- throw new IllegalStateException();
- }
- }
- }
- }
-
- public Image getColumnImage( final Object element,
- final int column )
- {
- if( column != 0 )
- {
- return null;
- }
-
- String plugin = null;
- String iconPath = null;
-
- if( element instanceof TableRowData )
- {
- final IProjectFacet f
- = ( (TableRowData) element ).getProjectFacet();
-
- iconPath = f.getIconPath();
-
- if( iconPath != null )
- {
- plugin = f.getPluginId();
- }
- }
- else
- {
- final ICategory category = (ICategory) element;
-
- iconPath = category.getIconPath();
-
- if( iconPath != null )
- {
- plugin = category.getPlugin();
- }
- }
-
- if( iconPath == null )
- {
- plugin = FacetUiPlugin.PLUGIN_ID;
- iconPath = "images/unknown.gif";
- }
-
- final String key = plugin + ":" + iconPath;
- Image image = this.imageRegistry.get( key );
-
- if( image == null )
- {
- final Bundle bundle = Platform.getBundle( plugin );
- final URL url = bundle.getEntry( iconPath );
-
- this.imageRegistry.put( key, ImageDescriptor.createFromURL( url ) );
- image = this.imageRegistry.get( key );
- }
-
- return image;
- }
-
- public Font getFont( final Object element )
- {
- if( element instanceof TableRowData &&
- ( (TableRowData) element ).isFixed() )
- {
- return FIXED_FONT;
- }
-
- return null;
- }
-
- public void dispose()
- {
- this.imageRegistry.dispose();
- }
-
- public boolean isLabelProperty( final Object obj,
- final String s )
- {
- return false;
- }
-
- public void addListener( final ILabelProviderListener listener ) {}
- public void removeListener( ILabelProviderListener listener ) {}
- }
-
- private final class CellModifier
-
- implements ICellModifier
-
- {
- public Object getValue( final Object element,
- final String property )
- {
- final TableRowData trd = (TableRowData) element;
-
- if( property.equals( "version" ) )
- {
- final IProjectFacetVersion[] versions = trd.getVersions();
-
- for( int i = 0; i < versions.length; i++ )
- {
- if( versions[ i ] == trd.getCurrentVersion() )
- {
- return new Integer( i );
- }
- }
-
- return new IllegalStateException();
- }
- else
- {
- throw new IllegalStateException();
- }
- }
-
- public boolean canModify( final Object element,
- final String property )
- {
- return property.equals( "version" ) &&
- element instanceof TableRowData &&
- ( (TableRowData) element ).getVersions().length > 1;
- }
-
- public void modify( final Object element,
- final String property,
- final Object value )
- {
- final TreeItem item = (TreeItem) element;
- final TableRowData trd = (TableRowData) item.getData();
-
- if( property.equals( "version" ) )
- {
- final int index = ( (Integer) value ).intValue();
-
- if( index != -1 )
- {
- final IProjectFacetVersion fv
- = trd.getVersions()[ index ];
-
- if( trd.getCurrentVersion() != fv )
- {
- trd.setCurrentVersion( trd.getVersions()[ index ] );
- FacetsSelectionPanel.this.tree.refresh();
-
- if( trd.isSelected() )
- {
- FacetsSelectionPanel.this.presetsCombo.select( 0 );
- refreshPresetsButtons();
- }
-
- updateValidationDisplay();
- FacetsSelectionPanel.this.runtimesPanel.refresh();
- }
- }
- }
- else
- {
- throw new IllegalStateException();
- }
- }
- }
-
- private static final class Sorter
-
- extends ViewerSorter
-
- {
- public int compare( final Viewer viewer,
- final Object a,
- final Object b )
- {
- final Boolean fixed1 = Boolean.valueOf( getFixed( a ) );
- final Boolean fixed2 = Boolean.valueOf( getFixed( b ) );
-
- final String label1 = getLabel( a );
- final String label2 = getLabel( b );
-
- int res
- = fixed1.equals( fixed2 )
- ? 0
- : ( fixed1.booleanValue() ? -1 : 1 );
-
- if( res == 0 )
- {
- res = label1.compareToIgnoreCase( label2 );
- }
-
- return res;
- }
-
- private static String getLabel( final Object obj )
- {
- if( obj instanceof TableRowData )
- {
- return ( (TableRowData) obj ).getProjectFacet().getLabel();
- }
- else
- {
- return ( (ICategory) obj ).getLabel();
- }
- }
-
- private static boolean getFixed( final Object obj )
- {
- if( obj instanceof TableRowData )
- {
- return ( (TableRowData) obj ).isFixed();
- }
- else
- {
- return false;
- }
- }
- }
-
- private final class ProblemsContentProvider
-
- implements IStructuredContentProvider
-
- {
- public Object[] getElements( final Object element )
- {
- return problems.getChildren();
- }
-
- public void dispose() { }
-
- public void inputChanged( final Viewer viewer,
- final Object oldObject,
- final Object newObject ) {}
- }
-
- private final class ProblemsLabelProvider
-
- implements ITableLabelProvider
-
- {
- private Image errorImage;
-
- public ProblemsLabelProvider()
- {
- final Bundle bundle = Platform.getBundle( FacetUiPlugin.PLUGIN_ID );
- final URL url = bundle.getEntry( "images/error.gif" );
-
- this.errorImage
- = ImageDescriptor.createFromURL( url ).createImage();
- }
-
- public String getColumnText( final Object element,
- final int column )
- {
- return ( (IStatus) element ).getMessage();
- }
-
- public Image getColumnImage( final Object element,
- final int column )
- {
- return this.errorImage;
- }
-
- public boolean isLabelProperty( final Object obj,
- final String s )
- {
- return false;
- }
-
- public void dispose()
- {
- this.errorImage.dispose();
- }
-
- public void addListener( final ILabelProviderListener listener ) {}
- public void removeListener( ILabelProviderListener listener ) {}
- }
-
- private static final GridData gdfill()
- {
- return new GridData( SWT.FILL, SWT.FILL, true, true );
- }
-
- private static final GridData gdhfill()
- {
- return new GridData( GridData.FILL_HORIZONTAL );
- }
-
- private static final GridData whint( final GridData gd,
- final int width )
- {
- gd.widthHint = width;
- return gd;
- }
-
- private static final GridData hhint( final GridData gd,
- final int height )
- {
- gd.heightHint = height;
- return gd;
- }
-
- private static final GridData hspan( final GridData gd,
- final int span )
- {
- gd.horizontalSpan = span;
- return gd;
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java
deleted file mode 100644
index 22ee9f8..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-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;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ProjectFacetsUiManagerImpl
-{
- private static final String EXTENSION_ID = "wizard";
-
- private final HashMap metadata;
-
- public ProjectFacetsUiManagerImpl()
- {
- this.metadata = new HashMap();
-
- readExtensions();
- }
-
- public Object getConfig( final Action.Type actionType,
- final IProjectFacetVersion f )
- {
- final WizardPagesInfo info = (WizardPagesInfo) this.metadata.get( f );
-
- if( info != null )
- {
- final String clname = (String) info.configs.get( actionType );
-
- if( clname != null )
- {
- return create( info.plugin, clname );
- }
- }
-
- return null;
- }
-
- /**
- * @return (element type: {@see IFacetWizardPage})
- */
-
- public List getWizardPages( final Action.Type actionType,
- final IProjectFacetVersion f )
- {
- final WizardPagesInfo info = (WizardPagesInfo) this.metadata.get( f );
-
- if( info != null )
- {
- final List clnames = (List) info.pagesets.get( actionType );
-
- if( clnames != null )
- {
- return getWizardPages( info.plugin, clnames );
- }
- }
-
- return Collections.EMPTY_LIST;
- }
-
- private List getWizardPages( final String plugin,
- final List clnames )
- {
- final List pages = new ArrayList();
-
- for( Iterator itr = clnames.iterator(); itr.hasNext(); )
- {
- pages.add( create( plugin, (String) itr.next() ) );
- }
-
- return pages;
- }
-
- private Object create( final String plugin,
- final String clname )
- {
- final Bundle bundle = Platform.getBundle( plugin );
-
- try
- {
- final Class cl = bundle.loadClass( clname );
- return cl.newInstance();
- }
- catch( Exception e )
- {
- // TODO: handle this better.
- throw new RuntimeException( e );
- }
- }
-
- private void readExtensions()
- {
- final IExtensionRegistry registry = Platform.getExtensionRegistry();
-
- final IExtensionPoint point
- = registry.getExtensionPoint( FacetUiPlugin.PLUGIN_ID,
- EXTENSION_ID );
-
- if( point == null )
- {
- throw new RuntimeException( "Extension point not found!" );
- }
-
- final IExtension[] extensions = point.getExtensions();
-
- for( int i = 0; i < extensions.length; i++ )
- {
- final IConfigurationElement[] elements
- = extensions[ i ].getConfigurationElements();
-
- for( int j = 0; j < elements.length; j++ )
- {
- final IConfigurationElement config = elements[ j ];
- final String ename = config.getName();
-
- if( ename.equals( "wizard-pages" ) )
- {
- readWizardPagesInfo( config );
- }
- else
- {
- // TODO: handle this better.
- throw new IllegalStateException();
- }
- }
- }
- }
-
- private void readWizardPagesInfo( final IConfigurationElement config )
- {
- final String name = config.getAttribute( "facet" );
-
- if( name == null )
- {
- // TODO: handle this better.
- throw new IllegalStateException();
- }
-
- final String version = config.getAttribute( "version" );
-
- if( version == null )
- {
- // TODO: handle this better.
- throw new IllegalStateException();
- }
-
- //TODO: Handle the case where the facet is not available.
-
- final IProjectFacetVersion fv
- = ProjectFacetsManager.getProjectFacet( name ).getVersion( version );
-
- final WizardPagesInfo info = new WizardPagesInfo();
- info.plugin = config.getDeclaringExtension().getNamespace();
-
- final IConfigurationElement[] children = config.getChildren();
-
- for( int i = 0; i < children.length; i++ )
- {
- final IConfigurationElement child = children[ i ];
- final String childName = child.getName();
-
- final Action.Type actionType;
-
- if( childName.equals( "install" ) )
- {
- actionType = Action.Type.INSTALL;
- }
- else if( childName.equals( "uninstall" ) )
- {
- actionType = Action.Type.UNINSTALL;
- }
- else
- {
- // TODO: handle this better.
- throw new IllegalStateException();
- }
-
- info.configs.put( actionType, readConfigClass( child ) );
- info.pagesets.put( actionType, readPageList( child ) );
- }
-
- this.metadata.put( fv, info );
- }
-
- private String readConfigClass( final IConfigurationElement config )
- {
- final IConfigurationElement[] children = config.getChildren();
-
- for( int i = 0; i < children.length; i++ )
- {
- final IConfigurationElement child = children[ i ];
- final String childName = child.getName();
-
- if( childName.equals( "config" ) )
- {
- final String clname = child.getAttribute( "class" );
-
- if( clname == null )
- {
- // TODO: handle this better.
- throw new IllegalStateException();
- }
-
- return clname;
- }
- }
-
- // TODO: handle this better.
- throw new IllegalStateException();
- }
-
- private List readPageList( final IConfigurationElement config )
- {
- final ArrayList list = new ArrayList();
- final IConfigurationElement[] children = config.getChildren();
-
- for( int i = 0; i < children.length; i++ )
- {
- final IConfigurationElement child = children[ i ];
- final String childName = child.getName();
-
- if( childName.equals( "page" ) )
- {
- final String clname = child.getAttribute( "class" );
-
- if( clname == null )
- {
- // TODO: handle this better.
- throw new IllegalStateException();
- }
-
- list.add( clname );
- }
- }
-
- return list;
- }
-
- private static class WizardPagesInfo
- {
- public String plugin;
- public HashMap configs = new HashMap();
- public HashMap pagesets = new HashMap();
- }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java
deleted file mode 100644
index a8b70d4..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class RuntimesPanel
-
- extends Composite
-
-{
- private final Label runtimesLabel;
- private final TreeViewer runtimes;
- private final Button filterButton;
- private final Button bindButton;
- private final Button newButton;
- private final FacetsSelectionPanel facetsSelectionPanel;
- private final Map facetFilters;
- private final Set filters;
- private IRuntime boundRuntime;
-
- public interface IFilter
- {
- boolean check( IRuntime runtime );
- }
-
- public RuntimesPanel( final Composite parent,
- final int style,
- final FacetsSelectionPanel facetsSelectionPanel,
- final IRuntime runtime )
- {
- super( parent, style );
-
- this.facetsSelectionPanel = facetsSelectionPanel;
- this.facetFilters = new HashMap();
- this.filters = new HashSet();
-
- if( runtime != null )
- {
- this.boundRuntime = runtime;
- addProjectFacetsFilter( runtime );
- }
-
- // Layout the panel.
-
- final GridLayout layout = new GridLayout( 1, false );
- layout.marginHeight = 0;
- layout.marginWidth = 0;
-
- setLayout( layout );
-
- this.runtimesLabel = new Label( this, SWT.NONE );
- this.runtimesLabel.setText( "Runtimes:" );
- this.runtimesLabel.setLayoutData( gdhfill() );
-
- this.runtimes = new TreeViewer( this, SWT.BORDER );
- this.runtimes.getTree().setLayoutData( gdfill() );
- this.runtimes.setContentProvider( new ContentProvider() );
- this.runtimes.setLabelProvider( new LabelProvider() );
- this.runtimes.setSorter( new Sorter() );
- this.runtimes.setInput( new Object() );
-
- this.runtimes.addSelectionChangedListener
- (
- new ISelectionChangedListener()
- {
- public void selectionChanged( final SelectionChangedEvent e )
- {
- updateButtons();
- }
- }
- );
-
- final Composite buttons = new Composite( this, SWT.NONE );
- buttons.setLayoutData( halign( new GridData(), SWT.RIGHT ) );
-
- final GridLayout buttonsLayout = new GridLayout( 3, false );
- buttonsLayout.marginHeight = 0;
- buttonsLayout.marginWidth = 0;
-
- buttons.setLayout( buttonsLayout );
-
- this.filterButton = new Button( buttons, SWT.PUSH );
- this.filterButton.setText( "Add Filter" );
- this.filterButton.setLayoutData( whint( new GridData(), 80 ) );
-
- this.filterButton.addSelectionListener
- (
- new SelectionAdapter()
- {
- public void widgetSelected( final SelectionEvent e )
- {
- handleAddRemoveFilter();
- }
- }
- );
-
- this.bindButton = new Button( buttons, SWT.PUSH );
- this.bindButton.setText( "Bind" );
- this.bindButton.setLayoutData( whint( new GridData(), 60 ) );
-
- this.bindButton.addSelectionListener
- (
- new SelectionAdapter()
- {
- public void widgetSelected( final SelectionEvent e )
- {
- handleBindUnbindRuntime();
- }
- }
- );
-
- this.newButton = new Button( buttons, SWT.PUSH );
- this.newButton.setText( "New" );
- this.newButton.setLayoutData( whint( new GridData(), 60 ) );
-
- updateButtons();
- }
-
- public IRuntime getSelectedRuntime()
- {
- return this.boundRuntime;
- }
-
- public void addFilter( final IFilter filter )
- {
- this.filters.add( filter );
- this.runtimes.refresh();
- }
-
- public void removeFilter( final IFilter filter )
- {
- this.filters.remove( filter );
- this.runtimes.refresh();
- }
-
- public void refresh()
- {
- this.runtimes.refresh();
- }
-
- private void addProjectFacetsFilter( final IRuntime r )
- {
- if( ! this.facetFilters.containsKey( r ) )
- {
- final FacetsSelectionPanel.IFilter filter
- = new SupportedFacetsFilter( r );
-
- this.facetFilters.put( r, filter );
- this.facetsSelectionPanel.addFilter( filter );
- }
- }
-
- private void removeProjectFacetsFilter( final IRuntime r )
- {
- final FacetsSelectionPanel.IFilter filter
- = (FacetsSelectionPanel.IFilter) this.facetFilters.remove( r );
-
- this.facetsSelectionPanel.removeFilter( filter );
- }
-
- private void handleAddRemoveFilter()
- {
- final IStructuredSelection ssel
- = (IStructuredSelection) this.runtimes.getSelection();
-
- final IRuntime runtime = (IRuntime) ssel.getFirstElement();
-
- if( this.facetFilters.containsKey( runtime ) )
- {
- removeProjectFacetsFilter( runtime );
- }
- else
- {
- addProjectFacetsFilter( runtime );
- }
-
- this.runtimes.update( runtime, null );
- updateButtons();
- }
-
- private void handleBindUnbindRuntime()
- {
- final IStructuredSelection ssel
- = (IStructuredSelection) this.runtimes.getSelection();
-
- final IRuntime runtime = (IRuntime) ssel.getFirstElement();
-
- final IRuntime old = this.boundRuntime;
- final boolean isBindAction = ( old != runtime );
-
- if( old != null )
- {
- removeProjectFacetsFilter( old );
- this.boundRuntime = null;
- this.runtimes.update( old, null );
- }
-
- if( isBindAction )
- {
- addProjectFacetsFilter( runtime );
- this.boundRuntime = runtime;
- this.runtimes.update( runtime, null );
- }
-
- updateButtons();
- }
-
- private void updateButtons()
- {
- final IStructuredSelection ssel
- = (IStructuredSelection) this.runtimes.getSelection();
-
- final Object sel = ssel.getFirstElement();
-
- if( sel == null || sel instanceof IRuntimeComponent )
- {
- this.filterButton.setText( "Add Filter" );
- this.filterButton.setEnabled( false );
- this.bindButton.setText( "Bind" );
- this.bindButton.setEnabled( false );
- }
- else
- {
- final IRuntime runtime = (IRuntime) sel;
-
- if( this.facetFilters.containsKey( runtime ) )
- {
- this.filterButton.setText( "Remove Filter" );
- }
- else
- {
- this.filterButton.setText( "Add Filter" );
- }
-
- if( this.boundRuntime == runtime )
- {
- this.bindButton.setText( "Unbind" );
- this.filterButton.setEnabled( false );
- }
- else
- {
- this.bindButton.setText( "Bind" );
- this.filterButton.setEnabled( true );
- }
-
- this.bindButton.setEnabled( true );
- }
- }
-
- private final class ContentProvider
-
- implements ITreeContentProvider
-
- {
- public Object[] getElements( final Object element )
- {
- final Set res = new HashSet();
-
- for( Iterator itr1 = RuntimeManager.get().getRuntimes().iterator();
- itr1.hasNext(); )
- {
- final IRuntime r = (IRuntime) itr1.next();
- boolean ok = true;
-
- for( Iterator itr2 = RuntimesPanel.this.filters.iterator();
- itr2.hasNext(); )
- {
- if( ! ( (IFilter) itr2.next() ).check( r ) )
- {
- ok = false;
- break;
- }
- }
-
- if( ok )
- {
- res.add( r );
- }
- }
-
- return res.toArray();
- }
-
- public Object[] getChildren( final Object parent )
- {
- if( parent instanceof IRuntime )
- {
- return ( (IRuntime) parent ).getRuntimeComponents().toArray();
- }
- else
- {
- return new Object[ 0 ];
- }
- }
-
- public Object getParent( final Object element )
- {
- return null;
- }
-
- public boolean hasChildren( final Object element )
- {
- return ( element instanceof IRuntime );
- }
-
- public void dispose() { }
-
- public void inputChanged( final Viewer viewer,
- final Object oldObject,
- final Object newObject ) {}
- }
-
- private final class LabelProvider
-
- implements ILabelProvider
-
- {
- private ImageRegistry imageRegistry = new ImageRegistry();
-
- public String getText( final Object element )
- {
- if( element instanceof IRuntime )
- {
- final StringBuffer label = new StringBuffer();
- label.append( ( (IRuntime) element ).getName() );
-
- if( RuntimesPanel.this.facetFilters.containsKey( element ) )
- {
- label.append( " <f>" );
- }
-
- if( RuntimesPanel.this.boundRuntime == element )
- {
- label.append( " <b>" );
- }
-
- return label.toString();
- }
- else
- {
- final IRuntimeComponent comp = (IRuntimeComponent) element;
-
- final IRuntimeComponentLabelProvider provider
- = (IRuntimeComponentLabelProvider) comp.getAdapter( IRuntimeComponentLabelProvider.class );
-
- if( provider == null )
- {
- final StringBuffer label = new StringBuffer();
- label.append( comp.getRuntimeComponentType().getId() );
- label.append( ' ' );
- label.append( comp.getRuntimeComponentVersion().getVersionString() );
-
- return label.toString();
- }
- else
- {
- return provider.getLabel();
- }
- }
- }
-
- public Image getImage( final Object element )
- {
- String plugin = null;
- String iconPath = null;
-
- if( element instanceof IRuntime )
- {
- final IRuntime r = (IRuntime) element;
-
- final IRuntimeComponent rc
- = (IRuntimeComponent) r.getRuntimeComponents().get( 0 );
-
- final IRuntimeComponentType rct = rc.getRuntimeComponentType();
-
- plugin = rct.getPluginId();
- iconPath = rct.getIconPath();
- }
- else
- {
- final IRuntimeComponent rc = (IRuntimeComponent) element;
- final IRuntimeComponentType rct = rc.getRuntimeComponentType();
-
- plugin = rct.getPluginId();
- iconPath = rct.getIconPath();
- }
-
- if( iconPath == null )
- {
- plugin = FacetUiPlugin.PLUGIN_ID;
- iconPath = "images/unknown.gif";
- }
-
- final String key = plugin + ":" + iconPath;
- Image image = this.imageRegistry.get( key );
-
- if( image == null )
- {
- final Bundle bundle = Platform.getBundle( plugin );
- final URL url = bundle.getEntry( iconPath );
-
- this.imageRegistry.put( key, ImageDescriptor.createFromURL( url ) );
- image = this.imageRegistry.get( key );
- }
-
- return image;
- }
-
- public void dispose()
- {
- this.imageRegistry.dispose();
- }
-
- public boolean isLabelProperty( final Object element,
- final String property )
- {
- return false;
- }
-
- public void addListener( final ILabelProviderListener listener ) {}
- public void removeListener( final ILabelProviderListener listener ) {}
- }
-
- private static final class Sorter
-
- extends ViewerSorter
-
- {
- public int compare( final Viewer viewer,
- final Object a,
- final Object b )
- {
- if( a instanceof IRuntime )
- {
- final IRuntime r1 = (IRuntime) a;
- final IRuntime r2 = (IRuntime) b;
-
- return r1.getName().compareToIgnoreCase( r2.getName() );
- }
- else
- {
- // Don't sort the runtime components. Their order is
- // significant.
-
- return 0;
- }
- }
- }
-
- private static final class SupportedFacetsFilter
-
- implements FacetsSelectionPanel.IFilter
-
- {
- private final IRuntime runtime;
-
- public SupportedFacetsFilter( final IRuntime runtime )
- {
- this.runtime = runtime;
- }
-
- public boolean check( final IProjectFacetVersion fv )
- {
- return this.runtime.supports( fv );
- }
- }
-
- private static final GridData gdfill()
- {
- return new GridData( SWT.FILL, SWT.FILL, true, true );
- }
-
- private static final GridData gdhfill()
- {
- return new GridData( GridData.FILL_HORIZONTAL );
- }
-
- private static final GridData whint( final GridData gd,
- final int width )
- {
- gd.widthHint = width;
- return gd;
- }
-
- private static final GridData halign( final GridData gd,
- final int alignment )
- {
- gd.horizontalAlignment = alignment;
- return gd;
- }
-
-}