Mince je croyais que tout le monde l avais.... c est peut etre un maison ca expliquerait qu il marche pas ;-) merci d avance Sigrid LEHUTA a écrit :
Re-re- bonjour, j ai un soucis avec l export de la matrice MATRIX_GROSS_VALUE_OF_LANDINGS_PER_STR_MET le fichier d export est vide. Pourtant la matrice existe puisque je peux l afficher dans les resultats mais elle est dite null quand je la fait afficher dans les log (system out dans le script d export) a partir du script d export.
est ce que ca marche chez les autres ? savez vous ce qui peut clocher ? merci
-- Sigrid LEHUTA ~ ><> ~ Doctorante Département Ecologie et Modèles pour l'Halieutique IFREMER, rue de l'ile d'Yeu BP 21105 44311 Nantes Cedex 03 Tél : +33 (0)2 40 37 41 23 (interne : 8123) package exports; import static org.codelutin.i18n.I18n._; import java.io.Writer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelutin.math.matrix.MatrixIterator; import org.codelutin.math.matrix.MatrixND; import scripts.ResultName; import fr.ifremer.isisfish.datastore.SimulationStorage; import fr.ifremer.isisfish.entities.Strategy; import fr.ifremer.isisfish.entities.Metier; import fr.ifremer.isisfish.entities.Population; import fr.ifremer.isisfish.entities.PopulationGroup; import fr.ifremer.isisfish.entities.Zone; import fr.ifremer.isisfish.export.Export; import fr.ifremer.isisfish.types.Date; /** * CapturesNombre.java * * Created: 23 novembre 2006 * * @author anonymous <anonymous@labs.libre-entreprise.org> * @version $Revision: 1.4 $ * * Last update: $Date: 2007-05-24 09:30:07 $ by : $Author: bpoussin $ */ public class GrossValueOfLandingsPerStrMet implements Export { /** to use log facility, just put in your code: log.info("..."); */ static private Log log = LogFactory.getLog(GrossValueOfLandingsPerStrMet.class); protected String[] necessaryResult = { ResultName.MATRIX_GROSS_VALUE_OF_LANDINGS_PER_STRATEGY_MET }; public String[] getNecessaryResult() { return this.necessaryResult; } public String getExportFilename() { return "GrosValue"; } public String getExtensionFilename() { return ".csv"; } public String getDescription() { return _("Export les captures en nombre de la simulation. tableau pop;metier;id;zone;nombre"); } public void export(SimulationStorage simulation, Writer out) throws Exception { Date lastDate = simulation.getResultStorage().getLastDate(); for (Population pop : simulation.getParameter().getPopulations()) { for (Date date = new Date(0); !date.after(lastDate); date = date .next()) { MatrixND mat = simulation.getResultStorage().getMatrix(date,pop, ResultName.MATRIX_GROSS_VALUE_OF_LANDINGS_PER_STRATEGY_MET); System.out.println("mat gross val "+mat); if (mat != null) { // can be null if simulation is stopped before last year simulation for (MatrixIterator i = mat.iterator(); i.hasNext();) { i.next(); Object[] sems = i.getSemanticsCoordinates(); Strategy str = (Strategy) sems[0]; Metier metier = (Metier) sems[1]; double val = i.getValue(); out.write(pop.getName() + ";" + metier.getName() + ";" + str.getName() + ";" + date.getDate() + ";" + val + "\n"); } } } } /* var Parametre=sim.getParametre(); var Populations=Parametre.getPopulations(); var PDate=Packages.fr.ifremer.nodb.Date; var capture=0.0; var result=""; writeln("debut de export captures nombre"); var dateexport=new Packages.java.util.Date(); var formatteur= new Packages.java.text.SimpleDateFormat(); writeln("heure de debut: "+formatteur.format(dateexport)); var finsimu=resultats.getLastDate().getDate(); for (var ipop=Populations.iterator();ipop.hasNext();){ var pop=ipop.next(); for (var idate=0;idate<=finsimu;idate++){ var date=new PDate(idate); var matrice=resultats.getMatrix(date,pop, "matriceCatchPerStrategyMet"); var temp=matrice.sumOverDim(0); writeln("on a la matrice"); for (var iiterateur=temp.iterator();iiterateur.next();){ var coordonnees=iiterateur.getSemanticsCoordinates(); var metier=coordonnees[1]; var c=coordonnees[2]; var z=coordonnees[3]; capture=iiterateur.getValue(); result+=pop.getNom()+";"+metier.getNom()+";"+c.getId()+";"+z.getNom()+";"+idate+";"+capture+"\n"; } } } writeln("fin de CapturesNombre"); return ""+result; */ } }