Package importation.csv

Source Code of importation.csv.CSVTrajetDecodeur

package importation.csv;

import gui.MainWindow;

import gui.util.TaxiGuiUtil;

import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import dao.ITourneeDao;
import modele.course.Tournee;
import modele.course.Trajet;

public class CSVTrajetDecodeur implements ICsvDecodeur<Trajet> {
 
  private final ITourneeDao  tourneeDao;

  private static final int INDEX_CHAMP_CODE_TOURNEE = 0;
 
  private static final int INDEX_CHAMP_ADRESSE_DEPART = 1;
  private static final int INDEX_CHAMP_KM_TAXISMETRE_DEPART = 2;
  private static final int INDEX_CHAMP_DATE_HEURE_DEPART = 3;
 
  private static final int INDEX_CHAMP_ADRESSE_ARRIVEE = 4;
  private static final int INDEX_CHAMP_KM_TAXISMETRE_ARRIVE = 5;
  private static final int INDEX_CHAMP_DATE_HEURE_ARRIVEE = 6;
 
  private static final int INDEX_CHAMP_PRIX_COURSE = 7;
  private static final int INDEX_CHAMP_PRIX_SUPPLEMENT = 8;
 
  /**
   * Constructeur
   * @param  tourneeDao
   */
  public CSVTrajetDecodeur(ITourneeDao tourneeDao) {
    this. tourneeDao =  tourneeDao;
  }

  /**
   * construit un trajet
   * � partir de d'une ligne de donn�e
     *
   */
  public Trajet decode(String[] ligne) {
    Trajet trajet = new Trajet();
   
    Tournee tournee = tourneeDao.find(Integer.parseInt(ligne[INDEX_CHAMP_CODE_TOURNEE]));
    trajet.setTournee(tournee);
   
    trajet.setAddresseDepart(ligne[INDEX_CHAMP_ADRESSE_DEPART]);
    trajet.setKilometrageTaximetreDepart(Long.parseLong(ligne[INDEX_CHAMP_KM_TAXISMETRE_DEPART]));
   
    Date dateDebutTrajet = null;
    String format = gui.MotsCleProjet.DATE_TIME_FORMAT;
    try {
      dateDebutTrajet = new SimpleDateFormat(format).parse(ligne[INDEX_CHAMP_DATE_HEURE_DEPART]);
      trajet.setHeureDepart(dateDebutTrajet);
    } catch (ParseException e) {
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + format, "Erreur");
    }   
   
   
    trajet.setAddresseArrivee(ligne[INDEX_CHAMP_ADRESSE_ARRIVEE]);
    trajet.setKilometrageTaximetreArrivee(Long.parseLong(ligne[INDEX_CHAMP_KM_TAXISMETRE_ARRIVE]));
   
    Date dateFinTrajet = null;
    try {
      dateFinTrajet = new SimpleDateFormat(format).parse(ligne[INDEX_CHAMP_DATE_HEURE_ARRIVEE]);
      trajet.setHeureArrivee(dateFinTrajet)
    } catch (ParseException e) {
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + format, "Erreur");
    }   
   
   
    trajet.setPrixCourse(new BigDecimal(ligne[INDEX_CHAMP_PRIX_COURSE]));
    trajet.setPrixSupplementaire(new BigDecimal(ligne[INDEX_CHAMP_PRIX_SUPPLEMENT]));
   
   
    return trajet;
  }

}
TOP

Related Classes of importation.csv.CSVTrajetDecodeur

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.