package hu.ppke.itk.java.zh1.feladat1;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Reader {
	
	private static final String INPUT_FILE = "album_catalog.csv";

	public List<Album> readDatabase() {
		List<Album> albums = new ArrayList<>();
		Set<Integer> ids = new HashSet<>();
		
		try (BufferedReader reader = new BufferedReader(new FileReader(INPUT_FILE))) {
			String line = reader.readLine();
			while (reader.ready()) {
				line = reader.readLine();
				String[] lineArray = line.split(";");

				int id = Integer.parseInt(lineArray[7]);

				if (ids.add(id)) {
					// Catalog#;Artist;Title;Label;Format;Rating;Released;release_id
					albums.add(new Album(lineArray[0], lineArray[1], lineArray[2], lineArray[3], lineArray[4], Integer
							.parseInt(lineArray[5]), Integer.parseInt(lineArray[6]), Integer.parseInt(lineArray[7])));
				}

			}

		} catch (FileNotFoundException e) {
			e.printStackTrace();

		} catch (IOException e) {
			e.printStackTrace();
		}
		
		return albums;
	}
}
