Implemented Logging
This commit is contained in:
@@ -15,8 +15,8 @@ public class DataDeserializer {
|
|||||||
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(serializedFile))) {
|
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(serializedFile))) {
|
||||||
manager = (Supervisor) ois.readObject();
|
manager = (Supervisor) ois.readObject();
|
||||||
System.out.println("Supervisor object deserialized successfully.");
|
System.out.println("Supervisor object deserialized successfully.");
|
||||||
} catch (IOException | ClassNotFoundException e) {
|
} catch (ClassNotFoundException | IOException e) {
|
||||||
e.printStackTrace();
|
System.err.println("Error!");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Serialized file 'manager.ser' does not exist.");
|
System.out.println("Serialized file 'manager.ser' does not exist.");
|
||||||
|
|||||||
@@ -231,6 +231,8 @@ public class StudentManagementGUI extends JFrame {
|
|||||||
|
|
||||||
if (result == JOptionPane.YES_OPTION) {
|
if (result == JOptionPane.YES_OPTION) {
|
||||||
DataSerializer.serialize(sv);
|
DataSerializer.serialize(sv);
|
||||||
|
sv.getLogger().logOperation("Died!");
|
||||||
|
sv.getLogger().close();
|
||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,6 +195,7 @@ public class FilePicker extends JFrame {
|
|||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
DisplayerManager.displayStudents();
|
DisplayerManager.displayStudents();
|
||||||
|
|
||||||
this.dispose();
|
this.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
51
Lab2/src/main/java/org/lumijiez/managers/LogManager.java
Normal file
51
Lab2/src/main/java/org/lumijiez/managers/LogManager.java
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
package org.lumijiez.managers;
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
public class LogManager {
|
||||||
|
|
||||||
|
private transient BufferedWriter writer;
|
||||||
|
|
||||||
|
private void init() {
|
||||||
|
BufferedWriter writerTemp;
|
||||||
|
LocalDateTime currentDateTime = LocalDateTime.now();
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");
|
||||||
|
String fileHandle = "log-" + currentDateTime.format(formatter) + ".txt";
|
||||||
|
try {
|
||||||
|
FileWriter fwriter = new FileWriter(fileHandle);
|
||||||
|
writerTemp = new BufferedWriter(fwriter);
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.err.println("Error!");
|
||||||
|
writerTemp = null;
|
||||||
|
}
|
||||||
|
this.writer = writerTemp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void logOperation(String msg) {
|
||||||
|
if (writer == null) init();
|
||||||
|
LocalDateTime currentDateTime = LocalDateTime.now();
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss |");
|
||||||
|
try {
|
||||||
|
writer.write(currentDateTime.format(formatter) + msg);
|
||||||
|
writer.flush();
|
||||||
|
System.out.println(msg);
|
||||||
|
writer.newLine();
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.err.println("Error!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void close() {
|
||||||
|
try {
|
||||||
|
this.writer.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,14 +9,19 @@ import java.io.Serializable;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class Supervisor implements Serializable {
|
public class Supervisor implements Serializable {
|
||||||
|
|
||||||
private final FacultyManager fm;
|
private final FacultyManager fm;
|
||||||
|
|
||||||
|
private final LogManager logger;
|
||||||
|
|
||||||
public Supervisor() {
|
public Supervisor() {
|
||||||
this.fm = new FacultyManager();
|
this.fm = new FacultyManager();
|
||||||
|
this.logger = new LogManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addFaculty(Faculty faculty) {
|
public void addFaculty(Faculty faculty) {
|
||||||
getFm().addFaculty(faculty);
|
getFm().addFaculty(faculty);
|
||||||
|
logger.logOperation("Faculty added: " + faculty.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteFaculty(Faculty faculty) {
|
public void deleteFaculty(Faculty faculty) {
|
||||||
@@ -27,10 +32,12 @@ public class Supervisor implements Serializable {
|
|||||||
getFm().getGm().getSm().deleteStudent(st);
|
getFm().getGm().getSm().deleteStudent(st);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logger.logOperation("Faculty deleted : " + faculty.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addGrade(Student student, Grade grade) {
|
public void addGrade(Student student, Grade grade) {
|
||||||
student.addGrade(grade);
|
student.addGrade(grade);
|
||||||
|
logger.logOperation("Student graded: " + student.getName() + " " + grade.getSubject().getName() + " " + grade.getGrade());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void editGroup(Group group, String name, Faculty faculty) {
|
public void editGroup(Group group, String name, Faculty faculty) {
|
||||||
@@ -39,6 +46,7 @@ public class Supervisor implements Serializable {
|
|||||||
group.setFaculty(faculty);
|
group.setFaculty(faculty);
|
||||||
faculty.addGroup(group);
|
faculty.addGroup(group);
|
||||||
oldFac.getGroups().remove(group);
|
oldFac.getGroups().remove(group);
|
||||||
|
logger.logOperation("Group edited: " + group.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteGroup(Group group) {
|
public void deleteGroup(Group group) {
|
||||||
@@ -46,11 +54,13 @@ public class Supervisor implements Serializable {
|
|||||||
for (Student st : group.getStudents()) {
|
for (Student st : group.getStudents()) {
|
||||||
getFm().getGm().getSm().deleteStudent(st);
|
getFm().getGm().getSm().deleteStudent(st);
|
||||||
}
|
}
|
||||||
|
logger.logOperation("Group deleted: " + group.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addStudent(String name, String surname, String email, Group group, Faculty faculty, Date birth, Date enrol) {
|
public void addStudent(String name, String surname, String email, Group group, Faculty faculty, Date birth, Date enrol) {
|
||||||
Student newStudent = new Student(name, surname, email, group, faculty, birth, enrol);
|
Student newStudent = new Student(name, surname, email, group, faculty, birth, enrol);
|
||||||
getFm().getGm().getSm().addStudent(newStudent);
|
getFm().getGm().getSm().addStudent(newStudent);
|
||||||
|
logger.logOperation("Student added: " + newStudent.getFullname());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void editStudent(Student student, String name, String surname, String email, Group group, Faculty faculty, Date birth, Date enrol) {
|
public void editStudent(Student student, String name, String surname, String email, Group group, Faculty faculty, Date birth, Date enrol) {
|
||||||
@@ -64,17 +74,20 @@ public class Supervisor implements Serializable {
|
|||||||
student.setFaculty(faculty);
|
student.setFaculty(faculty);
|
||||||
student.setDateOfBirth(birth);
|
student.setDateOfBirth(birth);
|
||||||
student.setEnrollmentDate(enrol);
|
student.setEnrollmentDate(enrol);
|
||||||
|
logger.logOperation("Student edited: " + student.getFullname());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addGroup(Group group, Faculty faculty) {
|
public void addGroup(Group group, Faculty faculty) {
|
||||||
group.setFaculty(faculty);
|
group.setFaculty(faculty);
|
||||||
faculty.addGroup(group);
|
faculty.addGroup(group);
|
||||||
getFm().getGm().addGroup(group);
|
getFm().getGm().addGroup(group);
|
||||||
|
logger.logOperation("Group added: " + group.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteStudent(Student st) {
|
public void deleteStudent(Student st) {
|
||||||
st.getGroup().deleteStudent(st);
|
st.getGroup().deleteStudent(st);
|
||||||
getFm().getGm().getSm().deleteStudent(st);
|
getFm().getGm().getSm().deleteStudent(st);
|
||||||
|
logger.logOperation("Student deleted: " + st.getFullname());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Faculty getFacultyByName(String facultyName) {
|
public Faculty getFacultyByName(String facultyName) {
|
||||||
@@ -97,4 +110,8 @@ public class Supervisor implements Serializable {
|
|||||||
return fm;
|
return fm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LogManager getLogger() {
|
||||||
|
return this.logger;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user