Implemented UI, fixed serialization inconsistency

This commit is contained in:
2023-09-25 19:00:21 +03:00
parent 338ed053e3
commit 24d671f765
19 changed files with 365 additions and 153 deletions

View 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();
}
}

View File

@@ -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;
}
}

View File

@@ -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());
}
}
}

View 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);
}
}