| //------------------------------------------------------------------------------ |
| // 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.export.xml.services; |
| |
| import java.util.Collection; |
| import java.util.HashSet; |
| import java.util.Iterator; |
| import java.util.List; |
| import java.util.Map; |
| |
| import org.eclipse.epf.uma.MethodConfiguration; |
| import org.eclipse.epf.uma.MethodPlugin; |
| |
| /** |
| * Stores the selections and settings made by the user in the Export XML wizard. |
| * |
| * @author Jinhua Xi |
| * @author Kelvin Low |
| * @since 1.0 |
| */ |
| public class ExportXMLData { |
| |
| public static final int EXPORT_METHOD_LIBRARY = 1; |
| |
| public static final int EXPORT_METHOD_PLUGINS = 2; |
| |
| public static final int EXPORT_METHOD_CONFIGS = 3; |
| |
| protected int exportType = EXPORT_METHOD_LIBRARY; |
| |
| protected Collection<MethodPlugin> selectedPlugins; |
| |
| protected HashSet associatedConfigs; |
| |
| protected List selectedConfigs; |
| |
| protected String xmlFile; |
| |
| /** |
| * Gets the user specified export type. |
| * |
| * @return the type of export operation to perform. |
| */ |
| public int getExportType() { |
| return exportType; |
| } |
| |
| /** |
| * Sets the user specified export type. |
| * |
| * @param exporType |
| * the type of export operation to perform |
| */ |
| public void setExportType(int exportType) { |
| this.exportType = exportType; |
| } |
| |
| /** |
| * Gets the user selected method plug-ins. |
| * |
| * @return a list of method plug-ins |
| */ |
| public Collection<MethodPlugin> getSelectedPlugins() { |
| return selectedPlugins; |
| } |
| |
| /** |
| * Sets the associated configs with respected to selected plug-ins |
| * |
| * @param associatedConfigMap |
| * Map of selected plug-ins to associated configs |
| */ |
| public void setAssociatedConfigs(Map associatedConfigMap) { |
| if (associatedConfigMap == null || associatedConfigMap.isEmpty()) { |
| return; |
| } |
| associatedConfigs = new HashSet(); |
| for (Iterator it = associatedConfigMap.values().iterator(); it.hasNext();) { |
| List configList = (List) it.next(); |
| int sz = configList == null ? 0 : configList.size(); |
| for (int i=0; i<sz; i++) { |
| MethodConfiguration config = (MethodConfiguration) configList.get(i); |
| if (!associatedConfigs.contains(config.getGuid())) { |
| associatedConfigs.add(config.getGuid()); |
| } |
| } |
| } |
| } |
| |
| /** |
| * Sets the user selected method plug-ins. |
| * |
| * @param plugins |
| * a list of method plug-ins |
| */ |
| public void setSelectedPlugins(Collection<MethodPlugin> plugins) { |
| selectedPlugins = plugins; |
| } |
| |
| /** |
| * Gets the user selected method configurations. |
| * |
| * @return a list of method configurations |
| */ |
| public List getSelectedConfigs() { |
| return selectedConfigs; |
| } |
| |
| /** |
| * Sets the user selected method configurations. |
| * |
| * @param configs |
| * a list of method configurations |
| */ |
| public void setSelectedConfigs(List configs) { |
| selectedConfigs = configs; |
| } |
| |
| /** |
| * Gets the user specified destination XML file. |
| * |
| * @return an absolute path to the XML file |
| */ |
| public String getXMLFile() { |
| return xmlFile; |
| } |
| |
| /** |
| * Sets the user specified destination XML file. |
| * |
| * @param xmlFile |
| * an absolute path to the XML file |
| */ |
| public void setXMLFile(String xmlFile) { |
| this.xmlFile = xmlFile; |
| } |
| |
| } |