package ecoparasite.poisson;

import ecoparasite.input.DataParsing;
import ecoparasite.input.RawData;
import ecoparasite.input.RawDataOverflow;

import java.util.HashMap;
import java.util.HashSet;

import static java.lang.Double.valueOf;

/**
 * Hérite de Poisson.
 * Ajoute les fonctions de Parsing liés aux données collectées sur le Mackerel.
 */
public class Mackerel extends Poisson implements DataParsing {

    /**
     * Constructeur de Mackerel
     * @param length
     * @param infestation
     */
    public Mackerel(String id, Double length, Double infestation) {
        super(id, length, null, infestation);
    }

    /**
     * Implémentation de la fonction parse de Dataparsing
     * @param data
     * @return tableau des poissons
     */
    @Override
    public HashSet<Poisson> parse(RawData data) throws RawDataOverflow {

        HashMap<String,String> temp = new HashMap<>();

        HashSet<Poisson> fishSet;
        fishSet = new HashSet<>();

        for (int i = 0; i < data.getData().getFirst().size(); i++) {
            temp = data.getEntry(i);
            Poisson newP = new Mackerel(temp.get("Sample_code"),valueOf(temp.get("StandardLength")),valueOf(temp.get("NParasitesViscera")));

            fishSet.add(newP);
        }


        return fishSet;
    }
}
