Implemented Logging
This commit is contained in:
@@ -15,8 +15,8 @@ public class DataDeserializer {
|
||||
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(serializedFile))) {
|
||||
manager = (Supervisor) ois.readObject();
|
||||
System.out.println("Supervisor object deserialized successfully.");
|
||||
} catch (IOException | ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (ClassNotFoundException | IOException e) {
|
||||
System.err.println("Error!");
|
||||
}
|
||||
} else {
|
||||
System.out.println("Serialized file 'manager.ser' does not exist.");
|
||||
|
||||
@@ -231,6 +231,8 @@ public class StudentManagementGUI extends JFrame {
|
||||
|
||||
if (result == JOptionPane.YES_OPTION) {
|
||||
DataSerializer.serialize(sv);
|
||||
sv.getLogger().logOperation("Died!");
|
||||
sv.getLogger().close();
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,6 +195,7 @@ public class FilePicker extends JFrame {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
DisplayerManager.displayStudents();
|
||||
|
||||
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;
|
||||
|
||||
public class Supervisor implements Serializable {
|
||||
|
||||
private final FacultyManager fm;
|
||||
|
||||
private final LogManager logger;
|
||||
|
||||
public Supervisor() {
|
||||
this.fm = new FacultyManager();
|
||||
this.logger = new LogManager();
|
||||
}
|
||||
|
||||
public void addFaculty(Faculty faculty) {
|
||||
getFm().addFaculty(faculty);
|
||||
logger.logOperation("Faculty added: " + faculty.getName());
|
||||
}
|
||||
|
||||
public void deleteFaculty(Faculty faculty) {
|
||||
@@ -27,10 +32,12 @@ public class Supervisor implements Serializable {
|
||||
getFm().getGm().getSm().deleteStudent(st);
|
||||
}
|
||||
}
|
||||
logger.logOperation("Faculty deleted : " + faculty.getName());
|
||||
}
|
||||
|
||||
public void addGrade(Student student, Grade grade) {
|
||||
student.addGrade(grade);
|
||||
logger.logOperation("Student graded: " + student.getName() + " " + grade.getSubject().getName() + " " + grade.getGrade());
|
||||
}
|
||||
|
||||
public void editGroup(Group group, String name, Faculty faculty) {
|
||||
@@ -39,6 +46,7 @@ public class Supervisor implements Serializable {
|
||||
group.setFaculty(faculty);
|
||||
faculty.addGroup(group);
|
||||
oldFac.getGroups().remove(group);
|
||||
logger.logOperation("Group edited: " + group.getName());
|
||||
}
|
||||
|
||||
public void deleteGroup(Group group) {
|
||||
@@ -46,11 +54,13 @@ public class Supervisor implements Serializable {
|
||||
for (Student st : group.getStudents()) {
|
||||
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) {
|
||||
Student newStudent = new Student(name, surname, email, group, faculty, birth, enrol);
|
||||
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) {
|
||||
@@ -64,17 +74,20 @@ public class Supervisor implements Serializable {
|
||||
student.setFaculty(faculty);
|
||||
student.setDateOfBirth(birth);
|
||||
student.setEnrollmentDate(enrol);
|
||||
logger.logOperation("Student edited: " + student.getFullname());
|
||||
}
|
||||
|
||||
public void addGroup(Group group, Faculty faculty) {
|
||||
group.setFaculty(faculty);
|
||||
faculty.addGroup(group);
|
||||
getFm().getGm().addGroup(group);
|
||||
logger.logOperation("Group added: " + group.getName());
|
||||
}
|
||||
|
||||
public void deleteStudent(Student st) {
|
||||
st.getGroup().deleteStudent(st);
|
||||
getFm().getGm().getSm().deleteStudent(st);
|
||||
logger.logOperation("Student deleted: " + st.getFullname());
|
||||
}
|
||||
|
||||
public Faculty getFacultyByName(String facultyName) {
|
||||
@@ -97,4 +110,8 @@ public class Supervisor implements Serializable {
|
||||
return fm;
|
||||
}
|
||||
|
||||
public LogManager getLogger() {
|
||||
return this.logger;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user