From 0b8946f55dca67c3d9798cec8eeff81630a4bfc8 Mon Sep 17 00:00:00 2001 From: Alexander Woestmann Date: Fri, 2 Aug 2024 07:16:42 +0200 Subject: [PATCH 01/11] Update csv import script column names to be more consistens with db schema --- data/db/import_csv.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data/db/import_csv.sql b/data/db/import_csv.sql index 91a5391d..0cecd05a 100644 --- a/data/db/import_csv.sql +++ b/data/db/import_csv.sql @@ -1,7 +1,7 @@ --Script to import data from a csv input into the auik database --Expected filename is: import.csv --Expected format is: ---Klassifizierung,Wirtschaftszweig,Firmenname,Name,Vorname,E-Mail,Telefon,Mobiltelefon,Plz,Ort,Straße,Hausnr.,Zusatz,Bermerkung +--Klassifizierung,Wirtschaftszweig,Firmenname,Name,Vorname,E-Mail,Telefon,Fax,Plz,Ort,Straße,Hausnr.,Zusatz,Bermerkung --(Header is suported, Expected delimiter: ,) BEGIN; @@ -15,7 +15,7 @@ CREATE TEMP TABLE temp_import ( vorname character varying(255), email character varying(255), telefon character varying(255), - mobil character varying(255), + fax character varying(255), plz character varying(255), ort character varying(255), strasse character varying(255), @@ -32,7 +32,7 @@ CREATE OR REPLACE FUNCTION insert_row( vorname character varying(255), email character varying(255), telefon character varying(255), - mobil character varying(255), + fax character varying(255), plz character varying(255), ort character varying(255), strasse character varying(255), @@ -67,7 +67,7 @@ BEGIN -- Insert inhaber INSERT INTO basis.inhaber (adresseid, name, namebetrbeauf, vornamebetrbeauf, telefon, telefax, email, bemerkungen, wirtschaftszweigid, namezus) - VALUES (address_id, firmenname, name, vorname, telefon, mobil, email, bemerkung, wirtschaftszweig_id, klassifizierung); + VALUES (address_id, firmenname, name, vorname, telefon, fax, email, bemerkung, wirtschaftszweig_id, klassifizierung); END; $$ LANGUAGE plpgsql; @@ -75,7 +75,7 @@ LANGUAGE plpgsql; -- Copy import data to temporary table COPY temp_import( klassifizierung, wirtschaftszweig, firmenname, - name, vorname, email, telefon, mobil, plz, ort, strasse, + name, vorname, email, telefon, fax, plz, ort, strasse, hausnr, zusatz, bemerkung) FROM '/opt/auik_db/import.csv' DELIMITER ',' @@ -97,7 +97,7 @@ BEGIN resultRow.vorname, resultRow.email, resultRow.telefon, - resultRow.mobil, + resultRow.fax, resultRow.plz, resultRow.ort, resultRow.strasse, From 5d2f1520f886f4b51f7db60731b8314dc07c0232 Mon Sep 17 00:00:00 2001 From: Tom Gottfried Date: Thu, 15 Aug 2024 08:19:40 +0200 Subject: [PATCH 02/11] Fix file path --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 94193e84..77230403 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Das AUI-K Handbuch ist als pdf-Datei unter [doc/AUI-K_Handbuch.pdf](doc/AUI-K_Ha ## Datenimport -Mithilfe des mitgelieferten [SQL-Skripts](data/db/import_csv.sql_) können Adressdaten als CSV in die Datenbank importiert werden. +Mithilfe des mitgelieferten [SQL-Skripts](data/db/import_csv.sql) können Adressdaten als CSV in die Datenbank importiert werden. Das entsprechende CSV muss dabei die folgenden Spalten enthalten: ```csv From df3565e1054933df072a9ff778b5e4e4625d3afc Mon Sep 17 00:00:00 2001 From: Alexander Woestmann Date: Thu, 15 Aug 2024 11:29:51 +0200 Subject: [PATCH 03/11] Update description of csv import columns in README.md --- README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 77230403..5739f073 100644 --- a/README.md +++ b/README.md @@ -81,10 +81,23 @@ Das AUI-K Handbuch ist als pdf-Datei unter [doc/AUI-K_Handbuch.pdf](doc/AUI-K_Ha ## Datenimport Mithilfe des mitgelieferten [SQL-Skripts](data/db/import_csv.sql) können Adressdaten als CSV in die Datenbank importiert werden. -Das entsprechende CSV muss dabei die folgenden Spalten enthalten: +Das entsprechende CSV muss dabei die folgenden Spalten entsprechend der Datenbank (vergl. [DB-Schema](data/db/version1_0_schema.sql))enthalten: ```csv -Klassifizierung,Wirtschaftszweig,Firmenname,Name,Vorname,E-Mail,Telefon,Fax,Plz,Ort,Straße,Hausnr.,Zusatz,Bemerkung +basis.inhaber.namezus +basis.wirtschaftszweig.wirtschaftszweig +basis.inhaber.name +basis.inhaber.namebetrbeauf +basis.inhaber.vornamebetrbeauf +basis.inhaber.email +basis.inhaber.telefon +basis.inhaber.telefax +basis.adresse.plz +basis.adresse.ort +basis.adresse.strasse +basis.adresse.hausnr +basis.adresse.hausnrzus +basis.inhaber.bemerkung ``` Die [CSV Beispieldatei](data/db/import.csv) kann hier als Vorlage dienen. From e0ddd0ea9e71705263f9c30d0e2ee66fd7aa5bb9 Mon Sep 17 00:00:00 2001 From: Tom Gottfried Date: Thu, 15 Aug 2024 11:38:09 +0200 Subject: [PATCH 04/11] Avoid hard coded path to import data Using client-side copy will also allow using the script with other clients than on the database server. Drops unused serial key on temporary table to improve readability because \copy needs the whole command on one line. --- README.md | 7 ++++--- data/db/import_csv.sql | 9 +-------- docker/init_db.sh | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 77230403..cafc2dfa 100644 --- a/README.md +++ b/README.md @@ -40,9 +40,11 @@ psql -d fisumwelt --command "CREATE EXTENSION postgis;" psql -d fisumwelt --command "CREATE USER auikadmin with password 'secret';" psql -d fisumwelt -f version1_0_schema.sql psql -d fisumwelt -f updateTo_1_1_0.sql -psql -d fisumwelt -f import_csv.sql ``` +Optional können Beispiel-Daten [importiert](#datenimport) werden. +Im Docker-Setup erfolgt das automatisch. + ### Konfigurieren der Anwendung Vor dem Starten der Anwendung muss in der `auik.properties` der Eintrag `auik.system.dburl` gesetzt werden um die Verbindung mit der Datenbank zu ermöglichen. @@ -93,8 +95,7 @@ Der Import selbst lässt sich bspw. über eine Kommandozeile auslösen: ```bash cd data/db -psql -d fisumwelt -f import_csv.sql +psql -d fisumwelt -f import_csv.sql Date: Thu, 15 Aug 2024 12:07:09 +0200 Subject: [PATCH 05/11] Avoid creating permanent database objects in import script Creating a function within the script prevented running the script on the same database again as another user without privilege to recreate the function. --- data/db/import_csv.sql | 97 ++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 64 deletions(-) diff --git a/data/db/import_csv.sql b/data/db/import_csv.sql index 95a0b4b4..912bc613 100644 --- a/data/db/import_csv.sql +++ b/data/db/import_csv.sql @@ -23,54 +23,6 @@ CREATE TEMP TABLE temp_import ( bemerkung character varying(255) ); -CREATE OR REPLACE FUNCTION insert_row( - klassifizierung character varying(255), - wirtschaftszweig_name character varying(255), - firmenname character varying(255), - name character varying(255), - vorname character varying(255), - email character varying(255), - telefon character varying(255), - fax character varying(255), - plz character varying(255), - ort character varying(255), - strasse character varying(255), - hausnr integer, - zusatz character varying(255), - bemerkung character varying(255) -) -RETURNS void -AS $$ -DECLARE - address_id integer; - wirtschaftszweig_id integer; -BEGIN - -- Insert basis.adresse part and return id - INSERT INTO basis.adresse (strasse, hausnr, hausnrzus, plz, ort) - VALUES (strasse, hausnr, zusatz, plz, ort) - RETURNING id INTO address_id; - -- Get or insert wirtschaftszweig - IF EXISTS (SELECT 1 FROM basis.wirtschaftszweig WHERE wirtschaftszweig = wirtschaftszweig_name) THEN - SELECT id INTO wirtschaftszweig_id - FROM basis.wirtschaftszweig - WHERE wirtschaftszweig = wirtschaftszweig_name; - ELSE - INSERT INTO basis.wirtschaftszweig (id, wirtschaftszweig) - VALUES ( - (SELECT COALESCE(MAX(id) + 1, 0) FROM basis.wirtschaftszweig), - wirtschaftszweig_name - ); - SELECT MAX(id) FROM basis.wirtschaftszweig INTO wirtschaftszweig_id; - END IF; - - -- Insert inhaber - INSERT INTO basis.inhaber (adresseid, name, namebetrbeauf, vornamebetrbeauf, telefon, telefax, email, - bemerkungen, wirtschaftszweigid, namezus) - VALUES (address_id, firmenname, name, vorname, telefon, fax, email, bemerkung, wirtschaftszweig_id, klassifizierung); -END; -$$ -LANGUAGE plpgsql; - -- Copy import data to temporary table \copy temp_import FROM pstdin (FORMAT csv, HEADER true) @@ -78,26 +30,43 @@ LANGUAGE plpgsql; DO $$ DECLARE resultRow RECORD; + address_id integer; + wirtschaftszweig_id integer; BEGIN FOR resultRow IN SELECT * FROM temp_import LOOP - PERFORM insert_row( - resultRow.klassifizierung , - resultRow.wirtschaftszweig, - resultRow.firmenname, - resultRow.name, - resultRow.vorname, - resultRow.email, - resultRow.telefon, - resultRow.fax, - resultRow.plz, - resultRow.ort, - resultRow.strasse, - resultRow.hausnr, - resultRow.zusatz, - resultRow.bemerkung - ); + -- Insert basis.adresse part and return id + INSERT INTO basis.adresse (strasse, hausnr, hausnrzus, plz, ort) + VALUES (resultRow.strasse, resultRow.hausnr, + resultRow.zusatz, resultRow.plz, resultRow.ort) + RETURNING id INTO address_id; + + -- Get or insert wirtschaftszweig + IF EXISTS (SELECT 1 FROM basis.wirtschaftszweig + WHERE wirtschaftszweig = resultRow.wirtschaftszweig) THEN + SELECT id INTO wirtschaftszweig_id + FROM basis.wirtschaftszweig + WHERE wirtschaftszweig = resultRow.wirtschaftszweig; + ELSE + INSERT INTO basis.wirtschaftszweig (id, wirtschaftszweig) + VALUES ( + (SELECT COALESCE(MAX(id) + 1, 0) FROM basis.wirtschaftszweig), + resultRow.wirtschaftszweig + ); + SELECT MAX(id) FROM basis.wirtschaftszweig INTO wirtschaftszweig_id; + END IF; + + -- Insert inhaber + INSERT INTO basis.inhaber ( + adresseid, name, namebetrbeauf, vornamebetrbeauf, + telefon, telefax, email, + bemerkungen, wirtschaftszweigid, namezus) + VALUES (address_id, resultRow.firmenname, + resultRow.name, resultRow.vorname, + resultRow.telefon, resultRow.fax, resultRow.email, + resultRow.bemerkung, wirtschaftszweig_id, + resultRow.klassifizierung); END LOOP; END $$; From 310f3e4302c46bde14b5577d66185885a1b0aa13 Mon Sep 17 00:00:00 2001 From: Tom Gottfried Date: Thu, 15 Aug 2024 13:26:32 +0200 Subject: [PATCH 06/11] Clarify and unify handling of column names --- README.md | 8 ++++++-- data/db/import.csv | 2 +- data/db/import_csv.sql | 32 +++++++++++++++----------------- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index cafc2dfa..c852c361 100644 --- a/README.md +++ b/README.md @@ -83,12 +83,16 @@ Das AUI-K Handbuch ist als pdf-Datei unter [doc/AUI-K_Handbuch.pdf](doc/AUI-K_Ha ## Datenimport Mithilfe des mitgelieferten [SQL-Skripts](data/db/import_csv.sql) können Adressdaten als CSV in die Datenbank importiert werden. -Das entsprechende CSV muss dabei die folgenden Spalten enthalten: +Die entsprechende CSV-Datei muss eine Titel-Zeile und folgende Spalten enthalten: ```csv -Klassifizierung,Wirtschaftszweig,Firmenname,Name,Vorname,E-Mail,Telefon,Fax,Plz,Ort,Straße,Hausnr.,Zusatz,Bemerkung +namezus,wirtschaftszweig,name,namebetrbeauf,vornamebetrbeauf,email,telefon,telefax,plz,ort,strasse,hausnr,hausnrzus,bemerkungen ``` +Tatsächlich wird die erste Zeile der CSV-Datei ignoriert, +aber der Inhalt der Spalten muss den genannten Spalten im Datenbank-Schema +entsprechen. + Die [CSV Beispieldatei](data/db/import.csv) kann hier als Vorlage dienen. Der Import selbst lässt sich bspw. über eine Kommandozeile auslösen: diff --git a/data/db/import.csv b/data/db/import.csv index a1b432bc..b8abdd5d 100644 --- a/data/db/import.csv +++ b/data/db/import.csv @@ -1,3 +1,3 @@ -Klassifizierung,Wirtschaftszweig,Firmenname,Name,Vorname,E-Mail,Telefon,Fax,Plz,Ort,Straße,Hausnr.,Zusatz,Bemerkung +namezus,wirtschaftszweig,name,namebetrbeauf,vornamebetrbeauf,email,telefon,telefax,plz,ort,strasse,hausnr,hausnrzus,bemerkungen Beispielklassifizerung,12.11. Beispielwirtschaftszweig,Muster GmbH,Mustermann,Max,max.mustermann@example.test,01234-123123,01234-321321,33602,Bielefeld,August-Bebel-Straße,75,,Bemerkung1 Beispielklassifizerung,12.12. Beispielwirtschaftszweig2,Muster eG,Mustermann,Erika,erika.mustermann@example.test,01234-543543,01234-345345,33602,Bielefeld,August-Bebel-Straße,75,a,Bemerkung2 diff --git a/data/db/import_csv.sql b/data/db/import_csv.sql index 912bc613..fd4e55f1 100644 --- a/data/db/import_csv.sql +++ b/data/db/import_csv.sql @@ -1,26 +1,24 @@ ---Script to import data from a csv input into the auik database ---Expected filename is: import.csv ---Expected format is: ---Klassifizierung,Wirtschaftszweig,Firmenname,Name,Vorname,E-Mail,Telefon,Fax,Plz,Ort,Straße,Hausnr.,Zusatz,Bermerkung ---(Header is suported, Expected delimiter: ,) +-- Script to import data from a CSV input into the AUI-K database. +-- Expected format is a CSV file with header matching the temporary +-- table created in this script. BEGIN; -- Create temporary import table CREATE TEMP TABLE temp_import ( - klassifizierung character varying(255), + namezus character varying(255), wirtschaftszweig character varying(255), - firmenname character varying(255), name character varying(255), - vorname character varying(255), + namebetrbeauf character varying(255), + vornamebetrbeauf character varying(255), email character varying(255), telefon character varying(255), - fax character varying(255), + telefax character varying(255), plz character varying(255), ort character varying(255), strasse character varying(255), hausnr integer, - zusatz character varying(255), - bemerkung character varying(255) + hausnrzus character varying(255), + bemerkungen character varying(255) ); -- Copy import data to temporary table @@ -39,7 +37,7 @@ BEGIN -- Insert basis.adresse part and return id INSERT INTO basis.adresse (strasse, hausnr, hausnrzus, plz, ort) VALUES (resultRow.strasse, resultRow.hausnr, - resultRow.zusatz, resultRow.plz, resultRow.ort) + resultRow.hausnrzus, resultRow.plz, resultRow.ort) RETURNING id INTO address_id; -- Get or insert wirtschaftszweig @@ -62,11 +60,11 @@ BEGIN adresseid, name, namebetrbeauf, vornamebetrbeauf, telefon, telefax, email, bemerkungen, wirtschaftszweigid, namezus) - VALUES (address_id, resultRow.firmenname, - resultRow.name, resultRow.vorname, - resultRow.telefon, resultRow.fax, resultRow.email, - resultRow.bemerkung, wirtschaftszweig_id, - resultRow.klassifizierung); + VALUES (address_id, resultRow.name, + resultRow.namebetrbeauf, resultRow.vornamebetrbeauf, + resultRow.telefon, resultRow.telefax, resultRow.email, + resultRow.bemerkungen, wirtschaftszweig_id, + resultRow.namezus); END LOOP; END $$; From 034f94c73199b432be7814e9ab1f4fdb9d9e9b45 Mon Sep 17 00:00:00 2001 From: Tom Gottfried Date: Thu, 15 Aug 2024 13:43:37 +0200 Subject: [PATCH 07/11] Simplify --- data/db/import_csv.sql | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/data/db/import_csv.sql b/data/db/import_csv.sql index fd4e55f1..282d81c1 100644 --- a/data/db/import_csv.sql +++ b/data/db/import_csv.sql @@ -50,9 +50,8 @@ BEGIN INSERT INTO basis.wirtschaftszweig (id, wirtschaftszweig) VALUES ( (SELECT COALESCE(MAX(id) + 1, 0) FROM basis.wirtschaftszweig), - resultRow.wirtschaftszweig - ); - SELECT MAX(id) FROM basis.wirtschaftszweig INTO wirtschaftszweig_id; + resultRow.wirtschaftszweig) + RETURNING id INTO wirtschaftszweig_id; END IF; -- Insert inhaber From 539907634e91f07d7b9325ecf72b4ef4ac791a25 Mon Sep 17 00:00:00 2001 From: Tom Gottfried Date: Thu, 15 Aug 2024 17:28:09 +0200 Subject: [PATCH 08/11] Avoid creating empty entries in basis.wirtschaftszweig --- data/db/import_csv.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/db/import_csv.sql b/data/db/import_csv.sql index 282d81c1..01fdec20 100644 --- a/data/db/import_csv.sql +++ b/data/db/import_csv.sql @@ -41,7 +41,9 @@ BEGIN RETURNING id INTO address_id; -- Get or insert wirtschaftszweig - IF EXISTS (SELECT 1 FROM basis.wirtschaftszweig + IF resultRow.wirtschaftszweig IS NULL THEN + wirtschaftszweig_id = null; + ELSEIF EXISTS (SELECT 1 FROM basis.wirtschaftszweig WHERE wirtschaftszweig = resultRow.wirtschaftszweig) THEN SELECT id INTO wirtschaftszweig_id FROM basis.wirtschaftszweig From 76fa648aa64c1da2d5cfca7dc7a0615a30e67c91 Mon Sep 17 00:00:00 2001 From: Alexander Woestmann Date: Fri, 16 Aug 2024 10:55:29 +0200 Subject: [PATCH 09/11] Add types to generic JComboBox instances in BetreiberEditor This avoids unnecessary String.toString() calls --- .../common/editors/BetreiberEditor.java | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java b/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java index 4f578502..8db6ca71 100755 --- a/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java +++ b/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java @@ -152,12 +152,12 @@ public class BetreiberEditor extends AbstractApplyEditor { private JCheckBox daten_esatzungCheck; private JCheckBox daten_whgCheck; private JCheckBox ueberschgebCheck; - private JComboBox strassenBox; - private JComboBox wirtschaftszweigBox; - private JComboBox gemarkungBox; - private JComboBox entwGebBox; - private JComboBox standortGgBox; - private JComboBox wEinzugsGebBox; + private JComboBox strassenBox; + private JComboBox wirtschaftszweigBox; + private JComboBox gemarkungBox; + private JComboBox entwGebBox; + private JComboBox standortGgBox; + private JComboBox wEinzugsGebBox; private Gemarkung[] gemarkungen = null; @@ -237,11 +237,11 @@ protected JComponent buildContentArea() { flurFeld = new LimitedTextField(50); flurStkFeld = new LimitedTextField(50); - gemarkungBox = new JComboBox(); - entwGebBox = new JComboBox(); + gemarkungBox = new JComboBox(); + entwGebBox = new JComboBox(); // entwGebBox.setEditable(true); - standortGgBox = new JComboBox(); - wEinzugsGebBox = new JComboBox(); + standortGgBox = new JComboBox(); + wEinzugsGebBox = new JComboBox(); bemerkungsArea = new LimitedTextArea(2000); bemerkungsArea.setLineWrap(true); @@ -249,7 +249,7 @@ protected JComponent buildContentArea() { JScrollPane bemerkungsScroller = new JScrollPane(bemerkungsArea, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); - wirtschaftszweigBox = new JComboBox(); + wirtschaftszweigBox = new JComboBox(); wirtschaftszweigBox.setRenderer(new LongNameComboBoxRenderer()); // Der folgende KeyListener wird benutzt um bei Enter @@ -505,7 +505,7 @@ protected void doNonUILogic() throws RuntimeException { protected void doUIUpdateLogic() throws RuntimeException { if (tabstreets != null) { - strassenBox.setModel(new DefaultComboBoxModel(tabstreets)); + strassenBox.setModel(new DefaultComboBoxModel(tabstreets)); } if (adressenTabelle != null) { @@ -528,29 +528,31 @@ protected void doUIUpdateLogic() throws RuntimeException { } if (wirtschaftszweige != null) { - wirtschaftszweigBox.setModel(new DefaultComboBoxModel(wirtschaftszweige)); + wirtschaftszweigBox.setModel(new DefaultComboBoxModel(wirtschaftszweige)); wirtschaftszweigBox.setSelectedItem(getBetreiber().getWirtschaftszweig()); } if (gemarkungen != null) { - gemarkungBox.setModel(new DefaultComboBoxModel(gemarkungen)); + gemarkungBox.setModel(new DefaultComboBoxModel(gemarkungen)); gemarkungBox.setSelectedItem(adresse.getGemarkung()); } if (standortggs != null) { - standortGgBox.setModel(new DefaultComboBoxModel(standortggs)); + standortGgBox.setModel( + new DefaultComboBoxModel(standortggs)); standortGgBox.setSelectedItem(adresse.getStandortgghwsg()); } if (entwgebiete != null) { - entwGebBox.setModel(new DefaultComboBoxModel(entwgebiete)); + entwGebBox.setModel( + new DefaultComboBoxModel(entwgebiete)); entwGebBox.setSelectedItem(adresse.getEntgebid()); } if (wEinzugsgebiete != null) { - wEinzugsGebBox.setModel(new DefaultComboBoxModel(wEinzugsgebiete)); + wEinzugsGebBox.setModel(new DefaultComboBoxModel(wEinzugsgebiete)); wEinzugsGebBox.setSelectedItem(adresse.getWassereinzugsgebiet()); } @@ -1061,7 +1063,7 @@ public void updateAdresse() { private Component getStrassenBox() { - strassenBox = new JComboBox(); + strassenBox = new JComboBox(); strassenBox.setRenderer(new LongNameComboBoxRenderer()); strassenBox.setEnabled(false); @@ -1079,7 +1081,7 @@ private final class BetreiberListener implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource() == strassenBox) { - adressenModel.setStrasse(strassenBox.getSelectedItem().toString()); + adressenModel.setStrasse((String) strassenBox.getSelectedItem()); adressenModel.updateList(); } @@ -1148,4 +1150,4 @@ protected void doApply() { } } -} \ No newline at end of file +} From 6f5b0049b2c946920f6623753662951d14038946 Mon Sep 17 00:00:00 2001 From: Alexander Woestmann Date: Fri, 16 Aug 2024 11:06:37 +0200 Subject: [PATCH 10/11] Remove unused imports and varialbes from BetreiberEditor --- .../common/editors/BetreiberEditor.java | 30 ++----------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java b/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java index 8db6ca71..b183157e 100755 --- a/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java +++ b/src/de/bielefeld/umweltamt/aui/module/common/editors/BetreiberEditor.java @@ -25,17 +25,11 @@ import java.awt.Component; import java.awt.Font; import java.awt.Point; -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.Transferable; -import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; -import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -46,7 +40,6 @@ import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.DefaultComboBoxModel; -import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JComponent; @@ -63,9 +56,6 @@ import javax.swing.ListSelectionModel; import javax.swing.ScrollPaneConstants; -import org.ehcache.core.statistics.LowerCachingTierOperationsOutcome.GetAndRemoveOutcome; -import org.hibernate.criterion.MatchMode; - import com.jgoodies.forms.builder.PanelBuilder; import com.jgoodies.forms.factories.Paddings; import com.jgoodies.forms.layout.CellConstraints; @@ -77,32 +67,20 @@ import de.bielefeld.umweltamt.aui.mappings.basis.Adresse; import de.bielefeld.umweltamt.aui.mappings.basis.Gemarkung; import de.bielefeld.umweltamt.aui.mappings.basis.Inhaber; -import de.bielefeld.umweltamt.aui.mappings.basis.Objekt; -import de.bielefeld.umweltamt.aui.mappings.basis.Objektchrono; import de.bielefeld.umweltamt.aui.mappings.basis.Standort; -import de.bielefeld.umweltamt.aui.mappings.basis.Orte; import de.bielefeld.umweltamt.aui.mappings.basis.TabStreets; import de.bielefeld.umweltamt.aui.mappings.awsv.Standortgghwsg; import de.bielefeld.umweltamt.aui.mappings.awsv.Wassereinzugsgebiet; import de.bielefeld.umweltamt.aui.mappings.basis.Wirtschaftszweig; -import de.bielefeld.umweltamt.aui.mappings.indeinl.Anh49Abscheiderdetails; -import de.bielefeld.umweltamt.aui.module.BasisAdresseNeu; -import de.bielefeld.umweltamt.aui.module.BasisAdresseSuchen; -import de.bielefeld.umweltamt.aui.module.BasisStandortSuchen; import de.bielefeld.umweltamt.aui.module.common.tablemodels.BasisStdModel; import de.bielefeld.umweltamt.aui.module.common.tablemodels.BasisTabStreetsModel; -import de.bielefeld.umweltamt.aui.module.objektpanels.BasisPanel; import de.bielefeld.umweltamt.aui.module.common.AdresseChooser; -import de.bielefeld.umweltamt.aui.module.common.tablemodels.BasisAdresseModel; import de.bielefeld.umweltamt.aui.utils.AuikLogger; import de.bielefeld.umweltamt.aui.utils.AuikUtils; -import de.bielefeld.umweltamt.aui.utils.DateUtils; -import de.bielefeld.umweltamt.aui.utils.DoubleField; import de.bielefeld.umweltamt.aui.utils.IntegerField; import de.bielefeld.umweltamt.aui.utils.LimitedTextArea; import de.bielefeld.umweltamt.aui.utils.LimitedTextField; import de.bielefeld.umweltamt.aui.utils.LongNameComboBoxRenderer; -import de.bielefeld.umweltamt.aui.utils.StringUtils; import de.bielefeld.umweltamt.aui.utils.SwingWorkerVariant; /** @@ -166,7 +144,6 @@ public class BetreiberEditor extends AbstractApplyEditor { private Wassereinzugsgebiet[] wEinzugsgebiete = null; private Wirtschaftszweig[] wirtschaftszweige = null; private String[] tabstreets = null; - private String street = null; private Action standortLoeschAction; private Action standortNeuAction; @@ -865,16 +842,13 @@ protected boolean doSave() { getBetreiber().setRevidatum(Calendar.getInstance().getTime()); List adrStdListe = this.standorteModel.getList(); - boolean gespeichert = true; for (int i = 0; i < adrStdListe.size(); i++) { Standort std = (Standort) adrStdListe.get(i); - gespeichert = std.merge(); + std.merge(); } - - Standort standort = (Standort) standorteModel.getObjectAtRow(0); getBetreiber().merge(); return true; @@ -1049,7 +1023,7 @@ public void updateAdresse() { inhaber.setStandorts(standorts); standort.setE32(bts.getX()); standort.setN32(bts.getY()); - List std = new ArrayList(); + List std = new ArrayList(); for (Standort x : standorts) std.add(x); standorteModel.setList(std); From c27982d19f2dc4b9b3c93f48d10d03cbe7d7cf63 Mon Sep 17 00:00:00 2001 From: Tom Gottfried Date: Fri, 16 Aug 2024 12:16:48 +0200 Subject: [PATCH 11/11] Document that some data are only loaded at application start Closes #210. --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index c852c361..12b62531 100644 --- a/README.md +++ b/README.md @@ -103,3 +103,7 @@ psql -d fisumwelt -f import_csv.sql