* @param gedRecord
* @throws GedReaderException
*/
private void readINDI(List<String> gedRecord) throws GedReaderException {
// Person erzeugen und speichern.
Person person = new Person();
listPersons.add(person);
if (gedRecordXRefID != null) {
person.setLoadedValue(Person.XREFID, gedRecordXRefID);
hmPersons.put(gedRecordXRefID, person);
}
// Personendaten einlesen.
while (getNextGedLine(gedRecord) != null) {
// Je nach Level agieren.
if (gedRecordLevel == 1) {
if (gedRecordTag.equals("name")) {
readINDI_NAME(gedRecord, person);
}
else if (gedRecordTag.equals("sex")) {
readINDI_SEX(person);
}
else if (gedRecordTag.equals("chan")) {
// CHAN = Letzte �nderung am Datensatz - ignorieren.
ignoreSubTags(gedRecord);
}
else if (gedRecordTag.equals("birt")) {
readINDI_BIRT(gedRecord, person);
}
else if (gedRecordTag.equals("deat")) {
readINDI_DEAT(gedRecord, person);
}
else if (gedRecordTag.equals("crem")) {
readINDI_CREM(gedRecord, person);
}
else if (gedRecordTag.equals("bapm") || gedRecordTag.equals("chr")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nTaufe:";
notes = readINDI_SingleEvent(notes, gedRecord);
person.setLoadedValue(Person.NOTES, notes);
}
else if (gedRecordTag.equals("conf")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nKonfirmation:";
notes = readINDI_SingleEvent(notes, gedRecord);
person.setLoadedValue(Person.NOTES, notes);
}
else if (gedRecordTag.equals("addr")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nAdresse: " + gedRecordParms;
person.setLoadedValue(Person.NOTES, notes);
readINDI_ADDR(gedRecord, person);
}
else if (gedRecordTag.equals("buri")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nBegr�bnis:";
notes = readINDI_SingleEvent(notes, gedRecord);
person.setLoadedValue(Person.NOTES, notes);
}
else if (gedRecordTag.equals("note")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nEinzelnotiz: " + gedRecordParms;
person.setLoadedValue(Person.NOTES, notes);
}
else if (gedRecordTag.equals("even")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nEreignis:";
notes = readINDI_SingleEvent(notes, gedRecord);
person.setLoadedValue(Person.NOTES, notes);
}
else if (gedRecordTag.equals("adop")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nAdoption:";
notes = readINDI_SingleEvent(notes, gedRecord);
person.setLoadedValue(Person.NOTES, notes);
}
else if (gedRecordTag.equals("ordn")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nOrdination:";
notes = readINDI_SingleEvent(notes, gedRecord);
person.setLoadedValue(Person.NOTES, notes);
}
else if (gedRecordTag.equals("famc") || gedRecordTag.equals("fams")) {
// Familienzugeh�rigkeiten k�nnen ignoriert werden, da die XREF-IDs
// dies schon zeigen werden.
}
else if (gedRecordTag.equals("rfn") || gedRecordTag.equals("refn") || gedRecordTag.equals("_comm")) {
// Ignorieren, gibt eindeutige Nummer eines Individuums an.
}
else if (gedRecordTag.equals("occu")) {
person.setLoadedValue(Person.JOB, gedRecordParms);
}
else if (gedRecordTag.equals("titl")) {
String notes = person.getValueView(Person.NOTES);
notes += "\r\nTitel: " + gedRecordParms;
person.setLoadedValue(Person.NOTES, notes);
}
else {
throw new GedReaderException("Unbekanntes Level 1-INDI-Tag <" + gedRecordTag + "> gefunden!", line);
}
}