blob: 75dd23043e690026d9ba9612059604453f1c56cd [file] [log] [blame]
package org.eclipse.epf.library.edit.util;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.eclipse.epf.library.edit.command.IActionManager;
import org.eclipse.epf.uma.Constraint;
import org.eclipse.epf.uma.WorkProduct;
public class WorkProductPropUtil extends MethodElementPropUtil {
private static WorkProductPropUtil workProductPropUtil = new WorkProductPropUtil();
public static WorkProductPropUtil getWorkProductPropUtil() {
return workProductPropUtil;
}
public static WorkProductPropUtil getWorkProductPropUtil(IActionManager actionManager) {
return new WorkProductPropUtil(actionManager);
}
protected WorkProductPropUtil() {
}
protected WorkProductPropUtil(IActionManager actionManager) {
super(actionManager);
}
public Set<Constraint> getAllStates(WorkProduct wp) {
Set<WorkProduct> wpSet = (Set<WorkProduct>) LibraryEditUtil.getInstance()
.collectVariabilityRelatives(wp);
Set<Constraint> stateSet = new HashSet<Constraint>();
for (WorkProduct w : wpSet) {
List<Constraint> stateList = ConstraintManager
.getWorkProductStates(wp);
stateSet.addAll(stateList);
}
return stateSet;
}
public Constraint getState(WorkProduct wp, String stateName, boolean create) {
return ConstraintManager.getWorkProductState(wp, stateName, create, getActionManager());
}
public String getStateName(Constraint state) {
if (state != null && state.getName().equals(ConstraintManager.WORKPRODUCT_State)) {
return state.getBody();
}
return null;
}
}