| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.library.edit.process.command; |
| |
| import java.util.Collection; |
| |
| import org.eclipse.emf.common.command.Command; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.ecore.EReference; |
| import org.eclipse.emf.ecore.EStructuralFeature; |
| import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; |
| import org.eclipse.emf.edit.domain.EditingDomain; |
| import org.eclipse.epf.library.edit.command.IResourceAwareCommand; |
| import org.eclipse.epf.library.edit.command.MethodElementAddCommand; |
| import org.eclipse.epf.library.edit.validation.IValidator; |
| import org.eclipse.epf.library.edit.validation.IValidatorFactory; |
| import org.eclipse.epf.uma.BreakdownElement; |
| import org.eclipse.epf.uma.UmaPackage; |
| |
| |
| /** |
| * @author Phong Nguyen Le - Sep 16, 2005 |
| * @since 1.0 |
| */ |
| public class ProcessElementAddCommand extends MethodElementAddCommand |
| implements IResourceAwareCommand |
| { |
| |
| public ProcessElementAddCommand(Command command) { |
| // disable run with progress bar when adding in process editor |
| // |
| super(command, false); |
| } |
| |
| public ProcessElementAddCommand(Command command, boolean runWithProgress) { |
| super(command, runWithProgress); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * |
| * @see com.ibm.library.edit.command.MethodElementAddCommand#getFeaturesToCheck() |
| */ |
| protected Collection getFeaturesToCheck() { |
| if (featuresToCheck == null) { |
| super.getFeaturesToCheck().add( |
| UmaPackage.eINSTANCE |
| .getMethodElement_PresentationName()); |
| } |
| return featuresToCheck; |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.epf.library.edit.command.MethodElementAddCommand#willSaveModifiedResources() |
| */ |
| protected boolean willSaveModifiedResources() { |
| // don't save the resources after each add |
| // |
| return false; |
| } |
| |
| /* |
| * (non-Javadoc) |
| * |
| * @see com.ibm.library.edit.command.MethodElementAddCommand#saveModifiedResources() |
| */ |
| protected void saveModifiedResources() { |
| // don't save the resources after each add |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.epf.library.edit.command.MethodElementAddCommand#createValidator(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature) |
| */ |
| protected IValidator createValidator(EObject e, EStructuralFeature feature) { |
| EditingDomain domain = addCommand.getDomain(); |
| if (e instanceof BreakdownElement |
| && addCommand.getFeature() instanceof EReference |
| && domain instanceof AdapterFactoryEditingDomain) { |
| return IValidatorFactory.INSTANCE.createValidator(addCommand.getOwner(), null, e, |
| feature, ((AdapterFactoryEditingDomain) domain).getAdapterFactory()); |
| } |
| return super.createValidator(e, feature); |
| } |
| } |