Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/NewProjectDataModelFacetWizard.java')
-rw-r--r--plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/NewProjectDataModelFacetWizard.java443
1 files changed, 0 insertions, 443 deletions
diff --git a/plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/NewProjectDataModelFacetWizard.java b/plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/NewProjectDataModelFacetWizard.java
deleted file mode 100644
index 57e52c6c4..000000000
--- a/plugins/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/wizards/NewProjectDataModelFacetWizard.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.web.ui.internal.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.operation.FacetProjectCreationOperation;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.ui.AddRemoveFacetsWizard;
-import org.eclipse.wst.common.project.facet.ui.internal.AbstractDataModel;
-import org.eclipse.wst.common.project.facet.ui.internal.ChangeTargetedRuntimesDataModel;
-import org.eclipse.wst.web.internal.DelegateConfigurationElement;
-import org.eclipse.wst.web.ui.internal.Logger;
-import org.eclipse.wst.web.ui.internal.WSTWebUIPlugin;
-
-public abstract class NewProjectDataModelFacetWizard extends AddRemoveFacetsWizard implements INewWizard, IFacetProjectCreationDataModelProperties {
-
- protected IDataModel model = null;
- private final IFacetedProjectTemplate template;
- private IWizardPage[] beginingPages;
- private IConfigurationElement configurationElement;
-
- public NewProjectDataModelFacetWizard(IDataModel model) {
- super(null);
- this.model = model;
- template = getTemplate();
- this.setDefaultPageImageDescriptor(getDefaultPageImageDescriptor());
- }
-
- public NewProjectDataModelFacetWizard() {
- super(null);
- model = createDataModel();
- template = getTemplate();
- this.setDefaultPageImageDescriptor(getDefaultPageImageDescriptor());
- }
-
- public IDataModel getDataModel() {
- return model;
- }
-
- protected abstract IDataModel createDataModel();
-
- protected abstract ImageDescriptor getDefaultPageImageDescriptor();
-
- protected abstract IFacetedProjectTemplate getTemplate();
-
- /**
- * Returns the first page that shows up before the facets page. If multiple pages are required,
- * also override {@link #createBeginingPages()}.
- *
- * @return
- */
- protected abstract IWizardPage createFirstPage();
-
- /**
- * Subclasses should override to add more than one page before the facets page. If only one page
- * is required, then use {@link #createFirstPage()}. The default implementation will return the
- * result of {@link #createFirstPage()}.
- *
- * @return
- */
- protected IWizardPage[] createBeginingPages() {
- return new IWizardPage[]{createFirstPage()};
- }
-
- public void addPages() {
- beginingPages = createBeginingPages();
- for (int i = 0; i < beginingPages.length; i++) {
- addPage(beginingPages[i]);
- }
-
- super.addPages();
- final Set fixed = this.template.getFixedProjectFacets();
-
- this.facetsSelectionPage.setFixedProjectFacets(fixed);
-
- this.facetsSelectionPage.addSelectedFacetsChangedListener(new Listener() {
- public void handleEvent(Event event) {
- facetSelectionChangedEvent(event);
- }
- });
-
- IRuntime runtime = (IRuntime) model.getProperty(FACET_RUNTIME);
- setRuntimeAndDefaultFacets( runtime );
-
- synchRuntimes();
- }
-
- public void createPageControls(Composite container) {
- super.createPageControls(container);
- /*
- * This does not interfere with the rutines selection
- */
- Set facetVersions = new HashSet();
- FacetDataModelMap map = (FacetDataModelMap) model.getProperty(FACET_DM_MAP);
- for (Iterator iterator = map.values().iterator(); iterator.hasNext();) {
- IDataModel facetModel = (IDataModel) iterator.next();
- facetVersions.add(facetModel.getProperty(IFacetDataModelProperties.FACET_VERSION));
- }
-
- FacetActionMap mapAction = (FacetActionMap) model.getProperty(FACET_ACTION_MAP);
- for (Iterator iterator = mapAction.values().iterator(); iterator.hasNext();) {
- IFacetedProject.Action action = (IFacetedProject.Action) iterator.next();
- facetVersions.add(action.getProjectFacetVersion());
- }
-
- facetsSelectionPage.setInitialSelection(facetVersions);
- }
-
-
- public IWizardPage[] getPages() {
- final IWizardPage[] base = super.getPages();
- final IWizardPage[] pages = new IWizardPage[base.length + beginingPages.length];
-
- for (int i = 0; i < beginingPages.length; i++) {
- pages[i] = beginingPages[i];
- }
-
- System.arraycopy(base, 0, pages, beginingPages.length, base.length);
-
- return pages;
- }
-
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- }
-
- protected void synchRuntimes()
- {
- final ChangeTargetedRuntimesDataModel rdm
- = getModel().getTargetedRuntimesDataModel();
-
- final Boolean[] suppressBackEvents = { Boolean.FALSE };
-
- model.addListener(new IDataModelListener() {
- public void propertyChanged(DataModelEvent event) {
- if (IDataModel.VALUE_CHG == event.getFlag() || IDataModel.DEFAULT_CHG == event.getFlag()) {
- if (FACET_RUNTIME.equals(event.getPropertyName())) {
- if( ! suppressBackEvents[ 0 ].booleanValue() ) {
- IRuntime runtime = (IRuntime) event.getProperty();
- setRuntimeAndDefaultFacets( runtime );
- }
- }
- }
- }
- });
-
- rdm.addListener
- (
- ChangeTargetedRuntimesDataModel.EVENT_PRIMARY_RUNTIME_CHANGED,
- new AbstractDataModel.IDataModelListener()
- {
- public void handleEvent()
- {
- suppressBackEvents[ 0 ] = Boolean.TRUE;
- model.setProperty(FACET_RUNTIME, rdm.getPrimaryRuntime());
- suppressBackEvents[ 0 ] = Boolean.FALSE;
- }
- }
- );
- }
-
- private void setRuntimeAndDefaultFacets( final IRuntime runtime )
- {
- if( runtime != null )
- {
- final Set runtimes = Collections.singleton( runtime );
- getModel().getTargetedRuntimesDataModel().setTargetedRuntimes( runtimes );
- this.facetsSelectionPage.setDefaultFacetsForRuntime( runtime );
- }
- }
-
- public String getProjectName() {
- return model.getStringProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME);
- }
-
- protected void performFinish(final IProgressMonitor monitor)
-
- throws CoreException
-
- {
- monitor.beginTask("", 10);
- storeDefaultSettings();
- try {
- FacetProjectCreationOperation operation = new FacetProjectCreationOperation(model);
- this.fproj = operation.createProject(new SubProgressMonitor(monitor, 2));
-
- super.performFinish(new SubProgressMonitor(monitor, 8));
-
- final Set fixed = this.template.getFixedProjectFacets();
- this.fproj.setFixedProjectFacets(fixed);
- } finally {
- monitor.done();
- }
- }
-
- public boolean performFinish() {
- if (super.performFinish() == false) {
- return false;
- }
-
- try {
- postPerformFinish();
- } catch (InvocationTargetException e) {
- Logger.logException(e);
- }
-
- return true;
- }
-
- /**
- * <p>
- * Override to return the final perspective ID (if any). The final perspective ID can be
- * hardcoded by the subclass or determined programmatically (possibly using the value of a field
- * on the Wizard's WTP Operation Data Model).
- * </p>
- * <p>
- * The default implementation returns no perspective id unless overriden by product definition
- * via the "wtp.project.final.perspective" property.
- * </p>
- *
- * @return Returns the ID of the Perspective which is preferred by this wizard upon completion.
- */
-
- protected String getFinalPerspectiveID() {
- return null;
- }
-
- /**
- * {@inheritDoc}
- *
- * <p>
- * The configuration element is saved to use when the wizard completes in order to change the
- * current perspective using either (1) the value specified by {@link #getFinalPerspectiveID()}
- * or (2) the value specified by the finalPerspective attribute in the Wizard's configuration
- * element.
- * </p>
- *
- * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement,
- * java.lang.String, java.lang.Object)
- */
- public final void setInitializationData(IConfigurationElement aConfigurationElement, String aPropertyName, Object theData) throws CoreException {
- configurationElement = aConfigurationElement;
- doSetInitializeData(aConfigurationElement, aPropertyName, theData);
-
- }
-
- /**
- * <p>
- * Override method for clients that wish to take advantage of the information provided by
- * {@see #setInitializationData(IConfigurationElement, String, Object)}.
- * </p>
- *
- * @param aConfigurationElement
- * The configuration element provided from the templated method.
- * @param aPropertyName
- * The property name provided from the templated method.
- * @param theData
- * The data provided from the templated method.
- */
- protected void doSetInitializeData(IConfigurationElement aConfigurationElement, String aPropertyName, Object theData) {
- // Default do nothing
- }
-
- /**
- * <p>
- * Returns the an id component used for Activity filtering.
- * </p>
- *
- * <p>
- * The Plugin ID is determined from the configuration element specified in
- * {@see #setInitializationData(IConfigurationElement, String, Object)}.
- * </p>
- *
- * @return Returns the plugin id associated with this wizard
- */
- public final String getPluginId() {
- return (configurationElement != null) ? configurationElement.getDeclaringExtension().getNamespace() : ""; //$NON-NLS-1$
- }
-
- /**
- *
- * <p>
- * Invoked after the user has clicked the "Finish" button of the wizard. The default
- * implementation will attempt to update the final perspective to the value specified by
- * {@link #getFinalPerspectiveID() }
- * </p>
- *
- * @throws InvocationTargetException
- *
- * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizard#postPerformFinish()
- */
- protected void postPerformFinish() throws InvocationTargetException {
- if (getFinalPerspectiveID() != null && getFinalPerspectiveID().length() > 0) {
- final IConfigurationElement element = new DelegateConfigurationElement(configurationElement) {
- public String getAttribute(String aName) {
- if (aName.equals("finalPerspective")) { //$NON-NLS-1$
- return getFinalPerspectiveID();
- }
- return super.getAttribute(aName);
- }
- };
- BasicNewProjectResourceWizard.updatePerspective(element);
- } else
- BasicNewProjectResourceWizard.updatePerspective(configurationElement);
-
- String projName = getProjectName();
- BasicNewResourceWizard.selectAndReveal(ResourcesPlugin.getWorkspace().getRoot().getProject(projName), WSTWebUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow());
- try {
- getFacetProjectNotificationOperation().execute(new NullProgressMonitor(), null);
- } catch (ExecutionException e) {
- throw new InvocationTargetException(e);
- }
- }
-
- protected IDataModelOperation getFacetProjectNotificationOperation() {
- return new DataModelPausibleOperationImpl(new AbstractDataModelOperation(this.model) {
- public String getID() {
- return "org.eclipse.wst.common.componentcore.internal.operation.FacetProjectCreationOperation"; //$NON-NLS-1$
- }
-
- public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- return AbstractDataModelProvider.OK_STATUS;
- }
- });
- }
-
- /**
- * Need to keep the model in sync with the UI. This method will pickup changes coming from the
- * UI and push them into the model
- *
- * @param event
- */
- protected void facetSelectionChangedEvent(Event event) {
- Set actions = this.facetsSelectionPage.getActions();
- Iterator iterator = actions.iterator();
- Set activeIds = new HashSet();
- while (iterator.hasNext()) {
- IFacetedProject.Action action = (IFacetedProject.Action) iterator.next();
- String id = action.getProjectFacetVersion().getProjectFacet().getId();
- activeIds.add(id);
- }
- // First handle all the actions tracked by IDataModels
- FacetDataModelMap dataModelMap = (FacetDataModelMap) model.getProperty(FACET_DM_MAP);
- iterator = dataModelMap.keySet().iterator();
- while (iterator.hasNext()) {
- String id = (String) iterator.next();
- IDataModel configDM = (IDataModel) dataModelMap.get(id);
- boolean active = activeIds.contains(id);
- configDM.setBooleanProperty(IFacetDataModelProperties.SHOULD_EXECUTE, active);
- activeIds.remove(id);
- }
- // Now handle the actions not tracked by IDataModels
- FacetActionMap actionMap = (FacetActionMap) model.getProperty(FACET_ACTION_MAP);
- actionMap.clear();
- iterator = actions.iterator();
- while (iterator.hasNext()) {
- IFacetedProject.Action action = (IFacetedProject.Action) iterator.next();
- String id = action.getProjectFacetVersion().getProjectFacet().getId();
- if (activeIds.contains(id)) {
- actionMap.add(action);
- }
- }
- model.notifyPropertyChange(FACET_RUNTIME, IDataModel.VALID_VALUES_CHG);
- }
-
- public Object getConfig(IProjectFacetVersion fv, Type type, String pjname) throws CoreException {
- FacetDataModelMap map = (FacetDataModelMap) model.getProperty(FACET_DM_MAP);
- IDataModel configDM = (IDataModel) map.get(fv.getProjectFacet().getId());
- if (configDM == null) {
- final Object config = fv.createActionConfig(type, pjname);
- if (config == null || !(config instanceof IDataModel))
- return null;
- configDM = (IDataModel) config;
- map.add(configDM);
- }
- configDM.setProperty(IFacetDataModelProperties.FACET_VERSION, fv);
- return configDM;
- }
-
- protected void storeDefaultSettings() {
- IWizardPage[] pages = getPages();
- for (int i = 0; i < pages.length; i++)
- storeDefaultSettings(pages[i], i);
- }
-
- /**
- * Subclasses may override if they need to do something special when storing the default
- * settings for a particular page.
- *
- * @param page
- * @param pageIndex
- */
- protected void storeDefaultSettings(IWizardPage page, int pageIndex) {
- if (page instanceof DataModelWizardPage)
- ((DataModelWizardPage) page).storeDefaultSettings();
- }
-
-} \ No newline at end of file

Back to the top