Skip to content

Commit

Permalink
chore: refactors filepath code to be more succinct
Browse files Browse the repository at this point in the history
  • Loading branch information
RichHawkins committed Mar 28, 2024
1 parent a10382b commit f4e2c7d
Showing 1 changed file with 12 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,18 @@
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;

@Service
public class CsvDataLoader implements LibraryCsvDataLoader {
@Override
public LibraryDataModel loadData() {
var model = new LibraryDataModel();
model.mediaItems =
readMediaItems(
this.getClass().getClassLoader().getResource("csv/media_items.csv").getFile());
model.guests =
readGuests(this.getClass().getClassLoader().getResource("csv/guests.csv").getFile());
model.mediaItems = readMediaItems(("csv/media_items.csv"));
model.guests = readGuests(("csv/guests.csv"));
Map<String, List<CheckoutModel>> checkoutsByGuestEmail =
getCheckedOutItems(
this.getClass().getClassLoader().getResource("csv/checked_out_items.csv").getFile());
getCheckedOutItems(("csv/checked_out_items.csv"));

// Combine checkouts with guests
for (LibraryGuestModel guest : model.guests) {
Expand All @@ -49,8 +46,9 @@ public LibraryDataModel loadData() {

private List<MediaItemModel> readMediaItems(String filePath) {
List<MediaItemModel> items = new ArrayList<>();
try (CSVReader reader = new CSVReader(new FileReader(filePath))) {
// Skip the header
try (CSVReader reader =
new CSVReader(
new FileReader(new ClassPathResource(filePath).getFile()))) { // Skip the header
String[] header = reader.readNext();
String[] line;
while ((line = reader.readNext()) != null) {
Expand Down Expand Up @@ -79,8 +77,9 @@ private List<MediaItemModel> readMediaItems(String filePath) {

private List<LibraryGuestModel> readGuests(String filePath) {
List<LibraryGuestModel> guests = new ArrayList<>();
try (CSVReader reader = new CSVReader(new FileReader(filePath))) {
// Skip the header
try (CSVReader reader =
new CSVReader(
new FileReader(new ClassPathResource(filePath).getFile()))) { // Skip the header
String[] header = reader.readNext();
String[] line;
while ((line = reader.readNext()) != null) {
Expand All @@ -100,7 +99,8 @@ private List<LibraryGuestModel> readGuests(String filePath) {

private Map<String, List<CheckoutModel>> getCheckedOutItems(String filePath) {
Map<String, List<CheckoutModel>> checkoutsByGuestEmail = new HashMap<>();
try (CSVReader reader = new CSVReader(new FileReader(filePath))) {
try (CSVReader reader =
new CSVReader(new FileReader(new ClassPathResource(filePath).getFile()))) {
// Skip the header
String[] header = reader.readNext();
String[] line;
Expand Down

0 comments on commit f4e2c7d

Please sign in to comment.