- Added .gitignore

- Moved files
- Renamed packages
This commit is contained in:
2021-06-07 13:59:23 +02:00
parent d85a49407b
commit c817ad6694
8 changed files with 25 additions and 14 deletions

View File

@@ -0,0 +1,59 @@
package de.dhbw.contactdb.utils;
import de.dhbw.contactdb.Besuch;
import de.dhbw.contactdb.Main;
import de.dhbw.contactdb.Ort;
import de.dhbw.contactdb.Person;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Parser {
private static db_new_entity new_entity = null;
public static void parse(String filename) {
InputStream db = Main.class.getResourceAsStream(filename);
if(db == null) {
System.err.println("Cannot find database!");
System.exit(-1);
}
try (BufferedReader bf = new BufferedReader(new InputStreamReader(db))) {
String line;
while ((line = bf.readLine()) != null) {
if (line.toLowerCase().contains("new_entity")) {
if (line.toLowerCase().contains("start_date")) new_entity = db_new_entity.BESUCH;
else if (line.toLowerCase().contains("location_id")) new_entity = db_new_entity.ORT;
else if (line.toLowerCase().contains("person_id")) new_entity = db_new_entity.PERSON;
continue;
}
if (new_entity == db_new_entity.BESUCH) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
LocalDateTime start = LocalDateTime.parse(line.split(",")[0].replaceAll("\"", ""), formatter);
LocalDateTime end = LocalDateTime.parse(line.split(",")[1].replaceAll("\"", ""), formatter);
Person p = Main.persons.get(Integer.parseInt(line.split(",")[2].replaceAll("\"", "")));
Ort o = Main.orte.get(Integer.parseInt(line.split(",")[3].replaceAll("\"", "")));
Main.besuche.add(new Besuch(start, end, p, o));
} else if (new_entity == db_new_entity.ORT) {
int id = Integer.parseInt(line.split(",")[0].replaceAll("\"", ""));
String name = line.split(",")[1].replaceAll("\"", "");
boolean indoor = line.split(",")[2].replaceAll("\"", "").equals("in_door");
Main.orte.put(id, new Ort(id, name, indoor));
} else if (new_entity == db_new_entity.PERSON) {
int id = Integer.parseInt(line.split(",")[0].replaceAll("\"", ""));
String name = line.split(",")[1].replaceAll("\"", "");
Main.persons.put(id, new Person(id, name));
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,5 @@
package de.dhbw.contactdb.utils;
public enum db_new_entity {
PERSON, ORT, BESUCH
}