| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2007 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.publishing.ui.preferences; |
| |
| import java.util.Collection; |
| import java.util.Iterator; |
| import org.eclipse.emf.common.command.Command; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.epf.library.edit.command.DeleteMethodElementCommand; |
| import org.eclipse.epf.library.edit.command.IDeleteMethodElementCommandListener; |
| import org.eclipse.epf.uma.MethodConfiguration; |
| import org.eclipse.epf.uma.MethodElement; |
| |
| /** |
| * Command listener for DeleteMethodElementCommand |
| * Clean all configuration specific publishing preferences when the configuration is deleted |
| * @author Xiang Dong Hu |
| * @since 1.2 |
| * https://bugs.eclipse.org/bugs/show_bug.cgi?id=181487 |
| */ |
| public class DeleteConfigCommandListener implements |
| IDeleteMethodElementCommandListener { |
| |
| public void collectObjectsToDeleteContent(Collection collectedObjects, |
| MethodElement element) { |
| |
| } |
| |
| public boolean collectObjectsToRemove(Collection objectsToRemove, |
| EObject elementToDelete, EObject referencer, Collection references) { |
| return false; |
| } |
| |
| public Class getCommandType() { |
| return DeleteMethodElementCommand.class; |
| } |
| |
| public void notifyExecuted(Command command) { |
| Collection result = ((DeleteMethodElementCommand)command).getResult(); |
| for (Iterator it = result.iterator(); it.hasNext();){ |
| Object element = it.next(); |
| if(element instanceof MethodConfiguration){ |
| String configId = ((MethodConfiguration)element).getGuid(); |
| removePublishPreferences(configId); |
| } |
| } |
| PublishingUIPreferences.saveAllPreferences(); |
| } |
| |
| public void preExecute(Command command) { |
| |
| } |
| |
| public void preUndo(Command command) { |
| |
| } |
| |
| protected void removePublishPreferences(String configId){ |
| PublishingUIPreferences.removeAboutHTML(configId); |
| PublishingUIPreferences.removeBannerImage(configId); |
| PublishingUIPreferences.removeCheckExternalLinks(configId); |
| PublishingUIPreferences.removeConfigPrefInitialized(configId); |
| PublishingUIPreferences.removeConvertBrokenLinks(configId); |
| PublishingUIPreferences.removeExtraDescriptorInfo(configId); |
| PublishingUIPreferences.removeFeedbackURL(configId); |
| PublishingUIPreferences.removeIncludeGlossary(configId); |
| PublishingUIPreferences.removeIncludeIndex(configId); |
| PublishingUIPreferences.removeIncludeSearch(configId); |
| PublishingUIPreferences.removeIncludeServletSearch(configId); |
| PublishingUIPreferences.removeLightWeightTree(configId); |
| PublishingUIPreferences.removePublishEntireConfig(configId); |
| PublishingUIPreferences.removePublishADForActivityExtension(configId); |
| PublishingUIPreferences.removePublishPath(configId); |
| PublishingUIPreferences.removePublishStaticWebSite(configId); |
| PublishingUIPreferences.removePublishUnopenActivityDD(configId); |
| PublishingUIPreferences.removeTitle(configId); |
| PublishingUIPreferences.removeWebAppName(configId); |
| PublishingUIPreferences.removeShowRelatedDescriptors(configId); |
| PublishingUIPreferences.removeShowDescriptorsInNavigationTree(configId); |
| } |
| |
| public void postUndo(Command command) { |
| // TODO Auto-generated method stub |
| |
| } |
| |
| |
| } |