blob: 84a887c3282d76ed2758a87e2682188fb0e97074 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2004, 2005 IBM Corporation. All Rights Reserved.
//------------------------------------------------------------------------------
package org.eclipse.epf.library.configuration;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.epf.library.ILibraryServiceListener;
import org.eclipse.epf.library.LibraryService;
import org.eclipse.epf.library.edit.VariabilityInfo;
import org.eclipse.epf.uma.MethodConfiguration;
import org.eclipse.epf.uma.MethodLibrary;
import org.eclipse.epf.uma.VariabilityElement;
/**
* Configuration filter that still shows certain elements during process authoring that
* ProcessConfigurator does not show.
*
* @author Phong Nguyen Le - Jan 11, 2006
* @since 1.0
*/
public class ProcessAuthoringConfigurator extends ProcessConfigurator {
public static final ProcessAuthoringConfigurator INSTANCE = new ProcessAuthoringConfigurator();
private ProcessAuthoringConfigurator() {
super(null);
LibraryService.getInstance().addListener(new ILibraryServiceListener() {
public void configurationSet(MethodConfiguration config) {
setMethodConfiguration(config);
}
public void libraryClosed(MethodLibrary library) {
}
public void libraryCreated(MethodLibrary library) {
}
public void libraryOpened(MethodLibrary library) {
}
public void libraryReopened(MethodLibrary library) {
}
public void librarySet(MethodLibrary library) {
}
});
}
/**
* @param methodConfig
* @param viewer
*/
public ProcessAuthoringConfigurator(MethodConfiguration methodConfig) {
super(methodConfig);
}
/*
* (non-Javadoc)
* @see org.eclipse.epf.library.configuration.ConfigurationFilter#getChildren(java.lang.Object, org.eclipse.emf.ecore.EStructuralFeature)
* override this, for process authoring edit, should get direct children no realization.
*
*/
public Collection getChildren(Object obj, EStructuralFeature childFeature) {
EObject eObject = (EObject) obj;
return (List)eObject.eGet(childFeature);
}
/* (non-Javadoc)
* @see org.eclipse.epf.library.configuration.ConfigurationFilter#resolve(java.lang.Object)
*/
public Object resolve(Object object) {
return object;
}
/* (non-Javadoc)
* @see org.eclipse.epf.library.configuration.ConfigurationFilter#getVariabilityInfo(org.eclipse.epf.uma.VariabilityElement)
*/
public VariabilityInfo getVariabilityInfo(VariabilityElement ve) {
return new VariabilityInfo(ve) {
/* (non-Javadoc)
* @see org.eclipse.epf.library.edit.VariabilityInfo#getInheriranceList()
*/
public List getInheritanceList() {
return Collections.singletonList(getOwner());
}
/* (non-Javadoc)
* @see org.eclipse.epf.library.edit.VariabilityInfo#getContributors()
*/
public List getContributors() {
return Collections.EMPTY_LIST;
}
};
}
}