org.genealogie.gedcom
Class GedcomImport

java.lang.Object
  |
  +--org.genealogie.gedcom.GedcomImport
All Implemented Interfaces:
java.lang.Runnable, org.genealogie.utils.Tache

public class GedcomImport
extends java.lang.Object
implements java.lang.Runnable, org.genealogie.utils.Tache

Classe de permettant d'importer un fichier gedcom

Version:
$Revision: 1.34 $
Author:
Templier Thierry

Field Summary
private  java.util.Hashtable ansRep
           
private  BrowseTree bt
           
private  org.genealogie.utils.CalendrierRepublicain calRep
           
private  java.util.Hashtable correspondances
           
private  int cptFamille
           
private  int cptNote
           
private  int cptPersonne
           
private  java.lang.String currentPersonne
           
private  java.util.Hashtable familles
           
private  boolean fin
           
private  java.lang.String formatLieu
           
private  java.util.Hashtable idFamilles
           
private  java.util.Hashtable idPersonnes
           
private  java.util.Vector idsFamilles
           
private  java.util.Hashtable indiceFormatLieu
           
private  java.util.Hashtable individus
           
private  java.util.Hashtable ligneFamilles
           
private  java.util.Hashtable lignePersonnes
           
private  java.util.Hashtable listeChaineLieu
           
private  java.util.Hashtable listeChainePays
           
private  java.util.Hashtable mois
           
private  java.util.Hashtable moisRep
           
private  java.lang.String nomFichier
           
private  java.lang.Thread progress
           
private  javax.swing.JProgressBar progressBar
           
private  java.lang.String racineImages
           
private  java.lang.String separateurMarge
           
private  java.util.Hashtable sources
           
private  ProgressDialog splash
           
private  SynchroniserTables st
           
private  java.lang.String typeMariageCivil
           
private  java.lang.String typeMariageReligieux
           
private  org.genealogie.utils.TypesActeUtils[] typesActe
           
private  boolean verbose
           
 
Constructor Summary
GedcomImport(BrowseTree bt, java.lang.String nomFichier, ProgressDialog splash, javax.swing.JProgressBar progressBar, java.util.Vector idsFamilles)
          Constructeur de la tache.
 
Method Summary
private  void associerFamilles(ListeInsertion ids, java.util.Vector idsFamilles)
           
private  void chargerFichier(java.io.BufferedReader br)
          Lit les lignes d'un fichier et traite les différents blocs du fichier gedcom.
private  void chargerFormatLieu()
          Charge le format des lieux.
private  void chargerRessources()
          Charge les ressources ( fichiers conf/properties/Gedcom.properties & conf/properties/Server.properties).
private  ListeInsertion ecrirePersonnes()
          Ecrit les personnes dans la base.
private  int getAge(int idPersonne, java.sql.Date currentDate)
          Calcule l'âge d'une personne à partir de la date courante.
private  int getAge(org.genealogie.dao.PersonneBean personne, java.sql.Date currentDate)
          Calcule l'âge d'une personne à partir de la date courante.
private  org.genealogie.utils.CommuneUtils getCommune(java.lang.String chaineLieu)
          Retourne l'identifiant d'une commune à partir d'une chaîne.
private  java.sql.Date getDate(java.lang.String chaineDate, boolean log)
          Parse une date.
private  java.lang.String getDateApp(java.lang.String chaineDate)
          Parse une date approchée.
 void getDoublons()
          Identifie les doublons dans les tables.
private  java.lang.String getId(java.lang.String ligneDebut)
          Retourne l'identifiant gedcom d'une ligne gedcom.
private  java.lang.String getPays(java.lang.String chaineLieu)
          Retourne le nom du pays à partir d'une chaîne.
private  int getType(java.lang.String ligneDebut)
          Retourne le type de bloc gedcom ( individu, famille, source ).
private  java.lang.String getValeur(java.lang.String ligne)
          Retourne la valeur d'une ligne gedcom.
 void interrompre()
          Interrompre la tache.
private  boolean isDateMariageReligieux(java.lang.String chaineDate)
          Détermine un mariage est civil ou religieux grâce à sa date.
private  java.lang.String remplace(java.lang.String chaine, java.lang.String motif, java.lang.String remplacer)
          Remplace un motif par un autre dans une chaîne de caractères.
 void run()
          Exécute la tache.
private  void synchroniserTables(ListeInsertion ids)
          Synchronise les tables et les personnes.
private  void synchroniserTablesMariages(java.util.Vector ids)
          Synchronise les tables et l'état civil ( mariages civil & religieux ) des personnes.
private  void synchroniserTablesPersonnes(java.util.Vector ids)
          Synchronise les tables et l'état civil ( naissance, baptème, décès ) des personnes.
private  void traiterBloc(java.lang.StringBuffer bloc)
          Traite un bloc gedcom ( individu, mariage ou source ).
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

idPersonnes

private java.util.Hashtable idPersonnes

idFamilles

private java.util.Hashtable idFamilles

lignePersonnes

private java.util.Hashtable lignePersonnes

ligneFamilles

private java.util.Hashtable ligneFamilles

cptPersonne

private int cptPersonne

cptFamille

private int cptFamille

cptNote

private int cptNote

currentPersonne

private java.lang.String currentPersonne

progress

private java.lang.Thread progress

bt

private BrowseTree bt

nomFichier

private java.lang.String nomFichier

progressBar

private javax.swing.JProgressBar progressBar

splash

private ProgressDialog splash

idsFamilles

private java.util.Vector idsFamilles

fin

private boolean fin

st

private SynchroniserTables st

mois

private java.util.Hashtable mois

moisRep

private java.util.Hashtable moisRep

ansRep

private java.util.Hashtable ansRep

correspondances

private java.util.Hashtable correspondances

individus

private java.util.Hashtable individus

familles

private java.util.Hashtable familles

sources

private java.util.Hashtable sources

formatLieu

private java.lang.String formatLieu

typeMariageCivil

private java.lang.String typeMariageCivil

typeMariageReligieux

private java.lang.String typeMariageReligieux

separateurMarge

private java.lang.String separateurMarge

racineImages

private java.lang.String racineImages

indiceFormatLieu

private java.util.Hashtable indiceFormatLieu

listeChaineLieu

private java.util.Hashtable listeChaineLieu

listeChainePays

private java.util.Hashtable listeChainePays

calRep

private org.genealogie.utils.CalendrierRepublicain calRep

typesActe

private org.genealogie.utils.TypesActeUtils[] typesActe

verbose

private boolean verbose
Constructor Detail

GedcomImport

public GedcomImport(BrowseTree bt,
                    java.lang.String nomFichier,
                    ProgressDialog splash,
                    javax.swing.JProgressBar progressBar,
                    java.util.Vector idsFamilles)
Constructeur de la tache.
Parameters:
bt - l'instance sur l'arbre des patronymes
splash - l'instance sur la fenêtre de progression ( null si la tache n'est pas lancé depuis l'ihm )
progressBar - l'instance sur la barre de progression de la fenêtre de progression ( null si la tache n'est pas lancé depuis l'ihm )
Method Detail

interrompre

public void interrompre()
Interrompre la tache.
Specified by:
interrompre in interface org.genealogie.utils.Tache

chargerRessources

private void chargerRessources()
Charge les ressources ( fichiers conf/properties/Gedcom.properties & conf/properties/Server.properties).

chargerFormatLieu

private void chargerFormatLieu()
Charge le format des lieux.

getDoublons

public void getDoublons()
Identifie les doublons dans les tables.

associerFamilles

private void associerFamilles(ListeInsertion ids,
                              java.util.Vector idsFamilles)

run

public void run()
Exécute la tache.
Specified by:
run in interface java.lang.Runnable

getAge

private int getAge(org.genealogie.dao.PersonneBean personne,
                   java.sql.Date currentDate)
Calcule l'âge d'une personne à partir de la date courante.
Parameters:
personne - l'instance sur la personne
currentDate - la date courante
Returns:
l'âge de la personne ( 0 si les informations sont insuffisantes pour le calcul )

getAge

private int getAge(int idPersonne,
                   java.sql.Date currentDate)
Calcule l'âge d'une personne à partir de la date courante.
Parameters:
idPersonne - l'identifiant de la personne
currentDate - la date courante
Returns:
l'âge de la personne ( 0 si les informations sont insuffisantes pour le calcul )

synchroniserTables

private void synchroniserTables(ListeInsertion ids)
Synchronise les tables et les personnes.

synchroniserTablesPersonnes

private void synchroniserTablesPersonnes(java.util.Vector ids)
Synchronise les tables et l'état civil ( naissance, baptème, décès ) des personnes.
Parameters:
ids - la liste des identifiants des personnes concernées par la synchronisation

synchroniserTablesMariages

private void synchroniserTablesMariages(java.util.Vector ids)
Synchronise les tables et l'état civil ( mariages civil & religieux ) des personnes.
Parameters:
ids - la liste des identifiants des personnes concernées par la synchronisation

getDate

private java.sql.Date getDate(java.lang.String chaineDate,
                              boolean log)
Parse une date.
Parameters:
chaineDate - la date à parser sous forme de chaîne
log - logger ou non les erreurs
Returns:
la date ( null si le format de la chaîne est incorrecte )

getDateApp

private java.lang.String getDateApp(java.lang.String chaineDate)
                             throws org.apache.regexp.RESyntaxException
Parse une date approchée.
Parameters:
chaineDate - la date approchée à parser sous forme de chaîne
log - logger ou non les erreurs
Returns:
la date ( null si le format de la chaîne est incorrecte )

remplace

private java.lang.String remplace(java.lang.String chaine,
                                  java.lang.String motif,
                                  java.lang.String remplacer)
Remplace un motif par un autre dans une chaîne de caractères.
Parameters:
chaine - la chaîne à traiter
motif - le motif à rechercher
remplacer - la chaîne par laquelle le motif doit être remplacé
Returns:
la chaîne transformée

getPays

private java.lang.String getPays(java.lang.String chaineLieu)
Retourne le nom du pays à partir d'une chaîne.
Parameters:
chaineLieu - la chaîne à traiter
Returns:
le pays

getCommune

private org.genealogie.utils.CommuneUtils getCommune(java.lang.String chaineLieu)
Retourne l'identifiant d'une commune à partir d'une chaîne.
Parameters:
chaineLieu - la chaîne à traiter
Returns:
l'identifiant de la commune ( 0 si aucun commune correspodante n'est trouvée )

ecrirePersonnes

private ListeInsertion ecrirePersonnes()
                                throws org.apache.regexp.RESyntaxException
Ecrit les personnes dans la base.
Returns:
la liste des personnes insérées

chargerFichier

private void chargerFichier(java.io.BufferedReader br)
                     throws java.io.IOException
Lit les lignes d'un fichier et traite les différents blocs du fichier gedcom.
Parameters:
br - le flux sur un fichier à charger

getType

private int getType(java.lang.String ligneDebut)
Retourne le type de bloc gedcom ( individu, famille, source ).
Parameters:
ligneDebut - la ligne de début d'un bloc
Returns:
le code du type du bloc

getId

private java.lang.String getId(java.lang.String ligneDebut)
Retourne l'identifiant gedcom d'une ligne gedcom.
Parameters:
ligneDebut - la ligne d'un bloc
Returns:
l'identifiant gedcom de la ligne

getValeur

private java.lang.String getValeur(java.lang.String ligne)
Retourne la valeur d'une ligne gedcom.
Parameters:
ligne - la ligne d'un bloc
Returns:
la valeur gedcom de la ligne

isDateMariageReligieux

private boolean isDateMariageReligieux(java.lang.String chaineDate)
Détermine un mariage est civil ou religieux grâce à sa date.
Parameters:
chaineDate - la date du mariage sous forme de chaîne
Returns:
le mariage est civil ou religieux

traiterBloc

private void traiterBloc(java.lang.StringBuffer bloc)
Traite un bloc gedcom ( individu, mariage ou source ).
Parameters:
bloc - le bloc gedcom


Copyright © 2002 JGenea Ihm. All Rights Reserved.