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 Merlu.
 */
public class Merlu extends Poisson implements DataParsing {

    /**
     * Construteur d'un merlu
     * @param length Un Wrapper Double representant la longueur/taille du poisson
     * @param infestation Un Wrapper Double representant le taux de parasite du poisson
     */
    public Merlu(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 Merlu(temp.get("nom.merlu"),valueOf(temp.get("m.size")),valueOf(temp.get("number of Anisakis sp L3")));

            fishSet.add(newP);
        }


        return fishSet;
    }
}
