package com.gorillalogic.monkeyconsole.editors.utils.devicematrixtable.tree; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import org.json.JSONException; import com.gorillalogic.monkeyconsole.editors.utils.CloudServiceException; public class DeviceMatrixTreeViewContentProvider implements ITreeContentProvider { private DeviceMatrixTreeViewModel model; @Override public void dispose() { } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { model = (DeviceMatrixTreeViewModel) newInput; } @Override public Object[] getElements(Object inputElement) { try { return model.getCategories().toArray(); } catch (JSONException e) { e.printStackTrace(); return null; } catch (CloudServiceException e) { e.printStackTrace(); return null; } } @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof AndroidVersion) { return ((AndroidVersion) parentElement).getTodos().toArray(); } return null; } @Override public Object getParent(Object element) { return null; } @Override public boolean hasChildren(Object element) { if (element instanceof AndroidVersion) { return ((AndroidVersion) element).getTodos().size() > 0; } return false; } }