Added files

Added my own unique project files
This commit is contained in:
2015-02-10 14:05:45 +01:00
parent 20c17379a5
commit 407f732e42
10 changed files with 464 additions and 59 deletions
+55
View File
@@ -0,0 +1,55 @@
package nl.kennyboy;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.GregorianCalendar;
import nl.kennyboy.EventSorter.Mode;
public class Agenda implements Serializable {
private static final long serialVersionUID = -383023632433640516L;
ArrayList<Event> afspraken;
EventSorter sort;
public Agenda()
{
afspraken = new ArrayList<Event>();
sort = new EventSorter(Mode.SORT_ASC);
}
public void add(Event afspraak)
{
afspraken.add(afspraak);
}
public void add(GregorianCalendar startDate, GregorianCalendar endDate, String name, String desc)
{
new Event(startDate, endDate, name, desc);
}
public void add(int startYear, int startMonth, int startDay, int endYear, int endMonth, int endDay, String name, String desc)
{
new Event(startYear, startMonth,startDay, endYear, endMonth, endDay, name, desc);
}
public void sort(EventSorter.Mode mode)
{
sort.changeMode(mode);
Collections.sort(afspraken, sort);
}
public String toString()
{
String str = "";
str += "All event sorted " + sort.getModeDesc() + ":\n";
for(Event asp : afspraken)
{
str += "\t" + asp + "\n";
}
return str;
}
}
-18
View File
@@ -1,18 +0,0 @@
import javax.swing.ImageIcon;
public class Artist
{
private String genre;
private String name;
private String description;
private ImageIcon image;
private int id;
public Artist()
{
}
}
-15
View File
@@ -1,15 +0,0 @@
import java.util.ArrayList;
public class Data
{
private ArrayList<Stage> stages;
private ArrayList<Event> events;
private ArrayList<Artist> artists;
public Data()
{
// TODO Auto-generated constructor stub
}
}
+74 -8
View File
@@ -1,15 +1,81 @@
package nl.kennyboy;
public class Event
import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
public class Event implements Serializable, Comparable<Event>
{
private int startTime;
private int endTime;
private Artist artist;
private String description;
private int id;
private static final long serialVersionUID = -8412700922907201793L;
public Event()
GregorianCalendar startDate;
GregorianCalendar endDate;
String name;
String desc;
public Event(GregorianCalendar startDate, GregorianCalendar endDate, String name, String desc)
{
this.startDate = startDate;
this.endDate = endDate;
this.name = name;
this.desc = desc;
}
public Event(int startYear, int startMonth, int startDay, int endYear, int endMonth, int endDay, String name, String desc)
{
this(new GregorianCalendar(startYear, startMonth-1, startDay), new GregorianCalendar(endYear, endMonth-1, endDay),name, desc);
}
//Getters and Setters
public GregorianCalendar getStartDate() {
return startDate;
}
public void setStartDate(GregorianCalendar startDate) {
this.startDate = startDate;
}
public GregorianCalendar getEndDate() {
return endDate;
}
public void setEndDate(GregorianCalendar endDate) {
this.endDate = endDate;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public int compareTo(Event o) {
if(startDate.before(o.getStartDate()))
{
return -1;
}
if(startDate.after(o.getStartDate()))
{
return 1;
}
if(startDate.equals(o.getStartDate()))
{
return 0;
}
return 0;
}
public String toString()
{
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
formatter.setLenient(false);
return name + " from " + formatter.format(startDate.getTime()) + " to " + formatter.format(endDate.getTime());
}
}
+135
View File
@@ -0,0 +1,135 @@
package nl.kennyboy;
import java.io.Serializable;
import java.util.Comparator;
public class EventSorter implements Serializable, Comparator<Event> {
public enum Mode {
SORT_ASC,
SORT_DESC,
SORT_LENGTH_ASC,
SORT_LENGTH_DESC
}
Mode mode;
public EventSorter(Mode mode)
{
this.mode = mode;
}
public void changeMode(Mode mode)
{
this.mode = mode;
}
public String getModeDesc()
{
switch(mode)
{
default:
case SORT_ASC:
return "alphabetically";
case SORT_DESC:
return "reverse alphabetically";
case SORT_LENGTH_ASC:
return "shortest first";
case SORT_LENGTH_DESC:
return "longstest first";
}
}
@Override
public int compare(Event asp1, Event asp2) {
switch(mode)
{
default:
case SORT_ASC:
return sortAsc(asp1, asp2);
case SORT_DESC:
return sortDesc(asp1, asp2);
case SORT_LENGTH_ASC:
return sortLenAsc(asp1, asp2);
case SORT_LENGTH_DESC:
return sortLenDesc(asp1, asp2);
}
}
public int sortAsc(Event asp1, Event asp2)
{
if(asp1.getStartDate().before(asp2.getStartDate()))
{
return -1;
}
if(asp1.getStartDate().after(asp2.getStartDate()))
{
return 1;
}
if(asp1.getStartDate().equals(asp2.getStartDate()))
{
return 0;
}
return 0;
}
public int sortDesc(Event asp1, Event asp2)
{
if(asp1.getStartDate().after(asp2.getStartDate()))
{
return -1;
}
if(asp1.getStartDate().before(asp2.getStartDate()))
{
return 1;
}
if(asp1.getStartDate().equals(asp2.getStartDate()))
{
return 0;
}
return 0;
}
public int sortLenAsc(Event asp1, Event asp2)
{
long len1 = asp1.getEndDate().getTimeInMillis() - asp1.getStartDate().getTimeInMillis();
long len2 = asp2.getEndDate().getTimeInMillis() - asp2.getStartDate().getTimeInMillis();
if(len1 < len2)
{
return -1;
}
if(len2 < len1)
{
return 1;
}
if(len1 == len2)
{
return 0;
}
return 0;
}
public int sortLenDesc(Event asp1, Event asp2)
{
long len1 = asp1.getEndDate().getTimeInMillis() - asp1.getStartDate().getTimeInMillis();
long len2 = asp2.getEndDate().getTimeInMillis() - asp2.getStartDate().getTimeInMillis();
if(len1 > len2)
{
return -1;
}
if(len2 > len1)
{
return 1;
}
if(len1 == len2)
{
return 0;
}
return 0;
}
}
+37
View File
@@ -0,0 +1,37 @@
package nl.kennyboy;
import nl.kennyboy.EventSorter.Mode;
public class Main {
public static void main(String[] args) {
new Main();
}
Agenda agenda;
Window window;
public Main()
{
agenda = new Agenda();
window = new Window();
test();
}
public void test()
{
/*
agenda.add(new Event(2014, 12, 1, 2014, 12, 2, "School", "Naar school gaan kut"));
agenda.add(new Event(2014, 11, 2, 2014, 11, 4, "School2", "Naar school gaan kut"));
agenda.sort(Mode.SORT_LENGTH_DESC);
window.setText(agenda + "");
SaveLoad.saveFile(agenda);
*/
agenda = (Agenda) SaveLoad.loadFile();
window.setText(agenda + "");
}
}
+3 -4
View File
@@ -3,7 +3,6 @@ Avans - Technische Informatica - Periode 3 - Project Festival Planner
##Project Leden
* Kenneth van Ewijk
* Remco Sannen
* Wesley de Hek
* Yorick Rommers
* Guus van Dongen
##Branch
Deze branch is van Kenneth van Ewijk
+127
View File
@@ -0,0 +1,127 @@
package nl.kennyboy;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
public class SaveLoad {
public SaveLoad() {
// TODO Auto-generated constructor stub
}
public static void saveFile(Object obj)
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.isFile() && pathname.getName().endsWith(".agn"))
{
return true;
}else if(pathname.isDirectory()){return true;}else{return false;}
}
@Override
public String getDescription() {
return "Agenda (.agn)";
}
});
fileChooser.setDialogTitle("Choose save location");
int userSelection = fileChooser.showSaveDialog(null);
if(userSelection == JFileChooser.APPROVE_OPTION)
{
File file = fileChooser.getSelectedFile();
if(!file.getName().endsWith(".agn"))
{
file = new File(file.getAbsolutePath() + ".agn");
}
if(file.exists())
{
if(JOptionPane.showConfirmDialog(null, "Are you sure you want to overwrite: " + file.getName(), "Overwrite", JOptionPane.YES_NO_OPTION) == JOptionPane.OK_OPTION)
{
save(obj, file);
}
}
else
{
save(obj, file);
}
}
}
public static Object loadFile()
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.isFile() && pathname.getName().endsWith(".agn"))
{
return true;
}else if(pathname.isDirectory()){return true;}else{return false;}
}
@Override
public String getDescription() {
return "Agenda (.agn)";
}
});
fileChooser.setDialogTitle("Choose file");
int userSelection = fileChooser.showOpenDialog(null);
if(userSelection == JFileChooser.APPROVE_OPTION)
{
File file = fileChooser.getSelectedFile();
if(!file.exists())
{
JOptionPane.showMessageDialog(null, "This file does not exist: " + file.getName());
}
else
{
return load(file);
}
}
return null;
}
private static void save(Object obj, File file)
{
ObjectOutputStream oostr = null;
try {
oostr = new ObjectOutputStream(new FileOutputStream(file));
oostr.writeObject(obj);
oostr.flush();
oostr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static Object load(File file)
{
ObjectInputStream oistr = null;
try {
oistr = new ObjectInputStream(new FileInputStream(file));
Object obj = oistr.readObject();
oistr.close();
return obj;
} catch (IOException | ClassNotFoundException e) {
return null;
}
}
}
-14
View File
@@ -1,14 +0,0 @@
import java.util.ArrayList;
public class Stage
{
private ArrayList<Event> performances;
private int expectedPopularity;
private String description;
public Stage()
{
}
}
+33
View File
@@ -0,0 +1,33 @@
package nl.kennyboy;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class Window extends JFrame {
private static final long serialVersionUID = 4468821981332661759L;
JTextArea tarea;
public Window()
{
super("Agenda");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500,600);
JPanel contentPanel = new JPanel();
tarea = new JTextArea(10,20);
tarea.setEditable(false);
contentPanel.add(tarea);
setContentPane(contentPanel);
setVisible(true);
}
public void setText(String str)
{
tarea.setText(str);
}
}