package exports;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import java.io.Writer;

import org.nuiton.math.matrix.*;

import resultinfos.MatrixBiomass;

import fr.ifremer.isisfish.entities.*;
import fr.ifremer.isisfish.export.Export;
import fr.ifremer.isisfish.types.TimeStep;
import fr.ifremer.isisfish.datastore.SimulationStorage;

import java.util.ArrayList; 



public class Param_calib_q_Fstd implements Export {

    /** to use log facility, just put in your code: log.info("..."); */
    static private Log log = LogFactory.getLog(Param_calib_q_Fstd.class);

    protected String [] necessaryResult = {
    };

    @Override
    public String[] getNecessaryResult() {
        return this.necessaryResult;
    }

    @Override
    public String getExportFilename() {
        return "Param_calib_q_Fstd";
    }

    @Override
    public String getExtensionFilename() {
        return ".csv";
    }

    @Override
    public String getDescription() {
        return "Exporte les parametres a calibrer : 6q et Fstd";
    }

    @Override
    public void export(SimulationStorage simulation, Writer out) throws Exception {

            // recuperation de la matrice d'accessibilite
            for (Population pop : simulation.getParameter().getPopulations()) {
            MatrixND param_q = pop.getCapturability();
            }
            
            // recuperation des facteurs de standardisation

            //ne fonctionne pas car pas acces au context ?
        FisheryRegion RegionSimu = RegionStorage.getFisheryRegion(context.getDB());
        List<Gear> ListeGears = RegionSimu.getGear();

        ArrayList<Double> FstdValues = new ArrayList<>();
        
        for(Gear gear : ListeGears){
            double Fstd = gear.getStandardisationFactor();
            FstdValues.add(Fstd);
            }


     out.write(pop.getName() +";" + param_q + FstdValues + "\n");                  
            
            }
        }
    
  


