diff --git a/README.md b/README.md index 0909c3ff..2736bc21 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![build](https://github.com/JKatzwinkel/tla-web/workflows/build/badge.svg) ![deploy](https://github.com/JKatzwinkel/tla-web/workflows/deploy/badge.svg) -![LINE](https://img.shields.io/badge/line--coverage-90.99%25-brightgreen.svg) -![METHOD](https://img.shields.io/badge/method--coverage-91.33%25-brightgreen.svg) +![LINE](https://img.shields.io/badge/line--coverage-91.00%25-brightgreen.svg) +![METHOD](https://img.shields.io/badge/method--coverage-92.46%25-brightgreen.svg) TLA web frontend. diff --git a/src/main/java/tla/web/model/Annotation.java b/src/main/java/tla/web/model/Annotation.java index cfc48fde..063aa0ab 100644 --- a/src/main/java/tla/web/model/Annotation.java +++ b/src/main/java/tla/web/model/Annotation.java @@ -1,7 +1,6 @@ package tla.web.model; import java.util.Collection; -import java.util.Collections; import java.util.List; import lombok.AccessLevel; @@ -41,11 +40,11 @@ public String getName() { * Escapes markup. */ public String getBody() { + if (this.body == null) { + this.body = this.extractBody(); + } return Util.escapeMarkup( - String.join( - "\n\n", - this.body != null ? this.body : this.extractBody() - ) + String.join("\n\n", this.body) ); } @@ -53,23 +52,24 @@ public String getBody() { * Try to extract text content from "annotation.lemma" nodes in the annotation's passport. */ private Collection extractBody() { - if (this.getPassport() != null) { - List nodes = this.getPassport().extractProperty( - "annotation.lemma" - ); - if (nodes != null) { - return nodes.stream().filter( - node -> { - return !node.isEmpty() && !node.getLeafNodeValue().isBlank(); - } - ).map( - Passport::getLeafNodeValue - ).map( - String::trim - ).toList(); - } + if (this.getPassport() == null) { + return List.of(); } - return Collections.emptyList(); + List nodes = this.getPassport().extractProperty( + "annotation.lemma" + ); + if (nodes == null) { + return List.of(); + } + return nodes.stream().filter( + node -> { + return !node.isEmpty() && !node.getLeafNodeValue().isBlank(); + } + ).map( + Passport::getLeafNodeValue + ).map( + String::trim + ).toList(); } } \ No newline at end of file diff --git a/src/main/java/tla/web/model/Sentence.java b/src/main/java/tla/web/model/Sentence.java index 37007031..4f80d8a0 100644 --- a/src/main/java/tla/web/model/Sentence.java +++ b/src/main/java/tla/web/model/Sentence.java @@ -36,7 +36,7 @@ public class Sentence extends TLAObject implements Hierarchic { private Transcription transcription; - private Text text; + private Text text = Text.EMPTY; @Singular private SortedMap> translations; @@ -51,20 +51,20 @@ public boolean hasGlyphs() { } public String getName() { - return this.getText() != null ? this.getText().getName() : null; + return this.getText().getName(); } public String reviewState() { - return this.getText() != null ? this.getText().getReviewState() : "published"; + return this.getText().getReviewState(); } public EditorInfo getEdited() { - return this.getText() != null ? this.getText().getEdited() : null; + return this.getText().getEdited(); } @Override public List getPaths() { - return this.getText() != null ? this.getText().getPaths() : null; + return this.getText().getPaths(); } } diff --git a/src/main/java/tla/web/model/Text.java b/src/main/java/tla/web/model/Text.java index 8adba1dd..4f265aad 100644 --- a/src/main/java/tla/web/model/Text.java +++ b/src/main/java/tla/web/model/Text.java @@ -16,6 +16,8 @@ @TLADTO(TextDto.class) public class Text extends CorpusObject { + public static final Text EMPTY = new Text(); + private TextDto.WordCount wordCount; } diff --git a/src/main/java/tla/web/model/mappings/MappingConfig.java b/src/main/java/tla/web/model/mappings/MappingConfig.java index 5c3ee30b..55340da4 100644 --- a/src/main/java/tla/web/model/mappings/MappingConfig.java +++ b/src/main/java/tla/web/model/mappings/MappingConfig.java @@ -7,7 +7,6 @@ import org.modelmapper.ModelMapper; import org.modelmapper.TypeMap; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -55,7 +54,6 @@ public class MappingConfig { private ExternalReferencesConverter externalReferencesConverter; - @Autowired public MappingConfig(ExternalReferencesConverter externalReferencesConverter) { this.externalReferencesConverter = externalReferencesConverter; } diff --git a/src/main/java/tla/web/model/parts/Transcription.java b/src/main/java/tla/web/model/parts/Transcription.java index aad2a291..a1f87c39 100644 --- a/src/main/java/tla/web/model/parts/Transcription.java +++ b/src/main/java/tla/web/model/parts/Transcription.java @@ -2,13 +2,11 @@ import lombok.Getter; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.NoArgsConstructor; import lombok.Setter; @Getter @Setter -@Builder @NoArgsConstructor @AllArgsConstructor public class Transcription {