From a2438e2391d804b8f8b8a4950c081e318abb2dc3 Mon Sep 17 00:00:00 2001 From: AdrianBalunan Date: Thu, 12 Mar 2026 13:46:38 +0100 Subject: [PATCH] Fix: Apparently org_number isn't unique, added back UUID. --- .../sytemutvikling/team6/HmHApplication.java | 20 ++++++++++--------- .../sytemutvikling/team6/models/Charity.java | 9 +++++++++ .../team6/scraper/APICharityScraper.java | 2 -- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/HmHApplication.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/HmHApplication.java index 9535409..8a5a2e5 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/HmHApplication.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/HmHApplication.java @@ -17,27 +17,29 @@ public static void main(String[] args) { } public static void init(){ + /* Test and create tables to MySQL if ain't any */ + try { + DatabaseManager db = new DatabaseManager(); + db.testConnection(); + db.createTables(); + } catch (Exception e){ + e.printStackTrace(); + } + /* Test and get data from Innsamlingkontrollen API */ try { HttpClient https = HttpClient.newHttpClient(); APICharityScraper scraper = new APICharityScraper(https); + DatabaseManager db = new DatabaseManager(); if (scraper.checkConnection()){ CharityRegistry charityRegistry = scraper.parseJSON(scraper.getJSONData()); for (Charity charity : charityRegistry.getAllCharities()){ System.out.println(charity.toString()); } + db.addAPIDataToTable(charityRegistry.getAllCharities()); } } catch (Exception e){ e.printStackTrace(); } - - try { - DatabaseManager db = new DatabaseManager(); - db.testConnection(); - db.createTables(); - } catch (Exception e){ - e.printStackTrace(); - } - } } diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java index 88bc001..af00476 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java @@ -8,9 +8,13 @@ import java.util.ArrayList; import java.util.List; +import java.util.UUID; public class Charity { /* UUID for uniquely identifying each charity */ + private UUID UUID; + + /* Org_number from API, apparently not unique */ private String org_number; /* Name of the charity */ @@ -43,6 +47,7 @@ public class Charity { */ public Charity(String org_number, String name, String description, String category, boolean is_pre_approved, String status) { + this.UUID = java.util.UUID.randomUUID(); this.org_number = org_number == null ? "" : org_number.replaceAll("\\s", ""); this.name = name; this.description = description; @@ -64,6 +69,7 @@ public Charity(String org_number, String name, String description, String catego */ public Charity(String org_number, String link, String name, boolean is_pre_approved, String status) { + this.UUID = java.util.UUID.randomUUID(); this.org_number = org_number.replaceAll("\\s", ""); this.name = name; this.description = "Les mer her: " + link; @@ -74,6 +80,9 @@ public Charity(String org_number, String link, String name, boolean is_pre_appro } /** Getters for the charity's attributes. */ + public UUID getUUID() { + return UUID; + } public String getOrg_number() { return org_number; } diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/scraper/APICharityScraper.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/scraper/APICharityScraper.java index 7668cc4..5685cfe 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/scraper/APICharityScraper.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/scraper/APICharityScraper.java @@ -25,7 +25,6 @@ public class APICharityScraper { private final HttpClient client; private final HttpRequest request; - private final DatabaseConnection connection; private final static String API_url = "https://app.innsamlingskontrollen.no/api/public/v1/all"; /** @@ -40,7 +39,6 @@ public APICharityScraper(HttpClient client) throws URISyntaxException { .uri(new URI(API_url)) .GET() .build(); - this.connection = new DatabaseConnection(); } /**