From 6e87fd1b8d7bc33fdf393357e359eb9459e1f155 Mon Sep 17 00:00:00 2001 From: Artur Kruszewski Date: Wed, 8 Jul 2026 23:23:56 +0200 Subject: [PATCH] T11: Organization, Company, link entities + round-trip [checkpoint] --- PLAN.md | 3 +- szpitale-graph/local-agent-progress.json | 10 +- .../szpitale/ingest/CanonicalWriter.java | 3 +- .../szpitale/load/CanonicalReader.java | 7 + .../szpitale/model/CanonicalDataset.java | 29 +++- .../com/developx/szpitale/model/Company.java | 15 ++ .../developx/szpitale/model/Organization.java | 14 ++ .../szpitale/model/OrganizationLink.java | 15 ++ .../szpitale/model/PersonCompanyLink.java | 15 ++ .../model/PersonOrganizationLink.java | 15 ++ .../szpitale/model/enums/LinkBasis.java | 7 + .../OrganizationCompanyRoundTripTest.java | 133 ++++++++++++++++++ .../szpitale/load/CanonicalRoundTripTest.java | 3 +- .../szpitale/ingest/CanonicalWriter.class | Bin 14147 -> 14246 bytes .../szpitale/load/CanonicalReader.class | Bin 5351 -> 5589 bytes .../szpitale/model/CanonicalDataset.class | Bin 4296 -> 7215 bytes .../com/developx/szpitale/model/Company.class | Bin 0 -> 2878 bytes .../szpitale/model/Organization.class | Bin 0 -> 2698 bytes .../szpitale/model/OrganizationLink.class | Bin 0 -> 2936 bytes .../szpitale/model/PersonCompanyLink.class | Bin 0 -> 2918 bytes .../model/PersonOrganizationLink.class | Bin 0 -> 2958 bytes .../szpitale/model/enums/LinkBasis.class | Bin 0 -> 1256 bytes .../compile/default-compile/createdFiles.lst | 6 + .../compile/default-compile/inputFiles.lst | 6 + .../default-testCompile/createdFiles.lst | 3 +- .../default-testCompile/inputFiles.lst | 1 + ...ngest.OrganizationCompanyRoundTripTest.xml | 59 ++++++++ ...tale.ingest.normalize.DeduplicatorTest.xml | 6 +- ...le.ingest.normalize.NameNormalizerTest.xml | 16 +-- ...e.ingest.normalize.PartyNormalizerTest.xml | 28 ++-- ...gest.source.MarkdownRegistrySourceTest.xml | 10 +- ...le.ingest.source.PwzRegistrySourceTest.xml | 12 +- ...x.szpitale.load.CanonicalRoundTripTest.xml | 8 +- ...com.developx.szpitale.model.PersonTest.xml | 4 +- ...ngest.OrganizationCompanyRoundTripTest.txt | 4 + ...le.ingest.normalize.NameNormalizerTest.txt | 2 +- ...e.ingest.normalize.PartyNormalizerTest.txt | 2 +- ...gest.source.MarkdownRegistrySourceTest.txt | 2 +- ...le.ingest.source.PwzRegistrySourceTest.txt | 2 +- ...x.szpitale.load.CanonicalRoundTripTest.txt | 2 +- .../target/szpitale-graph-1.0.0-SNAPSHOT.jar | Bin 24457145 -> 24465650 bytes ...szpitale-graph-1.0.0-SNAPSHOT.jar.original | Bin 69772 -> 77437 bytes .../OrganizationCompanyRoundTripTest.class | Bin 0 -> 5868 bytes .../load/CanonicalRoundTripTest.class | Bin 6239 -> 6338 bytes 44 files changed, 385 insertions(+), 57 deletions(-) create mode 100644 szpitale-graph/src/main/java/com/developx/szpitale/model/Company.java create mode 100644 szpitale-graph/src/main/java/com/developx/szpitale/model/Organization.java create mode 100644 szpitale-graph/src/main/java/com/developx/szpitale/model/OrganizationLink.java create mode 100644 szpitale-graph/src/main/java/com/developx/szpitale/model/PersonCompanyLink.java create mode 100644 szpitale-graph/src/main/java/com/developx/szpitale/model/PersonOrganizationLink.java create mode 100644 szpitale-graph/src/main/java/com/developx/szpitale/model/enums/LinkBasis.java create mode 100644 szpitale-graph/src/test/java/com/developx/szpitale/ingest/OrganizationCompanyRoundTripTest.java create mode 100644 szpitale-graph/target/classes/com/developx/szpitale/model/Company.class create mode 100644 szpitale-graph/target/classes/com/developx/szpitale/model/Organization.class create mode 100644 szpitale-graph/target/classes/com/developx/szpitale/model/OrganizationLink.class create mode 100644 szpitale-graph/target/classes/com/developx/szpitale/model/PersonCompanyLink.class create mode 100644 szpitale-graph/target/classes/com/developx/szpitale/model/PersonOrganizationLink.class create mode 100644 szpitale-graph/target/classes/com/developx/szpitale/model/enums/LinkBasis.class create mode 100644 szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.xml create mode 100644 szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.txt create mode 100644 szpitale-graph/target/test-classes/com/developx/szpitale/ingest/OrganizationCompanyRoundTripTest.class diff --git a/PLAN.md b/PLAN.md index 4c7f7fd..9da2d93 100644 --- a/PLAN.md +++ b/PLAN.md @@ -738,7 +738,7 @@ Po ukończeniu zadania agent zmienia jego status w liście poniżej i dopisuje j - [x] T8 Zielony pełny build - [x] T9 Person: title/pwzNumber - [x] T10 PwzRegistrySource -- [ ] T11 Organization/Company rekordy + round-trip +- [x] T11 Organization/Company rekordy + round-trip - [ ] T12 GraphLoader: Organization/Company [NEO4J] - [ ] T13 GraphValidator: konflikt interesów [NEO4J] @@ -752,6 +752,7 @@ Po ukończeniu zadania agent zmienia jego status w liście poniżej i dopisuje j - 2026-07-08 — PLAN.md scalony z PLAN2.md (Person.title/pwzNumber, Organization/Company, kolejka T9–T13); dostosowano §11 pod Qwen-3.6-35B-A3B. - 2026-07-08 — T9 — Person: title/pwzNumber — dodano dwa pola do record Person, zaktualizowano wszyskie konstruktory (CanonicalWriter, Deduplicator, testy). 7 testow zielonych. - 2026-07-08 — T10 — PwzRegistrySource — PwzLookupClient (functional interface) + PwzRegistrySource(lookupPwz). 4 testy zielone. +- 2026-07-08 — T11 — Organization/Company entites + round-trip — Organization, Company, PersonOrganizationLink, OrganizationLink, PersonCompanyLink + LinkBasis enum. CanonicalDataset + CanonicalReader zaktualizowane. --- diff --git a/szpitale-graph/local-agent-progress.json b/szpitale-graph/local-agent-progress.json index bd6474b..b5b11ff 100644 --- a/szpitale-graph/local-agent-progress.json +++ b/szpitale-graph/local-agent-progress.json @@ -4,7 +4,7 @@ "description": "Stan wykonania kolejki zadań lokalnego agenta (PLAN2.md §11-13). Zrodlo prawdy przy konflikcie: git log.", "resumeHint": "Wczytaj ten plik, znajdz pierwszy task o statusie todo/in_progress. Jesli in_progress i drzewo git brudne -> git checkout -- . && git clean -fd, ustaw task na todo, zacznij od zera (PLAN2.md §13.1).", "createdAt": "2026-07-07", - "updatedAt": "2026-07-08T23:11:00Z", + "updatedAt": "2026-07-08T23:23:00Z", "tasks": [ { "id": "T1", @@ -100,10 +100,10 @@ "id": "T11", "title": "Organization/Company rekordy + round-trip", "tag": null, - "status": "todo", - "startedAt": null, - "finishedAt": null, - "note": "Nowe encje kanoniczne: Organization, Company, PersonOrganizationLink, OrganizationLink, PersonCompanyLink (PLAN.md 4.8, T11)." + "status": "done", + "startedAt": "2026-07-08T23:12:00Z", + "finishedAt": "2026-07-08T23:23:00Z", + "note": "Organization, Company, PersonOrganizationLink, OrganizationLink, PersonCompanyLink rekordy + LinkBasis enum. CanonicalDataset rozszerzony o 5 pól. Round-trip test zielony." }, { "id": "T12", diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/ingest/CanonicalWriter.java b/szpitale-graph/src/main/java/com/developx/szpitale/ingest/CanonicalWriter.java index c379998..030c797 100644 --- a/szpitale-graph/src/main/java/com/developx/szpitale/ingest/CanonicalWriter.java +++ b/szpitale-graph/src/main/java/com/developx/szpitale/ingest/CanonicalWriter.java @@ -131,7 +131,8 @@ public class CanonicalWriter { CanonicalDataset dataset = new CanonicalDataset( "1.0", voivodeship, LocalDateTime.now(), - hospitals, people, affiliations, roles, List.of() + hospitals, people, affiliations, roles, List.of(), + List.of(), List.of(), List.of(), List.of(), List.of() ); Path outputFile = canonicalDir.resolve(voivodeship + ".json"); diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/load/CanonicalReader.java b/szpitale-graph/src/main/java/com/developx/szpitale/load/CanonicalReader.java index 30cd86c..a7a02f3 100644 --- a/szpitale-graph/src/main/java/com/developx/szpitale/load/CanonicalReader.java +++ b/szpitale-graph/src/main/java/com/developx/szpitale/load/CanonicalReader.java @@ -4,6 +4,7 @@ import com.developx.szpitale.model.CanonicalDataset; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -50,4 +51,10 @@ public class CanonicalReader { public CanonicalDataset readSingle(Path inputDir, String voivodeship) throws IOException { return readAll(inputDir, voivodeship).stream().findFirst().orElse(null); } + + public static CanonicalDataset readDataset(File file) throws IOException { + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new JavaTimeModule()); + return mapper.readValue(file, CanonicalDataset.class); + } } diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/model/CanonicalDataset.java b/szpitale-graph/src/main/java/com/developx/szpitale/model/CanonicalDataset.java index 1f99dcb..c341b46 100644 --- a/szpitale-graph/src/main/java/com/developx/szpitale/model/CanonicalDataset.java +++ b/szpitale-graph/src/main/java/com/developx/szpitale/model/CanonicalDataset.java @@ -13,6 +13,33 @@ public record CanonicalDataset( @JsonProperty("people") List people, @JsonProperty("affiliations") List affiliations, @JsonProperty("roles") List roles, - @JsonProperty("mandates") List mandates + @JsonProperty("mandates") List mandates, + @JsonProperty("organizations") List organizations, + @JsonProperty("companies") List companies, + @JsonProperty("personOrganizationLinks") List personOrganizationLinks, + @JsonProperty("organizationLinks") List organizationLinks, + @JsonProperty("personCompanyLinks") List personCompanyLinks ) { + public CanonicalDataset(String schemaVersion, String voivodeship, LocalDateTime generatedAt, + List hospitals, List people, + List affiliations, List roles, + List mandates, + List organizations, List companies, + List personOrganizationLinks, + List organizationLinks, + List personCompanyLinks) { + this.schemaVersion = schemaVersion; + this.voivodeship = voivodeship; + this.generatedAt = generatedAt; + this.hospitals = hospitals != null ? hospitals : List.of(); + this.people = people != null ? people : List.of(); + this.affiliations = affiliations != null ? affiliations : List.of(); + this.roles = roles != null ? roles : List.of(); + this.mandates = mandates != null ? mandates : List.of(); + this.organizations = organizations != null ? organizations : List.of(); + this.companies = companies != null ? companies : List.of(); + this.personOrganizationLinks = personOrganizationLinks != null ? personOrganizationLinks : List.of(); + this.organizationLinks = organizationLinks != null ? organizationLinks : List.of(); + this.personCompanyLinks = personCompanyLinks != null ? personCompanyLinks : List.of(); + } } diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/model/Company.java b/szpitale-graph/src/main/java/com/developx/szpitale/model/Company.java new file mode 100644 index 0000000..bc8505b --- /dev/null +++ b/szpitale-graph/src/main/java/com/developx/szpitale/model/Company.java @@ -0,0 +1,15 @@ +package com.developx.szpitale.model; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +public record Company( + @JsonProperty("id") String id, + @JsonProperty("name") String name, + @JsonProperty("krs") String krs, + @JsonProperty("nip") String nip, + @JsonProperty("ceidgId") String ceidgId, + @JsonProperty("sourceUrls") List sourceUrls +) { +} diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/model/Organization.java b/szpitale-graph/src/main/java/com/developx/szpitale/model/Organization.java new file mode 100644 index 0000000..27ccc06 --- /dev/null +++ b/szpitale-graph/src/main/java/com/developx/szpitale/model/Organization.java @@ -0,0 +1,14 @@ +package com.developx.szpitale.model; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +public record Organization( + @JsonProperty("id") String id, + @JsonProperty("name") String name, + @JsonProperty("krs") String krs, + @JsonProperty("nip") String nip, + @JsonProperty("sourceUrls") List sourceUrls +) { +} diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/model/OrganizationLink.java b/szpitale-graph/src/main/java/com/developx/szpitale/model/OrganizationLink.java new file mode 100644 index 0000000..abfad69 --- /dev/null +++ b/szpitale-graph/src/main/java/com/developx/szpitale/model/OrganizationLink.java @@ -0,0 +1,15 @@ +package com.developx.szpitale.model; + +import com.developx.szpitale.model.enums.LinkBasis; +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +public record OrganizationLink( + @JsonProperty("fromOrganizationId") String fromOrganizationId, + @JsonProperty("toOrganizationId") String toOrganizationId, + @JsonProperty("basis") LinkBasis basis, + @JsonProperty("note") String note, + @JsonProperty("sourceUrls") List sourceUrls +) { +} diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonCompanyLink.java b/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonCompanyLink.java new file mode 100644 index 0000000..c1107d1 --- /dev/null +++ b/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonCompanyLink.java @@ -0,0 +1,15 @@ +package com.developx.szpitale.model; + +import com.developx.szpitale.model.enums.LinkBasis; +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +public record PersonCompanyLink( + @JsonProperty("personId") String personId, + @JsonProperty("companyId") String companyId, + @JsonProperty("roleLabel") String roleLabel, + @JsonProperty("basis") LinkBasis basis, + @JsonProperty("sourceUrls") List sourceUrls +) { +} diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonOrganizationLink.java b/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonOrganizationLink.java new file mode 100644 index 0000000..9449870 --- /dev/null +++ b/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonOrganizationLink.java @@ -0,0 +1,15 @@ +package com.developx.szpitale.model; + +import com.developx.szpitale.model.enums.LinkBasis; +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +public record PersonOrganizationLink( + @JsonProperty("personId") String personId, + @JsonProperty("organizationId") String organizationId, + @JsonProperty("roleLabel") String roleLabel, + @JsonProperty("basis") LinkBasis basis, + @JsonProperty("sourceUrls") List sourceUrls +) { +} diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/LinkBasis.java b/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/LinkBasis.java new file mode 100644 index 0000000..806483c --- /dev/null +++ b/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/LinkBasis.java @@ -0,0 +1,7 @@ +package com.developx.szpitale.model.enums; + +public enum LinkBasis { + KRS, + NIP, + CEIDG +} diff --git a/szpitale-graph/src/test/java/com/developx/szpitale/ingest/OrganizationCompanyRoundTripTest.java b/szpitale-graph/src/test/java/com/developx/szpitale/ingest/OrganizationCompanyRoundTripTest.java new file mode 100644 index 0000000..1235f3c --- /dev/null +++ b/szpitale-graph/src/test/java/com/developx/szpitale/ingest/OrganizationCompanyRoundTripTest.java @@ -0,0 +1,133 @@ +package com.developx.szpitale.ingest; + +import com.developx.szpitale.load.CanonicalReader; +import com.developx.szpitale.model.*; +import com.developx.szpitale.model.enums.*; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.LocalDateTime; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class OrganizationCompanyRoundTripTest { + + @TempDir + Path tempDir; + + @Test + void write_thenRead_preservesOrganizationsAndCompanies() throws Exception { + Organization organization = new Organization( + "org:fundacja-xyz", + "Fundacja XYZ", + "0000123456", + null, + List.of("https://ems.ms.gov.pl/fundacja-xyz") + ); + + Company company = new Company( + "company:abc-sp-zoo", + "ABC sp. z o.o.", + "0000654321", + "1234567890", + "CEIDG123", + List.of("https://wyszukiwarka-krs.ms.gov.pl/abc") + ); + + Person person = new Person( + "person:jan-kochanowicz", + "Jan Kochanowicz", + "prof. dr hab. Jan Kochanowicz", + List.of("prof.", "dr hab."), + List.of("https://uskwb.pl/"), + "prof. dr hab.", + null + ); + + PersonOrganizationLink pol = new PersonOrganizationLink( + "person:jan-kochanowicz", + "org:fundacja-xyz", + "Prezes Zarządu", + LinkBasis.KRS, + List.of("https://ems.ms.gov.pl/fundacja-xyz") + ); + + PersonCompanyLink pcl = new PersonCompanyLink( + "person:jan-kochanowicz", + "company:abc-sp-zoo", + "Wspólnik", + LinkBasis.KRS, + List.of("https://wyszukiwarka-krs.ms.gov.pl/abc") + ); + + OrganizationLink orgLink = new OrganizationLink( + "org:fundacja-xyz", + "org:inna-fundacja", + LinkBasis.NIP, + "wspolny adres", + List.of("https://ems.ms.gov.pl/fundacja-xyz") + ); + + CanonicalDataset dataset = new CanonicalDataset( + "1.0", + "podlaskie", + LocalDateTime.now(), + List.of(), + List.of(person), + List.of(), + List.of(), + List.of(), + List.of(organization), + List.of(company), + List.of(pol), + List.of(orgLink), + List.of(pcl) + ); + + Path outputFile = tempDir.resolve("test-canonical.json"); + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new JavaTimeModule()); + mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + mapper.writeValue(outputFile.toFile(), dataset); + + CanonicalDataset readResult = CanonicalReader.readDataset(outputFile.toFile()); + + assertNotNull(readResult.organizations()); + assertNotNull(readResult.companies()); + assertNotNull(readResult.personOrganizationLinks()); + assertNotNull(readResult.organizationLinks()); + assertNotNull(readResult.personCompanyLinks()); + + assertEquals(1, readResult.organizations().size()); + assertEquals("org:fundacja-xyz", readResult.organizations().get(0).id()); + assertEquals("Fundacja XYZ", readResult.organizations().get(0).name()); + assertEquals("0000123456", readResult.organizations().get(0).krs()); + + assertEquals(1, readResult.companies().size()); + assertEquals("company:abc-sp-zoo", readResult.companies().get(0).id()); + assertEquals("ABC sp. z o.o.", readResult.companies().get(0).name()); + assertEquals("1234567890", readResult.companies().get(0).nip()); + assertEquals("CEIDG123", readResult.companies().get(0).ceidgId()); + + assertEquals(1, readResult.personOrganizationLinks().size()); + assertEquals("person:jan-kochanowicz", readResult.personOrganizationLinks().get(0).personId()); + assertEquals("org:fundacja-xyz", readResult.personOrganizationLinks().get(0).organizationId()); + assertEquals(LinkBasis.KRS, readResult.personOrganizationLinks().get(0).basis()); + + assertEquals(1, readResult.organizationLinks().size()); + assertEquals("org:fundacja-xyz", readResult.organizationLinks().get(0).fromOrganizationId()); + assertEquals("org:inna-fundacja", readResult.organizationLinks().get(0).toOrganizationId()); + assertEquals(LinkBasis.NIP, readResult.organizationLinks().get(0).basis()); + + assertEquals(1, readResult.personCompanyLinks().size()); + assertEquals("person:jan-kochanowicz", readResult.personCompanyLinks().get(0).personId()); + assertEquals("company:abc-sp-zoo", readResult.personCompanyLinks().get(0).companyId()); + assertEquals(LinkBasis.KRS, readResult.personCompanyLinks().get(0).basis()); + } +} diff --git a/szpitale-graph/src/test/java/com/developx/szpitale/load/CanonicalRoundTripTest.java b/szpitale-graph/src/test/java/com/developx/szpitale/load/CanonicalRoundTripTest.java index 743e626..351ed9e 100644 --- a/szpitale-graph/src/test/java/com/developx/szpitale/load/CanonicalRoundTripTest.java +++ b/szpitale-graph/src/test/java/com/developx/szpitale/load/CanonicalRoundTripTest.java @@ -72,7 +72,8 @@ class CanonicalRoundTripTest { List.of(person), List.of(affiliation), List.of(role), - List.of() + List.of(), + List.of(), List.of(), List.of(), List.of(), List.of() ); Path canonicalDir = tempDir.resolve("canonical"); diff --git a/szpitale-graph/target/classes/com/developx/szpitale/ingest/CanonicalWriter.class b/szpitale-graph/target/classes/com/developx/szpitale/ingest/CanonicalWriter.class index 11be567aa622ae737c2c24e8f4198091a51497e4..630e4ebc2f0a5001117822c00bcdf864aefc0586 100644 GIT binary patch delta 497 zcmYk1%S)6|7{-6+eJgWjV&>DC$+VEnS*Vy}1uNH zD5{!sda zKb6S(zC>!(i$zhoBUApJ6k9;UDBjqji5XY?fBnwpF5S=JXrejiYFil6JzUTuT-0tZ z>uIj&Aj5i|t2)Mr|GItYZ0LTtpV-k*l9IxeRN(#~B~{^mqa{@-Y1WX`A<5X>TI%$S zWNmI8P1++HO_kB6$EC{DdUoki*<`BR5_C$n)DW{Adu6lj#>L`ul9=1=^Z7zUD1mG< zUdd7FR~)5o#Zhwq9HUG51(z8m&KMa&s<}oj*J)(b_w4Y&O&c3$0~6G6iw17{JH@Qe z6?%jF)|sS&DXMs2-O1=~A?fx#w0}Gz$zv*cLMzi0dBy=E4)UC1yr7#I26)LJvy3oj z;8$in&plq-)*GJk&i`t=5xh6R2SYEI`A0*4GW2+`Xw}bF{X&i<3M~7M_H!=u%kBMt E0Y15McmMzZ delta 438 zcmXwz%S)7D6vlt=duB8%89$w`%t0iZS*VDn;-VlD1R-*x;W7nR7Pv5?L8(+; zE%K5JFAFbOeu+uBpcbwK4-=l%kLNtkdCo%5Zuf_H)Qq_6mn&RL^kE?W zJwNA|Jc>cm!GrQDac?U-q>+~3v@&60Nd~2fA!*}rP5`us4t5OX}4FEvPnv-EmXQdgWR## zlyW3Vt1YrIE=rRdsBSJxThHFm>zTZbpXY7qdEO@e=Yv1h2gY|?Vho>gig-;4Zz#vP z?={YwRNEA}OcUcBWz4wV+Na*Es&nKsPazAsnG3?nh-qHbkC%wBOabq?$trbx8dS=F5eSOav+bLqb diff --git a/szpitale-graph/target/classes/com/developx/szpitale/load/CanonicalReader.class b/szpitale-graph/target/classes/com/developx/szpitale/load/CanonicalReader.class index 172728f490231e8cd1cf52769cee288f9bf2ecdf..7eb486a55003fdf2719af79b168bf51c189e5fa8 100644 GIT binary patch delta 797 zcmY+C*-sN;6vcmEDNGrLGPI3|A}vx4J48rSOe97$Ch}&28Xrg#szDJ*LEnht784&d z&Yz*8rigKkMiE8D1p)V6aTmpXi+4s|e3^Uha?V}88Oa|k)cgJ%JqgU?_d&f)({(g9 z8g#J9>eQ+|Q`lm#m2K8`Eh|2%&2$G-V$n!_b)+rQ8f{a|&8t}*Ssy8FXf9pY&={SQ zZ|zJe$x*mhil^}YpH(ESjkL5xWASN5l~OmYXlhyTj!p`94X!g_GLV+U13U20;0jkw z9`E*K_-fMW$%vJnnpsfm;iba2AQo$mh3v5!npTBWWk`w0Yn?Z|)p%!6 z#d|B{?eTul`N){YCxg#?iH~{x%Kcq2&FVf*#I^=OKe$8C7vYJh#{#*sq+ZqyRJQvd<_{yM3pqxy6_9$cq#ZJQt5+&!MkBcG@6nu%x&S2#txnBfDl5P%5 z8yodor~H8gc~fiHKY#92dCXkV3_DsOhZm-cLk=%YKXKt@lf*TNxi~KI1XPNt+y9BR zEKpV#a;SzQpY9Osk{eR!Vvr%RMKaTmqu H7ny$n-hr}L delta 622 zcmXYu$xl;J6o^kJhtJ7=tNXOCHHmAa=V zeTnD;lM)_U++y5j-0$JB6L?}V#toZiN4=3?r@xpNPITJh5|?dW=^{i&SZx71|KY1`KX6WbETh6zVOxHo5go#vs?Tj<^HLN>sfy! zydl-!-Pbd)v?HC~zH^7cZ$+hJ=ux{$dGxg1?hD|?FDFPPA-y~>)i56~5f)NTH49in z1(8@CX4*Z% zeq9}I*}RO9z$>T|NR5DNSwTG~Bz+~t;(5t&MF3IJSGguiK!Q9ax1&ZlCv6;coh&X! zMH{#_85{}Orn6(63$L5ESeCm)T2$#kS)|fQmHF{-le2}QB2(+S)wbNe}k20 y2l8yB_k_@0+~$tl_42;A;@{L diff --git a/szpitale-graph/target/classes/com/developx/szpitale/model/CanonicalDataset.class b/szpitale-graph/target/classes/com/developx/szpitale/model/CanonicalDataset.class index 1b72cfb4dc5b03bb34fa6ae36db98fafb2c6e283..b93f4f6c480a5159ed646dd944f3655c9a24a65d 100644 GIT binary patch literal 7215 zcmeHLTT>jz75)aX7ho0;5^`215;6$E2x%l_WbDDj2w4`=A`mDfv2z=ifgQ2ztakhX*W7>B!f;BDWnzj-#7P7y=+#t^;N6r)HW5QXYGpZ%_%rCKC#|~ zEV?r2R?!1h!DP|d)ibLx8~LC%C;dE=vC1t*n9RJd!JNp$*v0dQ56F?M)|f?v1+DgZO)T4 z?~{1;uB8_oe>v+OM@A0@aUz2kRD20}1-){yJ2=&hqJ{!j8FIk;e_17iz?QMTqQ702_BLxCf=V+ug8g_e@?~@z#j9Vco3RVq6z?dL^5&;$q7? z7k|fi^G+Njdsqz!b88->z>-;&3uN%k15c_S_%ir5W3_yY4jY;HCCe*0n=59`+_e~5 zT&3fa|LD239bsbU-C8dUFNw4c#+F2?^}v!yrx8^WsYNd&FH$1iMm$NR_RL_Ch$Xu5 zdN4|)-za{wTuzg8irp?7|{a4kVS(L6bgnDN%LK!7!(9lZCV5zzzY+(bz~$-aQhTw z*m7+BY$w@Hv7KQXWjn{Fv0Y%h#CC=4YF`>Z@5TrCFoR#H_$5A4aJo^})%^Tf_b+?h zCd`000y8Q2JQ^?T%D%H>=|1o#lRy?qqXoy=*{jy$ZZzch!Awf(iud>yU$@+1&8~V* zEvm9mHeEL=sFxw{943jbexPy*LzcQ&VF@ZJEjNRY6`XB+bBk}t;5RgBYbd?R|6p8Z z&Dg=>Cday$^)?i|$x#n~-(Y*oWp_Z7%7-WVIKf)^@PrVvuqEwHQgvW4PB}yX3)&EH zD-IYYfaPrnxE%+K5Wq4w1Qg5%T0ScT*+6hk%XbMu zS0K=|e76vE2Z9S)zDEdp0>LFMuL^-02(D=PoDk#!!PU?C1)caRf6mdffKwcuMi*V8 z7iZ{DFJY9YKh2*va28+VL6>k24>699c&5LHhCkvw{>I~5r}ihlMTq-4N3>1djYUuR zt#IzAH1sjrQ1pancFLY`!IbO?UrWoLaH@>#3Gd0uo^X>c*%SWIEqmhNdt^_Xuqu1v zD0BD*`&)I?5Pd&b>sGkd?QpF^xYkm*)}3&z<#4T)aIL%HTB}^^ZCbL$V z|H8LHNnHJPFjTaozJMYZ5$d!2EkZ_CJO6}#yncrM2_F*%oh&wCaRb5>DTM=Y(8Evi zNp+6IepA|?k!kfosXF7KH&|gTYsQv)4z@n-Wq>j2@ZS2LgKdCpL&*Ct6c4!Zr6=2A z^F3fY{_+ixXSgZrsrFe*an@n7jx=RG(>|*mXB{EySX0)~_F3=8S;xpa(UkRE`>Z>0 z)(NssHf7b?XD!EBC&{WeWxdco>u#J?_|jBU)=TZPR^qHvWSwrxdZm3W;Piws8-~a#s literal 4296 zcmb_e?N$?46y1a50~iV-Mgv7bw1uclwF+p^idZW)Dg{cb_G<_iGMLPyGZU8fDf%G& zQP*l#*WyPXpbyf==<2>R$xJdtR>svIlbn0++56t}anC(}|9kisfMx9WqX#Ea=v9$G zQo-=PexPe*-Q3gGMbWZ%6eO1n({S%9I59K3)rU0tQs`GP09C=2qE*p$#DOSV)z_Ny zOVx1ovd}8ljwov@x@nn4Q7=ExUEL9`fTXDWgL*oDH&Bce^SK=PH}!un8Mawv9nCltWV+^6`>U@e><_sk;ipfMFwXS^pz~f zJDo!#eMHSQ%38s2Tu(8pVoWL~tHP?5h1~B$6%%qw)pvJ|vZ1>?v?CYJtC*Av3EL_Q zZ{~uEX*rXw=;jVj=8Vw2msEU&k2&dDzI6)j&lKXgEI)hHLy~z`MGlwAT+*G=3SFe& zT3qH;Npw}k95h-jey-_d`er32P0RV7ZSRYso1cBbn5@@K8IUc*F}BNM*)%QJcb@{y z^T4j|xWay2DQo+B@s(qlnjR==k2zkmt*WryH+j1GKrh#5V&8_bXXx>WeZgb;$y=$h! z?TPFgH9q!uc1uC8pQ}R!!xT?zm2F{f>dX&W3FOV)(rrVI8r z00bUys|2Gn9m<>c&a5gp-5Qvd(xO=H??z)u!FZFcLoO52Tn($fg4;(Xj}Js!8Ci@8 z4x*^wPE2TfC|SW`;)7yxD<&`us)GIvt7aF)Lqp!z)6r`;Ctq^DBh9X1_`YSij%({x z|IRsSY${l9YXI^s?|Z)GP0t5!b>4rB^Q{kX-g|WO&4+eKL5klXzhQo({Lb+^j-zm+{qQ+7A(rh6OIP>e~sUDhvJCrhLo69Ea7|&%> zb)3s(({)U}CF%t7{7upq(vwU4{my5@9o*%JybbS4NxD<|{5lVLidZR0hxK}r^i0B& zqzjUsByCN3k~Auf&nVw$Xk{ohkv9Y6e1KdCkc&j#BXTOu!+^&C4*+frh6D6C=v2^e zXhd!q_bES5)2<*J0&ysu9SOxuD2|2VL?}*%;xtaOxnALfjDXxh`Y)9`#6{qDiakf% zD)W#k4Y!_T2mPP}dv;F9g(#~`>dB6*=elQo5@nV5W4a^jRQIe; zqpZ^`5ziQ>9<1Rj{=Z-;kmX)h0r@Knk*ow~xO=l|%RkT{iGFw(t$U#dGfZl7(@H>-}68*n@%We_OiEfdBvi diff --git a/szpitale-graph/target/classes/com/developx/szpitale/model/Company.class b/szpitale-graph/target/classes/com/developx/szpitale/model/Company.class new file mode 100644 index 0000000000000000000000000000000000000000..b696f89c7236b36358255ce5fb284b9016535b09 GIT binary patch literal 2878 zcmcguZBrXn6n<{V8?YD%B@)qATS`M{yW)Ghh_=*PYT6=DboA4btgx`zjk_DB_{~4! zFYtq%G2;v$`~m(b$LD01Bs7u9FpeMY=A3iyeeQYAJ?Gr~_4mo20Pf-2F(fdOK~h5s zX@$uH^T^a4)7{fIt*YnO6w)iUYlo`}Bc;WiQDiZi!I*||XbRV=UR|$QN0#F?Ug*J3 z4LdX)ORsx1%hA`odc$;&6%saK@|7<1R_NRAo*`hbX~+pu(lzUr7^XDj#V~T{2clon zFw@puyCM4P8fHb$R4u!Drovd@HT|mf+;;*}i4JUrwxd_hHIE7;Jz8`uaUPxX-L3z*}tIS21<;w^<&c%x9<+O zyT_Yny9ZV^G#0;8C~h|0(5_oMc3|&1);-ttLNl~Im%w_P<_~5NTKn!@zTO zv$IHlOnt-m8kQd(8w#l-(`k~>=$5_bnqkwYJpW2mS9%!p7Ce{1R9>*5a6 zCklP8V!PJUW_{Q4w@n5>($1@z&W`EZqQ}N$xNkEe*N3`zg~C~kI$nqvk*uOY6p?|WbeoPMTb zbuLOM!55)_VwMwp7U;-L9-hFhSDl!{7fVycBgxtMOD_>wC}@Gie;qJTS>`F#{2;61!g zjaV^%k%X{BWueV*q%8@hWLpvrskS6er||)0VI}M5=zJOK2l#cU?Kg0jhsfzG{FTUM%S$J?{%`vW(V9-|voN?*wd0mjR6u2%lp;`_novrW ze@Es#La7+BFNYQHVG!EH1<>Sb@&nN(FMuYuJ2Mb%`T}T@AhQF}3Ku|=9Gk2frLeaR2}S literal 0 HcmV?d00001 diff --git a/szpitale-graph/target/classes/com/developx/szpitale/model/Organization.class b/szpitale-graph/target/classes/com/developx/szpitale/model/Organization.class new file mode 100644 index 0000000000000000000000000000000000000000..b3afb54f7654b8c6e9e575ceb34e8ffc3baf9da9 GIT binary patch literal 2698 zcmcIlT~`}L7=8w_B*0=qAQ-B)Sg9sU=~_Rli&RRjrKSY|xv*DDGQz@UH|}mYZGVKn z#0z_lIiACXKfoX5@tJHsmL_s29xrBR-gjo6d7t-d|N8s%PXKG!oxli2(@5#iFeZ>Y zvQKQ&wY>v#TUPy`CNQ?*cuuq`Fj^|_jU$8cG$wRRLKi4i{kmC`C(`vB&&=>e!-;HH znsvV>U2`)yus!F69XY-yFyas^U+LrTM1kWSSPJnC9a#mJ^6a`)ifJ8rr5HU9LM6}Y zD70nIX(;(k9YxFwOoVB+`cr$Wbv*Lu2l_$lwbi9ps1Tv8yKPa$Ts$A4; zt2}71LcOMA0q+v^&<+pR$yQ+bbx=1H$a^{#af1$)KR0bf;O=WcB<$MUKa$nRD*q@j zzuojAr!M!L(Ajt8n&aKZYSC2#AGwt3X^AY8(z;DPPdTt45 zC$`%pwecP2z_X)f!1dxQPF_hE(uwFQuRbje>i>(TAJp<5^CWh8w&Hm5NwdB$gI$|+ zRet$Z+ugGRN68&!Dmrw?-?(_x1?J8IJ#Tcua*t(n=-0OFfT>DP64?L0xDNHL;(z^Y zn0v;YiT7-2NbT6X#GeCyg#5EYBK9|r(LHH92KPLWMjCc z8Ukye+ii09d_M}Kz;48j4l`I2xZ>0-)f+7K1B*St>eqc%Ak8twk>i-*n9Gjg;RH7D zD2?xQRPb2fTEFoGagCTUx6U)n^8N110xy&9al8}%Seo&{hqhO9Ww==J{o`iCIya{~ z7k8OG_hncOoJQma$t&xw9fnCor-Gg)V28YZrYrR#q;Ghh4BC(~Ok+#nMxXN#lrD!f zwgs-9f0O}=3F9`q?+BZh#sv)P`rw9Av%3#&6u7}Q z&-coFV+6*lZxu1lTN;*-!c89eg@?vCFBpG77)vdrjhih@8Otr?jQLaxGse8u!rV)q z8O1WcW4sTfaf{#8_%2L*NQo#Nf@-B0DcTEd3Zw0nvN_dWDI+zy25lDVRFTGN_=uW< zMi>wPyh@Ry$PqL87@u%`M?=DWy=Atq&G(mu{<4T^{@gyLLXp4CS#VApr?>+A#^uNW zN9AS3H|97^OFtWO{VMS5g|08+b3US8U*W7Alrff0asA)!&&6kYF3#W%zMuihQJSCt z3X`N1gPN3-y_)em(&rJx(z zf|2yw+(pphY_taJE5*R7Jo<{&0hE~2s_0cZtFJ0&mD1{~YC!Y~^)5BDl)q)JW$-ob WVIBAJ4IbbLcP6;AiSMz4`F{XG`!nGH literal 0 HcmV?d00001 diff --git a/szpitale-graph/target/classes/com/developx/szpitale/model/OrganizationLink.class b/szpitale-graph/target/classes/com/developx/szpitale/model/OrganizationLink.class new file mode 100644 index 0000000000000000000000000000000000000000..ae3ca47faa1e779fc631bd865a63d288b2325aa3 GIT binary patch literal 2936 zcmc&#+fv(B6kP`_1Vq%v1ylEu&=gW*E-JmGNkwUaGzlpQ6bKLP)4`m8K$cudW|DkD zANnPIXlBZEhKGJYKdRHcC1J~0VFEAljI6D5&R%=3eLMgDclr;2CF~5M2faFS1~l{u z6b|LFG#%;go13cU`FjF=3$|;Aivqossht7zV?f8Cfom`XW@=vD+*8NO@fy#~;AO)O zrK8Ncx2GI)-QSn4{ZfXu=dRiAkwEd8@72@GtAt-%YunrkecRo)*vdNw@@%3IdYu}) zIc%VacLlUv8Q6iq?Ak?+D7RS;Om<m%*f*gKE_Q#K9Iq|3I$PM z{<6rc3^ZY261OOK>er@ZA}g1KN%^*7+EL)SrfeNDAJO-Q?=_SkzOX2H$I@vM#epq*-<4t0Cwbyrz!y@E zB*n2vs>hY?^^BFv6h(%5RG01CPwh~-#97Hx7S)qxeOLM0k|M!X?A4^RBYm5{lf_(k zz|}c-x#AEgb%MQUoB|J=B#M6Sv;Ps_DISL==2QHQ=n&rp0Ru%9u4A0tm$}c z;0e|RZnQ_LAGfR-2Q2Y|nr`>ZF@aaxM2o2z*Lk*XUiLXDT4E$k$Z&MxHk4it66rWx9E~H%hcY zHxSvYl8qirpSM-U0BLEMK@PKYnPf)0qb0-+7mbDX% zy`nR{n4|wb(g#s8>3=cS#b-p4f8z;3mY5OK9*-#WMiTp+izIeZ!{;P33qDmQXEl65 z@~B2IAOMgmh$v_i38OFZ70Gur(rSgTCFa|!#kN>#i)9Scy?dJ$nEX7w*|=Uk#RtHj zB=&T1jQ!ISj>B}hex0Fy1Nh^O)F*L=jIi|udUJsKtJA0W(N zMpJ-Zg2Ht>0X6B1DQVTepkG8tOAxziQBdHs(1xyn#`!41%J8jl1vE}+Dbu%+E1+>z zlqm_lQ8LnT8+#M9xWB&b?ynqm1=rDc_@3Sss%dU|E@%GdcIJ|1nR`IA8g+?QM(BGL bI(64F?%@aA#{)dX2JH;e&QI9FQ^Zu`%_r+))j#qKBuFqlL_hlU}6 z^nrC`8II-d8C$aA`Bj0TW!tsG6@kJ0!tMx$F_Ofnjxp#0OBJtXROOL$y!tC6_@!=# zmLrXtSCx*jDgD56*S%WZa*s>4dnhnmk7Px{W=b7Z+o5l}d!_<^OGio}j}TeiD^`_s zLPsW&`ko_8R#`eqI;A6vX#uTl1$IDdN*9?U-9{}ilpSm8c%rqR$x7Up}rpa=0Y!J1wE_d1Kc9?z7_1R({%#( zuMAyONOL;oahoBNKQ}BzW#g(iT^7D5AIM5*F8m;n+iJL>U6Z?ZV3!@a>bhQNg|_EX zg%LU7Co2f0|ElH~2Ug{fVK=PyA>%36o4&``hsP$vb!0gWk{sE#_gpJ%_?*w3^Z9a@ zAR_mrP5$>ye zj9qi-@*uzIvuMZl7GnCD4EMe2rsZ2TNlz2~*EisczF|@Rxpg)}+IF5vm8pE63W)kj zQ6Sq*rz`h_ceYnFx9DA>T_vo9Y3c8jw!rNkVPBH$5!+FZcx0=vPxn;!UDeK5dabsZ zUh}*#2z{#_hb|b#I$Kn$0h;apX105p8TB!<(~D99Nse)jG{+>zOlk;ENAVp>Nj%f> z94`cJb~>pa7pf6^si~QzR&E(1@VeX4wtM6qN+Uk_#B!^S4CYFnci5<#7Zz6Y;to@E zLk1P!u7{rAeP!LTf}mT_EaM-$VEbr4(mwmN8rZA zM;Wu2Fz)e98DJaL_}K7ygTO~zjq#i3SO_@HsMo1?BgG9qP`w*U%r~lcBg+jwJ=9mA zjsYy5*OkKvZ)v!L1eSQ@Hy#?|ced~sL}Bp+$-4Y{3-_x7Zy+P;s4#Aj?c7RJd7{#6%A01(gYXa zVvLkxP=hN)Nh|z`np*kP8$=$IjfYO=D(@|(Js_gN~X9jBFXAn X!v?;^BRs|vY;tFmJKtj)FOmBX8z6`; literal 0 HcmV?d00001 diff --git a/szpitale-graph/target/classes/com/developx/szpitale/model/PersonOrganizationLink.class b/szpitale-graph/target/classes/com/developx/szpitale/model/PersonOrganizationLink.class new file mode 100644 index 0000000000000000000000000000000000000000..f9a9078ea17d7a30af44d9129896111e8a181466 GIT binary patch literal 2958 zcmc&#T~ixX7=8|92_H)n0s&*S#R@fq(zUhP>LLo%N@`jVC>MIQNsh3v*^Rp!rtMGg z!e8Qrosn^d3x9w=%JDhbe3Hn}+?bh@eb3kPzR&x0{{H9uF97Q}7{?HXvD`yrSC%}#EHJWayLPxHFq~aF7{e&W;uzO40bSsJ$*UM;c`6;R`qBtqSMAVp zq*3w8(lK_VA9(Jze`vY(Yb&%pw_v*`0;ARXMxNNILR;Tn=-ck0sWe>Ekx=m0ypGHH zvf7%`ky2Y@zURn-Rg{ieozaoTtbkUu0y_{`DO_flbZeEsP{wSi<8_tq=*Zw*f$_kr z`6c!@=eRNaY6t>#%jZcq~hyx%7iTX1C^sc10f8fn9Xuy6bvj zJ<`-;)P3@k6@=1%S#gYGt8~JAFs#-g<0FspZs2cWlo-bgi)FQ(m|b zg4GT~8X2?3tEbuC^((EsO`cpZ#aucNh(!@fFq`D_TBRuceT$w@sqK|4=fLu9HE%4& z!XuTQ4+cpWf!S`zSJftL@|g^eyz-9aTNO!nQ^ha;gG2hpMmgzLcbc^9?8=v!Y@dRt zcb&XIx|2>v0t&CYi8QvDeMEbk*b=6xzg_MEw|f@*l4Rf5tM`p3wu=4r{uO^$H9J;f zv$G~QJTDAF->OFO3r4ZYp4x1WW_R~9TOH4=cR91&sS*Nlj!BLr$27-WVgyge@f`|r zJk#+U+X6S+&DM|V)`K{8``)Kd#o~@|sdDoSG9a08y> zYlHy-z^j~cWH=&55AZ4FM;dRn+}9El?bTFUOt-}hruZCx#sx+G9=}R?Ja>-k!0!}? zdN@Y*#Ty)__}V_~bNwdp+m)^_;t`c7?W_DM2aV>I&+*}Z-Jgxlv|K!j&+!EfP>#|B zC*Wj)lp;`rGet?u{ek#pgtP`?Pc8~Nz8~7;0B9;6slI5*0nk)P(=humogM&9WkrTT z7_JAS({FQEL5s5S%ij8mu_{y^eTA?2%`&G|(W`V;|Eio-O3(6N)qrRf>N;0uIL{-_ Z>e|3#e1j+W7F*ci&Nz3z#~xlF^Dn-^nMVKs literal 0 HcmV?d00001 diff --git a/szpitale-graph/target/classes/com/developx/szpitale/model/enums/LinkBasis.class b/szpitale-graph/target/classes/com/developx/szpitale/model/enums/LinkBasis.class new file mode 100644 index 0000000000000000000000000000000000000000..aed3cab51c23a5d596c5bed0c8d79e58a7d468c4 GIT binary patch literal 1256 zcmb7DZBNrs6n^g7ty}G2Rs@;g3r^WUR#5OIBM2fI;snBU3Gvfqt5ED((sso7$)BVn z5u(xX*&k&*_ipHj`e9Al({u0hJm=+}`{U=A?*NwYP(zGivgS9ex_w}~{{A~Fe82BR z+_kNSU$X&=bIIVsd5kWlHex|q$GcBbwl{)3>dkR68Ycz}=?3{)S;L-^E^bc^HP*SK5dfg?0K!m7s`q;LM+D2B`nJKFW@ z8$2LPWCv878tpn{^qiQxT$`J2JAP1iJnk~2D$b6_qh>(5O1@B~iJGsuoyI=u3MAS; z-%}9_C5m0~n?cQf>WIGd{hs`yn2W_3I+7u}JL=-FxC8)M8fIx}h=EL2j4mPKw4TQ} z;S1!Akrj{LLi#h#pTPV`9>WBE6LL=>d=`_4N&GBX!O%@Mag4zeFoBPq!QZA8qm9B8 zisV`J#_39a5KtO8C{k>OtU_Db#N@~kMn2K+|CBULiz=j2Dux-V>6{Sb;FEM+`S1;#pQ-ot&u#qi)4=nN7L literal 0 HcmV?d00001 diff --git a/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 2859c4d..4ae68ab 100644 --- a/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,10 +1,13 @@ com/developx/szpitale/ingest/IngestResults.class com/developx/szpitale/load/CanonicalReader.class com/developx/szpitale/ingest/source/VoivodeshipSource.class +com/developx/szpitale/model/PersonOrganizationLink.class com/developx/szpitale/model/enums/AffiliationType.class com/developx/szpitale/ingest/source/MarkdownRegistrySource.class com/developx/szpitale/SzpitaleGraphApplication.class +com/developx/szpitale/model/Company.class com/developx/szpitale/load/GraphValidator.class +com/developx/szpitale/model/Organization.class com/developx/szpitale/ingest/IngestCommand.class com/developx/szpitale/ingest/normalize/PartyNormalizer.class com/developx/szpitale/load/LoadCommand.class @@ -13,6 +16,7 @@ com/developx/szpitale/ingest/normalize/Deduplicator.class com/developx/szpitale/load/GraphSchema.class com/developx/szpitale/model/enums/OrganType.class com/developx/szpitale/model/RawHospitalRecord$RawMandate.class +com/developx/szpitale/model/OrganizationLink.class com/developx/szpitale/model/enums/ConfidenceLevel.class com/developx/szpitale/ingest/source/PwzRegistrySource.class com/developx/szpitale/ingest/normalize/NameNormalizer.class @@ -21,7 +25,9 @@ com/developx/szpitale/model/enums/SupervisoryBodyType.class com/developx/szpitale/load/GraphLoader.class com/developx/szpitale/model/RawHospitalRecord.class com/developx/szpitale/ingest/CanonicalWriter.class +com/developx/szpitale/model/PersonCompanyLink.class com/developx/szpitale/load/GraphLoader$LoadStats.class +com/developx/szpitale/model/enums/LinkBasis.class com/developx/szpitale/model/enums/RoleType.class com/developx/szpitale/ingest/source/PwzLookupClient.class com/developx/szpitale/model/enums/LegalForm.class diff --git a/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index c941fe7..fff7327 100644 --- a/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/szpitale-graph/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -16,14 +16,20 @@ /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/load/LoadCommand.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/Affiliation.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/CanonicalDataset.java +/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/Company.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/Hospital.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/Mandate.java +/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/Organization.java +/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/OrganizationLink.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/Person.java +/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonCompanyLink.java +/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/PersonOrganizationLink.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/RawHospitalRecord.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/Role.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/AffiliationType.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/ConfidenceLevel.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/LegalForm.java +/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/LinkBasis.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/MandateType.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/OrganType.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/main/java/com/developx/szpitale/model/enums/RoleStatus.java diff --git a/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst index ab67bea..3f7a7af 100644 --- a/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ b/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -1,7 +1,8 @@ +com/developx/szpitale/ingest/OrganizationCompanyRoundTripTest.class +com/developx/szpitale/ingest/source/PwzRegistrySourceTest.class com/developx/szpitale/ingest/normalize/NameNormalizerTest.class com/developx/szpitale/ingest/normalize/PartyNormalizerTest.class com/developx/szpitale/model/PersonTest.class -com/developx/szpitale/ingest/source/PwzRegistrySourceTest.class com/developx/szpitale/ingest/source/MarkdownRegistrySourceTest.class com/developx/szpitale/ingest/normalize/DeduplicatorTest.class com/developx/szpitale/load/CanonicalRoundTripTest.class diff --git a/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index 2285ad9..84c3586 100644 --- a/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/szpitale-graph/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -1,3 +1,4 @@ +/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/OrganizationCompanyRoundTripTest.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/DeduplicatorTest.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/NameNormalizerTest.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.java diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.xml new file mode 100644 index 0000000..26a2221 --- /dev/null +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.DeduplicatorTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.DeduplicatorTest.xml index 48de5df..6643ebf 100644 --- a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.DeduplicatorTest.xml +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.DeduplicatorTest.xml @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -55,6 +55,6 @@ - + \ No newline at end of file diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.NameNormalizerTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.NameNormalizerTest.xml index 9a5b657..36085ae 100644 --- a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.NameNormalizerTest.xml +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.NameNormalizerTest.xml @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -67,17 +67,17 @@ - + - - + + - - + + \ No newline at end of file diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.PartyNormalizerTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.PartyNormalizerTest.xml index c46dd8a..f85abfa 100644 --- a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.PartyNormalizerTest.xml +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.PartyNormalizerTest.xml @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -55,19 +55,19 @@ - - + + - - + + - + - - - - - - + + + + + + \ No newline at end of file diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.xml index f1cef28..51667fa 100644 --- a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.xml +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.xml @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -55,8 +55,8 @@ - - + diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.PwzRegistrySourceTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.PwzRegistrySourceTest.xml index 41cf33e..02b108a 100644 --- a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.PwzRegistrySourceTest.xml +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.source.PwzRegistrySourceTest.xml @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -56,7 +56,7 @@ - - - + + + \ No newline at end of file diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.load.CanonicalRoundTripTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.load.CanonicalRoundTripTest.xml index 68e0cca..d8cacc9 100644 --- a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.load.CanonicalRoundTripTest.xml +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.load.CanonicalRoundTripTest.xml @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -55,5 +55,5 @@ - + \ No newline at end of file diff --git a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.model.PersonTest.xml b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.model.PersonTest.xml index d32f6fb..67862e4 100644 --- a/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.model.PersonTest.xml +++ b/szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.model.PersonTest.xml @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ - + diff --git a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.txt b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.txt new file mode 100644 index 0000000..c3bdf82 --- /dev/null +++ b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.168 s -- in com.developx.szpitale.ingest.OrganizationCompanyRoundTripTest diff --git a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.NameNormalizerTest.txt b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.NameNormalizerTest.txt index dd377e2..da61633 100644 --- a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.NameNormalizerTest.txt +++ b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.NameNormalizerTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: com.developx.szpitale.ingest.normalize.NameNormalizerTest ------------------------------------------------------------------------------- -Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.068 s -- in com.developx.szpitale.ingest.normalize.NameNormalizerTest +Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.064 s -- in com.developx.szpitale.ingest.normalize.NameNormalizerTest diff --git a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt index e00157c..83f9baa 100644 --- a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt +++ b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: com.developx.szpitale.ingest.normalize.PartyNormalizerTest ------------------------------------------------------------------------------- -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s -- in com.developx.szpitale.ingest.normalize.PartyNormalizerTest +Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 s -- in com.developx.szpitale.ingest.normalize.PartyNormalizerTest diff --git a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.txt b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.txt index d574688..6276e3a 100644 --- a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.txt +++ b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest ------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.097 s -- in com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.090 s -- in com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest diff --git a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.PwzRegistrySourceTest.txt b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.PwzRegistrySourceTest.txt index 85727a8..7758a89 100644 --- a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.PwzRegistrySourceTest.txt +++ b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.source.PwzRegistrySourceTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: com.developx.szpitale.ingest.source.PwzRegistrySourceTest ------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 s -- in com.developx.szpitale.ingest.source.PwzRegistrySourceTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s -- in com.developx.szpitale.ingest.source.PwzRegistrySourceTest diff --git a/szpitale-graph/target/surefire-reports/com.developx.szpitale.load.CanonicalRoundTripTest.txt b/szpitale-graph/target/surefire-reports/com.developx.szpitale.load.CanonicalRoundTripTest.txt index 6187d0f..bb4f35c 100644 --- a/szpitale-graph/target/surefire-reports/com.developx.szpitale.load.CanonicalRoundTripTest.txt +++ b/szpitale-graph/target/surefire-reports/com.developx.szpitale.load.CanonicalRoundTripTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: com.developx.szpitale.load.CanonicalRoundTripTest ------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.193 s -- in com.developx.szpitale.load.CanonicalRoundTripTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 s -- in com.developx.szpitale.load.CanonicalRoundTripTest diff --git a/szpitale-graph/target/szpitale-graph-1.0.0-SNAPSHOT.jar b/szpitale-graph/target/szpitale-graph-1.0.0-SNAPSHOT.jar index 65844abd964cc3536214d8af261b058e204aa67c..063f6583ea02b08e5c95aa4facfd0846ed60a061 100644 GIT binary patch delta 24175 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 delta 16513 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 diff --git a/szpitale-graph/target/szpitale-graph-1.0.0-SNAPSHOT.jar.original b/szpitale-graph/target/szpitale-graph-1.0.0-SNAPSHOT.jar.original index 0c62f2e7354da9bef6001579d38e7d34e24e8f96..e6018779730ef9e38297a547ccf88f0182876351 100644 GIT binary patch delta 18618 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

0%zshwFYDrPb@ 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 delta 11219 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 literal 0 HcmV?d00001 diff --git a/szpitale-graph/target/test-classes/com/developx/szpitale/load/CanonicalRoundTripTest.class b/szpitale-graph/target/test-classes/com/developx/szpitale/load/CanonicalRoundTripTest.class index 3c1d517d24fdf985991e37d329dc49dedcbb8634..1cbff173bc59c6893f0ae046c8818875f0bda560 100644 GIT binary patch delta 284 zcmX|*J4=FL0EM6Petup)GNG{A8YGYis!0eMf@l&FD?#agv67aSY6$uZ!HYxxAe#h9 zYO|JbX=rE)Y;0)kM)wbb;K1R5!^3F}T@F`W&)g^Nh3T_ZtC%<3G3kr%d zs}APW%e)3y&FG)hX(lb=|R{XEsecC0>By-y`4m=2JqCyr=m< yjOvC@zA)r;&Nn|e?C3~H1gNMeBL|nd@(Qp|kftW&DoDuR#1vAPu%b5All%qBBSHZH delta 263 zcmXAjyDvjw07uX7-rhdG0g2EqCL|RLe}F-Vn7oQ;>ixKMCMJnk3^gs2LJmZ{X?X}ZwOO9u&sa88|Cd$v|(4@L(!hnO_ zZaXcf+jr!i(_@d*gZlwvgp6~^Bo(HplH;Cf9+=@J;u~|+$Wx~vmwC0Ypbi$*%aVpz zR)G~2S=9k+I%8cS8@j^R9h-V(OAU&=1OER2AACmEsYkx}MxzYqmLGnjxmjIAnFcPq kIua5w0{L>Hut%u8V(by8q7iwDlc1(%C6pvd-3FQLA5u;}asU7T