-
Notifications
You must be signed in to change notification settings - Fork 45
Add groups example data to ModelInit.java #68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds initialization code for Groups example data in the ModelInit.java file. The changes populate the database with three sample groups representing different class periods and courses, each containing three member persons identified by hardcoded IDs.
Key Changes:
- Added Groups and GroupsJpaRepository imports
- Injected GroupsJpaRepository dependency
- Added initialization logic for three sample groups with predefined members
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| personJpaRepository.findById(1L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(2L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(3L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group1); | ||
|
|
||
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | ||
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | ||
| groupsJpaRepository.save(group2); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(5L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(6L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group2); | ||
|
|
||
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | ||
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | ||
| groupsJpaRepository.save(group3); | ||
| personJpaRepository.findById(1L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(7L).ifPresent(p -> group3.getGroupMembers().add(p)); |
Copilot
AI
Jan 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using the addPerson method provided by the Groups entity instead of directly manipulating the groupMembers list. The addPerson method properly maintains bidirectional relationships between Person and Groups entities, ensuring data consistency.
| personJpaRepository.findById(1L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| personJpaRepository.findById(2L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| personJpaRepository.findById(3L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| groupsJpaRepository.save(group1); | |
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | |
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | |
| groupsJpaRepository.save(group2); | |
| personJpaRepository.findById(4L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| personJpaRepository.findById(5L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| personJpaRepository.findById(6L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| groupsJpaRepository.save(group2); | |
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | |
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | |
| groupsJpaRepository.save(group3); | |
| personJpaRepository.findById(1L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(4L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(7L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(1L).ifPresent(p -> group1.addPerson(p)); | |
| personJpaRepository.findById(2L).ifPresent(p -> group1.addPerson(p)); | |
| personJpaRepository.findById(3L).ifPresent(p -> group1.addPerson(p)); | |
| groupsJpaRepository.save(group1); | |
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | |
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | |
| groupsJpaRepository.save(group2); | |
| personJpaRepository.findById(4L).ifPresent(p -> group2.addPerson(p)); | |
| personJpaRepository.findById(5L).ifPresent(p -> group2.addPerson(p)); | |
| personJpaRepository.findById(6L).ifPresent(p -> group2.addPerson(p)); | |
| groupsJpaRepository.save(group2); | |
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | |
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | |
| groupsJpaRepository.save(group3); | |
| personJpaRepository.findById(1L).ifPresent(p -> group3.addPerson(p)); | |
| personJpaRepository.findById(4L).ifPresent(p -> group3.addPerson(p)); | |
| personJpaRepository.findById(7L).ifPresent(p -> group3.addPerson(p)); |
| Groups group1 = new Groups("Pioneers", "1", "CSA", new ArrayList<>()); | ||
| groupsJpaRepository.save(group1); | ||
| personJpaRepository.findById(1L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(2L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(3L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group1); |
Copilot
AI
Jan 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The group is being saved twice - once before adding members and once after. This is inefficient. Consider removing the first save operation and only saving after all members have been added to the group.
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | ||
| groupsJpaRepository.save(group2); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(5L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(6L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group2); |
Copilot
AI
Jan 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The group is being saved twice - once before adding members and once after. This is inefficient. Consider removing the first save operation and only saving after all members have been added to the group.
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | ||
| groupsJpaRepository.save(group3); | ||
| personJpaRepository.findById(1L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(7L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group3); |
Copilot
AI
Jan 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The group is being saved twice - once before adding members and once after. This is inefficient. Consider removing the first save operation and only saving after all members have been added to the group.
| personJpaRepository.findById(1L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(2L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(3L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group1); | ||
|
|
||
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | ||
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | ||
| groupsJpaRepository.save(group2); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(5L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(6L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group2); | ||
|
|
||
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | ||
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | ||
| groupsJpaRepository.save(group3); | ||
| personJpaRepository.findById(1L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(7L).ifPresent(p -> group3.getGroupMembers().add(p)); |
Copilot
AI
Jan 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using the addPerson method provided by the Groups entity instead of directly manipulating the groupMembers list. The addPerson method properly maintains bidirectional relationships between Person and Groups entities, ensuring data consistency.
| personJpaRepository.findById(1L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| personJpaRepository.findById(2L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| personJpaRepository.findById(3L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| groupsJpaRepository.save(group1); | |
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | |
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | |
| groupsJpaRepository.save(group2); | |
| personJpaRepository.findById(4L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| personJpaRepository.findById(5L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| personJpaRepository.findById(6L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| groupsJpaRepository.save(group2); | |
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | |
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | |
| groupsJpaRepository.save(group3); | |
| personJpaRepository.findById(1L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(4L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(7L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(1L).ifPresent(p -> group1.addPerson(p)); | |
| personJpaRepository.findById(2L).ifPresent(p -> group1.addPerson(p)); | |
| personJpaRepository.findById(3L).ifPresent(p -> group1.addPerson(p)); | |
| groupsJpaRepository.save(group1); | |
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | |
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | |
| groupsJpaRepository.save(group2); | |
| personJpaRepository.findById(4L).ifPresent(p -> group2.addPerson(p)); | |
| personJpaRepository.findById(5L).ifPresent(p -> group2.addPerson(p)); | |
| personJpaRepository.findById(6L).ifPresent(p -> group2.addPerson(p)); | |
| groupsJpaRepository.save(group2); | |
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | |
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | |
| groupsJpaRepository.save(group3); | |
| personJpaRepository.findById(1L).ifPresent(p -> group3.addPerson(p)); | |
| personJpaRepository.findById(4L).ifPresent(p -> group3.addPerson(p)); | |
| personJpaRepository.findById(7L).ifPresent(p -> group3.addPerson(p)); |
| personJpaRepository.findById(1L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(2L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(3L).ifPresent(p -> group1.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group1); | ||
|
|
||
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | ||
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | ||
| groupsJpaRepository.save(group2); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(5L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(6L).ifPresent(p -> group2.getGroupMembers().add(p)); | ||
| groupsJpaRepository.save(group2); | ||
|
|
||
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | ||
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | ||
| groupsJpaRepository.save(group3); | ||
| personJpaRepository.findById(1L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(4L).ifPresent(p -> group3.getGroupMembers().add(p)); | ||
| personJpaRepository.findById(7L).ifPresent(p -> group3.getGroupMembers().add(p)); |
Copilot
AI
Jan 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using the addPerson method provided by the Groups entity instead of directly manipulating the groupMembers list. The addPerson method properly maintains bidirectional relationships between Person and Groups entities, ensuring data consistency.
| personJpaRepository.findById(1L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| personJpaRepository.findById(2L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| personJpaRepository.findById(3L).ifPresent(p -> group1.getGroupMembers().add(p)); | |
| groupsJpaRepository.save(group1); | |
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | |
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | |
| groupsJpaRepository.save(group2); | |
| personJpaRepository.findById(4L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| personJpaRepository.findById(5L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| personJpaRepository.findById(6L).ifPresent(p -> group2.getGroupMembers().add(p)); | |
| groupsJpaRepository.save(group2); | |
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | |
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | |
| groupsJpaRepository.save(group3); | |
| personJpaRepository.findById(1L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(4L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(7L).ifPresent(p -> group3.getGroupMembers().add(p)); | |
| personJpaRepository.findById(1L).ifPresent(p -> group1.addPerson(p)); | |
| personJpaRepository.findById(2L).ifPresent(p -> group1.addPerson(p)); | |
| personJpaRepository.findById(3L).ifPresent(p -> group1.addPerson(p)); | |
| groupsJpaRepository.save(group1); | |
| // Group 2: Period 2 CSA - members with IDs 4, 5, 6 | |
| Groups group2 = new Groups("Innovators", "2", "CSA", new ArrayList<>()); | |
| groupsJpaRepository.save(group2); | |
| personJpaRepository.findById(4L).ifPresent(p -> group2.addPerson(p)); | |
| personJpaRepository.findById(5L).ifPresent(p -> group2.addPerson(p)); | |
| personJpaRepository.findById(6L).ifPresent(p -> group2.addPerson(p)); | |
| groupsJpaRepository.save(group2); | |
| // Group 3: Period 5 CSP - members with IDs 1, 4, 7 | |
| Groups group3 = new Groups("Explorers", "5", "CSP", new ArrayList<>()); | |
| groupsJpaRepository.save(group3); | |
| personJpaRepository.findById(1L).ifPresent(p -> group3.addPerson(p)); | |
| personJpaRepository.findById(4L).ifPresent(p -> group3.addPerson(p)); | |
| personJpaRepository.findById(7L).ifPresent(p -> group3.addPerson(p)); |
Also pairs with some minor changes to Groups UX on frontend.