blob: 22ee348911ea5efd7f0c4fdb44ff5c87c1a7e24d [file] [log] [blame]
//------------------------------------------------------------------------------
// 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.authoring.ui.properties;
import java.util.List;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.epf.authoring.ui.editors.ColumnDescriptor;
import org.eclipse.epf.authoring.ui.editors.ProcessEditor;
import org.eclipse.epf.authoring.ui.preferences.ApplicationPreferenceConstants;
import org.eclipse.epf.library.edit.TngAdapterFactory;
import org.eclipse.epf.library.edit.util.ConfigurableComposedAdapterFactory;
import com.ibm.icu.util.StringTokenizer;
/**
* The work rollup section for activity
*
* @author Shilpa Toraskar
* @since 1.0
*
*/
public class ActivityWorkRollupSection extends ActivityRollupSection {
/**
* @see org.eclipse.epf.authoring.ui.properties.ActivityRollupSection#initAdapterFactory()
*/
protected void initAdapterFactory() {
// get column descriptors
columnDescriptors = toColumnDescriptors(store
.getString(ApplicationPreferenceConstants.PREF_WBS_COLUMNS));
// create adapter factory
adapterFactory = TngAdapterFactory.INSTANCE
.createWBSComposedAdapterFactory();
if (adapterFactory instanceof ConfigurableComposedAdapterFactory) {
((ConfigurableComposedAdapterFactory) adapterFactory)
.setFilter(configurator);
}
}
/**
* Convert string into colum descriptor list
* @param str
* @return
* List of column descriptors
*/
public static EList toColumnDescriptorList(String str) {
EList columnDescriptors = new BasicEList();
StringTokenizer tokens = new StringTokenizer(str, ","); //$NON-NLS-1$
while (tokens.hasMoreTokens()) {
String token = tokens.nextToken();
// DON"T PUT INDEX COLUMN
if (!(token.equals(ProcessEditor.COL_DESC_ID.id))) {
Object columnDescriptor = ProcessEditor.idToColumnDescriptorMap
.get(token);
if (columnDescriptor != null) {
columnDescriptors.add(columnDescriptor);
}
}
}
return columnDescriptors;
}
/**
* Convert string into column descriptors
* @param str
* @return
* list of column descriptors
*/
public static ColumnDescriptor[] toColumnDescriptors(String str) {
List list = toColumnDescriptorList(str);
ColumnDescriptor[] columns = new ColumnDescriptor[list.size()];
list.toArray(columns);
return columns;
}
/**
* @see org.eclipse.epf.authoring.ui.properties.ActivityRollupSection#setSectionLabels()
*/
protected void setSectionLabels() {
section.setText(PropertiesResources.Activity_WorkRollup);
section.setDescription(PropertiesResources.Activity_WorkRollupDescription); //$NON-NLS-1$
}
}