diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..13566b81
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 00000000..ac1a3dea
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 00000000..aa00ffab
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 00000000..712ab9d9
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..2738f8ef
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/stir/cscu9t4practical1/CycleEntry.java b/src/main/java/com/stir/cscu9t4practical1/CycleEntry.java
new file mode 100644
index 00000000..d36ba80e
--- /dev/null
+++ b/src/main/java/com/stir/cscu9t4practical1/CycleEntry.java
@@ -0,0 +1,38 @@
+package com.stir.cscu9t4practical1;
+
+public class CycleEntry extends Entry{
+
+
+
+ private String terrain;
+
+
+
+ private String tempo;
+ public CycleEntry(String n, int d, int m, int y, int h, int min, int s, float dist,String terrain,String tempo) {
+ super(n, d, m, y, h, min, s, dist);
+ this.terrain = terrain;
+ this.tempo = tempo;
+ }
+ public String getTerrain() {
+ return terrain;
+ }
+
+ public void setTerrain(String terrain) {
+ this.terrain = terrain;
+ }
+ public String getTempo() {
+ return tempo;
+ }
+
+ public void setTempo(String tempo) {
+ this.tempo = tempo;
+ }
+ public String getEntry(){
+ String result = getName()+ " did a " + getTerrain() +" cycle for " +
+ getDistance()+ " km in at a tempo of "+ getTempo() +" for "
+ +getHour()+":"+getMin()+":"+ getSec() + " on "
+ +getDay()+"/"+getMonth()+"/"+getYear()+"\n";
+ return result;
+ }
+}
diff --git a/src/main/java/com/stir/cscu9t4practical1/Entry.java b/src/main/java/com/stir/cscu9t4practical1/Entry.java
index 344b9068..7a051c40 100755
--- a/src/main/java/com/stir/cscu9t4practical1/Entry.java
+++ b/src/main/java/com/stir/cscu9t4practical1/Entry.java
@@ -3,9 +3,10 @@
import java.util.Calendar;
public class Entry {
- private String name;
- private Calendar dateAndTime;
- private float distance;
+
+ protected String name;
+ protected Calendar dateAndTime;
+ protected float distance;
public Entry (String n, int d, int m, int y, int h, int min, int s, float dist) {
name = n;
@@ -14,7 +15,7 @@ public Entry (String n, int d, int m, int y, int h, int min, int s, float dist)
dateAndTime = inst;
distance = dist;
} //constructor
-
+
public String getName () {
return name;
} //getName
@@ -49,10 +50,10 @@ public float getDistance () {
} //getYear
public String getEntry () {
- String result = getName()+" ran " + getDistance() + " km in "
- +getHour()+":"+getMin()+":"+ getSec() + " on "
- +getDay()+"/"+getMonth()+"/"+getYear()+"\n";
- return result;
+ String result = getName()+ " ran "+ getDistance() + " km in "
+ +getHour()+":"+getMin()+":"+ getSec() + " on "
+ +getDay()+"/"+getMonth()+"/"+getYear()+"\n";
+ return result;
} //getEntry
-
+
} // Entry
\ No newline at end of file
diff --git a/src/main/java/com/stir/cscu9t4practical1/SprintEntry.java b/src/main/java/com/stir/cscu9t4practical1/SprintEntry.java
new file mode 100644
index 00000000..cb78f39e
--- /dev/null
+++ b/src/main/java/com/stir/cscu9t4practical1/SprintEntry.java
@@ -0,0 +1,30 @@
+package com.stir.cscu9t4practical1;
+
+public class SprintEntry extends Entry{
+
+
+ private int repetitions;
+
+
+ private int recoveryIntervals;
+ public SprintEntry(String n, int d, int m, int y, int h, int min, int s, float dist,int repetitions,int recoveryIntervals){
+ super(n,d,m,y,h,min,s,dist);
+ this.repetitions = repetitions;
+ this.recoveryIntervals = recoveryIntervals;
+ }public int getRepetitions() {
+ return repetitions;
+ }
+
+ public int getRecovery() {
+ return recoveryIntervals;
+ }
+
+
+ public String getEntry(){
+ String result = getName()+ " Sprinted " + getRepetitions() +" repetitions of: " +
+ getDistance()+ " km in With breaks of "+ getRecovery() +" mins in between "
+ +getHour()+":"+getMin()+":"+ getSec() + " on "
+ +getDay()+"/"+getMonth()+"/"+getYear()+"\n";
+ return result;
+ }
+}
diff --git a/src/main/java/com/stir/cscu9t4practical1/SwimEntry.java b/src/main/java/com/stir/cscu9t4practical1/SwimEntry.java
new file mode 100644
index 00000000..dd8e2c3c
--- /dev/null
+++ b/src/main/java/com/stir/cscu9t4practical1/SwimEntry.java
@@ -0,0 +1,24 @@
+package com.stir.cscu9t4practical1;
+
+public class SwimEntry extends Entry{
+
+ private String where;
+ public SwimEntry(String n, int d, int m, int y, int h, int min, int s, float dist,String where) {
+ super(n, d, m, y, h, min, s, dist);
+ this.where = where;
+ }
+ public String getWhere() {
+ return where;
+ }
+
+ public void setWhere(String where) {
+ this.where = where;
+ }
+ public String getEntry(){
+ String result = getName()+ " Swam " + getWhere() +" for " +
+ getDistance()+ " km in "
+ +getHour()+":"+getMin()+":"+ getSec() + " on "
+ +getDay()+"/"+getMonth()+"/"+getYear()+"\n";
+ return result;
+ }
+}
diff --git a/src/main/java/com/stir/cscu9t4practical1/TrainingRecord.java b/src/main/java/com/stir/cscu9t4practical1/TrainingRecord.java
index fafdec9b..5dd17bb4 100755
--- a/src/main/java/com/stir/cscu9t4practical1/TrainingRecord.java
+++ b/src/main/java/com/stir/cscu9t4practical1/TrainingRecord.java
@@ -30,7 +30,48 @@ public String lookupEntry (int d, int m, int y) {
}
return result;
} // lookupEntry
-
+ public String lookupAllEntries (int d, int m, int y) {
+ ListIterator iter = tr.listIterator();
+ String result = "";
+ while (iter.hasNext()) {
+ Entry current = iter.next();
+ if (current.getDay()==d && current.getMonth()==m && current.getYear()==y)
+ result += current.getEntry();
+ }
+ return result;
+ }
+ public Boolean CheckIfEntryExists (int d, int m, int y,String name) {
+ ListIterator iter = tr.listIterator();
+ Boolean result = false;
+ while (iter.hasNext()) {
+ Entry current = iter.next();
+ if (current.getDay()==d && current.getMonth()==m && current.getYear()==y && current.getName().equalsIgnoreCase(name))
+ result = true;
+ }
+ return result;
+ }
+ public String lookupAllEntriesByName(String searchTerm){
+ ListIterator iter = tr.listIterator();
+ String result = "";
+ while (iter.hasNext()) {
+ Entry current = iter.next();
+ if (current.name.equalsIgnoreCase(searchTerm)){
+ result += current.getEntry();
+ }
+ }
+ return result;
+ }
+ public String removeAllEntries (int d, int m, int y,String n) {
+ ListIterator iter = tr.listIterator();
+ String result = "No entries under that name and date";
+ while (iter.hasNext()) {
+ Entry current = iter.next();
+ if (current.getDay()==d && current.getMonth()==m && current.getYear()==y && current.getName().equalsIgnoreCase(n))
+ result = "Entry: "+n+ " on " +d+"/"+m+"/"+y+" was removed successfully";
+ iter.remove();
+ }
+ return result;
+ }
// Count the number of entries
public int getNumberOfEntries(){
return tr.size();
diff --git a/src/main/java/com/stir/cscu9t4practical1/TrainingRecordGUI.java b/src/main/java/com/stir/cscu9t4practical1/TrainingRecordGUI.java
index cbb891a1..921da7a2 100755
--- a/src/main/java/com/stir/cscu9t4practical1/TrainingRecordGUI.java
+++ b/src/main/java/com/stir/cscu9t4practical1/TrainingRecordGUI.java
@@ -5,6 +5,8 @@
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
import java.lang.Number;
public class TrainingRecordGUI extends JFrame implements ActionListener {
@@ -27,10 +29,19 @@ public class TrainingRecordGUI extends JFrame implements ActionListener {
private JLabel labdist = new JLabel(" Distance (km):");
private JButton addR = new JButton("Add");
private JButton lookUpByDate = new JButton("Look Up");
+ private JButton lookUpAllByDate = new JButton("Look Up All");
private TrainingRecord myAthletes = new TrainingRecord();
private JTextArea outputArea = new JTextArea(5, 50);
+ private JTextField whereField = new JTextField(10);
+ private JTextField repetitionsField = new JTextField(3);
+ private JTextField recoveryField = new JTextField(3);
+
+ private JTextField tempoField = new JTextField(3);
+ private JTextField terrainField = new JTextField(10);
+ private JButton findAllBasedOnName = new JButton("Name Search");
+ private JButton removeButton = new JButton("Remove Entry");
public static void main(String[] args) {
TrainingRecordGUI applic = new TrainingRecordGUI();
@@ -64,12 +75,32 @@ public TrainingRecordGUI() {
add(labdist);
add(dist);
dist.setEditable(true);
+ add(new JLabel("---Swimming---"));
+ add(new JLabel("Outdoor or Indoor:"));
+ add(whereField);
+ add(new JLabel("---Sprinting---"));
+ add(new JLabel("Repetitions:"));
+ add(repetitionsField);
+ add(new JLabel("Recovery Intervals(mins):"));
+ add(recoveryField);
+ add(new JLabel("---Cycling---"));
+ add(new JLabel("Terrain:"));
+ add(terrainField);
+ add(new JLabel("Tempo(mph):"));
+ add(tempoField);
add(addR);
addR.addActionListener(this);
add(lookUpByDate);
lookUpByDate.addActionListener(this);
+ add(lookUpAllByDate);
+ lookUpAllByDate.addActionListener(this);
+ add(findAllBasedOnName);
+ findAllBasedOnName.addActionListener(this);
+ add(removeButton);
+ removeButton.addActionListener(this);
add(outputArea);
outputArea.setEditable(false);
+
setSize(720, 200);
setVisible(true);
blankDisplay();
@@ -88,13 +119,20 @@ public void actionPerformed(ActionEvent event) {
if (event.getSource() == lookUpByDate) {
message = lookupEntry();
}
+ if (event.getSource() == lookUpAllByDate) {
+ message = lookupAllEntries();
+ }
+ if (event.getSource() == findAllBasedOnName){
+ message = lookupAllEntriesByName();
+ } if (event.getSource() == removeButton){
+ message = removeAllEntries();
+ }
outputArea.setText(message);
blankDisplay();
} // actionPerformed
public String addEntry(String what) {
- String message = "Record added\n";
- System.out.println("Adding "+what+" entry to the records");
+ String message = "adding...";
String n = name.getText();
int m = Integer.parseInt(month.getText());
int d = Integer.parseInt(day.getText());
@@ -103,9 +141,34 @@ public String addEntry(String what) {
int h = Integer.parseInt(hours.getText());
int mm = Integer.parseInt(mins.getText());
int s = Integer.parseInt(secs.getText());
- Entry e = new Entry(n, d, m, y, h, mm, s, km);
- myAthletes.addEntry(e);
- return message;
+ String terrain = terrainField.getText();
+ String tempo = tempoField.getText();
+ String where = whereField.getText();
+ String repetitions = repetitionsField.getText();
+ String recovery = recoveryField.getText();
+ if (myAthletes.CheckIfEntryExists(m,d,y,n) == false) {
+ if (!terrain.isEmpty() && !tempo.isEmpty()) {
+ CycleEntry e = new CycleEntry(n, d, m, y, h, mm, s, km, terrain, tempo);
+ myAthletes.addEntry(e);
+ System.out.print("Added as cycle");
+ } else if (!where.isEmpty()) {
+ SwimEntry e = new SwimEntry(n, d, m, y, h, mm, s, km, where);
+ myAthletes.addEntry(e);
+ System.out.print("Added as swim");
+ } else if (!repetitions.isEmpty() && !recovery.isEmpty()) {
+ SprintEntry e = new SprintEntry(n, d, m, y, h, mm, s, km, Integer.parseInt(repetitions), Integer.parseInt(recovery));
+ myAthletes.addEntry(e);
+ System.out.print("Added as sprint");
+ } else {
+ Entry e = new Entry(n, d, m, y, h, mm, s, km);
+ myAthletes.addEntry(e);
+ message = "Record added as run";
+ }
+ return message;
+ }else {
+ message = "An entry under this name and date already exists";
+ return message;
+ }
}
public String lookupEntry() {
@@ -116,6 +179,29 @@ public String lookupEntry() {
String message = myAthletes.lookupEntry(d, m, y);
return message;
}
+ public String lookupAllEntries() {
+ int m = Integer.parseInt(month.getText());
+ int d = Integer.parseInt(day.getText());
+ int y = Integer.parseInt(year.getText());
+ outputArea.setText("looking up record ...");
+ String message = myAthletes.lookupAllEntries(d, m, y);
+ return message;
+ }
+ public String lookupAllEntriesByName(){
+ String searchTerm = name.getText();
+ outputArea.setText("looking up record ...");
+ String message = myAthletes.lookupAllEntriesByName(searchTerm);
+ return message;
+ }
+ public String removeAllEntries() {
+ int m = Integer.parseInt(month.getText());
+ int d = Integer.parseInt(day.getText());
+ int y = Integer.parseInt(year.getText());
+ String n = name.getText();
+ outputArea.setText("looking up record ...");
+ String message = myAthletes.removeAllEntries(d, m, y,n);
+ return message;
+ }
public void blankDisplay() {
name.setText("");
@@ -126,7 +212,11 @@ public void blankDisplay() {
mins.setText("");
secs.setText("");
dist.setText("");
-
+ recoveryField.setText("");
+ terrainField.setText("");
+ repetitionsField.setText("");
+ tempoField.setText("");
+ whereField.setText("");
}// blankDisplay
// Fills the input fields on the display for testing purposes only
public void fillDisplay(Entry ent) {
diff --git a/src/test/java/com/stir/cscu9t4practical1/CycleEntryTest.java b/src/test/java/com/stir/cscu9t4practical1/CycleEntryTest.java
index de457810..37c2fdab 100644
--- a/src/test/java/com/stir/cscu9t4practical1/CycleEntryTest.java
+++ b/src/test/java/com/stir/cscu9t4practical1/CycleEntryTest.java
@@ -139,7 +139,7 @@ public void testGetDistance() {
@Test
public void testGetTerrain() {
System.out.println("getTerrain");
- Entry instance = new CycleEntry("Alice", 1, 2, 2003, 0, 16, 7, 3, "asphalt", "moderate");
+ CycleEntry instance = new CycleEntry("Alice", 1, 2, 2003, 0, 16, 7, 3, "asphalt", "moderate");
String expResult = "asphalt";
String result = instance.getTerrain();
assertEquals(expResult, result);
@@ -151,7 +151,7 @@ public void testGetTerrain() {
@Test
public void testGetTempo() {
System.out.println("getTempo");
- Entry instance = new CycleEntry("Alice", 1, 2, 2003, 0, 16, 7, 3, "asphalt", "moderate");
+ CycleEntry instance = new CycleEntry("Alice", 1, 2, 2003, 0, 16, 7, 3, "asphalt", "moderate");
String expResult = "moderate";
String result = instance.getTempo();
assertEquals(expResult, result);
@@ -164,7 +164,7 @@ public void testGetTempo() {
public void testGetEntry() {
System.out.println("getEntry");
Entry instance = new CycleEntry("Alice", 1, 2, 2003, 0, 16, 7, 3, "asphalt", "moderate");
- String expResult = "Alice cycled 3.0 km in 0:16:7 on 1/2/2003 on asphalt at moderate tempo\n";
+ String expResult = "Alice did a asphalt cycle for 3.0 km in at a tempo of moderate for 0:16:7 on 1/2/2003\n";
String result = instance.getEntry();
assertEquals(expResult, result);
}
diff --git a/src/test/java/com/stir/cscu9t4practical1/SprintEntryTest.java b/src/test/java/com/stir/cscu9t4practical1/SprintEntryTest.java
index 00af5583..7b2976d9 100644
--- a/src/test/java/com/stir/cscu9t4practical1/SprintEntryTest.java
+++ b/src/test/java/com/stir/cscu9t4practical1/SprintEntryTest.java
@@ -127,7 +127,7 @@ public void testGetSec() {
public void testGetDistance() {
System.out.println("getDistance");
Entry instance = new SprintEntry("Alice", 1, 2, 2003, 0, 16, 7, 300, 4, 2);
- float expResult = 3.0F;
+ float expResult = 300F;
float result = instance.getDistance();
assertEquals(expResult, result, 0.0);
}
@@ -138,10 +138,10 @@ public void testGetDistance() {
@Test
public void testGetRepetitions() {
System.out.println("getRepetitions");
- Entry instance = new SprintEntry("Alice", 1, 2, 2003, 0, 16, 7, 300, 4, 2);
+ SprintEntry instance = new SprintEntry("Alice", 1, 2, 2003, 0, 16, 7, 300, 4, 2);
int expResults = 4;
int result = instance.getRepetitions();
- assertEquals(expResult, result);
+ assertEquals(expResults, result);
}
/**
@@ -150,10 +150,10 @@ public void testGetRepetitions() {
@Test
public void testGetRecovery() {
System.out.println("getRepetitions");
- Entry instance = new SprintEntry("Alice", 1, 2, 2003, 0, 16, 7, 300, 4, 2);
+ SprintEntry instance = new SprintEntry("Alice", 1, 2, 2003, 0, 16, 7, 300, 4, 2);
int expResults = 2;
int result = instance.getRecovery();
- assertEquals(expResult, result);
+ assertEquals(expResults, result);
}
/**
@@ -163,7 +163,7 @@ public void testGetRecovery() {
public void testGetEntry() {
System.out.println("getEntry");
Entry instance = new SprintEntry("Alice", 1, 2, 2003, 0, 16, 7, 300, 4, 2);
- String expResult = "Alice sprinted 4x300m in 0:16:7 with 2 minutes recovery on 1/2/2003\n";
+ String expResult = "Alice Sprinted 4 repetitions of: 300.0 km in With breaks of 2 mins in between 0:16:7 on 1/2/2003\n";
String result = instance.getEntry();
assertEquals(expResult, result);
}
diff --git a/src/test/java/com/stir/cscu9t4practical1/SwimEntryTest.java b/src/test/java/com/stir/cscu9t4practical1/SwimEntryTest.java
index 19a4650c..3b76c15a 100644
--- a/src/test/java/com/stir/cscu9t4practical1/SwimEntryTest.java
+++ b/src/test/java/com/stir/cscu9t4practical1/SwimEntryTest.java
@@ -140,13 +140,13 @@ public void testGetWhere() {
System.out.println("getWhere");
Entry instanceA = new SwimEntry("Alice", 1, 2, 2003, 0, 16, 7, 3,"outdoors");
String expResultA = "outdoors";
- String result = instanceA.getWhere();
- assertEquals(expResultA, result);
+ String result1 = ((SwimEntry) instanceA).getWhere();
+ assertEquals(expResultA, result1);
Entry instanceB = new SwimEntry("Alice", 1, 2, 2003, 0, 16, 7, 3,"pool");
- String expResultB = "in a pool";
- String result = instanceB.getWhere();
- assertEquals(expResultB, result);
+ String expResultB = "pool";
+ String result2 = ((SwimEntry) instanceB).getWhere();
+ assertEquals(expResultB, result2);
}
/**
* Test of getEntry method, of class SwimEntry.
@@ -155,7 +155,7 @@ public void testGetWhere() {
public void testGetEntry() {
System.out.println("getEntry");
Entry instance = new SwimEntry("Alice", 1, 2, 2003, 0, 16, 7, 3,"outdoors");
- String expResult = "Alice swam 3.0 km outdoors in 0:16:7 on 1/2/2003\n";
+ String expResult = "Alice Swam outdoors for 3.0 km in 0:16:7 on 1/2/2003\n";
String result = instance.getEntry();
assertEquals(expResult, result);
}
diff --git a/src/test/java/com/stir/cscu9t4practical1/TrainingRecordGUITest.java b/src/test/java/com/stir/cscu9t4practical1/TrainingRecordGUITest.java
index ce2c04db..91fb007b 100644
--- a/src/test/java/com/stir/cscu9t4practical1/TrainingRecordGUITest.java
+++ b/src/test/java/com/stir/cscu9t4practical1/TrainingRecordGUITest.java
@@ -92,18 +92,48 @@ public void testAddEntry(){
instance.fillDisplay(entry);
String message = instance.addEntry("generic");
System.out.println(message);
- assertEquals(message,"Record added\n");
+ assertEquals(message,"Record added as run");
+ }
+ @Test
+ public void testLookupAllEntries(){
+ TrainingRecordGUI instance = new TrainingRecordGUI();
+ Entry entry = new Entry("Alice", 1, 2, 2003, 0, 16, 7, 3);
+ instance.fillDisplay(entry);
+ String expected = "Alice ran 3.0 km in 0:16:7 on 1/2/2003\n";
+ String message = instance.addEntry("generic");
+ message = instance.lookupAllEntries();
+ assertEquals(message,expected);
}
/**
* Test to see if all display requirements have been met
*/
@Test
+ public void testRemoveAllEntries(){
+ TrainingRecordGUI instance = new TrainingRecordGUI();
+ Entry entry = new Entry("Alice", 1, 2, 2003, 0, 16, 7, 3);
+ instance.fillDisplay(entry);
+ instance.addEntry("generic");
+ String result = instance.removeAllEntries();
+ String expected = "Entry: Alice on 1/2/2003 was removed successfully";
+ assertEquals(result,expected);
+ }
+ @Test
+ public void testLookupAllEntriesByName(){
+ TrainingRecordGUI instance = new TrainingRecordGUI();
+ Entry entry = new Entry("Alice", 1, 2, 2003, 0, 16, 7, 3);
+ instance.fillDisplay(entry);
+ instance.addEntry("generic");
+ String result = instance.lookupAllEntriesByName();
+ String expected = "Alice ran 3.0 km in 0:16:7 on 1/2/2003\n";
+ assertEquals(result,expected);
+ }
+ @Test
public void testButtonsPresentInGUI() throws IllegalAccessException, IllegalArgumentException{
System.out.println("Check if you have added the buttons");
TrainingRecordGUI instance = new TrainingRecordGUI();
Class> instanceClass = instance.getClass();
- String[] expectedFields = {"findAllByDate","lookUpByDate"}; // add RemoveEntry when it is ready
+ String[] expectedFields = {"lookUpAllByDate","lookUpByDate","findAllBasedOnName","removeButton"}; // add RemoveEntry when it is ready
Field fields[] = instanceClass.getDeclaredFields();
int found = 0;
for (Field field : fields) {
diff --git a/target/classes/com/stir/cscu9t4practical1/CycleEntry.class b/target/classes/com/stir/cscu9t4practical1/CycleEntry.class
new file mode 100644
index 00000000..043b4309
Binary files /dev/null and b/target/classes/com/stir/cscu9t4practical1/CycleEntry.class differ
diff --git a/target/classes/com/stir/cscu9t4practical1/Entry.class b/target/classes/com/stir/cscu9t4practical1/Entry.class
new file mode 100644
index 00000000..09120b7c
Binary files /dev/null and b/target/classes/com/stir/cscu9t4practical1/Entry.class differ
diff --git a/target/classes/com/stir/cscu9t4practical1/SprintEntry.class b/target/classes/com/stir/cscu9t4practical1/SprintEntry.class
new file mode 100644
index 00000000..0c717bba
Binary files /dev/null and b/target/classes/com/stir/cscu9t4practical1/SprintEntry.class differ
diff --git a/target/classes/com/stir/cscu9t4practical1/SwimEntry.class b/target/classes/com/stir/cscu9t4practical1/SwimEntry.class
new file mode 100644
index 00000000..fc91e487
Binary files /dev/null and b/target/classes/com/stir/cscu9t4practical1/SwimEntry.class differ
diff --git a/target/classes/com/stir/cscu9t4practical1/TrainingRecord.class b/target/classes/com/stir/cscu9t4practical1/TrainingRecord.class
new file mode 100644
index 00000000..a5efea7c
Binary files /dev/null and b/target/classes/com/stir/cscu9t4practical1/TrainingRecord.class differ
diff --git a/target/classes/com/stir/cscu9t4practical1/TrainingRecordGUI.class b/target/classes/com/stir/cscu9t4practical1/TrainingRecordGUI.class
new file mode 100644
index 00000000..ceaf64df
Binary files /dev/null and b/target/classes/com/stir/cscu9t4practical1/TrainingRecordGUI.class differ