package org.openlca.app.editors.graphical.outline;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.eclipse.gef.editparts.AbstractTreeEditPart;
import org.openlca.app.db.Cache;
import org.openlca.core.model.ProductSystem;
import org.openlca.core.model.descriptors.ProcessDescriptor;
public class ProductSystemTreeEditPart extends AbstractTreeEditPart {
@Override
public ProductSystem getModel() {
return (ProductSystem) super.getModel();
}
@Override
protected List<ProcessDescriptor> getModelChildren() {
Set<Long> ids = getModel().getProcesses();
Map<Long, ProcessDescriptor> resultMap = Cache.getEntityCache().getAll(ProcessDescriptor.class, ids);
List<ProcessDescriptor> descriptors = new ArrayList<>(resultMap.values());
Collections.sort(descriptors, (d1, d2) -> {
return d1.getName().toLowerCase().compareTo(d2.getName().toLowerCase());
});
return descriptors;
}
}