package org.bndtools.utils.jface; import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; public class StatusTreeContentProvider implements ITreeContentProvider { public Object[] getElements(Object inputElement) { IStatus rootStatus = (IStatus) inputElement; if (rootStatus.isMultiStatus()) { return rootStatus.getChildren(); } return new Object[] { rootStatus }; } public void dispose() {} public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} public Object[] getChildren(Object parentElement) { IStatus status = (IStatus) parentElement; return status.getChildren(); } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return element instanceof IStatus && ((IStatus) element).isMultiStatus(); } }