| package org.eclipse.epf.library.configuration; |
| |
| import org.eclipse.epf.library.edit.VariabilityInfo; |
| import org.eclipse.epf.uma.MethodConfiguration; |
| import org.eclipse.epf.uma.MethodElement; |
| import org.eclipse.epf.uma.VariabilityElement; |
| |
| /** |
| * A configurator used by activity deep copy command to resovle and deep copy contributors and |
| * replacers of activity in a metohd configuration. |
| * |
| */ |
| public class ActivityDeepCopyConfigurator extends ConfigurationFilter{ |
| |
| |
| /** |
| * constructor |
| * @param methodConfig a <code>MethodConfiguration</code> |
| * @param viewer a <code>Viewer</code> |
| */ |
| public ActivityDeepCopyConfigurator(MethodConfiguration methodConfig) { |
| super(methodConfig); |
| } |
| |
| |
| /** |
| * Constructs with null methodConfig which could be set later. |
| */ |
| public ActivityDeepCopyConfigurator() { |
| this(null); |
| } |
| |
| |
| @Override |
| public VariabilityInfo getVariabilityInfo(VariabilityElement ve) { |
| |
| // calculate the element first |
| ElementRealizer realizer = new DefaultElementRealizer(methodConfig, false, true){ |
| @Override |
| public boolean canShow(MethodElement element) { |
| return true; |
| } |
| }; |
| return getVariabilityInfo(ve, realizer); |
| } |
| |
| /** |
| * Overrides the super method for not resolving the base to include additional contributors. |
| */ |
| @Override |
| protected void resolveElementVariabilityList(VariabilityElement element, |
| VariabilityInfo info, boolean includeBase, ElementRealizer realizer) { |
| |
| if (methodConfig == null) { |
| return; |
| } |
| //resolve to include contributors |
| resolveElementContributors(element,info,realizer); |
| } |
| } |