Implemented UI, fixed serialization inconsistency
This commit is contained in:
56
Lab2/src/main/java/org/lumijiez/base/Faculty.java
Normal file
56
Lab2/src/main/java/org/lumijiez/base/Faculty.java
Normal file
@@ -0,0 +1,56 @@
|
||||
package org.lumijiez.base;
|
||||
|
||||
import org.lumijiez.enums.StudyField;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Faculty {
|
||||
|
||||
public Faculty(String name, String abbreviation, StudyField field) {
|
||||
this.name = name;
|
||||
this.abbreviation = abbreviation;
|
||||
this.field = field;
|
||||
}
|
||||
|
||||
private String name;
|
||||
private String abbreviation;
|
||||
private List<Group> groups;
|
||||
private StudyField field;
|
||||
|
||||
public void addGroup(Group group) {
|
||||
groups.add(group);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getAbbreviation() {
|
||||
return abbreviation;
|
||||
}
|
||||
|
||||
public void setAbbreviation(String abbreviation) {
|
||||
this.abbreviation = abbreviation;
|
||||
}
|
||||
|
||||
public List<Group> getGroups() {
|
||||
return groups;
|
||||
}
|
||||
|
||||
public void setGroups(List<Group> groups) {
|
||||
this.groups = groups;
|
||||
}
|
||||
|
||||
public StudyField getField() {
|
||||
return field;
|
||||
}
|
||||
|
||||
public void setField(StudyField field) {
|
||||
this.field = field;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,8 +3,16 @@ package org.lumijiez.base;
|
||||
import java.io.Serializable;
|
||||
|
||||
public class Grade implements Serializable {
|
||||
private final String subject;
|
||||
private final int grade;
|
||||
private String subject;
|
||||
private int grade;
|
||||
|
||||
public void setSubject(String subject) {
|
||||
this.subject = subject;
|
||||
}
|
||||
|
||||
public void setGrade(int grade) {
|
||||
this.grade = grade;
|
||||
}
|
||||
|
||||
public Grade(String subject, int grade) {
|
||||
this.subject = subject;
|
||||
|
||||
@@ -5,8 +5,27 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Group implements Serializable {
|
||||
private final String name;
|
||||
private final List<Student> students = new ArrayList<>();
|
||||
private String name;
|
||||
|
||||
private Faculty faculty;
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Faculty getFaculty() {
|
||||
return faculty;
|
||||
}
|
||||
|
||||
public void setFaculty(Faculty faculty) {
|
||||
this.faculty = faculty;
|
||||
}
|
||||
|
||||
public void setStudents(List<Student> students) {
|
||||
this.students = students;
|
||||
}
|
||||
|
||||
private List<Student> students = new ArrayList<>();
|
||||
|
||||
public Group(String name) {
|
||||
this.name = name;
|
||||
@@ -19,6 +38,7 @@ public class Group implements Serializable {
|
||||
public void addStudent(Student st) {
|
||||
students.add(st);
|
||||
}
|
||||
|
||||
public void deleteStudent(Student st) {
|
||||
students.remove(st);
|
||||
}
|
||||
@@ -28,11 +48,10 @@ public class Group implements Serializable {
|
||||
}
|
||||
|
||||
public Student getStudent(String name, String surname) {
|
||||
for (Student student : students) {
|
||||
for (Student student : students)
|
||||
if (student.getName().equals(name) && student.getSurname().equals(surname)) {
|
||||
return student;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,13 +2,31 @@ package org.lumijiez.base;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class Student implements Serializable {
|
||||
private final String name;
|
||||
private final String surname;
|
||||
private final String fullname;
|
||||
private String name;
|
||||
private String surname;
|
||||
private String fullname;
|
||||
private String email;
|
||||
private Date enrollmentDate;
|
||||
|
||||
private Date dateOfBirth;
|
||||
|
||||
// Student stores a reference to its own Group and Faculty, bidirectional association
|
||||
private Group group;
|
||||
|
||||
public Faculty getFaculty() {
|
||||
return faculty;
|
||||
}
|
||||
|
||||
public void setFaculty(Faculty faculty) {
|
||||
this.faculty = faculty;
|
||||
}
|
||||
|
||||
private Faculty faculty;
|
||||
|
||||
private final List<Grade> grades = new ArrayList<>();
|
||||
|
||||
public Student(String name, String surname, Group group) {
|
||||
@@ -31,6 +49,7 @@ public class Student implements Serializable {
|
||||
public void addGrade(Grade grade) {
|
||||
grades.add(grade);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
@@ -43,8 +62,44 @@ public class Student implements Serializable {
|
||||
return fullname;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public Date getEnrollmentDate() {
|
||||
return enrollmentDate;
|
||||
}
|
||||
|
||||
public Date getDateOfBirth() {
|
||||
return dateOfBirth;
|
||||
}
|
||||
|
||||
public Group getGroup() {
|
||||
return group;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setSurname(String surname) {
|
||||
this.surname = surname;
|
||||
}
|
||||
|
||||
public void setFullname(String fullname) {
|
||||
this.fullname = fullname;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public void setEnrollmentDate(Date enrollmentDate) {
|
||||
this.enrollmentDate = enrollmentDate;
|
||||
}
|
||||
|
||||
public void setDateOfBirth(Date dateOfBirth) {
|
||||
this.dateOfBirth = dateOfBirth;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.lumijiez.data;
|
||||
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
@@ -8,12 +8,12 @@ import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
|
||||
public class DataDeserializer {
|
||||
public static Manager deserialize() {
|
||||
public static Supervisor deserialize() {
|
||||
File serializedFile = new File("manager.ser");
|
||||
Manager manager = new Manager();
|
||||
Supervisor manager = new Supervisor();
|
||||
if (serializedFile.exists()) {
|
||||
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(serializedFile))) {
|
||||
manager = (Manager) ois.readObject();
|
||||
manager = (Supervisor) ois.readObject();
|
||||
System.out.println("Manager object deserialized successfully.");
|
||||
} catch (IOException | ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.lumijiez.data;
|
||||
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
@@ -8,7 +8,7 @@ import java.io.ObjectOutputStream;
|
||||
|
||||
public class DataSerializer {
|
||||
|
||||
public static void serialize(Manager manager) {
|
||||
public static void serialize(Supervisor manager) {
|
||||
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("manager.ser"))) {
|
||||
oos.writeObject(manager);
|
||||
System.out.println("Manager object serialized successfully.");
|
||||
|
||||
26
Lab2/src/main/java/org/lumijiez/enums/StudyField.java
Normal file
26
Lab2/src/main/java/org/lumijiez/enums/StudyField.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package org.lumijiez.enums;
|
||||
|
||||
public enum StudyField {
|
||||
MECHANICAL_ENGINEERING("Mechanical Engineering", "ME"),
|
||||
SOFTWARE_ENGINEERING("Software Engineering", "FAF"),
|
||||
FOOD_TECHNOLOGY("Food Technology", "FT"),
|
||||
URBANISM_ARCHITECTURE("Urbanism and Architecture", "UA"),
|
||||
VETERINARY_MEDICINE("Veterinary Medicine", "VE");
|
||||
|
||||
private final String name;
|
||||
|
||||
private final String abbreviation;
|
||||
|
||||
StudyField(String name, String abbreviation) {
|
||||
this.name = name;
|
||||
this.abbreviation = abbreviation;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getAbbreviation() {
|
||||
return abbreviation;
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,13 @@ package org.lumijiez.gui;
|
||||
import org.lumijiez.data.DataDeserializer;
|
||||
import org.lumijiez.data.DataSerializer;
|
||||
import org.lumijiez.gui.forms.*;
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
public class StudentManagementGUI{
|
||||
private final Manager studentManager;
|
||||
|
||||
public class StudentManagementGUI {
|
||||
private final Supervisor studentManager;
|
||||
private final JFrame frame;
|
||||
private final JTextArea outputTextArea;
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package org.lumijiez.gui.forms;
|
||||
|
||||
import org.lumijiez.base.Grade;
|
||||
import org.lumijiez.base.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.util.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class AddGradeForm extends JFrame {
|
||||
public AddGradeForm(int centerX, int centerY, Manager studentManager, JTextArea outputTextArea) {
|
||||
public AddGradeForm(int centerX, int centerY, Supervisor studentManager, JTextArea outputTextArea) {
|
||||
this.setTitle("Add Grade");
|
||||
this.setSize(400, 300);
|
||||
this.setLocation(centerX, centerY);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package org.lumijiez.gui.forms;
|
||||
|
||||
import org.lumijiez.base.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.util.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class AddStudentForm extends JFrame {
|
||||
public AddStudentForm(int centerX, int centerY, Manager studentManager, JTextArea outputTextArea) {
|
||||
public AddStudentForm(int centerX, int centerY, Supervisor studentManager, JTextArea outputTextArea) {
|
||||
this.setTitle("Add Student");
|
||||
this.setSize(400, 300);
|
||||
this.setLocation(centerX, centerY);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package org.lumijiez.gui.forms;
|
||||
|
||||
import org.lumijiez.base.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.util.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class ChangeGroupForm extends JFrame {
|
||||
public ChangeGroupForm(int centerX, int centerY, Manager studentManager, JTextArea outputTextArea) {
|
||||
public ChangeGroupForm(int centerX, int centerY, Supervisor studentManager, JTextArea outputTextArea) {
|
||||
this.setTitle("Change Group");
|
||||
this.setSize(400, 300);
|
||||
this.setLocation(centerX, centerY);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package org.lumijiez.gui.forms;
|
||||
|
||||
import org.lumijiez.base.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.util.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class DeleteStudentForm extends JFrame {
|
||||
public DeleteStudentForm(int centerX, int centerY, Manager studentManager, JTextArea outputTextArea) {
|
||||
public DeleteStudentForm(int centerX, int centerY, Supervisor studentManager, JTextArea outputTextArea) {
|
||||
this.setTitle("Delete Student");
|
||||
this.setSize(400, 300);
|
||||
this.setLocation(centerX, centerY);
|
||||
@@ -33,14 +33,14 @@ public class DeleteStudentForm extends JFrame {
|
||||
this.add(formPanel);
|
||||
|
||||
submitButton.addActionListener(e -> {
|
||||
String name = nameField.getText();
|
||||
String surname = surnameField.getText();
|
||||
String group = groupField.getText();
|
||||
if (!name.isEmpty() && !surname.isEmpty() && !group.isEmpty()) {
|
||||
studentManager.removeStudent(new NameSurnameGroup(name, surname, group));
|
||||
outputTextArea.setText("===== Students =====\n" + studentManager.getStudentsText());
|
||||
this.dispose();
|
||||
} else JOptionPane.showMessageDialog(this, "Please fill in all fields.");
|
||||
String name = nameField.getText();
|
||||
String surname = surnameField.getText();
|
||||
String group = groupField.getText();
|
||||
if (!name.isEmpty() && !surname.isEmpty() && !group.isEmpty()) {
|
||||
studentManager.removeStudent(new NameSurnameGroup(name, surname, group));
|
||||
outputTextArea.setText("===== Students =====\n" + studentManager.getStudentsText());
|
||||
this.dispose();
|
||||
} else JOptionPane.showMessageDialog(this, "Please fill in all fields.");
|
||||
});
|
||||
this.setVisible(true);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package org.lumijiez.gui.forms;
|
||||
|
||||
import org.lumijiez.base.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Manager;
|
||||
import org.lumijiez.util.NameSurnameGroup;
|
||||
import org.lumijiez.managers.Supervisor;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class ShowGradesForm extends JFrame {
|
||||
public ShowGradesForm(int centerX, int centerY, Manager studentManager, JTextArea outputTextArea) {
|
||||
public ShowGradesForm(int centerX, int centerY, Supervisor studentManager, JTextArea outputTextArea) {
|
||||
this.setTitle("Show Grades Student");
|
||||
this.setSize(400, 300);
|
||||
this.setLocation(centerX, centerY);
|
||||
|
||||
45
Lab2/src/main/java/org/lumijiez/managers/FacultyManager.java
Normal file
45
Lab2/src/main/java/org/lumijiez/managers/FacultyManager.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package org.lumijiez.managers;
|
||||
|
||||
import org.lumijiez.base.Faculty;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class FacultyManager implements Serializable {
|
||||
|
||||
public FacultyManager(GroupManager gm, StudentManager sm) {
|
||||
this.gm = new GroupManager(sm);
|
||||
this.sm = sm;
|
||||
}
|
||||
private final GroupManager gm;
|
||||
private final StudentManager sm;
|
||||
private final List<Faculty> faculties = new ArrayList<>();
|
||||
|
||||
public Faculty getFaculty(String facultyName, GroupManager gm) {
|
||||
for (Faculty fc : faculties)
|
||||
if (fc.getName().equals(facultyName)) return fc;
|
||||
return null;
|
||||
}
|
||||
|
||||
public void addFaculty(Faculty faculty) {
|
||||
faculties.add(faculty);
|
||||
}
|
||||
|
||||
public void deleteFaculty(Faculty faculty) {
|
||||
faculties.remove(faculty);
|
||||
}
|
||||
|
||||
public List<Faculty> getFaculties() {
|
||||
return faculties;
|
||||
}
|
||||
|
||||
public String getFacultiesText() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (Faculty fc : faculties)
|
||||
builder.append(fc.getName()).append("\n");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -7,26 +7,43 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GroupManager implements Serializable {
|
||||
|
||||
public GroupManager(StudentManager sm) {
|
||||
this.sm = sm;
|
||||
}
|
||||
|
||||
private final StudentManager sm;
|
||||
private final List<Group> groups = new ArrayList<>();
|
||||
|
||||
public Group getGroup(String groupName) {
|
||||
for (Group group : groups)
|
||||
if (group.getName().equals(groupName)) return group;
|
||||
Group newGroup = new Group(groupName);
|
||||
groups.add(newGroup);
|
||||
return newGroup;
|
||||
return null;
|
||||
}
|
||||
|
||||
// public void addGroup(Group group) {
|
||||
// groups.add(group);
|
||||
// }
|
||||
public void addGroup(Group group) {
|
||||
groups.add(group);
|
||||
}
|
||||
|
||||
public void deleteGroup(Group group) {
|
||||
groups.remove(group);
|
||||
}
|
||||
|
||||
public List<Group> getGroups() {
|
||||
return groups;
|
||||
}
|
||||
|
||||
// public void deleteGroup(Group group) {
|
||||
// groups.remove(group);
|
||||
// }
|
||||
public String getGroupsText() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (Group gr : groups)
|
||||
builder.append(gr.getName()).append("\n");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
public Group findGroup(String name) {
|
||||
for (Group gr : groups) {
|
||||
if (gr.getName().equals(name)) return gr;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
package org.lumijiez.managers;
|
||||
|
||||
import org.lumijiez.base.Grade;
|
||||
import org.lumijiez.base.Group;
|
||||
import org.lumijiez.base.NameSurnameGroup;
|
||||
import org.lumijiez.base.Student;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class Manager implements Serializable {
|
||||
private final GroupManager groupManager;
|
||||
|
||||
public Manager() {
|
||||
this.groupManager = new GroupManager();
|
||||
}
|
||||
|
||||
public String getStudentsText() {
|
||||
StringBuilder info = new StringBuilder();
|
||||
for (Group group : groupManager.getGroups()) {
|
||||
for (Student student : group.getStudents()) {
|
||||
info.append(student.getFullname()).append(" ").append(student.getGroup().getName()).append("\n");
|
||||
}
|
||||
}
|
||||
return info.toString();
|
||||
}
|
||||
|
||||
public String getGradesText(NameSurnameGroup NSG) {
|
||||
StringBuilder info = new StringBuilder();
|
||||
for (Grade grade : groupManager.getGroup(NSG.group()).getStudent(NSG.name(), NSG.surname()).getGrades()) {
|
||||
info.append(grade.getSubject()).append(" ").append(grade.getGrade());
|
||||
}
|
||||
return info.toString();
|
||||
}
|
||||
|
||||
public String getGroupsText() {
|
||||
StringBuilder info = new StringBuilder();
|
||||
for (Group group : groupManager.getGroups()) {
|
||||
info.append(group.getName()).append("\n");
|
||||
}
|
||||
return info.toString();
|
||||
}
|
||||
|
||||
// public Student getStudent(NameSurnameGroup NSG) {
|
||||
// return groupManager.getGroup(NSG.group()).getStudent(NSG.name(), NSG.surname());
|
||||
// }
|
||||
|
||||
public void changeGroup(NameSurnameGroup NSG, String groupName) {
|
||||
Group gr = groupManager.getGroup(groupName);
|
||||
groupManager.getGroup(groupName).getStudent(NSG.name(), NSG.surname()).setGroup(gr);
|
||||
}
|
||||
|
||||
// public void addGroup(String groupName) {
|
||||
// groupManager.addGroup(new Group(groupName));
|
||||
// }
|
||||
|
||||
// public void removeGroup(String groupName) {
|
||||
// groupManager.deleteGroup(groupManager.getGroup(groupName));
|
||||
// }
|
||||
|
||||
// public GroupManager getGroupManager() {
|
||||
// return groupManager;
|
||||
// }
|
||||
|
||||
public void addStudent(NameSurnameGroup NSG) {
|
||||
Group currentGroup = groupManager.getGroup(NSG.group());
|
||||
currentGroup.addStudent(new Student(NSG.name(), NSG.surname(), currentGroup));
|
||||
}
|
||||
|
||||
// public void printStudents() {
|
||||
// for (Group group : groupManager.getGroups()) {
|
||||
// for (Student student : group.getStudents()) {
|
||||
// System.out.println(student.getFullname() + " " + student.getGroup().getName());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// public void printGroups() {
|
||||
// for (Group group : groupManager.getGroups()) {
|
||||
// System.out.println(group.getName());
|
||||
// }
|
||||
// }
|
||||
|
||||
// public void printGrades(NameSurnameGroup NSG) {
|
||||
// Student student = groupManager.getGroup(NSG.group()).getStudent(NSG.name(), NSG.surname());
|
||||
// for (Grade grade : student.getGrades()) {
|
||||
// System.out.println(grade.getSubject() + " " + grade.getGrade());
|
||||
// }
|
||||
// }
|
||||
|
||||
public void addGrade(NameSurnameGroup NSG, Grade grade) {
|
||||
Student student = groupManager.getGroup(NSG.group()).getStudent(NSG.name(), NSG.surname());
|
||||
student.addGrade(grade);
|
||||
}
|
||||
|
||||
public void removeStudent(NameSurnameGroup NSG) {
|
||||
Student student = groupManager.getGroup(NSG.group()).getStudent(NSG.name(), NSG.surname());
|
||||
groupManager.getGroup(NSG.group()).deleteStudent(student);
|
||||
if (student.getGroup().getStudents().isEmpty()) {
|
||||
groupManager.getGroups().remove(student.getGroup());
|
||||
}
|
||||
}
|
||||
}
|
||||
50
Lab2/src/main/java/org/lumijiez/managers/Supervisor.java
Normal file
50
Lab2/src/main/java/org/lumijiez/managers/Supervisor.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package org.lumijiez.managers;
|
||||
|
||||
import org.lumijiez.base.Grade;
|
||||
import org.lumijiez.base.Group;
|
||||
import org.lumijiez.util.NameSurnameGroup;
|
||||
import org.lumijiez.base.Student;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class Supervisor implements Serializable {
|
||||
private final FacultyManager fm;
|
||||
|
||||
public Supervisor() {
|
||||
this.groupManager = new FacultyManager();
|
||||
}
|
||||
|
||||
public String getStudentsText() {
|
||||
StringBuilder info = new StringBuilder();
|
||||
for (Group group : groupManager.getGroups()) {
|
||||
for (Student student : group.getStudents()) {
|
||||
info.append(student.getFullname()).append(" ").append(student.getGroup().getName()).append("\n");
|
||||
}
|
||||
}
|
||||
return info.toString();
|
||||
}
|
||||
|
||||
public String getGradesText(NameSurnameGroup NSG) {
|
||||
StringBuilder info = new StringBuilder();
|
||||
for (Grade grade : groupManager.getGroup(NSG.group()).getStudent(NSG.name(), NSG.surname()).getGrades()) {
|
||||
info.append(grade.getSubject()).append(" ").append(grade.getGrade());
|
||||
}
|
||||
return info.toString();
|
||||
}
|
||||
|
||||
public void changeGroup(NameSurnameGroup NSG, String groupName) {
|
||||
Group gr = groupManager.findGroup(groupName);
|
||||
groupManager.getGroup(groupName).getStudent(NSG.name(), NSG.surname()).setGroup(gr);
|
||||
}
|
||||
|
||||
public void addStudent(NameSurnameGroup NSG) {
|
||||
Group currentGroup = groupManager.getGroup(NSG.group());
|
||||
currentGroup.addStudent(new Student(NSG.name(), NSG.surname(), currentGroup));
|
||||
}
|
||||
|
||||
public void addGrade(NameSurnameGroup NSG, Grade grade) {
|
||||
Student student = groupManager.getGroup(NSG.group()).getStudent(NSG.name(), NSG.surname());
|
||||
student.addGrade(grade);
|
||||
}
|
||||
|
||||
}
|
||||
36
Lab2/src/main/java/org/lumijiez/util/FullStudentData.java
Normal file
36
Lab2/src/main/java/org/lumijiez/util/FullStudentData.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package org.lumijiez.util;
|
||||
|
||||
|
||||
import org.lumijiez.base.Faculty;package org.lumijiez.util;
|
||||
|
||||
// Helper class for easier management of names, surnames, and groups
|
||||
public class FullStudentData {
|
||||
private final String name;
|
||||
private final String surname;
|
||||
private final String groupName;
|
||||
|
||||
private final String facultyName;
|
||||
|
||||
public FullStudentData(String name, String surname, String groupName, String facultyName) {
|
||||
this.name = name;
|
||||
this.surname = surname;
|
||||
this.groupName = groupName;
|
||||
this.facultyName = facultyName;
|
||||
}
|
||||
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String surname() {
|
||||
return surname;
|
||||
}
|
||||
|
||||
public String group() {
|
||||
return groupName;
|
||||
}
|
||||
|
||||
public String faculty() {
|
||||
return facultyName;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.lumijiez.base;
|
||||
package org.lumijiez.util;
|
||||
|
||||
// Helper class for easier management of names, surnames, and groups
|
||||
public class NameSurnameGroup {
|
||||
private final String name;
|
||||
private final String surname;
|
||||
Reference in New Issue
Block a user