From b5857f7a8f8b347c3a7d78ae81338176559fa124 Mon Sep 17 00:00:00 2001 From: bloese Date: Thu, 25 Apr 2024 14:30:12 +0200 Subject: [PATCH 1/4] =?UTF-8?q?Attested=20Timespan=20entfernt.=20Felder=20?= =?UTF-8?q?f=C3=BCr=20timeSpan/Period=20und=20attestedSentencesCount=20ers?= =?UTF-8?q?tellt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/tla/domain/dto/LemmaDto.java | 22 ++- .../domain/model/extern/AttestedTimespan.java | 151 ------------------ 2 files changed, 16 insertions(+), 157 deletions(-) delete mode 100644 src/main/java/tla/domain/model/extern/AttestedTimespan.java diff --git a/src/main/java/tla/domain/dto/LemmaDto.java b/src/main/java/tla/domain/dto/LemmaDto.java index b5f8a49..d00827d 100644 --- a/src/main/java/tla/domain/dto/LemmaDto.java +++ b/src/main/java/tla/domain/dto/LemmaDto.java @@ -58,18 +58,28 @@ public class LemmaDto extends NamedDocumentDto { private List words; @Singular - private List attestations; - - private AttestedTimespan.Period timeSpan; + private int attestedSentencesCount; + + + public static class Period{ + /** first year */ + @Setter + @Getter + private int begin; + /** last year */ + @Setter + @Getter + private int end; + } + + private Period timeSpan; public LemmaDto() { this.glyphs=new Glyphs(); this.transcription=new Transcription(); this.translations = Collections.emptySortedMap(); this.words = Collections.emptyList(); - - this.attestations = Collections.emptyList(); - } + } @Getter @Setter @EqualsAndHashCode diff --git a/src/main/java/tla/domain/model/extern/AttestedTimespan.java b/src/main/java/tla/domain/model/extern/AttestedTimespan.java deleted file mode 100644 index fcbeffb..0000000 --- a/src/main/java/tla/domain/model/extern/AttestedTimespan.java +++ /dev/null @@ -1,151 +0,0 @@ -package tla.domain.model.extern; - -import lombok.Getter; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Setter; -import tla.domain.model.ObjectReference; -import tla.domain.model.meta.Resolvable; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -import lombok.AllArgsConstructor; - -/** - * Nested data structure for temporally grouped lemma attestation statistics. - */ -@Getter -@Setter -@Builder -@AllArgsConstructor -@JsonInclude(JsonInclude.Include.NON_EMPTY) -public class AttestedTimespan { - - private Period period; - - @Builder.Default - private AttestationStats attestations = new AttestationStats(); - - @Builder.Default - private List contains = List.of(); - - public AttestedTimespan() { - this.attestations = new AttestationStats(); - this.contains = List.of(); - } - - /** - * Checks whether another instance's duration lies within the period covered by this - * instance. - * - * @param timespan - * @return - */ - public boolean contains(AttestedTimespan timespan) { - return this.period.contains(timespan.period); - } - - /** - * Container for document counts. - */ - @Getter - @Setter - @Builder - @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class AttestationStats { - - private long count; - private long texts; - private long sentences; - private long objects; - - /** - * Create an instance with all counts set to zero. - */ - public AttestationStats() { - this.count = 0; - this.texts = 0; - this.sentences = 0; - this.objects = 0; - } - - /** - * Add another instance's stats to own. - */ - public AttestationStats add(AttestationStats summand) { - this.count += summand.count; - this.texts += summand.texts; - this.sentences += summand.sentences; - this.objects += summand.objects; - return this; - } - - } - - /** - * Time period identified by first and last year, and - * a link to the corresponding thesaurus entry. - * - * Note: equality is determined based on first and last year alone, without - * taking thesaurus entry object reference into account at all. - * - * Comparator consistent with equals. - */ - @Getter - @Setter - @Builder - @NoArgsConstructor - @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class Period implements Comparable { - - /** first year */ - @Setter - private int begin; - /** last year */ - @Setter - private int end; - /** Link to thesaurus entry */ - @JsonDeserialize(as = ObjectReference.class) - private Resolvable ref; - - public Period(int begin, int end) { - this.begin = begin; - this.end = end; - this.ref = null; - } - - @Override - public int compareTo(Period arg0) { - if (this.end < arg0.end) { - return -1; - } else if (this.end > arg0.end) { - return 1; - } - if (this.begin < arg0.begin) { - return 1; - } else if (this.begin > arg0.begin) { - return -1; - } - return 0; - } - - @Override - public boolean equals(Object o) { - return (o != null && ((Period) o).begin == this.begin) - && (((Period) o).end == this.end); - } - - /** - * Returns true if another period lies within this one. - */ - public boolean contains(Period period) { - return (period.begin >= this.begin) && (period.end <= this.end); - } - } - -} From 4192e3b1cf453f22d663d918693001fac8f70720 Mon Sep 17 00:00:00 2001 From: bloese Date: Thu, 25 Apr 2024 14:31:07 +0200 Subject: [PATCH 2/4] import entfernt --- src/main/java/tla/domain/dto/LemmaDto.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/tla/domain/dto/LemmaDto.java b/src/main/java/tla/domain/dto/LemmaDto.java index d00827d..e3b00ce 100644 --- a/src/main/java/tla/domain/dto/LemmaDto.java +++ b/src/main/java/tla/domain/dto/LemmaDto.java @@ -25,7 +25,6 @@ import tla.domain.model.SentenceToken; import tla.domain.model.SentenceToken.Glyphs; import tla.domain.model.SentenceToken.Lemmatization; -import tla.domain.model.extern.AttestedTimespan; import tla.domain.model.meta.BTSeClass; /** From 6cdd4c593501da5ab810676f11659e0bea666f3c Mon Sep 17 00:00:00 2001 From: bloese Date: Thu, 25 Apr 2024 14:41:41 +0200 Subject: [PATCH 3/4] renamed Period to TimeSpan (as it is in JSON-Files) --- src/main/java/tla/domain/dto/LemmaDto.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/tla/domain/dto/LemmaDto.java b/src/main/java/tla/domain/dto/LemmaDto.java index e3b00ce..2383ff9 100644 --- a/src/main/java/tla/domain/dto/LemmaDto.java +++ b/src/main/java/tla/domain/dto/LemmaDto.java @@ -60,7 +60,7 @@ public class LemmaDto extends NamedDocumentDto { private int attestedSentencesCount; - public static class Period{ + public static class TimeSpan{ /** first year */ @Setter @Getter @@ -71,7 +71,7 @@ public static class Period{ private int end; } - private Period timeSpan; + private TimeSpan timeSpan; public LemmaDto() { this.glyphs=new Glyphs(); From 2b42359607a366cfb808c0b758145f03fdc2d9c3 Mon Sep 17 00:00:00 2001 From: bloese Date: Thu, 25 Apr 2024 17:53:42 +0200 Subject: [PATCH 4/4] removed @Singular annotation --- src/main/java/tla/domain/dto/LemmaDto.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/tla/domain/dto/LemmaDto.java b/src/main/java/tla/domain/dto/LemmaDto.java index 2383ff9..ec2367d 100644 --- a/src/main/java/tla/domain/dto/LemmaDto.java +++ b/src/main/java/tla/domain/dto/LemmaDto.java @@ -56,10 +56,8 @@ public class LemmaDto extends NamedDocumentDto { @Singular private List words; - @Singular private int attestedSentencesCount; - - + public static class TimeSpan{ /** first year */ @Setter