// Path: forgetIT/src/forgetit/common/Category.java
// public enum Category {
// 	APPOINTMENT,
// 	NOTE,
// 	TODO;
// }
// 
// Path: forgetIT/src/forgetit/common/Entity.java
// @javax.persistence.Entity
// public class Entity implements Serializable {
// 
// 	private int id;
// 	private String title;
// 	private String description;
// 
// 	private Status status;
// 
// 	private Function priority;
// 
// 	private Date startDate;
// 
// 	private Date endDate;
// 
// 	private List<Tag> tags;
// 
// 	private List<Entity> dependencies; // All notes, that have to happen before
// 	private Category category;
// 
// 	public Entity() {
// 
// 		this.title = "";
// 		this.description = "";
// 		this.status = Status.IDLE;
// 		this.priority = new Function();
// 		this.startDate = new Date();
// 		this.endDate = new Date();
// 		this.tags = new LinkedList<Tag>();
// 	}
// 
// 	public String getTitle() {
// 
// 		return title;
// 	}
// 
// 	public void setTitle(String title) {
// 
// 		this.title = title;
// 	}
// 
// 	public String getDescription() {
// 
// 		return description;
// 	}
// 
// 	public void setDescription(String description) {
// 
// 		this.description = description;
// 	}
// 
// 	public Status getStatus() {
// 
// 		return status;
// 	}
// 
// 	public void setStatus(Status status) {
// 
// 		this.status = status;
// 	}
// 
// 	@OneToOne(mappedBy = "entity_id")
// 	public Function getPriority() {
// 
// 		if (priority == null) {
// 			return new Function();
// 		}
// 		return priority;
// 	}
// 
// 	public void setPriority(Function priority) {
// 
// 		this.priority = priority;
// 	}
// 
// 	@OneToOne(mappedBy = "entity_id")
// 	public Date getStartDate() {
// 
// 		return startDate;
// 	}
// 
// 	public void setStartDate(Date startDate) {
// 
// 		this.startDate = startDate;
// 	}
// 
// 	@OneToOne(mappedBy = "entity_id")
// 	public Date getEndDate() {
// 
// 		return endDate;
// 	}
// 
// 	public void setEndDate(Date endDate) {
// 
// 		this.endDate = endDate;
// 	}
// 
// 	@ManyToMany(targetEntity = forgetit.common.Tag.class, cascade = { CascadeType.ALL, CascadeType.PERSIST,
// 			CascadeType.MERGE })
// 	@JoinTable(name = "ENTITY_TAG", joinColumns = @JoinColumn(name = "ENTITY_ID"), inverseJoinColumns = @JoinColumn(name = "TAG_ID"))
// 	public List<Tag> getTags() {
// 
// 		return tags;
// 	}
// 
// 	public void setTags(List<Tag> tags) {
// 
// 		this.tags = tags;
// 	}
// 
// 	@OneToMany
// 	public List<Entity> getDependencies() {
// 
// 		return dependencies;
// 	}
// 
// 	public void setDependencies(List<Entity> dependencies) {
// 
// 		this.dependencies = dependencies;
// 	}
// 
// 	@Id
// 	@GeneratedValue
// 	public int getId() {
// 
// 		return id;
// 	}
// 
// 	public Category getCategory() {
// 
// 		return category;
// 	}
// 
// 	public void setCategory(Category category) {
// 
// 		this.category = category;
// 	}
// 
// 	public void setId(int id) {
// 
// 		this.id = id;
// 	}
// 
// }


import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import forgetit.common.Category;
import forgetit.common.Entity;
		}
	}

	@Override
	public void refreshView(List<Entity> entities) {
		// if there is no entity, the table should not be visible
		if(entities.size() <= 0) {
			table.setVisible(false);
			return;
		} else if (!table.isVisible()) {
			table.setVisible(true);
		}
		
		// remove content of the table
		table.removeAll();

		// set content of the table
		for (Entity entity : entities) {
			TableItem item = new TableItem (table, SWT.NONE);
			item.setText (0, entity.getTitle());
			item.setText (1, entity.getDescription());
		}
		
		// resize columns
		for (int i=0; i < table.getColumnCount(); i++) {
			table.getColumn (i).pack ();
		}
	}

	@Override
// Path: forgetIT/src/forgetit/common/Category.java
// public enum Category {
// 	APPOINTMENT,
// 	NOTE,
// 	TODO;
// }
// 
// Path: forgetIT/src/forgetit/common/Entity.java
// @javax.persistence.Entity
// public class Entity implements Serializable {
// 
// 	private int id;
// 	private String title;
// 	private String description;
// 
// 	private Status status;
// 
// 	private Function priority;
// 
// 	private Date startDate;
// 
// 	private Date endDate;
// 
// 	private List<Tag> tags;
// 
// 	private List<Entity> dependencies; // All notes, that have to happen before
// 	private Category category;
// 
// 	public Entity() {
// 
// 		this.title = "";
// 		this.description = "";
// 		this.status = Status.IDLE;
// 		this.priority = new Function();
// 		this.startDate = new Date();
// 		this.endDate = new Date();
// 		this.tags = new LinkedList<Tag>();
// 	}
// 
// 	public String getTitle() {
// 
// 		return title;
// 	}
// 
// 	public void setTitle(String title) {
// 
// 		this.title = title;
// 	}
// 
// 	public String getDescription() {
// 
// 		return description;
// 	}
// 
// 	public void setDescription(String description) {
// 
// 		this.description = description;
// 	}
// 
// 	public Status getStatus() {
// 
// 		return status;
// 	}
// 
// 	public void setStatus(Status status) {
// 
// 		this.status = status;
// 	}
// 
// 	@OneToOne(mappedBy = "entity_id")
// 	public Function getPriority() {
// 
// 		if (priority == null) {
// 			return new Function();
// 		}
// 		return priority;
// 	}
// 
// 	public void setPriority(Function priority) {
// 
// 		this.priority = priority;
// 	}
// 
// 	@OneToOne(mappedBy = "entity_id")
// 	public Date getStartDate() {
// 
// 		return startDate;
// 	}
// 
// 	public void setStartDate(Date startDate) {
// 
// 		this.startDate = startDate;
// 	}
// 
// 	@OneToOne(mappedBy = "entity_id")
// 	public Date getEndDate() {
// 
// 		return endDate;
// 	}
// 
// 	public void setEndDate(Date endDate) {
// 
// 		this.endDate = endDate;
// 	}
// 
// 	@ManyToMany(targetEntity = forgetit.common.Tag.class, cascade = { CascadeType.ALL, CascadeType.PERSIST,
// 			CascadeType.MERGE })
// 	@JoinTable(name = "ENTITY_TAG", joinColumns = @JoinColumn(name = "ENTITY_ID"), inverseJoinColumns = @JoinColumn(name = "TAG_ID"))
// 	public List<Tag> getTags() {
// 
// 		return tags;
// 	}
// 
// 	public void setTags(List<Tag> tags) {
// 
// 		this.tags = tags;
// 	}
// 
// 	@OneToMany
// 	public List<Entity> getDependencies() {
// 
// 		return dependencies;
// 	}
// 
// 	public void setDependencies(List<Entity> dependencies) {
// 
// 		this.dependencies = dependencies;
// 	}
// 
// 	@Id
// 	@GeneratedValue
// 	public int getId() {
// 
// 		return id;
// 	}
// 
// 	public Category getCategory() {
// 
// 		return category;
// 	}
// 
// 	public void setCategory(Category category) {
// 
// 		this.category = category;
// 	}
// 
// 	public void setId(int id) {
// 
// 		this.id = id;
// 	}
// 
// }


// Path: forgetIT/src/forgetit/gui/views/ViewNotes.java
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import forgetit.common.Category;
import forgetit.common.Entity;

		}
	}

	@Override
	public void refreshView(List<Entity> entities) {
		// if there is no entity, the table should not be visible
		if(entities.size() <= 0) {
			table.setVisible(false);
			return;
		} else if (!table.isVisible()) {
			table.setVisible(true);
		}
		
		// remove content of the table
		table.removeAll();

		// set content of the table
		for (Entity entity : entities) {
			TableItem item = new TableItem (table, SWT.NONE);
			item.setText (0, entity.getTitle());
			item.setText (1, entity.getDescription());
		}
		
		// resize columns
		for (int i=0; i < table.getColumnCount(); i++) {
			table.getColumn (i).pack ();
		}
	}

	@Override
	public Category getCategory() {