This commit is contained in:
Hymmel 2025-12-11 12:17:34 +01:00
parent f4e1012d69
commit 5c704f1804
29 changed files with 174 additions and 63 deletions

View file

@ -1,7 +1,9 @@
CREATE TABLE IF NOT EXISTS person ( CREATE TABLE IF NOT EXISTS person (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
name VARCHAR(200) NOT NULL, name VARCHAR(200) NOT NULL,
phone VARCHAR(100) phone VARCHAR(100),
email VARCHAR(200),
address VARCHAR(255)
); );
CREATE TABLE IF NOT EXISTS vehicle ( CREATE TABLE IF NOT EXISTS vehicle (

View file

@ -115,8 +115,10 @@ public class ConsoleUi {
private void addPerson() throws SQLException { private void addPerson() throws SQLException {
String name = readValidName("Name: "); String name = readValidName("Name: ");
String phone = readPhoneNumber("Telefonnummer: "); String phone = readPhoneNumber("Telefonnummer: ");
String email = readNonEmpty("Email: ");
String address = readNonEmpty("Adresse: ");
Person person = service.createPerson(name, phone); Person person = service.createPerson(name, phone, email, address);
System.out.println("Kunde gespeichert (ID: " + person.getId() + ")"); System.out.println("Kunde gespeichert (ID: " + person.getId() + ")");
} }

View file

@ -8,15 +8,17 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class PersonDao { public class PersonDao {
public Person create(String name, String phone) throws SQLException { public Person create(String name, String phone, String email, String address) throws SQLException {
String sql = "INSERT INTO person(name, phone) VALUES (?, ?) RETURNING id"; String sql = "INSERT INTO person(name, phone, email, address) VALUES (?, ?, ?, ?) RETURNING id";
try (Connection con = Database.getConnection(); try (Connection con = Database.getConnection();
PreparedStatement ps = con.prepareStatement(sql)) { PreparedStatement ps = con.prepareStatement(sql)) {
ps.setString(1, name); ps.setString(1, name);
ps.setString(2, phone); ps.setString(2, phone);
ps.setString(3, email);
ps.setString(4, address);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
if (rs.next()) { if (rs.next()) {
return new Person(rs.getInt("id"), name, phone); return new Person(rs.getInt("id"), name, phone, email, address);
} }
throw new SQLException("Konnte Person nicht speichern"); throw new SQLException("Konnte Person nicht speichern");
} }
@ -24,25 +26,37 @@ public class PersonDao {
public List<Person> findAll() throws SQLException { public List<Person> findAll() throws SQLException {
List<Person> result = new ArrayList<>(); List<Person> result = new ArrayList<>();
String sql = "SELECT id, name, phone FROM person ORDER BY name"; String sql = "SELECT id, name, phone, email, address FROM person ORDER BY name";
try (Connection con = Database.getConnection(); try (Connection con = Database.getConnection();
PreparedStatement ps = con.prepareStatement(sql); PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery()) { ResultSet rs = ps.executeQuery()) {
while (rs.next()) { while (rs.next()) {
result.add(new Person(rs.getInt("id"), rs.getString("name"), rs.getString("phone"))); result.add(new Person(
rs.getInt("id"),
rs.getString("name"),
rs.getString("phone"),
rs.getString("email"),
rs.getString("address")
));
} }
} }
return result; return result;
} }
public Person findById(int id) throws SQLException { public Person findById(int id) throws SQLException {
String sql = "SELECT id, name, phone FROM person WHERE id = ?"; String sql = "SELECT id, name, phone, email, address FROM person WHERE id = ?";
try (Connection con = Database.getConnection(); try (Connection con = Database.getConnection();
PreparedStatement ps = con.prepareStatement(sql)) { PreparedStatement ps = con.prepareStatement(sql)) {
ps.setInt(1, id); ps.setInt(1, id);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
if (rs.next()) { if (rs.next()) {
return new Person(rs.getInt("id"), rs.getString("name"), rs.getString("phone")); return new Person(
rs.getInt("id"),
rs.getString("name"),
rs.getString("phone"),
rs.getString("email"),
rs.getString("address")
);
} }
return null; return null;
} }

View file

@ -12,8 +12,22 @@ public class SchemaCreator {
st.execute("CREATE TABLE IF NOT EXISTS person (" + st.execute("CREATE TABLE IF NOT EXISTS person (" +
"id SERIAL PRIMARY KEY, " + "id SERIAL PRIMARY KEY, " +
"name VARCHAR(200) NOT NULL, " + "name VARCHAR(200) NOT NULL, " +
"phone VARCHAR(100)" + "phone VARCHAR(100), " +
"email VARCHAR(200), " +
"address VARCHAR(255)" +
")"); ")");
// Migration: Add columns if they don't exist (using simplistic approach catching errors if column exists or using IF NOT EXISTS syntax if supported by DB)
// Postgres supports IF NOT EXISTS for ADD COLUMN in newer versions.
// To be safe and simple in JDBC without specific version check, we can try to add and ignore exception or check metadata.
// But here I'll assume Postgres which supports: ALTER TABLE ... ADD COLUMN IF NOT EXISTS ...
try {
st.execute("ALTER TABLE person ADD COLUMN IF NOT EXISTS email VARCHAR(200)");
st.execute("ALTER TABLE person ADD COLUMN IF NOT EXISTS address VARCHAR(255)");
} catch (SQLException ignored) {
// Ignore if syntax is not supported or other non-critical error during migration attempt
}
st.execute("CREATE TABLE IF NOT EXISTS vehicle (" + st.execute("CREATE TABLE IF NOT EXISTS vehicle (" +
"id SERIAL PRIMARY KEY, " + "id SERIAL PRIMARY KEY, " +
"person_id INTEGER NOT NULL REFERENCES person(id) ON DELETE CASCADE, " + "person_id INTEGER NOT NULL REFERENCES person(id) ON DELETE CASCADE, " +

View file

@ -12,7 +12,9 @@ public class CsvPersonExporter implements IExporter<Person> {
public void exportData(List<Person> data, String path) throws Exception { public void exportData(List<Person> data, String path) throws Exception {
try (BufferedWriter bw = new BufferedWriter(new FileWriter(path))) { try (BufferedWriter bw = new BufferedWriter(new FileWriter(path))) {
for (Person p : data) { for (Person p : data) {
bw.write(p.getName() + ";" + p.getPhone()); bw.write(p.getName() + ";" + p.getPhone() + ";" +
(p.getEmail() != null ? p.getEmail() : "") + ";" +
(p.getAddress() != null ? p.getAddress() : ""));
bw.newLine(); bw.newLine();
} }
} }

View file

@ -20,8 +20,10 @@ public class CsvPersonImporter implements IImporter<Person> {
if (parts.length >= 2) { if (parts.length >= 2) {
String name = parts[0].trim(); String name = parts[0].trim();
String phone = parts[1].trim(); String phone = parts[1].trim();
String email = parts.length > 2 ? parts[2].trim() : "";
String address = parts.length > 3 ? parts[3].trim() : "";
// ID 0 as placeholder, will be ignored/regenerated on DB insert // ID 0 as placeholder, will be ignored/regenerated on DB insert
result.add(new Person(0, name, phone)); result.add(new Person(0, name, phone, email, address));
} }
} }
} }

View file

@ -4,11 +4,15 @@ public class Person {
private final int id; private final int id;
private final String name; private final String name;
private final String phone; private final String phone;
private final String email;
private final String address;
public Person(int id, String name, String phone) { public Person(int id, String name, String phone, String email, String address) {
this.id = id; this.id = id;
this.name = name; this.name = name;
this.phone = phone; this.phone = phone;
this.email = email;
this.address = address;
} }
public int getId() { public int getId() {
@ -23,8 +27,16 @@ public class Person {
return phone; return phone;
} }
public String getEmail() {
return email;
}
public String getAddress() {
return address;
}
@Override @Override
public String toString() { public String toString() {
return id + ": " + name + " (" + phone + ")"; return id + ": " + name + " (" + phone + ", " + email + ", " + address + ")";
} }
} }

View file

@ -29,8 +29,8 @@ public class WorkshopService {
} }
} }
public Person createPerson(String name, String phone) throws SQLException { public Person createPerson(String name, String phone, String email, String address) throws SQLException {
return personDao.create(name, phone); return personDao.create(name, phone, email, address);
} }
public List<Person> listPersons() throws SQLException { public List<Person> listPersons() throws SQLException {

View file

@ -17,16 +17,16 @@ class CsvPersonExporterTest {
tempFile.deleteOnExit(); tempFile.deleteOnExit();
List<Person> persons = Arrays.asList( List<Person> persons = Arrays.asList(
new Person(1, "Max", "123"), new Person(1, "Max", "123", "max@mail.de", "Weg 1"),
new Person(2, "Moritz", "456") new Person(2, "Moritz", "456", "moritz@mail.de", "Weg 2")
); );
CsvPersonExporter exporter = new CsvPersonExporter(); CsvPersonExporter exporter = new CsvPersonExporter();
exporter.exportData(persons, tempFile.getAbsolutePath()); exporter.exportData(persons, tempFile.getAbsolutePath());
try (BufferedReader br = new BufferedReader(new FileReader(tempFile))) { try (BufferedReader br = new BufferedReader(new FileReader(tempFile))) {
assertEquals("Max;123", br.readLine()); assertEquals("Max;123;max@mail.de;Weg 1", br.readLine());
assertEquals("Moritz;456", br.readLine()); assertEquals("Moritz;456;moritz@mail.de;Weg 2", br.readLine());
assertNull(br.readLine()); assertNull(br.readLine());
} }
} }

View file

@ -15,8 +15,8 @@ class CsvPersonImporterTest {
tempFile.deleteOnExit(); tempFile.deleteOnExit();
try (FileWriter writer = new FileWriter(tempFile)) { try (FileWriter writer = new FileWriter(tempFile)) {
writer.write("Max Mustermann;0123456789\n"); writer.write("Max Mustermann;0123456789;max@example.com;Musterstrasse 1\n");
writer.write("Erika Musterfrau;9876543210\n"); writer.write("Erika Musterfrau;9876543210;erika@example.com;Musterweg 2\n");
} }
CsvPersonImporter importer = new CsvPersonImporter(); CsvPersonImporter importer = new CsvPersonImporter();
@ -25,7 +25,12 @@ class CsvPersonImporterTest {
assertEquals(2, persons.size()); assertEquals(2, persons.size());
assertEquals("Max Mustermann", persons.get(0).getName()); assertEquals("Max Mustermann", persons.get(0).getName());
assertEquals("0123456789", persons.get(0).getPhone()); assertEquals("0123456789", persons.get(0).getPhone());
assertEquals("max@example.com", persons.get(0).getEmail());
assertEquals("Musterstrasse 1", persons.get(0).getAddress());
assertEquals("Erika Musterfrau", persons.get(1).getName()); assertEquals("Erika Musterfrau", persons.get(1).getName());
assertEquals("9876543210", persons.get(1).getPhone()); assertEquals("9876543210", persons.get(1).getPhone());
assertEquals("erika@example.com", persons.get(1).getEmail());
assertEquals("Musterweg 2", persons.get(1).getAddress());
} }
} }

View file

@ -0,0 +1,27 @@
package de.antco.projekt.model;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class PersonTest {
@Test
void testConstructorAndGetters() {
Person p = new Person(1, "Name", "123", "mail@test.com", "Address 1");
assertEquals(1, p.getId());
assertEquals("Name", p.getName());
assertEquals("123", p.getPhone());
assertEquals("mail@test.com", p.getEmail());
assertEquals("Address 1", p.getAddress());
}
@Test
void testToString() {
Person p = new Person(1, "Name", "123", "mail@test.com", "Address 1");
String s = p.toString();
assertTrue(s.contains("Name"));
assertTrue(s.contains("123"));
assertTrue(s.contains("mail@test.com"));
assertTrue(s.contains("Address 1"));
}
}

View file

@ -0,0 +1,25 @@
package de.antco.projekt.model;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class VehicleTest {
@Test
void testConstructorAndGetters() {
Vehicle v = new Vehicle(1, 10, "Brand", "Model", "Plate");
assertEquals(1, v.getId());
assertEquals(10, v.getPersonId());
assertEquals("Brand", v.getBrand());
assertEquals("Model", v.getModel());
assertEquals("Plate", v.getPlate());
}
@Test
void testToString() {
Vehicle v = new Vehicle(1, 10, "VW", "Golf", "ABC-123");
String s = v.toString();
assertTrue(s.contains("VW"));
assertTrue(s.contains("Golf"));
assertTrue(s.contains("ABC-123"));
}
}

View file

@ -1,20 +1,20 @@
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/VehicleDao.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/Vehicle.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/WorkOrderDao.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/WorkOrderItem.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/Database.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/exporters/IExporter.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/importers/IImporter.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/ConsoleUi.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/loggers/ILogger.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/WorkOrderDao.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/importers/CsvPersonImporter.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/SchemaCreator.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/ConsoleUi.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/Database.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/Person.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/App.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/App.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/importers/CsvPersonImporter.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/exporters/IExporter.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/loggers/ILogger.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/ServiceItemDao.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/WorkOrderDetails.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/ServiceItem.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/VehicleDao.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/WorkOrder.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/service/WorkshopService.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/WorkOrderItem.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/importers/IImporter.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/exporters/CsvPersonExporter.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/WorkOrder.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/Vehicle.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/PersonDao.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/service/WorkshopService.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/ServiceItemDao.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/SchemaCreator.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/exporters/CsvPersonExporter.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/WorkOrderDetails.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/Person.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/dao/PersonDao.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/main/java/de/antco/projekt/model/ServiceItem.java

View file

@ -1,2 +1,4 @@
de/antco/projekt/exporters/CsvPersonExporterTest.class
de/antco/projekt/importers/CsvPersonImporterTest.class de/antco/projekt/importers/CsvPersonImporterTest.class
de/antco/projekt/exporters/CsvPersonExporterTest.class
de/antco/projekt/model/PersonTest.class
de/antco/projekt/model/VehicleTest.class

View file

@ -1,2 +1,4 @@
/config/workspace/Schule/jdbc_konsolen_projekt/src/test/java/de/antco/projekt/exporters/CsvPersonExporterTest.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/test/java/de/antco/projekt/model/VehicleTest.java
/config/workspace/Schule/jdbc_konsolen_projekt/src/test/java/de/antco/projekt/importers/CsvPersonImporterTest.java /config/workspace/SchuleB/jdbc_konsolen_projekt/src/test/java/de/antco/projekt/exporters/CsvPersonExporterTest.java
/config/workspace/SchuleB/jdbc_konsolen_projekt/src/test/java/de/antco/projekt/importers/CsvPersonImporterTest.java
/config/workspace/SchuleB/jdbc_konsolen_projekt/src/test/java/de/antco/projekt/model/PersonTest.java

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="de.antco.projekt.exporters.CsvPersonExporterTest" time="0.235" tests="1" errors="0" skipped="0" failures="0"> <testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="de.antco.projekt.exporters.CsvPersonExporterTest" time="0.313" tests="1" errors="0" skipped="0" failures="0">
<properties> <properties>
<property name="java.specification.version" value="21"/> <property name="java.specification.version" value="21"/>
<property name="sun.jnu.encoding" value="UTF-8"/> <property name="sun.jnu.encoding" value="UTF-8"/>
<property name="java.class.path" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/test-classes:/config/workspace/Schule/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/> <property name="java.class.path" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/test-classes:/config/workspace/SchuleB/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/>
<property name="java.vm.vendor" value="Ubuntu"/> <property name="java.vm.vendor" value="Ubuntu"/>
<property name="sun.arch.data.model" value="64"/> <property name="sun.arch.data.model" value="64"/>
<property name="java.vendor.url" value="https://ubuntu.com/"/> <property name="java.vendor.url" value="https://ubuntu.com/"/>
@ -12,9 +12,9 @@
<property name="sun.java.launcher" value="SUN_STANDARD"/> <property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="user.country" value="US"/> <property name="user.country" value="US"/>
<property name="sun.boot.library.path" value="/usr/lib/jvm/java-21-openjdk-amd64/lib"/> <property name="sun.boot.library.path" value="/usr/lib/jvm/java-21-openjdk-amd64/lib"/>
<property name="sun.java.command" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211104402476_3.jar /config/workspace/Schule/jdbc_konsolen_projekt/target/surefire 2025-12-11T10-44-01_307-jvmRun1 surefire-20251211104402476_1tmp surefire_0-20251211104402476_2tmp"/> <property name="sun.java.command" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211121627585_3.jar /config/workspace/SchuleB/jdbc_konsolen_projekt/target/surefire 2025-12-11T12-16-27_250-jvmRun1 surefire-20251211121627585_1tmp surefire_0-20251211121627585_2tmp"/>
<property name="jdk.debug" value="release"/> <property name="jdk.debug" value="release"/>
<property name="surefire.test.class.path" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/test-classes:/config/workspace/Schule/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/> <property name="surefire.test.class.path" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/test-classes:/config/workspace/SchuleB/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/>
<property name="sun.cpu.endian" value="little"/> <property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="/config"/> <property name="user.home" value="/config"/>
<property name="user.language" value="en"/> <property name="user.language" value="en"/>
@ -22,12 +22,12 @@
<property name="java.version.date" value="2025-10-21"/> <property name="java.version.date" value="2025-10-21"/>
<property name="java.home" value="/usr/lib/jvm/java-21-openjdk-amd64"/> <property name="java.home" value="/usr/lib/jvm/java-21-openjdk-amd64"/>
<property name="file.separator" value="/"/> <property name="file.separator" value="/"/>
<property name="basedir" value="/config/workspace/Schule/jdbc_konsolen_projekt"/> <property name="basedir" value="/config/workspace/SchuleB/jdbc_konsolen_projekt"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/> <property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/> <property name="line.separator" value="&#10;"/>
<property name="java.specification.name" value="Java Platform API Specification"/> <property name="java.specification.name" value="Java Platform API Specification"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/> <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="surefire.real.class.path" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211104402476_3.jar"/> <property name="surefire.real.class.path" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211121627585_3.jar"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/> <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="21.0.9+10-Ubuntu-124.04"/> <property name="java.runtime.version" value="21.0.9+10-Ubuntu-124.04"/>
<property name="user.name" value="abc"/> <property name="user.name" value="abc"/>
@ -41,7 +41,7 @@
<property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-21"/> <property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-21"/>
<property name="java.io.tmpdir" value="/tmp"/> <property name="java.io.tmpdir" value="/tmp"/>
<property name="java.version" value="21.0.9"/> <property name="java.version" value="21.0.9"/>
<property name="user.dir" value="/config/workspace/Schule/jdbc_konsolen_projekt"/> <property name="user.dir" value="/config/workspace/SchuleB/jdbc_konsolen_projekt"/>
<property name="os.arch" value="amd64"/> <property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/> <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="native.encoding" value="UTF-8"/> <property name="native.encoding" value="UTF-8"/>
@ -53,5 +53,5 @@
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/> <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="65.0"/> <property name="java.class.version" value="65.0"/>
</properties> </properties>
<testcase name="testExport" classname="de.antco.projekt.exporters.CsvPersonExporterTest" time="0.181"/> <testcase name="testExport" classname="de.antco.projekt.exporters.CsvPersonExporterTest" time="0.182"/>
</testsuite> </testsuite>

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="de.antco.projekt.importers.CsvPersonImporterTest" time="0.013" tests="1" errors="0" skipped="0" failures="0"> <testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="de.antco.projekt.importers.CsvPersonImporterTest" time="0.032" tests="1" errors="0" skipped="0" failures="0">
<properties> <properties>
<property name="java.specification.version" value="21"/> <property name="java.specification.version" value="21"/>
<property name="sun.jnu.encoding" value="UTF-8"/> <property name="sun.jnu.encoding" value="UTF-8"/>
<property name="java.class.path" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/test-classes:/config/workspace/Schule/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/> <property name="java.class.path" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/test-classes:/config/workspace/SchuleB/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/>
<property name="java.vm.vendor" value="Ubuntu"/> <property name="java.vm.vendor" value="Ubuntu"/>
<property name="sun.arch.data.model" value="64"/> <property name="sun.arch.data.model" value="64"/>
<property name="java.vendor.url" value="https://ubuntu.com/"/> <property name="java.vendor.url" value="https://ubuntu.com/"/>
@ -12,9 +12,9 @@
<property name="sun.java.launcher" value="SUN_STANDARD"/> <property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="user.country" value="US"/> <property name="user.country" value="US"/>
<property name="sun.boot.library.path" value="/usr/lib/jvm/java-21-openjdk-amd64/lib"/> <property name="sun.boot.library.path" value="/usr/lib/jvm/java-21-openjdk-amd64/lib"/>
<property name="sun.java.command" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211104402476_3.jar /config/workspace/Schule/jdbc_konsolen_projekt/target/surefire 2025-12-11T10-44-01_307-jvmRun1 surefire-20251211104402476_1tmp surefire_0-20251211104402476_2tmp"/> <property name="sun.java.command" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211121627585_3.jar /config/workspace/SchuleB/jdbc_konsolen_projekt/target/surefire 2025-12-11T12-16-27_250-jvmRun1 surefire-20251211121627585_1tmp surefire_0-20251211121627585_2tmp"/>
<property name="jdk.debug" value="release"/> <property name="jdk.debug" value="release"/>
<property name="surefire.test.class.path" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/test-classes:/config/workspace/Schule/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/> <property name="surefire.test.class.path" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/test-classes:/config/workspace/SchuleB/jdbc_konsolen_projekt/target/classes:/config/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar:/config/.m2/repository/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter/5.10.0/junit-jupiter-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar:/config/.m2/repository/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar:/config/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.10.0/junit-jupiter-params-5.10.0.jar:/config/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar:/config/.m2/repository/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar:"/>
<property name="sun.cpu.endian" value="little"/> <property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="/config"/> <property name="user.home" value="/config"/>
<property name="user.language" value="en"/> <property name="user.language" value="en"/>
@ -22,12 +22,12 @@
<property name="java.version.date" value="2025-10-21"/> <property name="java.version.date" value="2025-10-21"/>
<property name="java.home" value="/usr/lib/jvm/java-21-openjdk-amd64"/> <property name="java.home" value="/usr/lib/jvm/java-21-openjdk-amd64"/>
<property name="file.separator" value="/"/> <property name="file.separator" value="/"/>
<property name="basedir" value="/config/workspace/Schule/jdbc_konsolen_projekt"/> <property name="basedir" value="/config/workspace/SchuleB/jdbc_konsolen_projekt"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/> <property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/> <property name="line.separator" value="&#10;"/>
<property name="java.specification.name" value="Java Platform API Specification"/> <property name="java.specification.name" value="Java Platform API Specification"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/> <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="surefire.real.class.path" value="/config/workspace/Schule/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211104402476_3.jar"/> <property name="surefire.real.class.path" value="/config/workspace/SchuleB/jdbc_konsolen_projekt/target/surefire/surefirebooter-20251211121627585_3.jar"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/> <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="21.0.9+10-Ubuntu-124.04"/> <property name="java.runtime.version" value="21.0.9+10-Ubuntu-124.04"/>
<property name="user.name" value="abc"/> <property name="user.name" value="abc"/>
@ -41,7 +41,7 @@
<property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-21"/> <property name="java.vendor.url.bug" value="https://bugs.launchpad.net/ubuntu/+source/openjdk-21"/>
<property name="java.io.tmpdir" value="/tmp"/> <property name="java.io.tmpdir" value="/tmp"/>
<property name="java.version" value="21.0.9"/> <property name="java.version" value="21.0.9"/>
<property name="user.dir" value="/config/workspace/Schule/jdbc_konsolen_projekt"/> <property name="user.dir" value="/config/workspace/SchuleB/jdbc_konsolen_projekt"/>
<property name="os.arch" value="amd64"/> <property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/> <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="native.encoding" value="UTF-8"/> <property name="native.encoding" value="UTF-8"/>
@ -53,5 +53,5 @@
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/> <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="65.0"/> <property name="java.class.version" value="65.0"/>
</properties> </properties>
<testcase name="testImport" classname="de.antco.projekt.importers.CsvPersonImporterTest" time="0.005"/> <testcase name="testImport" classname="de.antco.projekt.importers.CsvPersonImporterTest" time="0.025"/>
</testsuite> </testsuite>

View file

@ -1,4 +1,4 @@
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Test set: de.antco.projekt.exporters.CsvPersonExporterTest Test set: de.antco.projekt.exporters.CsvPersonExporterTest
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.235 s -- in de.antco.projekt.exporters.CsvPersonExporterTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.313 s -- in de.antco.projekt.exporters.CsvPersonExporterTest

View file

@ -1,4 +1,4 @@
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Test set: de.antco.projekt.importers.CsvPersonImporterTest Test set: de.antco.projekt.importers.CsvPersonImporterTest
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s -- in de.antco.projekt.importers.CsvPersonImporterTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.032 s -- in de.antco.projekt.importers.CsvPersonImporterTest

2
test.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash
mvn test