diff --git a/data/demo.mv.db b/data/demo.mv.db index f84059d8cf5bc953366dd45d5128b5673bb7d10a..ed8ba420d0244dc24931da62cc9d2c7b49e48f71 100644 Binary files a/data/demo.mv.db and b/data/demo.mv.db differ diff --git a/src/main/java/com/dre0059/articleprocessor/ArticleProcessorApplication.java b/src/main/java/com/dre0059/articleprocessor/ArticleProcessorApplication.java index 53a5f877edf2ba3675cdd8e379966f870da9e331..898319f035fa09ac2ec9595a03a35b66d2259e2d 100644 --- a/src/main/java/com/dre0059/articleprocessor/ArticleProcessorApplication.java +++ b/src/main/java/com/dre0059/articleprocessor/ArticleProcessorApplication.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor; import org.springframework.boot.SpringApplication; diff --git a/src/main/java/com/dre0059/articleprocessor/GrobidClient.java b/src/main/java/com/dre0059/articleprocessor/GrobidClient.java index 5910d36de9ca348ebf06cab621213686dbe15a44..ccb56ec3a5062adb222cfaf98b6edf56203d5a71 100644 --- a/src/main/java/com/dre0059/articleprocessor/GrobidClient.java +++ b/src/main/java/com/dre0059/articleprocessor/GrobidClient.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor; import com.dre0059.articleprocessor.config.GrobidProperties; diff --git a/src/main/java/com/dre0059/articleprocessor/config/DataInitializer.java b/src/main/java/com/dre0059/articleprocessor/config/DataInitializer.java index d7f91572bb985aca4bdecf05ffb49bda63eebbf5..c89e89ce304c9702380d4620293e400bf2996825 100644 --- a/src/main/java/com/dre0059/articleprocessor/config/DataInitializer.java +++ b/src/main/java/com/dre0059/articleprocessor/config/DataInitializer.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.config; import com.dre0059.articleprocessor.model.Category; diff --git a/src/main/java/com/dre0059/articleprocessor/config/GrobidProperties.java b/src/main/java/com/dre0059/articleprocessor/config/GrobidProperties.java index ab83461344f1a913f99131ad98e0f66e84799f4e..090767ffd412ea9b15b83e564c0d92c01baed08c 100644 --- a/src/main/java/com/dre0059/articleprocessor/config/GrobidProperties.java +++ b/src/main/java/com/dre0059/articleprocessor/config/GrobidProperties.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.config; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/src/main/java/com/dre0059/articleprocessor/controller/DocumentController.java b/src/main/java/com/dre0059/articleprocessor/controller/DocumentController.java index 8b8871bfe3186c736d87ab2c2af51a389ab70df2..cf215022ab83795b966ee28416e69894bc449174 100644 --- a/src/main/java/com/dre0059/articleprocessor/controller/DocumentController.java +++ b/src/main/java/com/dre0059/articleprocessor/controller/DocumentController.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.controller; import com.dre0059.articleprocessor.dto.DocumentDto; diff --git a/src/main/java/com/dre0059/articleprocessor/controller/FileUploadController.java b/src/main/java/com/dre0059/articleprocessor/controller/FileUploadController.java index c45c02e24187567af53cdfe513a8d21d0966a6d7..7fbc3fd984180db6645e288194cc60fe04577846 100644 --- a/src/main/java/com/dre0059/articleprocessor/controller/FileUploadController.java +++ b/src/main/java/com/dre0059/articleprocessor/controller/FileUploadController.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.controller; import com.dre0059.articleprocessor.GrobidClient; diff --git a/src/main/java/com/dre0059/articleprocessor/controller/StatisticsController.java b/src/main/java/com/dre0059/articleprocessor/controller/StatisticsController.java index 22a46763d8a6ab829f21a7b1f6b129af607d2b13..ff432420489b6710ae8e0daf15398bf67fe13b9a 100644 --- a/src/main/java/com/dre0059/articleprocessor/controller/StatisticsController.java +++ b/src/main/java/com/dre0059/articleprocessor/controller/StatisticsController.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.controller; import com.dre0059.articleprocessor.model.Dokument; diff --git a/src/main/java/com/dre0059/articleprocessor/controller/TagController.java b/src/main/java/com/dre0059/articleprocessor/controller/TagController.java index f940fd881752d7c3b7bc378ec1f1ff889c96f9c6..149dfd2e38b805a077020ec59507e78b45926789 100644 --- a/src/main/java/com/dre0059/articleprocessor/controller/TagController.java +++ b/src/main/java/com/dre0059/articleprocessor/controller/TagController.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.controller; import com.dre0059.articleprocessor.repository.TagRepository; diff --git a/src/main/java/com/dre0059/articleprocessor/dto/CategoryDto.java b/src/main/java/com/dre0059/articleprocessor/dto/CategoryDto.java index 60e1a71f65eecc776732fc39829106965b980f63..3832f732e597a183c0fea7c08e71ac1402b3cccd 100644 --- a/src/main/java/com/dre0059/articleprocessor/dto/CategoryDto.java +++ b/src/main/java/com/dre0059/articleprocessor/dto/CategoryDto.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.dto; import lombok.Getter; diff --git a/src/main/java/com/dre0059/articleprocessor/dto/DocumentContentDto.java b/src/main/java/com/dre0059/articleprocessor/dto/DocumentContentDto.java index ed980b4d9583837773f6344bd58c7b0ab1ad5746..6dff4a93834841cca2ee45b77fb0cbf73bae3e36 100644 --- a/src/main/java/com/dre0059/articleprocessor/dto/DocumentContentDto.java +++ b/src/main/java/com/dre0059/articleprocessor/dto/DocumentContentDto.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.dto; import lombok.Getter; diff --git a/src/main/java/com/dre0059/articleprocessor/dto/DocumentDto.java b/src/main/java/com/dre0059/articleprocessor/dto/DocumentDto.java index 539d8c3a8751fcebf98cb985e819f0c567b17063..da48d49d0e84d50fd9e647b5f9232e76675ec417 100644 --- a/src/main/java/com/dre0059/articleprocessor/dto/DocumentDto.java +++ b/src/main/java/com/dre0059/articleprocessor/dto/DocumentDto.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.dto; import lombok.Getter; diff --git a/src/main/java/com/dre0059/articleprocessor/dto/SimpleDocumentDto.java b/src/main/java/com/dre0059/articleprocessor/dto/SimpleDocumentDto.java index f6cd696cd67e032286013ab06759585bceb4ee1a..52c0b46ed77c44b9670ae593b18fd2573f2d71bd 100644 --- a/src/main/java/com/dre0059/articleprocessor/dto/SimpleDocumentDto.java +++ b/src/main/java/com/dre0059/articleprocessor/dto/SimpleDocumentDto.java @@ -1,3 +1,11 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ + package com.dre0059.articleprocessor.dto; import lombok.Getter; diff --git a/src/main/java/com/dre0059/articleprocessor/dto/TagDto.java b/src/main/java/com/dre0059/articleprocessor/dto/TagDto.java index 879d372b9e42fdcc112067941fa6e0da7c2ee714..223f302bb779525741a647a2df649013bb997769 100644 --- a/src/main/java/com/dre0059/articleprocessor/dto/TagDto.java +++ b/src/main/java/com/dre0059/articleprocessor/dto/TagDto.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.dto; import lombok.Getter; diff --git a/src/main/java/com/dre0059/articleprocessor/mapper/CategoryMapper.java b/src/main/java/com/dre0059/articleprocessor/mapper/CategoryMapper.java index ed93917e5381599c1a0d1cb943353bb4d1bf1c2d..ed224947b528a4a2a48b391d66f3a4223eb676ed 100644 --- a/src/main/java/com/dre0059/articleprocessor/mapper/CategoryMapper.java +++ b/src/main/java/com/dre0059/articleprocessor/mapper/CategoryMapper.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.mapper; import com.dre0059.articleprocessor.dto.CategoryDto; diff --git a/src/main/java/com/dre0059/articleprocessor/mapper/DocumentMapper.java b/src/main/java/com/dre0059/articleprocessor/mapper/DocumentMapper.java index e26d71e1d77f2a9677571f439514c62e20cefdc8..2194e9ccd1fa1a2a101f0ca3e377cffd99c9bf9f 100644 --- a/src/main/java/com/dre0059/articleprocessor/mapper/DocumentMapper.java +++ b/src/main/java/com/dre0059/articleprocessor/mapper/DocumentMapper.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.mapper; import com.dre0059.articleprocessor.dto.DocumentContentDto; diff --git a/src/main/java/com/dre0059/articleprocessor/mapper/TagMapper.java b/src/main/java/com/dre0059/articleprocessor/mapper/TagMapper.java index b8ee6cd41cf58ae56c475912ee53bc08ebddff22..6ca607feb6d785548cdcad8c0ccb8cf0d1be4075 100644 --- a/src/main/java/com/dre0059/articleprocessor/mapper/TagMapper.java +++ b/src/main/java/com/dre0059/articleprocessor/mapper/TagMapper.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.mapper; import com.dre0059.articleprocessor.dto.TagDto; diff --git a/src/main/java/com/dre0059/articleprocessor/model/Author.java b/src/main/java/com/dre0059/articleprocessor/model/Author.java index 93bb2bb90b3ee6c7ed47c98d846da5ac3e2a2631..553a09a87e0541f3a5d9d79d183419cd03f0c743 100644 --- a/src/main/java/com/dre0059/articleprocessor/model/Author.java +++ b/src/main/java/com/dre0059/articleprocessor/model/Author.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.model; import jakarta.persistence.*; @@ -7,6 +14,15 @@ import lombok.Setter; import java.util.ArrayList; import java.util.List; +/** + * Trieda Author reprezentuje autora ÄŤlánku v databáze. + * Obsahuje základnĂ© informácie o autorovi : + * - meno, priezvisko + * - zoznam dokumentov, ktorĂ© tento autor vytvoril. + * * + * * VyuĹľĂva vzĹĄah M:N medzi autormi a dokumentmi (jeden autor mĂ´Ĺľe maĹĄ viacero dokumentov a + * * jeden dokument mĂ´Ĺľe maĹĄ viacerĂ˝ch autorov) + */ @Entity @Table(name = "authors") @Getter diff --git a/src/main/java/com/dre0059/articleprocessor/model/Category.java b/src/main/java/com/dre0059/articleprocessor/model/Category.java index 22deb9fdef4d6689f63f45607fd0be6873771755..231a57f8ff4b7e0de71b00bfc4102c15f7d9818c 100644 --- a/src/main/java/com/dre0059/articleprocessor/model/Category.java +++ b/src/main/java/com/dre0059/articleprocessor/model/Category.java @@ -1,13 +1,31 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * Trieda Category reprezentuje kategĂłriu, do ktorej mĂ´Ĺľe byĹĄ dokument zaradenĂ˝. + * Obsahuje id a unikátny názov. + * KategĂłrie sĂş predderfinovanĂ© v config.DataInitializer + */ @Entity @Table(name = "categories") - +@Getter +@Setter +@NoArgsConstructor public class Category { @Id private String id; @@ -19,22 +37,4 @@ public class Category { this.id = id; this.name = name; } - - public Category() {} - - public String getId() { - return id; - } - - public String getName() { - return name; - } - - public void setId(String id) { - this.id = id; - } - - public void setName(String name) { - this.name = name; - } } diff --git a/src/main/java/com/dre0059/articleprocessor/model/Dokument.java b/src/main/java/com/dre0059/articleprocessor/model/Dokument.java index d7ab3ffea0bd75d449d05699844062218797ed62..d9a12289f7105ffcc7a334f0e5efb69f232937f0 100644 --- a/src/main/java/com/dre0059/articleprocessor/model/Dokument.java +++ b/src/main/java/com/dre0059/articleprocessor/model/Dokument.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.model; import jakarta.persistence.CascadeType; @@ -20,6 +27,19 @@ import lombok.Getter; import lombok.Setter; import org.hibernate.annotations.Cascade; +/** + * Trieda Dokument predstavuje entitu dokumentu v databáze. + * Ukladá informácie : + * - názov + * - rok publikácie + * - DOI + * - abstrakt + * - obsah + * - ... + * * + * * V tejto triede sĂş definovanĂ© vzĹĄahy medzi dokumentmi, autormi, tagmi a referenciami. + * * Dokument mĂ´Ĺľe obsahovaĹĄ viac autorov (M:N), viac tagov (M:N) a mĂ´Ĺľe byĹĄ citovanĂ˝ inĂ˝mi dokumentami. + */ @Setter @Getter @Entity diff --git a/src/main/java/com/dre0059/articleprocessor/model/Reference.java b/src/main/java/com/dre0059/articleprocessor/model/Reference.java index e03045c4ef12ae83abab9daba170dce77c0facb8..c48b346e15a17dcabb26471156830c228d957d4e 100644 --- a/src/main/java/com/dre0059/articleprocessor/model/Reference.java +++ b/src/main/java/com/dre0059/articleprocessor/model/Reference.java @@ -1,5 +1,19 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.model; +/** + * Trieda Reference reprezentuje referenciu medzi dvoma dokumentmi. + * KaĹľdá referencia obsahuje : + * - ÄŤĂslo alebo pĂsmeno pre oznaÄŤenie poradia + * - vzĹĄahy medzi dokumentmi (dokument ktorĂ˝ obsahuje zoznam referenciĂ (from) a referencovanĂ˝ dokument (to)). + */ + import jakarta.persistence.*; @Entity diff --git a/src/main/java/com/dre0059/articleprocessor/model/Tag.java b/src/main/java/com/dre0059/articleprocessor/model/Tag.java index aba082fa143b358a436f4f21d9cb530853b51c95..0a3b8306b6d933f4e033de7f00e3d24c6717699c 100644 --- a/src/main/java/com/dre0059/articleprocessor/model/Tag.java +++ b/src/main/java/com/dre0059/articleprocessor/model/Tag.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.model; import jakarta.persistence.*; @@ -10,6 +17,13 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +/** + * Trieda Tag reprezentuje tag (kĺúčovĂ© slovo), ktorĂ˝ mĂ´Ĺľe byĹĄ priradenĂ˝ dokumentu. + * KaĹľdĂ˝ tag má unikátny názov - neexistujĂş duplicity + * + * Tagy sĂş spojenĂ© s dokumentmi (M:N vzĹĄah) + * jeden dokument mĂ´Ĺľe maĹĄ viacero tagov a jeden tag mĂ´Ĺľe byĹĄ priradenĂ˝ viacerĂ˝m dokumentom (M:N vzĹĄah). + */ @Entity @NoArgsConstructor @Getter diff --git a/src/main/java/com/dre0059/articleprocessor/repository/AuthorRepository.java b/src/main/java/com/dre0059/articleprocessor/repository/AuthorRepository.java index 348dde743fdc0be9f9a15adb06a0e61abe765ba3..a552f62b7f7ede4504adb51ced9bb4e5fb9d311d 100644 --- a/src/main/java/com/dre0059/articleprocessor/repository/AuthorRepository.java +++ b/src/main/java/com/dre0059/articleprocessor/repository/AuthorRepository.java @@ -1,15 +1,22 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.repository; import com.dre0059.articleprocessor.model.Author; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +/** + * Repository pre prácu s entitou Author (pristupuje k DBS) + * Rozširuje JpaRepository pre poskytovanie CRUD operáciĂ + * + */ @Repository public interface AuthorRepository extends JpaRepository<Author, Long> { - /*@Query("SELECT CASE WHEN COUNT(a) > 0 THEN true ELSE false END FROM Author a WHERE a.lastName = :lastName AND a.firstName = :firstName") - Optional<Author> findByLastNameAndInitial(@Param("lastName") String lastName, @Param("firstName") String firstName); - */ - - Author findByLastNameAndFirstName(String lastName, String firstName); } diff --git a/src/main/java/com/dre0059/articleprocessor/repository/CategoryRepository.java b/src/main/java/com/dre0059/articleprocessor/repository/CategoryRepository.java index 23f69955b997ab5ba6cccdb7e5e480bd95bf9478..ca42ccafcedb167e226fd8c9647f7ad466188d43 100644 --- a/src/main/java/com/dre0059/articleprocessor/repository/CategoryRepository.java +++ b/src/main/java/com/dre0059/articleprocessor/repository/CategoryRepository.java @@ -1,9 +1,21 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.repository; import com.dre0059.articleprocessor.model.Category; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +/** + * Repository pre prácu s entitou Category. + * Rozširuje JpaRepository pre poskytovanie CRUD operáciĂ. + * Obsahuje metĂłdu na vyhÄľadávanie kategĂłrie podÄľa názvu. + */ @Repository public interface CategoryRepository extends JpaRepository<Category, String> { Category findByName(String name); diff --git a/src/main/java/com/dre0059/articleprocessor/repository/DocumentRepository.java b/src/main/java/com/dre0059/articleprocessor/repository/DocumentRepository.java index 7d5c73ec61c3067a6381bb92fce226bb6ddff92c..21d2a9d13d12393a17090fce8d864f13255491a8 100644 --- a/src/main/java/com/dre0059/articleprocessor/repository/DocumentRepository.java +++ b/src/main/java/com/dre0059/articleprocessor/repository/DocumentRepository.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.repository; import com.dre0059.articleprocessor.model.*; @@ -11,7 +18,18 @@ import org.springframework.stereotype.Repository; import java.util.List; import java.util.Optional; -// uklada extrahovane data +/** + * Repository pre prácu s entitou Dokument. + * Rozširuje JpaRepository pre poskytovanie CRUD operáciĂ + * + * Obsahuje metĂłdy, ktorĂ© vyuĹľĂvajĂş JPA Query Language a EntityGraph + na zĂskavanie dokumentov a ich vzĹĄahov (autori, tagy a referencie) + * + * metĂłdy na : + * - kontrolu existencie dokumentu s rovnakĂ˝m názvom a autormi + * - vyhÄľadávanie dokumentu podÄľa názvu a autorov + * - zistenie referenciĂ medzi dokumentmi. + */ @Repository public interface DocumentRepository extends JpaRepository<Dokument, Long> { diff --git a/src/main/java/com/dre0059/articleprocessor/repository/ReferenceRepository.java b/src/main/java/com/dre0059/articleprocessor/repository/ReferenceRepository.java index 820f8760b85a15cbb08ac2a42648ba46b991a853..8c92baa6db80b9c0d1da34e93bc18846c9d4603b 100644 --- a/src/main/java/com/dre0059/articleprocessor/repository/ReferenceRepository.java +++ b/src/main/java/com/dre0059/articleprocessor/repository/ReferenceRepository.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.repository; import com.dre0059.articleprocessor.model.Reference; @@ -7,6 +14,17 @@ import org.springframework.data.repository.query.Param; import java.util.List; +/** + * Repository pre prácu s entitou Reference. + * Rozširuje JpaRepository pre poskytovanie CRUD + * + * Obsahuje metĂłdy na zĂskavanie referenciĂ medzi dokumentmi, + * ako aj na poÄŤĂtanie referenciĂ podÄľa roka a kategĂłrie. + * + * metĂłdy na : + * - mazanie referenciĂ + * - vyhÄľadávanie podÄľa dokumentov (fromDocument alebo toDocument) + */ public interface ReferenceRepository extends JpaRepository<Reference, Long> { @Query(""" diff --git a/src/main/java/com/dre0059/articleprocessor/repository/TagRepository.java b/src/main/java/com/dre0059/articleprocessor/repository/TagRepository.java index 60134394ea3b0af29fce98829e6bd36e6bdfe050..9d63068b15aafbb2bc5d3866806d47791593a624 100644 --- a/src/main/java/com/dre0059/articleprocessor/repository/TagRepository.java +++ b/src/main/java/com/dre0059/articleprocessor/repository/TagRepository.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.repository; import com.dre0059.articleprocessor.model.Tag; @@ -6,9 +13,15 @@ import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; import java.util.Optional; +/** + * Repository pre prácu s entitou Tag. + * Rozširuje JpaRepository pre poskytovanie CRUD operáciĂ. + * + * metĂłdy na : + * - vyhÄľadávanie tagov podÄľa názvu + * - vyhÄľadávanie tagov podÄľa podreĹĄazca + */ public interface TagRepository extends JpaRepository<Tag, Long> { - Optional<Tag> findByTitle(String title); - List<Tag> findByTitleContainingIgnoreCase(String term); // musĂ vracaĹĄ List<Tag> Optional<Tag> findByTitleIgnoreCase(String title); diff --git a/src/main/java/com/dre0059/articleprocessor/service/CategoryService.java b/src/main/java/com/dre0059/articleprocessor/service/CategoryService.java index fbcfab92e315c96fd76a0c38e24ac50c89e53267..fb11b11507c438c2f1c1cccdc73250583b3418fa 100644 --- a/src/main/java/com/dre0059/articleprocessor/service/CategoryService.java +++ b/src/main/java/com/dre0059/articleprocessor/service/CategoryService.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.service; import com.dre0059.articleprocessor.dto.CategoryDto; @@ -6,21 +13,32 @@ import com.dre0059.articleprocessor.repository.CategoryRepository; import java.util.List; import org.springframework.stereotype.Service; +/** + * Trieda manipuláciu s kategĂłriami dokumentov. + * * + * metĂłdy na : + * - zĂskavanie jednotlivĂ˝ch kategĂłriĂ + * - zĂskavanie zoznamu všetkĂ˝ch kategĂłriĂ. + * + * KategĂłrie sĂş zĂskavanĂ© z databázy cez repository a následne mapovanĂ© na DTO objekty. + * * + */ @Service public class CategoryService { - private final CategoryMapper categoryMapper; - private final CategoryRepository categoryRepository; + private final CategoryMapper categoryMapper; // Mapper na mapovanie medzi entitami a DTO + private final CategoryRepository categoryRepository; // Repository pre prĂstup k databáze kategĂłriĂ public CategoryService(CategoryMapper categoryMapper, CategoryRepository categoryRepository) { this.categoryMapper = categoryMapper; this.categoryRepository = categoryRepository; } - public CategoryDto getCategory(String id) { - return categoryMapper.toCategoryDto(categoryRepository.findById(id).orElse(null)); - } - + /** + * ZĂska zoznam všetkĂ˝ch kategĂłriĂ. + * + * @return Zoznam DTO objektov všetkĂ˝ch kategĂłriĂ + */ public List<CategoryDto> getAll() { return categoryMapper.toCategoryDtoList(categoryRepository.findAll()); } diff --git a/src/main/java/com/dre0059/articleprocessor/service/DocumentService.java b/src/main/java/com/dre0059/articleprocessor/service/DocumentService.java index e499e5908e13e7ea91fe19bfb978a28b496f6ece..8c17cce0bb1d089dd3a0078ba29049592b2109ea 100644 --- a/src/main/java/com/dre0059/articleprocessor/service/DocumentService.java +++ b/src/main/java/com/dre0059/articleprocessor/service/DocumentService.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.service; import com.dre0059.articleprocessor.dto.DocumentContentDto; diff --git a/src/main/java/com/dre0059/articleprocessor/service/HeaderService.java b/src/main/java/com/dre0059/articleprocessor/service/HeaderService.java index d621352759ed8ff49e20a509ee1243231d27f725..e555a71b845db588f09929ae485e00be285e013a 100644 --- a/src/main/java/com/dre0059/articleprocessor/service/HeaderService.java +++ b/src/main/java/com/dre0059/articleprocessor/service/HeaderService.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.service; import com.dre0059.articleprocessor.model.Author; diff --git a/src/main/java/com/dre0059/articleprocessor/service/ReferenceService.java b/src/main/java/com/dre0059/articleprocessor/service/ReferenceService.java index a04ccf5acf2031cfcbe087b70161591e2a2d34c9..875c65c2802983e01c4461b4f7a7e946a2ee9b6f 100644 --- a/src/main/java/com/dre0059/articleprocessor/service/ReferenceService.java +++ b/src/main/java/com/dre0059/articleprocessor/service/ReferenceService.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.service; import com.dre0059.articleprocessor.model.Author; diff --git a/src/main/java/com/dre0059/articleprocessor/service/TEINamespaceContext.java b/src/main/java/com/dre0059/articleprocessor/service/TEINamespaceContext.java index 4902424f6b2d816643fcb6ed191499336dbcc971..001f7913253d635146d6ba9d60f535dbd7344549 100644 --- a/src/main/java/com/dre0059/articleprocessor/service/TEINamespaceContext.java +++ b/src/main/java/com/dre0059/articleprocessor/service/TEINamespaceContext.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor.service; import javax.xml.namespace.NamespaceContext; diff --git a/src/main/java/com/dre0059/articleprocessor/service/TEIparser.java b/src/main/java/com/dre0059/articleprocessor/service/TEIparser.java deleted file mode 100644 index 8e631c7f785bca156ad2ed4317430ea607033129..0000000000000000000000000000000000000000 --- a/src/main/java/com/dre0059/articleprocessor/service/TEIparser.java +++ /dev/null @@ -1,65 +0,0 @@ -/*package com.dre0059.articleprocessor.service; - -import com.dre0059.articleprocessor.model.Author; -import com.dre0059.articleprocessor.model.Dokument; -import com.dre0059.articleprocessor.model.Reference; -import com.dre0059.articleprocessor.service.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.w3c.dom.*; -import org.xml.sax.InputSource; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import java.io.StringReader; -import java.util.ArrayList; -import java.util.List; - -@Service -public class TEIparser { - @Autowired - private ReferenceService referenceService; - - @Autowired - private DocumentService documentService; - - public void processReferences(String xmlContent, Dokument parentDocument){ - try{ - DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = dbFactory.newDocumentBuilder(); - Document doc = builder.parse(new InputSource(new StringReader(xmlContent))); - - NodeList biblioEntries = doc.getElementsByTagName("biblStruct"); - - for(int i = 0; i < biblioEntries.getLength(); i++){ - Element biblEntry = (Element) biblioEntries.item(i); - String title = biblEntry.getElementsByTagName("title").item(0).getTextContent(); - String authorSurname = biblEntry.getElementsByTagName("surname").item(0).getTextContent(); - - Dokument referencedDocument = new Dokument(); - referencedDocument.setTitle(title); - - Author author = new Author(); - author.setLastname(authorSurname); - referencedDocument.setAuthors(List.of(author)); - - Dokument savedReferencedDocument = documentService.saveDocument(referencedDocument); - - // save Dokument - Reference reference = new Reference(); - reference.setFromDocument(parentDocument); - reference.setToDocument(savedReferencedDocument); - referenceService.saveReference(reference); - - - - } - - } catch (Exception e){ - e.printStackTrace(); - } - } - -} - - */ \ No newline at end of file diff --git a/src/test/java/com/dre0059/articleprocessor/ArticleProcessorApplicationTests.java b/src/test/java/com/dre0059/articleprocessor/ArticleProcessorApplicationTests.java index 9bb5c396a8d111454e0cf9fdf335c7031599d9f1..3be6652571344baaf30cae319fa5f2f783dfb1f4 100644 --- a/src/test/java/com/dre0059/articleprocessor/ArticleProcessorApplicationTests.java +++ b/src/test/java/com/dre0059/articleprocessor/ArticleProcessorApplicationTests.java @@ -1,3 +1,10 @@ +/** + * + * Autor: Eliška Kozáčiková + * Ĺ kola: VĹ B-TUO + * Fakulta: Fakulta Elektrotechniky a informatiky + * Dátum: 30.04.2025 + */ package com.dre0059.articleprocessor; import org.junit.jupiter.api.Test;