/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.workflow.execute; import java.util.Collections; import java.util.List; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.Viewer; import de.rcenvironment.core.component.workflow.model.api.WorkflowDescription; import de.rcenvironment.core.component.workflow.model.api.WorkflowNode; /** * Returns a list of all workflow nodes to be shown in the target platform selection. * * @author Heinrich Wendel * @author Goekhan Guerkan */ final class WorkflowDescriptionContentProvider implements IStructuredContentProvider { private String sortBy; private int direction; WorkflowDescriptionContentProvider(int direction, String sortBy) { this.sortBy = sortBy; this.direction = direction; } @Override public Object[] getElements(Object element) { if (element instanceof WorkflowDescription) { List<WorkflowNode> items = ((WorkflowDescription) element).getWorkflowNodes(); if (sortBy.equals(TableSortSelectionListener.COLUMN_INSTANCE)) { Collections.sort(items, new ComperatorHelper(direction, TableSortSelectionListener.COLUMN_INSTANCE)); } else { Collections.sort(items, new ComperatorHelper(direction, TableSortSelectionListener.COLUMN_NAME)); } return items.toArray(); } // this should never happen return new Object[] {}; } @Override public void dispose() {} @Override public void inputChanged(Viewer arg0, Object arg1, Object arg2) {} }