package edu.ualberta.med.biobank.treeview; import java.util.Date; import java.util.List; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Tree; import edu.ualberta.med.biobank.common.formatters.DateFormatter; import edu.ualberta.med.biobank.common.wrappers.ClinicWrapper; import edu.ualberta.med.biobank.common.wrappers.ModelWrapper; public class DateNode extends AdapterBase { private String text; private Date date; public DateNode(AdapterBase parent, String text, Date date) { super(parent, DateNode.idBuilder(text, date), text + ": " //$NON-NLS-1$ + DateFormatter.formatAsDate(date), true); this.setDate(date); } @Override public List<AbstractAdapterBase> search(Class<?> searchedClass, Integer objectId) { return findChildFromClass(searchedClass, objectId, ClinicWrapper.class); } @Override protected AdapterBase createChildNode() { return null; } @Override protected AdapterBase createChildNode(Object child) { return null; } @Override public String getEntryFormId() { return null; } @Override protected String getLabelInternal() { return null; } @Override public String getTooltipTextInternal() { return null; } @Override public String getViewFormId() { return null; } @Override protected List<? extends ModelWrapper<?>> getWrapperChildren() throws Exception { return null; } @Override public void popupMenu(TreeViewer tv, Tree tree, Menu menu) { // } public void setDate(Date date) { this.date = date; } public Date getDate() { return date; } public void setText(String text) { this.text = text; } public String getText() { return text; } @Override public int compareTo(AbstractAdapterBase o) { if (o instanceof DateNode) return date.compareTo(((DateNode) o).date); return 0; } public static Integer idBuilder(String text, Date date) { // horrible crap, will be fixed when we get rid of stupid ID return (int) ((int) date.getTime() / 1000 + (text.length() == 8 ? date.getTime() / 1000 : date.getTime() / 1000 + 1)); } }